Verifying Cryptographic Key Generation Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for generating cryptographic keys, such as those used in the RSA cryptosystem, are vulnerable to bugs that can result in the repeated use of the same prime number, leading to security flaws, and existing solutions like zero-knowledge disclosure protocols are complex and not adaptable to variants of the RSA system, slowing down the key generation process.
Innovation Solution
A method for verifying the security of a key generating device that uses a random variable generator to produce cryptographic keys, where a verifying device determines the security level by analyzing constituent elements of the keys, including calculating the greatest common divisor of moduli to detect potential bugs, and comparing generated keys to ensure no shared prime numbers are used.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If zero-knowledge disclosure protocol is used to verify key generation security, then security verification capability is improved, but device complexity and implementation difficulty increase
Solution Approach 1:
The patent extracts the verification function from the key generation device itself and implements it in a separate verifying device. This separation allows the key generation device to remain simple while the verification logic resides elsewhere, resolving the contradiction between verification capability and device complexity
Solution Approach 2:
The patent introduces a verifying device as an intermediary between the key generation device and the security assessment process. This intermediary handles the complex verification operations (such as GCD calculations and prime number checks) without requiring modifications to the key generation device, thus improving verification capability while maintaining device simplicity
2Reliability
If zero-knowledge disclosure protocol is used for security verification, then security verification capability is improved, but key generation speed decreases
Solution Approach 1:
The patent performs verification operations in parallel with key generation rather than sequentially. The verifying device receives key elements during generation and performs verification computations simultaneously, preventing verification from becoming a bottleneck that slows down key generation
Solution Approach 2:
The patent segments the key generation process into independent operations that can be verified separately. Each key element (prime numbers, moduli, exponents) can be verified independently through GCD calculations and other tests, allowing verification to proceed without blocking the overall key generation workflow
3Reliability
If zero-knowledge disclosure protocol is used, then security verification capability is improved, but adaptability to RSA variants is reduced
Solution Approach 1:
The patent implements a universal verification mechanism that works across different RSA variants (RSA, RSA-CRT, multi-prime RSA, etc.). The verifying device checks fundamental properties (prime number validity, GCD of moduli, key relationship correctness) that are common to all RSA variants, making the verification process adaptable without requiring variant-specific logic
4Reliability
If distributed computation with multiple devices is used for verification, then security verification capability is improved, but data exchange overhead increases
Solution Approach 1:
The patent combines multiple verification operations (GCD calculation, prime number testing, key relationship verification) into a single integrated verifying device. This consolidation eliminates the need for multiple devices to exchange data back and forth, reducing communication overhead while maintaining comprehensive verification capability
Data Source
AI summary
A method for verifying the security of a device for generating private and public cryptographic keys. Such a method includes generating at least one pair of private and public cryptographic keys by the device from at least one random variable coming from a random-variable generator; transmitting at least one constituent element of a generated private or public key to at least one device for verifying; and determining a level of security of the device from the at least one transmitted element, as a function of pieces of information stored by the device for verifying.