Cryptographic security game
ID: cryptographic-security-game
A cryptographic security game is a precisely specified experiment defining what an adversary may observe and do, and what counts as success. Its rules include key generation, random choices, permitted queries, resource limits and a winning condition. Security statements bound the winning probability or a specified cryptographic distinguishing advantage, often as a function of a cryptographic security parameter. A reduction proves a result about that defined experiment, not every informal meaning of the word secure.[ref]
Practice-Oriented Provable-Security by Mihir Bellare. §§2.2 and 3.2, reductions and concrete security; §4.3, proofs and definitions
For an original one-challenge confidentiality game, an adversary chooses two equal-length plaintexts . A challenger samples an independent uniform bit , encrypts , and gives the ciphertext to the adversary, which returns a guess . In this simplified game there are no additional encryption or decryption queries. DefineRandom guessing has advantage zero. A success probability gives advantage . Another convention doubles this value; stating the normalization avoids a factor-of-two ambiguity when comparing bounds.
The one-time pad supplies a complete worked example. Let messages and the independently uniform key contain bits, and set . For any fixed -bit string and either challenge bit,since exactly one key gives that ciphertext. The ciphertext distribution is identical for and , so no function of it and the chosen messages can outperform guessing. The advantage is zero in this game.
Changing the rules can change the result. Reusing the pad for another message supplies the relation . A chosen-plaintext attack game grants access to encryptions selected by the adversary; a chosen-ciphertext attack game grants additional decryption access with carefully stated restrictions. The proof for the one-challenge experiment does not establish security under those extra observations.
A forgery game for a message authentication code instead asks for an accepted message/tag pair meeting its freshness condition. That is a different winning event from guessing an encrypted message. The cryptographic security game makes these distinctions inspectable and provides the exact target for a security reduction.
New to topics? Read the docs here!