I was reading this answer about why there is no such thing as a SHA-1024 hash:
SHA-2 was built with state and word sizes to meet the security requirements on commodity computers (x86 and Alpha), which use 32 and 64-bit maximum CPU word sizes for general purpose registers. This meant that the state was built with 8-words to meet the 2 most common security requirements.
Support of a larger digest would either require the core compression function to be different (as there would need to be more word inputs) or a larger word size, which did not exist (and still does not) except in specialized processors or SIMD registers (without appropriate instructions).
Why can't SHA-512 or SHA-256 simply be reused instead to create a longer hash, eg. by concatenating hash(string)
and hash(string + 1)
? Does this pose a security concern, speaking of hashes in general?
I have little knowledge of the internals of hashing algorithms, but I think that if it takes an average time T to find a collision on hash(string)
, it should take an average time T^2 to find a collision on hash(string) concat. hash(string + 1)
.