Passive attack
In cryptography 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 forge, alter, replace or reroute messages.
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 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.
There are are whole range of other passive attacks; see cryptanalysis.