Metamorphic Algorithm for White Box Cryptography

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic methods, particularly in white box cryptography, face challenges in securing executable programs on untrusted devices where the algorithm is visible and can be analyzed, making it difficult to protect sensitive information from reverse engineering and unauthorized access.

Innovation Solution

The method employs a metamorphic algorithm composed of polymorphic code blocks that execute recursively and in parallel, using hash transformations and composite quasigroup isotopes to ensure valid output, thereby enhancing security by making it difficult for adversaries to analyze the underlying cryptographic algorithm.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If white box cryptography is used on untrusted devices, then the algorithm can be executed on accessible apparatus, but the sensitive information becomes vulnerable to analysis and reverse engineering

Engineering Contradiction:
Improveexecutability on untrusted devicesVSAvoidvulnerability to reverse engineering
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The cryptographic algorithm is divided into multiple functional components (e.g., S-box, P-box, key scheduling) that are distributed across separate polymorphic code blocks. Each code block implements a specific function but appears as unrelated code when analyzed statically, preventing reverse engineers from reconstructing the complete algorithm by examining individual segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The code blocks are designed to be dynamically executed in sequences that vary at runtime. The execution order, timing, and pairing of code blocks change between executions, making static analysis ineffective. This dynamic behavior allows the algorithm to function correctly on untrusted devices while preventing adversaries from determining the complete cryptographic process through observation.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If the cryptographic algorithm is made visible and executable on untrusted devices, then accessibility is improved, but security against analysis deteriorates

Engineering Contradiction:
Improveaccessibility on various devicesVSAvoiddifficulty of algorithm analysis
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

Multiple functional copies of the cryptographic algorithm are created as separate polymorphic code blocks that can be executed in different sequences. Each copy performs the same cryptographic function but with different code structures and execution characteristics, making it difficult for analysts to distinguish the genuine algorithm from redundant copies and preventing accurate measurement of the true algorithmic behavior.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The code blocks utilize variable parameters such as execution timing, sequence order, and pairing combinations that change dynamically. These parameter variations cause the algorithm to exhibit different behavioral patterns on each execution, making it extremely difficult for analysts to detect consistent patterns or measure the underlying algorithm through repeated observations on untrusted devices.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If polymorphic code blocks are executed recursively and in parallel, then security is enhanced through obfuscation, but computational complexity increases

Engineering Contradiction:
Improvesecurity against reverse engineeringVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The polymorphic code blocks are executed in periodic cycles where each cycle consists of a specific sequence of code block executions. This periodic structure ensures that all necessary cryptographic functions are performed systematically while maintaining security through obfuscation. The regular pattern of execution allows the system to manage computational complexity by repeating proven secure sequences rather than requiring entirely new complex logic for each operation.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS8751822B2Cryptography using quasigroups
Publication Date: 2014.06.10 GOOGLE TECHNOLOGY HOLDINGS LLC
  • US8751822B2 patent drawing
  • US8751822B2 patent drawing
  • US8751822B2 patent drawing

AI summary

A method and apparatus 20 for securing executable code embodying a cipher 12 using a metamorphic algorithm 24. The metamorphic algorithm 24 dynamically executes polymorphic primitives 43, each of which implements a functional component 41 of the cryptographic algorithm 12. When a halting condition is met, the output of the cryptographic algorithm 12 occurs.