White Box Cryptographic Algorithm Hardening via Statistical Correlation Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Commercially available 'white box' implementations of cryptographic algorithms can be vulnerable to attacks that derive the secret key, compromising the security of digital transactions.
Innovation Solution
A method for testing and hardening 'white box' implementations of cryptographic algorithms involves statistically evaluating register contents and intermediate results to find correlations, and randomizing the implementation by permuting lookup tables and introducing randomness to break correlations between input and output bits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a 'white box' implementation of a cryptographic algorithm is used to hide secret keys, then the security against unauthorized access is improved, but the implementation becomes vulnerable to statistical correlation attacks that can derive the secret key
Solution Approach 1:
The patent applies preliminary action by performing statistical analysis on register contents and intermediate results before the actual key extraction attack can occur. By pre-computing and storing the statistical relationships between register states and the secret key, the system prepares defense mechanisms in advance that can detect and prevent key extraction attempts
Solution Approach 2:
The patent introduces an intermediary layer of statistical evaluation that mediates between the cryptographic algorithm's internal state and potential attackers. By analyzing register contents through statistical methods and comparing them against expected correlations, the system creates a buffer that prevents direct key extraction while maintaining the white-box implementation's functionality
2Measurement precision
If register contents and intermediate results are statistically evaluated to detect key extraction attempts, then the detection capability is improved, but the processing time and computational overhead increase
Solution Approach 1:
The patent applies partial action by performing statistical evaluation only on specific register contents and intermediate results that are most indicative of key extraction attempts, rather than analyzing all internal states. This selective approach maintains detection precision while reducing the overall computational overhead and processing time
Solution Approach 2:
By pre-computing statistical profiles of normal operation versus attack conditions, the system prepares reference data in advance that enables faster real-time detection. This preliminary preparation reduces the computational burden during actual transaction processing, thereby minimizing time loss
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Methods are provided for both testing and hardening software applications for conducting digital transactions, which include a "white box" implementation of a cryptographic algorithm. The method for testing a "white box" implementation of a cryptographic algorithm, which generates a ciphertext from a plaintext using a secret key and exists on a processor with at least one register in the form of machine instructions, comprises the following steps: (a) feeding a plaintext or a plurality of plaintexts into the "white box" implementation; (b) stepwise reading and storing the contents of the processor's at least one register while executing the machine instructions of the "white box" implementation, whereby intermediate results may be generated during the stepwise execution of the machine instructions of the "white box" implementation.(c) repeating steps (a) and (b) N times with another plaintext from the multitude of plaintexts; and (d) statistically evaluating the contents of the registers and the plaintexts, the intermediate results and/or the ciphertexts generated from the plaintexts by searching for correlations between the contents of the registers and the plaintexts, the intermediate results and/or the ciphertexts in order to determine the secret key.