ABSTRACT

Cryptography studies methods to protect several aspects of data, in particular privacy and authenticity, against a malicious adversary who tries to break the security. In contrast with steganography, where the data and their existence are physically hidden, cryptography transforms the data mathematically, usually using a key. Cryptanalysis is the study of methods to break cryptosystems. Cryptography has been studied for centuries [19,28], although initially it focused only on pro-

tecting privacy. Originally, it was used in the context of military and diplomatic communication. Nowadays, most of these historical cryptoschemes have no practical value since they have been cryptanalyzed, that is, broken. However, it should be noted that it has taken cryptanalysts (those researchers or technicians trying to break cryptosystems) more than 300 years to find a general method to solve polyalphabetic ciphers with repeating keywords [19] (see Section 9.2.4). This contrasts with popular modern cryptosystems, such as Data Encryption Standard (DES) and RSA (see Sections 9.5.1 and 10.3.2), that have only been around for a few decades, which brings us to modern cryptography now. Modern cryptography differs from historical cryptography in many respects. First of all, mathe-

matics plays a more important role than ever before. By means of probability theory, Shannon was able to prove that Vernam’s one-time pad (see Section 9.4) is secure. Second, the rather new area of computational complexity has been used as a foundation for cryptography. Indeed, the concept of public key, which facilitates the use of cryptography (see Section 9.3.4), finds its origin there. Third,

the widespread use of communication implies that cryptography is no longer a uniquely military topic. High-speed networks and computers are responsible for a world in which postal mail has almost been replaced by electronic communication in such applications as bank transactions, access toworldwide databases as in theWorldWideWeb, e-mail, etc. This also implies awhole new range of security needs that need to be addressed, for example: anonymity (see Chapter 18), authenticity (see Chapter 12), commitment and identification, law enforcement, nonrepudiation (see Chapter 12), revocation, secure distributed computation, timestamping, traceability, witnessing, etc. To illustrate the concept, we will first describe some historical cryptosystems in Section 9.2 and

explain how these can be broken. In Section 9.3, we will define cryptosystems.