I'm searching a definition of "generic attack" in context of cryptography or more specific in context of "hash functions". I searched some books and the web but I did not found any definition for it only the usage like "generic birthday attack".

Does someone have a definition for that or knows where I get one?


A "generic attack" against a cryptographical primitive is one that can be run independently of the details of how that cryptographical primitive is implemented. The most obvious case is a cipher that takes an $N$ bit key; the generic attack of brute force takes a ciphertext, and attempts to decrypt it with all $2^N$ keys; when we find the known (or plausible) plaintext, we are likely to have found the correct key. This can be done no matter how the cipher uses the key.

When it comes to hash functions, there are three security assumptions we can make (preimage resistance, second preimage resistance and collision resistance), each with a corresponding generic attack.

When it comes to collision resistance (no one can find two distinct messages that hash to the same value), the generic attack is to hash a huge number of distinct messages until the same hash pops up twice. This is called the "birthday attack" because, because of the birthday paradox, we expect such a pair after hashing about $\sqrt{2^n} = 2^{n/2}$ messages (where $n$ is the size of the hash).

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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