Parallel Verification of Forensic Copies with Intermediate Hash States
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


