NBOW Hash Function Parallel Block Cipher Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing block cipher hash functions, such as MDC-2 and double block length (DBL) hash functions, face limitations in achieving high rates and efficiency, with rate R often being less than 1/2 for key lengths equal to block lengths and twice for double key lengths, and are not as fast as desired.

Innovation Solution

The proposed NBOW (N Block One-Way) hash function processes N message blocks per round, using block ciphers like AES-128, with each block being XORed with other blocks and used as keys, and employing a Davies-Meyer like construction for efficient iteration, resulting in a rate of 1 or higher and improved performance by reducing the number of block operations per data block.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional block cipher hash functions (MDC-2, DBL) are used, then security is maintained, but the hashing rate is limited to R < 1/2 for key lengths equal to block lengths

Engineering Contradiction:
Improvehashing rateVSAvoidblock cipher operations per data block
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The message is divided into multiple blocks that are processed in parallel using multiple block ciphers. The hash function processes N message blocks per round, with each block being XORed with other blocks and used as keys for parallel block cipher operations, achieving a rate of 1 or higher by segmenting the processing into independent parallel paths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from sequential single-block processing to multi-block parallel processing by introducing multiple block ciphers operating simultaneously. This dimensional change from single-threaded to multi-threaded block cipher operations enables the hashing rate to exceed 1, fundamentally changing the processing architecture.

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

2Quantity of substance

If double block length (DBL) hash functions are used, then output size is increased, but the number of block cipher operations doubles the key length requirements

Engineering Contradiction:
Improvehash output sizeVSAvoidkey length requirements
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

Multiple block ciphers with the same key length are used to simultaneously produce multiple hash output blocks. Each block cipher operates independently with the same key size but produces distinct output blocks that are combined to form the final hash, achieving large output size without increasing individual key length requirements.

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

3Reliability

If more block cipher operations are performed per data block, then security strength is improved, but processing speed decreases

Engineering Contradiction:
Improvecollision resistanceVSAvoidhashing throughput
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The hash function employs iterative rounds where multiple block ciphers operate continuously in parallel on different message blocks. The Davies-Meyer like construction enables continuous processing where output from one round becomes input for the next, maintaining security through multiple operations while achieving high throughput via parallel execution.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

Message blocks are pre-XORed with other blocks and intermediate hash values to create diverse keys for the block ciphers. This preliminary mixing of data before encryption ensures that each block cipher operation contributes to both security and the overall hash computation efficiency, reducing redundant operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3576338B1High-rate multi-block-length hash function based on block ciphers
Publication Date: 2021.04.07 NXP BV
  • EP3576338B1 patent drawingFigure 1
  • EP3576338B1 patent drawingFigure 2
  • EP3576338B1 patent drawingFigure 3

AI summary

Various embodiments relate to a method of hashing a message M using a block cipher, including: producing N block cipher inputs by XORing message indices i, ... i + N - 1 respectively with state values S0, ... SN-1, wherein N is an integer greater than 1; producing N block cipher keys by XORing N different blocks of message M and at least one of state values S0, ... SN-1 for each of the N block cipher keys; encrypting the N block cipher inputs using the respective N block cipher keys to produce N block cipher outputs; combining the N block cipher outputs with N block cipher inputs to produce N block cipher combined outputs Tt, for t = 0, ..., N - 1; calculating Y0 = T0; calculating Yt = Yt-1 ⊕ Tt, for t = 1, ..., N - 1, calculating S'N-1 = YN-1 &lt;&lt;&lt; a, where a is a number of bits to rotate where S'0,..., S'N-1 are new state values; and calculating S't = Yt ⊕ S'N-1, for t = 0,...,N-2.