Balanced Encoding Functions for White-Box Cryptography Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In the context of white-box cryptography, where an attacker has complete control over the hardware and software, existing methods struggle to securely protect cryptographic keys and prevent unauthorized access to digital content, as they can reverse engineer or observe memory accesses to retrieve decryption keys.
Innovation Solution
Implementing a method using balanced encoding functions, where a balanced encoding function is generated and applied to the output of one basic block, and its inverse is applied to the input of another, with the selection of encoding functions being random from a library or generated on the fly to obscure key usage and resist differential attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If white-box cryptography is implemented with complete control given to the user, then accessibility and ease of operation are improved, but security and tamper resistance deteriorate because attackers can reverse engineer or observe memory accesses to retrieve decryption keys
Solution Approach 1:
The patent introduces balanced encoding functions as intermediaries between the plaintext and the decryption key. These encoding functions transform intermediate values in a way that prevents direct observation of the decryption key through memory access analysis, while still allowing legitimate users to access the content. The balanced encoding acts as a mediator that protects the key from attackers while maintaining functionality for authorized users.
Solution Approach 2:
The patent changes the parameter representation of intermediate values by applying balanced encoding functions. Instead of using the decryption key directly in memory, the system transforms the key through multiple encoding layers, changing its observable parameters while preserving its cryptographic function. This makes it impossible for attackers to retrieve the original key through memory observation.
2Ease of operation
If decryption keys are stored in memory for content decryption, then decryption functionality is improved, but security deteriorates because attackers can observe memory accesses to retrieve the keys
Solution Approach 1:
The patent introduces balanced encoding functions as intermediaries between the plaintext and the decryption key. These encoding functions transform intermediate values in a way that prevents direct observation of the decryption key through memory access analysis, while still allowing legitimate users to access the content. The balanced encoding acts as a mediator that protects the key from attackers while maintaining functionality for authorized users.
Solution Approach 2:
The patent creates encoded copies of the decryption key through balanced encoding functions. Instead of storing and using the original key directly in memory, the system stores and manipulates encoded versions of the key. These copies perform the same cryptographic function but cannot be directly observed or retrieved by attackers monitoring memory accesses.
3Device complexity
If lookup tables are used to obscure cryptographic functions, then obfuscation is improved, but security deteriorates because the lookup tables can still be reverse engineered to reveal the algorithm and key
Solution Approach 1:
The patent changes the parameter representation of intermediate values by applying balanced encoding functions. Instead of using the decryption key directly in memory, the system transforms the key through multiple encoding layers, changing its observable parameters while preserving its cryptographic function. This makes it impossible for attackers to retrieve the original key through memory observation.
Solution Approach 2:
The patent introduces balanced encoding functions as intermediaries between the plaintext and the decryption key. These encoding functions transform intermediate values in a way that prevents direct observation of the decryption key through memory access analysis, while still allowing legitimate users to access the content. The balanced encoding acts as a mediator that protects the key from attackers while maintaining functionality for authorized users.
Data Source
AI summary
A method of implementing a keyed cryptographic operation using a plurality of basic blocks, includes: generating a balanced encoding function; applying the balanced encoding function to the output of a first basic block; and applying an inverse of the encoding function to the input of a second basic block, wherein the second basic block receives the encoded output of first basic block as an input.


