Passive attack
A passive attack on a communications system is one in which the attacker only eavesdrops; he may read messages he is not supposed to see, but he does not alter messages. This contrasts with an active attack in which the attacker may create, forge, alter, replace or reroute messages.
Generally, the term "passive attack" is used in the context of cryptanalysis. However, the term is actually considerably broader than that. For example, wiretapping an unencrypted line is a passive attack. So is traffic analysis, attempting to infer useful information from the source, destination, timing and size of messages without reading the content. There are also situations where the attacker is active in some way — such as probing an air defense system to obtain data on their radar systems or tricking an enemy into encrypting known text (ULTRA called this "gardening") — but the actual cryptanalysis is a passive attack.
There are three passive attacks that will in theory break any cipher; variants of these work for either block ciphers or stream ciphers:
- brute force attack — try all possible keys
- algebraic attack — write the cipher as a system of equations and solve for the key
- code book attack — collect all possible plaintext/ciphertext pairs for a block cipher, or the entire pseudorandom stream until it starts repeating for a stream cipher
However, all of those attacks are spectacularly impractical against real ciphers. Brute force and algebraic attacks require the attacker to do far too much work. For a code book attack, he needs far too much data — a huge collection of intercepts, all encrypted with the same key. If the cipher user changes keys at reasonable intervals, a code book attack is impossible.
A meet-in-the-middle attack is quite effective if it can be used, but it cannot be used against most ciphers.
A birthday attack can be used whenever the issue is finding repeated output from some cryptographic technique — for example a challenge-response protocol repeating a challenge, or two inputs hashing to the same result.
Two passive attacks — linear cryptanalysis and differential cryptanalysis — are very powerful. They are the only known attacks that break DES with less effort than brute force, and are the most powerful known general-purpose attacks against block ciphers. Variants of them have also been applied against stream ciphers and cryptographic hashes. Both, however, require large samples of material encrypted with a single key, so frequent re-keying is a defense.
There are are whole range of other passive attacks; see cryptanalysis.