Parallel Verification of Forensic Copies with Intermediate Hash States

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The verification of forensic copies using non-parallelizable hashing algorithms, such as SHA256, is time-consuming due to the necessity of serial processing, which can take hours for large data sets.

Innovation Solution

Generate a forensic copy by storing intermediate hash states at periodic intervals during the hashing process, allowing for parallel verification of individual data blocks using these states, reducing verification time by enabling concurrent processing on multiple cores.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a non-parallelizable hashing algorithm (SHA256) is used to create forensic copies, then the hash verification is secure and trusted by courts, but the verification process becomes time-consuming and cannot be parallelized

Engineering Contradiction:
Improvehash verification securityVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the data stream into multiple blocks and computes intermediate hash states at the boundaries of these blocks. This segmentation allows the verification process to be divided into independent tasks that can be performed in parallel, while still using the same non-parallelizable SHA256 algorithm for each block verification. The intermediate hash states serve as checkpoints that enable parallel verification without compromising security.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by computing and storing intermediate hash states during the initial hashing process. These intermediate states are saved alongside the final hash and forensic copy data. When verification is needed, these pre-computed intermediate states enable parallel verification of data blocks without requiring re-computation of the entire hash chain, thus reducing verification time while maintaining security.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If the hashing algorithm is performed serially on the entire data stream, then the algorithm can be executed with a single process, but the verification process cannot utilize multiple processors or cores

Engineering Contradiction:
Improveprocess complexityVSAvoidverification speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the data stream into multiple blocks and computes intermediate hash states at block boundaries. This segmentation transforms the verification process into a set of independent tasks that can be distributed across multiple processors or cores. Each processor can verify a specific block independently using the stored intermediate hash states, thereby utilizing parallel hardware resources to improve verification speed without increasing algorithmic complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs partial action by computing and storing only the necessary intermediate hash states at block boundaries, rather than computing every possible intermediate state. This partial computation approach enables parallel verification while keeping the overall process manageable. The intermediate states serve as sufficient checkpoints to verify data integrity without requiring complete re-computation of the entire hash chain.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of time

If intermediate hash states are stored and used for parallel verification, then verification time is reduced significantly, but additional data must be stored and managed

Engineering Contradiction:
Improveverification timeVSAvoiddata storage requirement
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent segments the data stream into blocks and stores only the intermediate hash states at the boundaries of these blocks. This segmentation approach minimizes the amount of additional data that needs to be stored, as only the hash states at block boundaries are saved rather than all intermediate computations. The segmented structure allows efficient storage and retrieval of verification data while enabling parallel processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a copy of the forensic copy data along with the intermediate hash states and their corresponding block identifiers. This copied structure enables parallel verification by allowing multiple processes to read and verify different blocks simultaneously. The copy includes all necessary information (block data, intermediate hash states, and block boundaries) needed for verification without requiring additional complex data structures.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12506591B2Systems and methods for enabling parallelized verification of forensic copies using non-parallelizable algorithms
Publication Date: 2025.12.23 OPEN TEXT CORPORATION
  • US12506591B2 patent drawing
  • US12506591B2 patent drawing
  • US12506591B2 patent drawing

AI summary

Systems, methods and products for enabling parallelized verification of a forensic copy generated using a non-parallelizable hashing algorithm. Disclosed embodiments generate the forensic copy of a data source using a non-parallelizable algorithm. In addition to generating a hash of the source data, intermediate hash states are stored for successive blocks of data from the data source. During verification of the forensic copy, the intermediate hash states and identifiers of the data blocks are retrieved from a data structure that is saved with the forensic copy. The non-parallelizable algorithm is used to hash each data block using the intermediate hash state preceding the data block as a starting hash state, then the hash of the data block is compared to the intermediate hash state following the data block to verify the data block. If all data blocks are successfully verified, the forensic copy is verified, otherwise verification fails.