Patent ID: 11882216
Assignee: AURADINE, INC.
Field: Digital communication (Electrical engineering)
Classification: CPC H | IPC H

Claim 12:
13. A method comprising:
wherein a local witness buffer is integrated with a witness generator and a proof generator on a cryptographic processor and is separate from host memory accessed by a host processor operating with the cryptographic processor in a proving computing system;
wherein the cryptographic processor including the witness generator, the proof generator and the local witness buffer is implemented as a semiconductor device separate from the host processor;
receiving, by the witness generator from software program running on the host processor, compiled code of a zero-knowledge-proof (ZKP) program and specific input to the ZKP program;
executing, by the witness generator, the ZKP program by way of executing the compiled code;
recording, by the witness generator, specific output generated from the ZKP program with the specific input, intermediate variable values, and the specific input, as a specific witness of executing the ZKP program;
storing, by the witness generator, the specific witness in the local witness buffer;
wherein the specific witness has a data size exceeding a maximum supported memory access bandwidth of the host memory for a single clock cycle;
receiving, by the proof generator from the software program running on the host processor, a proving key that was generated along with a verification key;
accessing, by the proof generator, the specific witness in the local witness buffer, wherein the specific witness is accessed in its entirety by the proof generator over a first total number of clock cycles fewer than a second total number of clock cycles over which host memory stored data of the same data size is accessed from the host memory;
generating, by the proof generator, a specific zero-knowledge proof for executing the ZKP program with a combination of the proving key, the specific witness and the specific input;
causing a recipient computing system that receives the verification key and the specific zero-knowledge proof to validate the specific zero-knowledge proof with the verification key.