Balanced Encoding Functions for White-Box Cryptography Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveaccessibilityVSAvoidsecurity
Core Design Contradiction:
Ease of operationVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvedecryption functionalityVSAvoidkey exposure
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
ImproveobfuscationVSAvoidtamper resistance
Core Design Contradiction:
Device complexityVSReliability

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10700849B2Balanced encoding of intermediate values within a white-box implementation
Publication Date: 2020.06.30 NXP BV
  • US10700849B2 patent drawing
  • US10700849B2 patent drawing
  • US10700849B2 patent drawing

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.