White-Box Decryption Algorithm Dynamic Update via Random Logical Operations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
White-box cryptographic systems face security weaknesses in maintaining secrecy of the decryption algorithm, making them vulnerable to attacks, especially when attackers monitor memory registers during runtime.
Innovation Solution
Implementing a method to update cryptographic processes by using randomly-selected logical operations from a network resource, which adds complexity and randomness to the decryption algorithm, making it difficult for attackers to observe or compromise the system, and includes the use of annihilating pairs that do not change the output but increase the algorithm's length and complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If white-box cryptographic systems use fixed decryption algorithms stored in binary code, then the system is easier to implement and maintain, but the security is compromised because attackers can monitor memory registers during runtime to extract the decryption algorithm
Solution Approach 1:
The patent applies dynamics by transforming the static decryption algorithm into a dynamic one that changes at runtime. The system selects logical operations from a pool of available operations using random seeds, and periodically updates the pool of logical operations from a network resource. This ensures the decryption algorithm is different each time it executes, preventing attackers from extracting a fixed algorithm through memory monitoring.
Solution Approach 2:
The patent introduces an intermediary layer between the plaintext and ciphertext by inserting annihilating pairs of logical operations. These pairs consist of a logical operation followed by its inverse, which together have no net effect on the output but increase the algorithm's complexity and length. This intermediary structure confuses attackers trying to trace the decryption process while maintaining correct functionality.
2Reliability
If the cryptographic algorithm is updated frequently with new logical operations, then security against attackers is improved, but the computational overhead and processing time increase
Solution Approach 1:
The patent applies partial action by selectively updating only the pool of logical operations from which random selections are made, rather than completely regenerating the entire decryption algorithm. The system periodically receives updated pools from a network resource and uses them to select operations for the next decryption round. This partial update approach provides security refreshment without the full computational overhead of complete algorithm regeneration.
3Reliability
If annihilating pairs are added to the decryption algorithm to increase complexity, then the algorithm becomes harder to compromise, but the algorithm's length and computational steps increase
Solution Approach 1:
The patent converts the potential harm of increased computational steps into a benefit by using annihilating pairs. These pairs consist of a logical operation followed by its inverse (e.g., XOR followed by XOR with the same value), which together have no net effect on the output but significantly increase the algorithm's apparent complexity and length. This confuses attackers analyzing the decryption process while maintaining functional correctness, as the extra steps cancel out mathematically.
Data Source
AI summary
A method including: receiving a first plurality of randomly-selected logical operations; performing a first decryption of first client credentials stored locally at the client device by inputting cipher code to a decryption algorithm, wherein the decryption algorithm includes the first plurality of randomly-selected logical operations; subsequent to the first decryption of the first client credentials, performing a first authentication of the client-based application with a server, including transferring the first client credentials to the server; after the first authentication, receiving a second plurality of randomly-selected logical operations from a network resource separate from the client device; applying the second plurality of randomly-selected logical operations to the decryption algorithm; and performing a second decryption of the first client credentials stored locally at the client device by inputting the cipher code to the decryption algorithm, wherein the decryption algorithm includes the second plurality of randomly-selected logical operations.


