Say I'm trying to brute force the original plain text of an SHA256 hash, does knowing the RIPEMD160 hash of the same text help? In other words, does providing access to hash values of the same text generated by multiple algorithms decrease security?
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
No, there is no security decrease in this case. While there could be some hypothetical constructions that might leak the preimage if two images are known, this is definitely not the case for existing hash functions, which are all quite different from each other.
An example of such a weak pair of hash functions could be two versions of MD5: one with 63 rounds, and another one with 64 rounds. Then the two hashes would reveal partial information about the preimage.
Theoretically, a hash function can be insecure and leak information about the plaintext. In this case knowing multiple hashes will let you make use of weaknesses in any of them. I agree with Dmitry Khovratovich that this isn't likely if you choose hash functions that are considered good, but it is a possibility.
More concretely, knowing multiple hash functions lets you use the fastest when searching for the plaintext using brute force or a dictionary attack. So, for example, if the attacker could calculate RIPEMD-160 twice as fast as SHA-256 on their hardware, they could search for a plaintext for which they know both hashes twice as fast as they could one for which they know only SHA-256.
The latter only really matters if you use the hash on short enough secret data that could be predicted, like short text messages.