1
$\begingroup$

Consider a single hash table containing digests from about 10 different 256 bits cryptographic hashing functions, like SHA256, SHA3, KECCACK256, BLAKE2, BLAKE3, etc...

Is such table still considered collision resistant?

I am inclined to think so, but I might be missing something.

$\endgroup$

1 Answer 1

1
$\begingroup$

Yes, we can expect that mixing different unbroken and standard 256-bit cryptographic hashes like the ones cited is about as collision-resistant as the weakest of the hashes, that is practically collision-resistant.

The restriction to standard hashes is necessary to repel hashes specially crafted to allow a collision; like e.g. $H(M)=\operatorname{RIPEMD-256}(M)\oplus\bigl(\operatorname{RIPEMD-256}(\mathtt{‘foo’})\oplus\operatorname{SHA-256}(\mathtt{‘bar’})\bigr)$, which is such that $H(\mathtt{‘foo’})=\operatorname{SHA-256}(\mathtt{‘bar’})$.

Argument: it's reasonable to assume that for a given hash algorithm, the output of another not-too-closely-related† hash algorithm behaves as a random value. Colliding with that would be a (first) preimage attack, something that even broken hashes tend to prevent (e.g. MD5 is still practically preimage resistant). Therefore, the only attacks to fear are collisions among hash values for the same hash algorithm, and by definition any unbroken hash resists that.


† As an example: if the definition of one hash includes a constant near the output that's determined from the result of another hash, they are much-too-closely-related.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.