= Solution
An unpredictable random $64$-<bit> <cryptographic nonce> is better for Alice than a predictable counter, provided repetitions are detected or made sufficiently unlikely. Alice wants a matching ticket to imply a response to her present challenge, and the <protocol> lets anyone ask Tim for a ticket containing a chosen $\mathit{nonce}_A$.
Suppose an adversary predicts that Alice's next challenge for Bob will be $a$. Before Alice starts that run, the adversary sends $(A,B,a)$ to Bob as message 1. Bob asks Tim for a <session key> $k$ and returns the genuine pair $(U,E_k(\text{Hello Alice}))$ in message 4. The adversary stores that pair and lets the early run lapse. Later, when Alice really emits $(A,B,a)$, the adversary blocks it and delivers the stored pair. Alice's ticket and greeting checks pass, despite the key and Bob's participation predating her run. This is a <preplay attack> on freshness and recent participation. Bob need not accept Alice's eventual message 5 for Alice's acceptance to have failed its freshness goal.
Success requires the predicted value and identities to match, an early run that yields the matching ticket and greeting, and Alice to accept solely from the outstanding value without additional expiry or run binding. No <session key> disclosure is needed to defeat freshness; if that old key has also been compromised, impersonation and loss of <cryptographic confidentiality> follow as well.
$$
\boxed{\text{Use an unpredictable fresh nonce to resist advance collection of valid replies.}}
$$
A guess at a particular uniformly random value has <probability> $2^{-64}$ per independent attempt, with success approximately $r/2^{64}$ for $r$ distinct guesses when that ratio is small. Random choice does not itself guarantee uniqueness: among $t$ independent values the <birthday problem> collision scale is approximately $t(t-1)/2^{65}$. Counter uniqueness and unpredictability are different requirements.
Back to article page