Obfuscated Cryptographic Tables Using Abelian Group Operators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Digital rights management systems face vulnerabilities in key distribution and handling, particularly in CE platforms where users can reverse-engineer or observe memory access to retrieve decryption keys, compromising content protection.

Innovation Solution

A method of obfuscating a cascaded cryptographic function using Abelian group operators to create obfuscated tables that are functionally equivalent to the original tables, making it difficult to obtain the content of the original tables by including compensating tables that cancel out the effect of obfuscation, thereby enhancing security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If decryption keys are stored in a license database for digital rights management, then content protection is enabled, but attackers can reverse-engineer or observe memory access to retrieve the keys

Engineering Contradiction:
Improvecontent protectionVSAvoidkey retrieval by attackers
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The cryptographic function is divided into multiple rounds, each using a separate mapping table (S-box). This segmentation allows each table to be individually obfuscated while maintaining the overall cryptographic functionality, making it harder for attackers to retrieve complete key information through reverse engineering.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies parameter changes by using Abelian group operators to transform the original mapping tables into obfuscated versions. The tables are modified using mathematical operations (composition with obfuscation tables and compensation tables) that change their appearance while preserving their cryptographic function, thereby preventing direct key extraction.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If mapping tables are used for cryptographic functions to improve execution efficiency, then processing speed increases, but the tables contain key-like information that can be extracted through reverse engineering

Engineering Contradiction:
Improveexecution efficiencyVSAvoidexposure of key-like information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent introduces intermediary tables (obfuscation tables and compensation tables) that mediate between the original cryptographic tables and the executed function. These intermediary tables hide the key-like information while allowing the cryptographic function to execute efficiently, as the composition of these tables preserves the original functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If obfuscation tables are added to hide original tables, then security improves, but the number of tables and computational complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidnumber of tables
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The obfuscation system is self-service in that the compensation tables automatically cancel out the effects of obfuscation tables through mathematical composition. This self-cancelling mechanism provides security through complexity while ensuring that the original cryptographic function is preserved, reducing the need for additional complex security measures.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7881466B2Method and system for obfuscating a cryptographic function
Publication Date: 2011.02.01 IRDETO BV
  • US7881466B2 patent drawing
  • US7881466B2 patent drawing
  • US7881466B2 patent drawing

AI summary

Embodiments include a system, wherein a server provides a cryptographic function F to an execution device in an obfuscated form. The function F composes output of a plurality of the mapping tables Ti (0≦i≦n; n≧1) using an Abelian group operator. A processor chooses tables O and C such that C[x] O[x]=0, x Di and creates tables T′i, 0≦i≦m; n≦m≦n+1, where for 0≦i≦n, each Table T′i represents the respective corresponding table Ti and at least one table T′o1, 0≦o1≦n, being formed through an Abelian composition of To1 and O, and at least one table T′c1, 0≦c1≦m, c1≠oj; being formed through an Abelian composition that includes C.