White-Box Cryptography Large Integer Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic systems are vulnerable to side-channel attacks, particularly when implemented on open devices with general-purpose processors, as they struggle to protect large integer operations used in ECC and RSA algorithms due to memory and performance constraints imposed by lookup-tables in white-box implementations.

Innovation Solution

The system employs a white-box cryptographic method using partially and fully encoded lookup-tables to securely process inputs by performing cryptographic operations on encoded secrets, incorporating operations like wbIsOdd and wbRotateRight for RSA, and wbRotateLeft for ECC, to conceal private keys from attackers with full access and control.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If lookup-tables are used in white-box implementations to protect cryptographic operations, then security against side-channel attacks is improved, but memory requirements and processing time increase prohibitively for large integer operations

Engineering Contradiction:
Improvesecurity against side-channel attacksVSAvoidmemory requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments large integer operations into smaller unit operations (such as byte-level or word-level operations) that can be processed through multiple lookup-tables in sequence. Instead of requiring a single enormous lookup-table for the entire large integer, the system breaks down the operation into manageable chunks, each handled by its own lookup-table, thereby reducing individual memory requirements while maintaining security.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimension approach (one large lookup-table) to a multi-dimensional approach (multiple smaller lookup-tables arranged in sequences or layers). By organizing lookup-tables into ordered sequences that process data step-by-step through multiple passes, the system achieves the same cryptographic protection for large integers as a single large table would provide, but with distributed, manageable memory requirements.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If lookup-tables are used in white-box implementations to protect cryptographic operations, then security against side-channel attacks is improved, but processing speed decreases impractically for large integer operations

Engineering Contradiction:
Improvesecurity against side-channel attacksVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By segmenting large integer operations into smaller unit operations, the patent enables parallel processing of multiple segments and reduces the overhead associated with accessing and processing data in a single large lookup-table. Each smaller lookup-table can be processed more quickly, and the segmented approach allows for optimized processing pipelines that maintain overall speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary encoding transformations to the input data before it enters the lookup-table processing stage. By pre-processing the data into an encoded form that is optimized for lookup-table operations, the system reduces the computational burden during the actual cryptographic operation, thereby maintaining processing speed despite the use of multiple lookup-tables.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If standard white-box encoding is applied to large integers, then secret keys are concealed from attackers, but the memory and performance penalties become impractical

Engineering Contradiction:
Improveconcealment of secret keysVSAvoidmemory and performance overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides large integer secret keys into smaller segments or units (such as individual bytes or words) and applies white-box encoding to each segment separately through multiple lookup-tables. This segmentation allows the system to maintain strong concealment of the complete secret key while using only small, manageable lookup-tables for each segment, avoiding the impractical memory overhead of encoding the entire large integer at once.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs dynamic processing where the encoded representation of the secret key is transformed through multiple intermediate steps using different lookup-tables. Rather than using a static, single-step encoding, the system dynamically processes the secret key through a sequence of transformations, allowing the same secret key to be protected with varying levels of encoding depth depending on the specific operation being performed.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20230134216A1White-box processing for encoding with large integer values
Publication Date: 2023.05.04 ARRIS ENTERPRISES LLC
  • US20230134216A1 patent drawing
  • US20230134216A1 patent drawing
  • US20230134216A1 patent drawing

AI summary

A method and apparatus for securely processing an input to generate an output according to one or more encoded secrets is disclosed. In one embodiment, the method comprises a set of secrets S composed of a plurality of secrets s1, s2,..., sn, generating a first data structure based on the random encoding of the first secret s1, and performing a plurality of cryptographic operations according to the input and the encoded secrets s2,..., sn to compute the output according to each secret in the white-box implementation, the white-box implementation having at least one further data structure operating on the randomly encoded of the secrets.