Forensic Copy Verification Using Parallel Hash State Checkpoints
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 verify forensic copies, then the verification process maintains algorithmic reliability and trustworthiness, but the verification time becomes excessively long for large data sets
Solution Approach 1:
The patent segments the data stream into multiple blocks and computes intermediate hash states at periodic intervals during the hashing process. These intermediate states are stored alongside the forensic copy, enabling parallel verification of individual blocks without requiring complete re-hashing of the entire dataset, thus reducing verification time while maintaining reliability
Solution Approach 2:
The patent performs preliminary computation of intermediate hash states during the initial forensic copy creation process. By storing these pre-computed intermediate states with the forensic copy, the system prepares verification data in advance, allowing rapid parallel verification later without needing to perform the time-consuming hashing operation again for the entire dataset
2Productivity
If intermediate hash states are stored during the hashing process, then parallel verification of data blocks becomes possible, but the storage requirements and data structure complexity increase
Solution Approach 1:
The patent divides the data into manageable blocks and stores intermediate hash states corresponding to each block's boundaries. This segmentation allows the verification process to operate on individual blocks in parallel using multiple CPU cores, significantly improving verification speed while keeping each individual verification unit relatively simple
Solution Approach 2:
The patent introduces intermediate hash states as intermediary data structures that bridge the original data blocks and the final verification process. These intermediaries enable parallel verification by allowing independent computation on different blocks while maintaining the cryptographic integrity chain, thus improving productivity without requiring complete redesign of the verification architecture
3Reliability
If the entire data set is hashed using a non-parallelizable algorithm, then the verification is thorough and reliable, but the process cannot utilize multiple CPU cores for acceleration
Solution Approach 1:
The patent segments the data stream into multiple blocks and computes intermediate hash states at periodic intervals. This segmentation enables the verification process to divide the large dataset into smaller units that can be processed simultaneously by multiple CPU cores, thereby improving throughput while maintaining thorough verification through complete block validation
Solution Approach 2:
The patent performs preliminary hashing of individual blocks and stores their intermediate hash states during the forensic copy creation phase. This preliminary action allows the verification phase to utilize multiple CPU cores to process different blocks in parallel, significantly improving verification throughput while maintaining the thoroughness of complete data validation through verification of all stored intermediate states
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.


