Cryptographic Verifier for Reliable Program Computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In fields like autonomous driving and Machine to Machine communication, reliable computation of programs is crucial due to the risk of hacking and malfunctioning in computing systems, which can lead to accidents and liability issues, with existing technologies failing to ensure trustworthy computation.

Innovation Solution

A method involving a verifier generating public verification and evaluation keys, producing a random number, and using signatures to authenticate inputs and data from providers, ensuring the computing unit computes the program correctly and provides a cryptographic proof for verification, thereby ensuring reliable computation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cryptographic verification mechanisms are implemented to ensure reliable computation, then computation reliability is improved, but system complexity increases

Engineering Contradiction:
Improvecomputation reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a cryptographic verifier as an intermediary component that generates verification keys and validates computation proofs. This mediator separates the computation unit from the verification process, allowing the computing unit to remain simple while reliability is ensured through the intermediary's cryptographic validation of computation results

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The verifier generates public verification keys and evaluation keys in advance before computation occurs. This preliminary cryptographic setup allows for efficient verification later without adding complexity to the actual computation process, as the verification infrastructure is prepared beforehand

Inventive Principle:
Principle #10Preliminary action

2Reliability

If cryptographic proofs are generated and verified for each computation output, then trustworthiness of computation is improved, but computational overhead increases

Engineering Contradiction:
Improvetrustworthiness of computationVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the computationally intensive proof generation and verification processes into separate cryptographic operations that can be performed efficiently. The computation unit focuses on generating the output, while the cryptographic proof system handles verification separately, reducing the overhead on the main computation path

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system uses cryptographic copies and representations of computation results in the form of succinct proofs. Instead of verifying entire computation processes, the system verifies compact cryptographic representations that capture the essential correctness properties, significantly reducing verification time and overhead

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10936720B2Method and system for reliable computation of a program
Publication Date: 2021.03.02 NEC CORP
  • US10936720B2 patent drawing
  • US10936720B2 patent drawing
  • US10936720B2 patent drawing

AI summary

A method for reliable computation of a program P includes generating, by a verifier, a public verification key vkp and a public evaluation key (ekp), both on a basis of the program P, providing, by the verifier, a number N at random and sending the number N to the at least one provider, producing, by the at least one provider, at least one output Si concatenated with N and producing a signature Σi over a corresponding input into the at least one provider and/or corresponding data within the at least one provider, both the input and/or the data signed under a secret key ski, so that a pair of output and signature (Si, Σi) is transmitted to the computing unit. The verifier verifies the proof πy using the public verification key vkp and rejects y, if the proof verification fails.