Modular Exponentiation Lookup Table for Secure Digital Signatures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing digital signature schemes, such as RSA, require access to secret keys for modular exponentiation, which can be insecure in untrusted platforms, and existing solutions for white-box cryptography are resource-intensive and complex.
Innovation Solution
A method and system for performing modular exponentiation using a lookup table precomputed with modular exponentiations based on a secret exponent and cryptographic key modulus, allowing secure digital signature generation and verification without exposing the secret key, and reducing resource usage by simplifying the scheme and reducing the size of the lookup table.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If modular exponentiation is performed using traditional methods with secret keys on untrusted platforms, then digital signature functionality is achieved, but security is compromised due to exposure of secret keys
Solution Approach 1:
The patent precomputes modular exponentiations of all possible encoded values and stores them in a lookup table. This preliminary action eliminates the need to perform actual modular exponentiation during signature generation, and more importantly, eliminates the need to store or use secret keys on the untrusted platform, thereby securing the secret key while enabling the cryptographic functionality
Solution Approach 2:
The patent creates a lookup table that contains copies of precomputed modular exponentiation results. Instead of computing exponentiations in real-time using secret keys, the system retrieves precomputed values from the lookup table. This copying approach allows the untrusted platform to perform signature operations without ever having access to the actual secret keys, thus maintaining security while reducing scheme complexity
2Reliability
If existing white-box cryptography solutions are implemented to protect secret keys, then security on untrusted platforms is improved, but resource consumption and system complexity increase significantly
Solution Approach 1:
By precomputing all modular exponentiations offline and storing them in a lookup table, the patent eliminates the need for resource-intensive computations during actual signature operations on the untrusted platform. The heavy computational burden is shifted to the key generation phase, which can be performed on a trusted system
Solution Approach 2:
The lookup table stores copies of precomputed exponentiation results, allowing the untrusted platform to retrieve values through simple table lookups rather than performing complex modular exponentiation operations. This copying strategy dramatically reduces computational resource usage during signature generation while maintaining security
3Reliability
If a comprehensive lookup table is created to store all modular exponentiation results, then security and functionality are achieved, but the size of the lookup table becomes excessively large
Solution Approach 1:
The patent segments the lookup table into multiple parts or tables, each storing modular exponentiations for a specific subset of encoded values or a specific range. This segmentation reduces the size of each individual table, making them more manageable and suitable for storage on untrusted platforms with limited memory, while still providing comprehensive security functionality when the segments are used together
Solution Approach 2:
The patent optimizes the lookup table structure by storing precomputed values selectively based on local requirements. Instead of uniformly storing all possible exponentiations, the system tailors the lookup table contents to the specific cryptographic parameters and expected input ranges, reducing overall table size while maintaining necessary security functionality
Data Source
AI summary
Various embodiments relate to a method of encoding data and a related device and non-transitory machine readable storage medium, including: determining a plurality of factors of a value, b, to be exponentiated; retrieving, from a lookup table, a plurality of lookup table entries associated with the plurality of factors; calculating a product of the plurality of lookup table entries; and calculating a residue of the product using a cryptographic key modulus, N, to produce an exponentiated value, s.


