White-Box Cryptographic System Using Multiple External Encodings
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In the context of white-box cryptography, where an attacker has complete control over the system, existing methods struggle to securely protect cryptographic keys and enforce digital rights management due to the ability to modify software and access memory, leading to potential key compromise during decryption processes.
Innovation Solution
A method for performing keyed cryptographic operations using a cryptographic system that involves encoding and decoding inputs and outputs with specific parameters, employing lookup tables and obfuscation techniques to hide key information, and allowing for multiple external encodings to enhance security and flexibility.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional cryptographic implementations are used in white-box environments, then cryptographic operations can be performed, but the system is vulnerable to key extraction attacks due to complete attacker control
Solution Approach 1:
The cryptographic implementation is segmented into multiple encoding layers and transformation stages. The key material is distributed across multiple encoded representations rather than stored in a single location, making it difficult for attackers to extract the key even with full system access.
Solution Approach 2:
Multiple encoding layers and transformation functions act as intermediaries between the attacker and the actual key material. These intermediaries obfuscate the key by requiring complex reverse engineering to penetrate each layer, significantly increasing the difficulty of key extraction.
2Reliability
If software obfuscation techniques are applied to protect cryptographic functions, then key extraction becomes more difficult, but the software can still be modified and analyzed by attackers with complete system control
Solution Approach 1:
The cryptographic software is constructed as a composite of multiple encoding schemes, transformation functions, and obfuscation layers. This composite structure combines different protection mechanisms to create a robust system that resists various types of analysis and modification attacks.
Solution Approach 2:
The implementation uses dynamic encoding selection based on input parameters, making the cryptographic behavior adaptive rather than static. This dynamic approach prevents attackers from using static analysis techniques to predict or reverse engineer the key protection mechanisms.
3Reliability
If multiple encoding schemes are implemented to enhance security, then key protection is strengthened, but the system complexity increases
Solution Approach 1:
The multiple encoding schemes are designed to be universal and interchangeable, allowing the same cryptographic function to be implemented with different encoding parameters. This multi-functionality approach manages complexity by using a unified framework that can adapt to different security requirements without requiring entirely separate implementation paths.
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
A method of performing a keyed cryptographic operation by a cryptographic system mapping an encoded input message to an output message, including: receiving an encoding selection parameter p; receiving the encoded input message, wherein the encoding on the input message corresponds to the encoding selection parameter p; decoding the input message using an inverse of a default input encoding; computing a first portion of the cryptographic operation on the decoded input message to produce a first portion output; and compensating the first portion output based upon the encoding selection parameter p.