Secure Highway Hash Parallel Processing Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cryptographic hash functions are too slow for time-sensitive and large-scale applications due to their high processing time, which compromises their use in systems requiring both security and speed.

Innovation Solution

The Secure Highway Hash function utilizes multiplication and permutation operations in a parallel processing environment to generate cryptographic hash values, processing input data twice for thorough mixing, thereby achieving faster computation without compromising security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cryptographic hash functions use thorough mixing operations to achieve collision resistance, then security is improved, but processing time increases making them too slow for large-scale use

Engineering Contradiction:
Improvecollision resistanceVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The hash function processes input data in parallel segments using SIMD (Single Instruction Multiple Data) operations, dividing the mixing process into independent parallel streams that can be computed simultaneously, thereby maintaining thorough mixing while reducing overall processing time

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from sequential processing to parallel processing by utilizing multiple data lanes (dimensions) in SIMD registers, allowing the same mixing operations to be applied to multiple data blocks concurrently, effectively adding a temporal dimension to the processing architecture

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If cryptographic hash functions perform extensive mixing operations, then security against pre-image attacks is improved, but execution time increases

Engineering Contradiction:
Improvepre-image resistanceVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The mixing operations are segmented into parallel independent streams that process different portions of the input simultaneously, maintaining the cryptographic strength of extensive mixing while reducing total execution time through parallelization

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent maintains continuous useful action by keeping all processing lanes actively engaged in mixing operations throughout the hash computation, eliminating idle time and ensuring that every cycle contributes to the cryptographic mixing process across all data segments

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If cryptographic hash functions are used in time-sensitive applications, then security is maintained, but processing throughput decreases

Engineering Contradiction:
Improvecryptographic securityVSAvoidhash generation throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Input data is segmented into parallel processing lanes that are hashed simultaneously, maintaining cryptographic security through thorough mixing in each lane while multiplying the overall throughput by the number of parallel lanes

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hash function design allows the same mixing and permutation operations to be universally applied across multiple data lanes with a single instruction set, enabling the system to maintain cryptographic security while achieving high throughput through parallel execution

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10833847B2Cryptographic hash generated using data parallel instructions
Publication Date: 2020.11.10 GOOGLE LLC
  • US10833847B2 patent drawing
  • US10833847B2 patent drawing
  • US10833847B2 patent drawing

AI summary

A fast cryptographic hash of an input file using multiplication and permutation operations in a parallel processing environment. An example method includes updating an internal state for each of a plurality of packets, the packets being read from an input file. Updating the state for a packet can include injecting the packet into an internal state, mixing the bits of the internal state using multiplication, and shuffling the result of the multiplication so that bits with highest quality are permuted to locations that will propagate most widely in a next multiplication operation. The method also includes performing a reduction on the internal state and repeating the update of the internal state, the reduction, and the injecting a second time. The method may further include finalizing the internal state and storing a portion of the final internal state as a cryptographic hash of the input file.