Semantic Security
- •
What it is
- •
the practical, computationally-bounded relaxation of Perfect Security — a cipher is semantically secure if no efficient adversary can distinguish which of two chosen messages was encrypted, except with negligible advantage
- •
- •
Defined via an Attack Game
- •
Definition
- •
a cipher is semantically secure if is negligible for every efficient adversary
- •
- •
Key property: equal-length requirement
- •
the two chosen messages must be the same length — this is how the definition allows a cipher to leak message length (usually unavoidable in practice) while still requiring everything else to stay hidden
- •
- •
Why weaker definition fail
- •
"attacker can't recover the key" is not enough — the absurd cipher (just output the plaintext) satisfies this, since the attacker never learns , yet the cipher is obviously broken
- •
"attacker can't recover the entire message" is not enough — a cipher that sends in the clear concatenated with a secure encryption of satisfies this (the whole plaintext is never fully recoverable) while leaking half the message outright
- •
- •
Example: any single leaked bit breaks semantic security
- •
suppose adversary can always deduce the least-significant bit of the plaintext from a ciphertext; build SS adversary : submit ending in 0 and ending in 1, forward the challenge ciphertext to , output whatever bit recovers
- •
this has SS advantage exactly 1 — so if any adversary can extract even one bit of information about the plaintext (LSB, MSB, XOR-of-all-bits, anything), semantic security is broken; conversely, semantic security guarantees no bit of information leaks
- •
- •
The one-time pad is semantically secure (trivially — even against unbounded adversaries)
- •
for any : and are identically distributed (both uniform, by the XOR Uniformity Lemma) — so any adversary, however powerful, is handed the exact same distribution regardless of which message was encrypted, giving it zero advantage
- •
- •