Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In the AUTH and UF-CMA games, an adversary is required to forge a ciphertext or message/tag pair to win the game. Given an encryption scheme $E$ and a PRF $F$, let $\hat{E} = C || F_k(C)$ and $C = E(x)$ (encrypt-then-MAC with PRF as MAC), how is the birthday attack mounted? I understand it is sufficient to ask ~ $\sqrt{2^n}$ queries to find a collision in a MAC, but it's not clear how we can forge a new ciphertext/tag pair even if we have collision, because if we have found such a collision, we have already asked the oracle the two colliding messages. I also see how certain block ciphers can be exploited by finding internal collisions, but how is the birthday attack mounted in the general case?

share|improve this question
up vote 1 down vote accepted

There is no generic attack that works against all PRFs (for exactly the reasons you mentioned -- if the PRF is secure beyond the birthday bound, there's no attack).

There is an attack on many of the specific PRF schemes that are used in practice, precisely because those specific ones are not secure beyond the birthday bound. These attacks involve taking advantage of specific details of the design of that particular PRF (e.g., finding internal collisions).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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