2.4.1 What is cryptanalysis?
Cryptanalysis is the flip-side of cryptography: it is the science of cracking codes, decoding secrets, violating authentication schemes, and in general, breaking cryptographic protocols.
In order to design a robust encryption algorithm or cryptographic protocol, one should use cryptanalysis to find and correct any weaknesses. This is precisely the reason why the most trusted encryption algorithms are ones that have been made available to public scrutiny. For example, DES (see Section 3.2) has been exposed to public scrutiny for years, and has therefore been well-trusted, while Skipjack (see Question 3.6.7) was secret for a long time and is less well-trusted. It is a basic tenet of cryptology that the security of an algorithm should not rely on its secrecy. Inevitably, the algorithm will be discovered and its weaknesses (if any) will be exploited.
The various techniques in cryptanalysis attempting to compromise cryptosystems are referred to as attacks. Some attacks are general, whereas others apply only to certain types of cryptosystems. Some of the better-known attacks are mentioned in Question 2.4.2.