White-Box Cryptography Input Splitting for Billet Attack Resistance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing white-box cryptographic implementations, such as those using table-based approaches, are vulnerable to attacks like the Billet attack due to fixed relationships between input values across rounds, which can reveal the secret key.
Innovation Solution
Introducing a method that splits input bytes into multiple components using variable functions based on the input, breaking the fixed relationship between input values across rounds, and using affine self-equivalences to ensure that the output of multiple S-boxes combines to produce the correct result without explicitly calculating the final XOR, thereby complicating reverse engineering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If fixed relationships between input values are used across rounds for simplicity, then implementation is easier, but the system becomes vulnerable to attacks like Billet attack that can reveal the secret key
Solution Approach 1:
The patent applies dynamics by making the relationship between input values variable rather than fixed. Specifically, the encoding functions used to transform input values change between rounds based on the previous round's output, creating a dynamic system where the transformation rules are not static. This prevents attackers from establishing fixed relationships that could be exploited in reverse engineering attacks.
Solution Approach 2:
The patent segments the cryptographic operation into multiple rounds where each round applies different encoding functions. By dividing the encryption process into distinct stages with varying transformations, the system prevents attackers from analyzing a single fixed relationship across all rounds, as each segment (round) introduces new variability.
2Reliability
If variable functions are used to split input bytes into multiple components, then security against attacks is improved, but the computational complexity increases
Solution Approach 1:
The patent applies preliminary action by pre-defining a set of encoding functions that will be used in the variable encoding process. These functions are prepared in advance and selected based on the previous round's output, allowing the system to introduce complexity through selection rather than computation of entirely new functions during execution.
Solution Approach 2:
The patent changes parameters by varying which encoding function is applied at each round based on the previous output. Instead of using a single fixed transformation, the system selects from multiple possible functions, changing the transformation parameter dynamically. This increases security by preventing fixed relationship analysis while managing complexity through parameter selection rather than complex computation.
Data Source
AI summary
A method of performing a keyed cryptographic operation mapping an input message to an output message, wherein the cryptographic operation includes at least one round including a non-linear mapping function configured to map input data to output data, including: splitting the input data into n split input data, wherein the splitting of the input data varies based upon the value of the input message; inputting each split input data into the non-linear mapping function to obtain n split output data, wherein a combination the n split output data indicates an output data, wherein the output data results when the input data is input to the non-linear mapping function.


