Adaptive Hashing Algorithm for File Authenticity Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Standard hashing algorithms are susceptible to reverse engineering and collisions, which can compromise the authenticity of files, especially multimedia content files like SWF files, leading to unauthorized use and theft.

Innovation Solution

A hashing algorithm that modifies its operations based on an input key by using nonlinear functions, such as rotation and Boolean operations, to generate an output hash value, making it difficult to reverse engineer and enhancing collision resistance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If standard hashing algorithms are used, then the hashing process is simple and fast, but the algorithms are susceptible to reverse engineering and collisions

Engineering Contradiction:
Improvecollision resistanceVSAvoidalgorithm complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies dynamics by making the hashing algorithm adaptive through key values that modify the nonlinear functions during execution. The algorithm transitions from a static standard hashing process to a dynamic one where operations are modified based on input keys, increasing collision resistance while maintaining computational efficiency through structured modifications rather than complete redesign

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes parameters by introducing key values that alter the behavior of nonlinear functions within the hashing algorithm. These parameter modifications include changing the operations performed during hashing based on the key, thereby enhancing security properties without fundamentally changing the algorithm's structure or execution model

Inventive Principle:
Principle #35Parameter changes

2Reliability

If standard hashing algorithms are used, then the implementation is straightforward, but the authenticity verification is vulnerable to unauthorized use

Engineering Contradiction:
Improveauthenticity verificationVSAvoidimplementation simplicity
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent introduces key values as intermediaries between the file data and the hash computation. These keys act as mediators that modify the nonlinear functions during hashing, creating a secure verification mechanism. The key values serve as a bridge that enables authenticity verification without requiring complex cryptographic protocols, maintaining implementation simplicity while enhancing security

Inventive Principle:
Principle #24Intermediary (Mediator)

3Difficulty of detecting and measuring

If nonlinear functions with key modification are used, then reverse engineering becomes difficult, but the processing operations become more complex

Engineering Contradiction:
Improvereverse engineering difficultyVSAvoidprocessing operation complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The patent segments the hashing process into distinct phases where key values modify specific nonlinear functions at different stages of processing. This segmentation allows the complexity to be distributed across manageable operations rather than creating a single complex monolithic function, making the algorithm more resistant to reverse engineering while keeping individual processing steps relatively simple and structured

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9075798B2Verifying authenticity of input using a hashing algorithm
Publication Date: 2015.07.07 ADOBE INC
  • US9075798B2 patent drawing
  • US9075798B2 patent drawing
  • US9075798B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for verifying a message based on application of a hashing algorithm. In one aspect, a method includes identifying a file and a key value and processing the file using multiple nonlinear functions to generate an output hash value, where the operations performed by the nonlinear functions are modified based on the key value. The file can then be verified based on the output hash value.