White-Box Cryptography Binding via Lookup Table Pre-computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In the context of white-box cryptography, existing software implementations face challenges in securely binding cryptographic operations to a specific device or user, making them vulnerable to unauthorized use and tampering, especially in environments where attackers have complete control over the system.

Innovation Solution

A non-transitory machine-readable storage medium encoded with instructions that bind a cryptographic implementation to a binding string value, ensuring the cryptographic operation produces a correct output only when the identifying string value matches the binding string value, and produces an incorrect output otherwise, using techniques such as encoding, perturbation, and obfuscation within a network of lookup tables or finite state machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If cryptographic functions are implemented in software with obfuscation techniques, then adaptability and cost are improved, but security against white-box attacks deteriorates

Engineering Contradiction:
Improvesoftware renewabilityVSAvoidsecurity against attacks
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing intermediate values in lookup tables before execution. The cryptographic function is transformed into a network of lookup tables where intermediate results are pre-calculated and stored, allowing the system to retrieve results directly without performing the full cryptographic computation at runtime. This pre-computation approach maintains security while enabling software flexibility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces intermediary elements in the form of lookup tables that act as mediators between the input and output of cryptographic functions. These lookup tables contain pre-computed intermediate values that obscure the actual cryptographic operations, making it difficult for attackers to analyze the security-critical parts of the system while still producing correct cryptographic results.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If lookup tables are used to obscure cryptographic functions, then security against reverse engineering is improved, but device complexity increases

Engineering Contradiction:
Improvetamper resistanceVSAvoidimplementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the cryptographic function into multiple smaller lookup tables, each handling a specific portion of the computation. Instead of using a single large lookup table, the cryptographic operation is broken down into sequential steps, with each step represented by a separate lookup table. This segmentation makes the implementation more manageable and easier to verify while maintaining security.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making different parts of the cryptographic implementation have different properties. Some lookup tables use randomized indexing, others use fixed patterns, and different obfuscation techniques are applied to different segments. This variation in local properties increases tamper resistance without requiring the entire system to be uniformly complex.

Inventive Principle:
Principle #3Local quality

3Reliability

If binding string verification is implemented, then security against unauthorized use is improved, but operational speed deteriorates

Engineering Contradiction:
Improveauthorization securityVSAvoidcryptographic operation speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing binding-verified intermediate values in the lookup tables during system initialization. The binding string verification is performed once during setup, and the verified results are cached in the lookup tables. During actual cryptographic operations, the system directly retrieves pre-verified values from the lookup tables without repeating the binding verification, thus maintaining security while improving operational speed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9485226B2Method for including an implicit integrity or authenticity check into a white-box implementation
Publication Date: 2016.11.01 NXP BV
  • US9485226B2 patent drawing
  • US9485226B2 patent drawing
  • US9485226B2 patent drawing

AI summary

A method of performing a cryptographic operation using a cryptographic implementation in a cryptographic system, including: receiving, by the cryptographic system, an identifying string value; receiving, by the cryptographic system, an input message; performing, by the cryptographic system, a keyed cryptographic operation mapping the input message into an output message wherein the output message is the correct result when the identifying string value equals a binding string value.