Examples of different kinds of attacks
A number of different types of attack on cryptosystems is possible. These attacks require different levels of knowledge, computing power, and availability of data on the part of the adversary. However, it is normally assumed that the adversary starts from the position of knowing which encryption algorithm is being used. This assumption has proved correct in practice, as it has proved virtually impossible to keep encryption algorithms which are normally implemented in freely available programs secret in the long-term.
The ciphertext-only attack has the least requirements for the attacker's knowledge – considering the knowledge of the encrypted text and the plaintext. The attacker's demand raise then from a known-plaintext attack to the chosen-plaintext attack.
The effort required to perpetrate the attack is inversely proportional to the requirements: With a known-plaintext attack the adversary has one set of plaintext and encrypted text available, whereas in the ciphertext-only attack he has only the encrypted text. Hence a ciphertext-only attack is generally more difficult than a known-plaintext attack. In a chosen-plaintext attack, one can generate any number of sets of plaintext and encrypted text, hence a chosen-plaintext attack takes less time than a known-plaintext attack.
Another type of attack is the brute-force attack. In this type of attack, an attempt is made to get the correct key by trying out every possible permutation (from within a pre-specified range). A variation of brute-force attacks are dictionary attacks on passwords.
Other types of attacks are:
CrypTool contains examples in which the existing attacks on encryption algorithms contained in CrypTool are described.