Elliptic Curve Random Number Generator Escrow Vulnerability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The Dual_EC_DRBG elliptic curve random number generator has a potential trapdoor vulnerability that allows knowledge of a secret integer e and a point Q to determine all future states and outputs, compromising its security.
Innovation Solution
A method is introduced to compute a verifiably random point Q using a hash function that includes point P as an input, and applying the output to a one-way function to generate a secure elliptic curve random number, along with implementing an escrow key system for backup functionality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the Dual_EC_DRBG uses fixed elliptic curve points P and Q with a secret integer e such that Q=eP, then the generator provides efficient random number generation, but it creates a trapdoor vulnerability that compromises security
Solution Approach 1:
The patent extracts and eliminates the trapdoor vulnerability by removing the secret integer e and the fixed point Q from the system. Instead of using predetermined points P and Q with a hidden relationship, the invention generates points dynamically through hash functions, taking out the harmful secret dependency while preserving the efficient elliptic curve operations.
Solution Approach 2:
The patent introduces a hash function as an intermediary mechanism between the input seed and the elliptic curve points. This intermediary transforms the random seed into points P and Q without requiring a pre-established secret relationship, thereby mediating the generation process to eliminate the trapdoor while maintaining cryptographic security and efficiency.
2Reliability
If the generator uses a secret seed to update state s to u=z(sP) and output r=t(z(sQ)), then it produces unpredictable random numbers, but the truncation function t reduces output precision
Solution Approach 1:
The patent applies parameter changes by modifying the output processing to include both truncated and non-truncated portions of the random value. Instead of solely using the truncated output r, the invention combines r with additional bits from the full computation, changing the output parameters to provide both unpredictability and higher precision without compromising either aspect.
Data Source
AI summary
An elliptic curve random number generator avoids escrow keys by choosing a point Q on the elliptic curve as verifiably random. An arbitrary string is chosen and a hash of that string computed. The hash is then converted to a field element of the desired field, the field element regarded as the x-coordinate of a point Q on the elliptic curve and the x-coordinate is tested for validity on the desired elliptic curve. If valid, the x-coordinate is decompressed to the point Q, wherein the choice of which is the two points is also derived from the hash value. Intentional use of escrow keys can provide for back up functionality. The relationship between P and Q is used as an escrow key and stored by for a security domain. The administrator logs the output of the generator to reconstruct the random number with the escrow key.


