Cryptographic Hash Padding for Large Message Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic hash functions face challenges in handling messages larger than the maximum size specified by standards, requiring message segmentation and independent validation to maintain interoperability and security, while existing padding methods may compromise security and efficiency.

Innovation Solution

A method for computing devices to determine the bit-length of messages and add an expanded length block if necessary, ensuring the padded message is a multiple of the fixed block size, while maintaining Merkle-Damgard strengthening for security, by setting bits in memory address locations and using a processor to adjust values for padding and length representation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If standard Merkle-Damgard padding is used to maintain security and interoperability, then security properties are preserved, but messages larger than the maximum size specified by standards cannot be processed

Engineering Contradiction:
Improvemessage size capabilityVSAvoidsecurity properties
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the message processing into multiple standardized hashing operations. Large messages are divided into smaller blocks that each fit within the standard's maximum size constraints, allowing the system to process messages of arbitrary length while maintaining compliance with standard specifications and preserving security properties through iterative application of the hash function.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an additional dimension to the padding scheme by incorporating a length block that encodes the original message length. This extended padding approach (beyond traditional Merkle-Damgard) allows the system to handle messages larger than the standard maximum by providing length information that enables secure processing of segmented messages while maintaining collision resistance and preimage resistance.

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

2Adaptability or versatility

If messages are segmented into multiple pieces for hashing, then large messages can be processed, but independent validation of each piece is required increasing complexity

Engineering Contradiction:
Improvelarge message processingVSAvoidvalidation process
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by computing and storing the length block encoding the original message length before segmenting and hashing the message. This pre-computed length information is then used during validation to verify the complete message without requiring complex cross-validation between segments, simplifying the validation process while enabling large message processing.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If the length block is extended to accommodate larger messages, then message size capability increases, but the risk of collisions may increase

Engineering Contradiction:
Improvemessage size rangeVSAvoidcollision risk
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent uses the length block as an intermediary element that bridges the gap between standard hashing capabilities and large message requirements. By encoding the message length in this intermediary structure and incorporating it into the padded message, the system maintains collision resistance properties while extending the usable message size range beyond traditional standard limitations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3664357B1Device and method for implementing a cryptographic HASH function
Publication Date: 2021.10.27 BLACKBERRY LTD
  • EP3664357B1 patent drawingFigure 1
  • EP3664357B1 patent drawingFigure 2
  • EP3664357B1 patent drawingFigure 3

AI summary

A computing device and a computing device implemented method are provided for preparing a message a bit-length number of bits in length less than or equal to a pre-determined maximum size, for input to a cryptographic hash function operating on blocks of a predetermined block size of B bits. The computing device comprises a processor in communication with a memory for processing the message. The method comprises the processor padding the message by adding sufficient padding bits and a length block of length n bits, such that a padded bit-length of the padded message is an integer factor times the block size B; and the processor setting the bits of the length block such that if the bit-length is less than 2 n bits long, the bits of the length block represent the padded bit-length; and, if the bit-length is greater than or equal to 2 n bits long, the bits of the length block represent a pre-determined value non-representative of the bit-length