Transformed Cryptographic Hash Function Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cryptographic hash functions are vulnerable to white-box attacks in environments where attackers have full control over the execution environment and software implementation, as they can observe inputs, outputs, and intermediate values, compromising the security of digital rights management systems by exposing content-encryption keys.

Innovation Solution

The method involves encoding input messages and outputs to operate in a transformed domain, using reversible encoding functions to conceal sensitive data, ensuring that inputs, outputs, and intermediate values remain encoded, thus preventing exposure and maintaining compatibility with standard hash functions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cryptographic hash functions are implemented in a standard environment, then they provide one-way security properties, but they are vulnerable to white-box attacks where attackers can observe inputs, outputs and intermediate values

Engineering Contradiction:
Improvesecurity against white-box attacksVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an encoding layer as an intermediary between the standard hash function and the external environment. This encoding layer transforms inputs and outputs into encoded representations, preventing attackers from directly observing the actual data while maintaining the hash function's operational integrity and security properties.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies parameter changes by transforming the hash function to operate on encoded parameters rather than plain parameters. By changing the domain of operation through encoding transformations, the system maintains the mathematical properties of the hash function while protecting against observation-based attacks.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If encoding is applied to protect against white-box attacks, then security is improved, but the complexity of implementing and managing the encoding increases

Engineering Contradiction:
Improveprotection against white-box attacksVSAvoidencoding implementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The encoding schemes are prepared and established in advance before the hash function execution. By performing the encoding setup beforehand, the system reduces the complexity during actual hash computation, as the encoding/decoding mechanisms are already in place and do not need to be dynamically determined during the critical hashing operation.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If encoding is used to conceal sensitive data, then security against key extraction is improved, but the ease of operation decreases due to additional encoding/decoding steps

Engineering Contradiction:
Improveconcealment of sensitive dataVSAvoidoperational simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The encoding layer is designed to be self-managing, where the encoding and decoding operations automatically handle the protection and revelation of sensitive data without requiring manual intervention. The system self-manages the encoding state transitions, reducing the operational burden on users while maintaining security.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2691906B1Method and system for protecting execution of cryptographic hash functions
Publication Date: 2018.12.26 IRDETO BV
  • EP2691906B1 patent drawingFigure 1
  • EP2691906B1 patent drawingFigure 2~3
  • EP2691906B1 patent drawingFigure 4

AI summary

A method of protecting the execution of a cryptographic hash function, such as SHA-256, in a computing environment where inputs, outputs and intermediate values can be observed. The method consists of encoding input messages so that hash function inputs are placed in a transformed domain, and then applying a transformed cryptographic hash function to produce an encoded output digest; the transformed cryptographic hash function implements the cryptographic hash function in the transformed domain.