Data Processing Using Error Control Codes for Secure Software Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for software protection through data flow transformation and error control codes introduce significant overhead and inconvenience due to the need for repeated transformations and exposure of data, making it difficult to maintain diversity and secure cryptographic processes.

Innovation Solution

A method using error control codes (ECCs) to process encoded data without decoding, allowing for error detection and correction, which enhances diversity by adding errors to encoded data and obfuscates implementation, making it harder for attackers to manipulate or deduce sensitive information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is decoded and re-encoded repeatedly for software protection, then security transformation is achieved, but processing overhead increases significantly

Engineering Contradiction:
Improvesoftware securityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs error control encoding in advance on the original data to generate encoded data, which is then stored or transmitted. When software protection is needed, the pre-encoded data can be directly used without requiring repeated decoding and re-encoding operations, thus reducing processing overhead while maintaining security transformation capabilities

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces encoded data as an intermediary form between original data and protected software. This intermediary representation allows security transformations to be applied without exposing the original data, reducing the need for repeated decode-re-encode cycles and improving processing efficiency

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If original data is exposed during transformation processes, then flexibility in processing is improved, but security against attacks deteriorates

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidvulnerability to attacks
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent uses encoded data as an intermediary that enables processing flexibility while preventing direct exposure of original data. The encoded form serves as a protective barrier that maintains adaptability in software transformations without revealing sensitive information to potential attackers

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system transforms data by changing its representation parameters through error control encoding. This parameter transformation allows the data to be processed in different forms (encoded vs. original) depending on the operational context, providing flexibility while maintaining security by keeping the original data hidden

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2885785B1Data processing
Publication Date: 2021.10.13 IRDETO BV
  • EP2885785B1 patent drawingFigure 1A~1C
  • EP2885785B1 patent drawingFigure 2
  • EP2885785B1 patent drawingFigure 3

AI summary

A method of processing data according to a first predetermined function, the method comprising: receiving an encoded amount of data, wherein the encoded amount of data is an amount of data that has been encoded using an error control code; and processing the encoded amount of data using a second predetermined function to generate an output; wherein the second predetermined function corresponds to the first predetermined function in that the result of processing, with the second predetermined function, a quantity of data encoded using the error control code equals the result of encoding with the error control code the result of processing the quantity of data with the first predetermined function.