Sequential Block-Cipher Hashing for Low-Memory Double-Length Output
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing double-block-length hash functions require a memory size of 2n+k bits or larger, with no existing solutions achieving a minimum memory size of n+k bits and a security level of n bits.
Innovation Solution
A hash value computation device processes a block cipher sequentially multiple times to compute a hash value, using a block cipher E that takes a key K of k bits and a plaintext block P of n bits, and includes a function computation unit to process the block cipher E sequentially on input values to compute output values, reducing the required memory size.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a double-block-length hash function is designed using a block cipher with parallel processing, then the security level of n bits is achieved, but the memory size increases to 2n+k bits or larger
Solution Approach 1:
The patent divides the hash computation into multiple passes, where each pass processes a portion of the input data and updates the intermediate values. This segmentation allows the computation to be performed in stages, reducing the peak memory requirements compared to parallel processing while maintaining the security level through multiple transformation rounds.
Solution Approach 2:
The patent employs periodic action by repeatedly applying the block cipher transformation multiple times in sequence. The hash function performs the block cipher operation in multiple passes, where each pass transforms the intermediate values. This periodic application of the transformation maintains security through iterative mixing while allowing memory to be reused across passes, reducing the total memory size requirement.
2Device complexity
If the memory size is reduced to n+k bits, then the device complexity decreases, but achieving collision resistance and pseudorandom oracle properties becomes more difficult
Solution Approach 1:
The patent ensures continuity of useful action by maintaining the security properties throughout the entire computation process. The multiple-pass design ensures that each transformation round contributes to the final hash value, and the continuous mixing of intermediate values through repeated block cipher applications maintains collision resistance and pseudorandom oracle properties even with reduced memory.
Solution Approach 2:
The patent changes the parameters of the hash function by using the block cipher with key length k and block length n to construct a hash function with output length 2n. By carefully selecting and transforming parameters through multiple passes, the patent achieves the desired security properties with reduced memory requirements.
Data Source
AI summary
A hash value computation device (10) computes a hash value H of 2n bits using a block cipher E that takes as input a key K of k bits and a plaintext block P of n bits, which is a smaller number of bits than k bits, and outputs a ciphertext of n bits. A function computation unit (22) computes a function CF that processes the block cipher E a plurality of times sequentially on an input value M* of k−n bits, an input value S[1] of n bits, and an input value S[2] of n bits so as to compute an output value S′[1] of n bits and an output value S′[2] of n bits. A hash value computation unit (23) computes the hash value H from the output value S′[1] and the output value S′[2].


