White-Box Cryptographic System Using Multiple External Encodings

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 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

VSEngineering 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

Engineering Contradiction:
Improvekey protectionVSAvoidattacker access to memory and software
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvetamper resistanceVSAvoidsoftware analysis difficulty
Core Design Contradiction:
ReliabilityVSEase of operation

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.

Inventive Principle:
Principle #40Composite materials

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.

Inventive Principle:
Principle #15Dynamics

3Reliability

If multiple encoding schemes are implemented to enhance security, then key protection is strengthened, but the system complexity increases

Engineering Contradiction:
Improvecryptographic securityVSAvoidencoding system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

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

Data Source

PatentEP3035584B1Using single white-box implementation with multiple external encodings
Publication Date: 2021.05.19 NXP BV
  • EP3035584B1 patent drawingFigure 1~2
  • EP3035584B1 patent drawingFigure 3~4
  • EP3035584B1 patent drawingFigure 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.