White Box Cryptographic Key Expansion via Segmented Lookup Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic solutions, such as those employing AES, are insecure in the White Box threat model where an attacker has full access to the system, allowing extraction of secret keys through observation of memory and execution processes, particularly in software implementations.

Innovation Solution

The proposed solution involves expanding binary vectors and performing binary operations covertly to hide and protect AES keys, using techniques like table lookups and permutations to obscure key information, allowing for secure key management even when the key is unknown at code compilation time or in scenarios with limited code size.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If software implementation of AES is used for encryption, then encryption speed and ease of operation are improved, but security against White Box attacks deteriorates because attackers can access memory and observe key operations

Engineering Contradiction:
Improveease of encryption operationVSAvoidsecurity against key extraction
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The cryptographic key is segmented into multiple components distributed across different lookup tables. Instead of storing the key in a single location, the key material is divided and embedded within separate tables that perform different cryptographic functions, making it impossible for an attacker to extract the complete key by observing memory contents.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Lookup tables serve as intermediaries between the secret key material and the cryptographic operations. The tables embed key information in a transformed format and perform operations that obscure the direct relationship between the stored data and the actual cryptographic key, preventing attackers from directly observing key operations in memory.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If lookup tables are used to embed key information, then key protection against observation is improved, but code size and device complexity increase

Engineering Contradiction:
Improvesecurity against key extractionVSAvoidcomplexity of cryptographic implementation
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The lookup tables serve multiple functions simultaneously: they store cryptographic key material, perform substitution operations, and provide diffusion through their structure. This multi-functionality reduces the need for separate components and minimizes overall implementation complexity while maintaining strong key protection.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The key storage and cryptographic operation functions are merged into single lookup table structures. Instead of having separate key storage arrays and separate operation tables, the design combines these functions into unified tables that perform both key embedding and cryptographic transformation, reducing code size and complexity.

Inventive Principle:
Principle #5Merging (Combining)

3Device complexity

If traditional key storage methods are used, then code size is minimized, but attackers can easily extract keys from memory

Engineering Contradiction:
Improvesimplicity of implementationVSAvoidvulnerability to White Box attacks
Core Design Contradiction:
Device complexityVSObject-affected harmful factors

Solution Approach 1:

The key material is transformed by changing its representation parameters. Instead of storing keys in their native format, the key information is encoded into lookup table structures with different organizational parameters, making the extracted data unusable without the proper decoding logic that is obfuscated within the table implementations.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8966279B2Securing the implementation of a cryptographic process using key expansion
Publication Date: 2015.02.24 APPLE INC
  • US8966279B2 patent drawing
  • US8966279B2 patent drawing
  • US8966279B2 patent drawing

AI summary

In the field of computer enabled cryptography, such as a keyed block cipher having a plurality of rounds, the cipher is hardened against an attack by protecting the cipher key by means of a key expansion process which obscures the cipher and/or the round keys by increasing their lengths to provide an expanded version of the keys for carrying out encryption or decryption using the cipher. This is especially advantageous in a “White Box” environment where an attacker has full access to the cipher algorithm, including the algorithm's internal state during its execution. This method and the associated computing apparatus are useful where the key is derived through a process and so is unknown when the software code embodying the cipher is compiled. This is typically the case where there are many users of the cipher and each has his own key, or where each user session has its own key.