Partial SHA Hash Verification for Preimage Integrity Checks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic hash functions, such as SHA256, only allow for the verification of the integrity of a preimage as a whole, lacking the ability to verify the integrity of partial preimages, which is necessary for large data transactions like blockchain transactions or identity documents, leading to inefficiencies in bandwidth and storage requirements.

Innovation Solution

A method is introduced to verify the integrity of partial preimages using the SHA-based hash function by partially executing the hash function, generating iteration input vectors, and comparing candidate hash digests to ensure the integrity of specific components within a preimage without revealing the full preimage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the entire preimage is transmitted and stored for verification, then verification accuracy is improved, but bandwidth and storage requirements increase significantly

Engineering Contradiction:
Improveverification accuracyVSAvoidbandwidth and storage requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the preimage into two distinct parts: the first part is hashed using the SHA function to generate a hash digest, while the second part remains unhashed. This segmentation allows the system to verify the integrity of the first part through the hash digest without needing to transmit or store the entire preimage, thereby reducing bandwidth and storage requirements while maintaining verification accuracy for the critical portion of the data

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the essential verification information (the hash digest of the first part) from the complete preimage and transmits it separately. This extraction principle allows the verifying party to authenticate the first part of the preimage without receiving or storing the entire original data, thus solving the contradiction between verification accuracy and resource consumption

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If the full preimage is revealed for verification, then integrity confirmation is improved, but privacy of sensitive details deteriorates

Engineering Contradiction:
Improveintegrity confirmationVSAvoidprivacy of sensitive details
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent divides the preimage into a first part and a second part, where only the first part is subjected to hashing for verification purposes. The second part containing sensitive information remains undisclosed and is not included in the verification process. This segmentation enables integrity confirmation of the non-sensitive portion while preserving the privacy of sensitive details

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and processes only the non-sensitive first part of the preimage for verification, leaving the sensitive second part hidden. This selective extraction allows the system to confirm integrity where needed without exposing confidential information, thus resolving the contradiction between reliability and privacy protection

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12531744B2Partial SHA-based hash function
Publication Date: 2026.01.20 NCHAIN LICENSING AG
  • US12531744B2 patent drawing
  • US12531744B2 patent drawing
  • US12531744B2 patent drawing

AI summary

A computer-implemented method of verifying the integrity of part of a pre-image corresponding to a hash digest generated by hashing the preimage with a SHA-based hash function, wherein the pre-image comprises a first message and a second message, and wherein the method comprises: a) receiving an iteration input vector; b) obtaining a second sequence of blocks; c) generating a final iteration output vector by performing an iteration of the SHA-based hash computation for each of the second sequence of blocks in order of a respective position in the second sequence of blocks, wherein the iteration of the SHA-based hash computation performed on a first one of the second sequence of blocks is based on the obtained iteration input vector; and d) generating a candidate hash digest based on the final iteration output vector, the candidate hash digest being for comparison with the hash digest.