Computer Science; Computer Engineering; Algorithms
Cryptography is the process of encrypting messages and other data in order to transmit them in a form that can only be accessed by the intended recipients. It was initially applied to written messages. With the introduction of modern computers, cryptography became an important tool for securing many types of digital data.
The word “cryptography” comes from the Greek words kryptos (“hidden,” “secret”) and graphein (“writing”). Early cryptography focused on ensuring that written messages could be sent to their intended recipients without being intercepted and read by other parties. This was achieved through various encryption techniques. Encryption is based on a simple principle: the message is transformed in such a way that it becomes unreadable. The encrypted message is then transmitted to the recipient, who reads it by transforming (decrypting) it back into its original form.
Early forms of encryption were based on ciphers. A cipher encrypts a message by altering the characters that comprise the message. The original message is called the “plaintext,” while the encrypted message is the “ciphertext.” Anyone who knows the rules of the cipher can decrypt the ciphertext, but it remains unreadable to anyone else. Early ciphers were relatively easy to break, given enough time and a working knowledge of statistics. By the 1920s, electromechanical cipher machines called “rotor machines” were creating complex ciphers that posed a greater challenge. The best-known example of a rotor machine was the Enigma machine, used by the German military in World War II. Soon after, the development of modern computer systems in the 1950s would change the world of cryptography in major ways.
With the introduction of digital computers, the focus of cryptography shifted from just written language to any data that could be expressed in binary format. The encryption of binary data is accomplished through the use of keys. A key is a string of data that determines the output of a cryptographic algorithm. While there are many different types of cryptographic algorithms, they are usually divided into two categories. Symmetric-key cryptography uses a single key to both encrypt and decrypt the data. Public-key cryptography, also called “asymmetric-key cryptography,” uses two keys, one public and one private. Usually, the public key is used to encrypt the data, and the private key is used to decrypt it.
When using symmetric-key cryptography, both the sender and the recipient of the encrypted message must have access to the same key. This key must be exchanged between parties using a secure channel, or else it may be compromised. Public-key cryptography does not require such an exchange. This is one reason that public-key cryptography is considered more secure.
Another cryptographic technique developed for use with computers is the digital signature. A digital signature is used to confirm the identity of the sender of a digital message and to ensure that no one has tampered with its contents. Digital signatures use public-key encryption. First, a hash function is used to compute a unique value based on the data contained in the message. This unique value is called a “message digest,” or just “digest.” The signer's private key is then used to encrypt the digest. The combination of the digest and the private key creates the signature. To verify the digital signature, the recipient uses the signer's public key to decrypt the digest. The same hash function is then applied to the data in the message. If the new digest matches the decrypted digest, the message is intact.
Among the earliest ciphers used were the transposition cipher and the substitution cipher. A transposition cipher encrypts messages by changing the order of the letters in the message using a well-defined scheme. One of the simplest transposition ciphers involves reversing the order of letters in each word. When encrypted in this fashion, the message “MEET ME IN THE PARK” becomes “TEEM EM NI EHT KRAP.” More complicated transposition ciphers might involve writing out the message in a particular orientation (such as in stacked rows) and then reading the individual letters in a different orientation (such as successive columns).
A substitution cipher encodes messages by substituting certain letters in the message for other letters. One well-known early substitution cipher is the Caesar cipher, named after Julius Caesar. This cipher encodes messages by replacing each letter with a letter that is a specified number of positions to its right or left in the alphabet. For example, Caesar is reported to have used a left shift of three places when encrypting his messages. Using this cipher, Julius Caesar's famous message “I came, I saw, I conquered” becomes “F ZXJB F PXT F ZLKNRBOBA” when encrypted.
The ability to secure communications against interception and decryption has long been an important part of military and international affairs. In the modern age, the development of new computer-based methods of encryption has had a major impact on many areas of society, including law enforcement, international affairs, military strategy, and business. It has also led to widespread debate over how to balance the privacy rights of organizations and individuals with the needs of law enforcement and government agencies. Businesses, governments, and consumers must deal with the challenges of securing digital communications for commerce and banking on a daily basis. The impact of cryptography on society is likely to increase as computers grow more powerful, cryptographic techniques improve, and digital technologies become ever more important.
—Maura Valentino, MSLIS
Esslinger, Bernhard, et al. The CrypTool Script: Cryptography, Mathematics, and More. 11th ed. Frankfurt: CrypTool, 2013. CrypTool Portal. Web. 2 Mar. 2016.
Hoffstein, Jeffrey, Jill Pipher, and Joseph H. Silverman. An Introduction to Mathematical Cryptography. 2nd ed. New York: Springer, 2014. Print.
Katz, Jonathan, and Yehuda Lindell. Introduction to Modern Cryptography. 2nd ed. Boca Raton: CRC, 2015. Print.
Menezes, Alfred J., Paul C. van Oorschot, and Scott A. Vanstone. Handbook of Applied Cryptography. Boca Raton: CRC, 1996. Print.
Neiderreiter, Harald, and Chaoping Xing. Algebraic Geometry in Coding Theory and Cryptography. Princeton: Princeton UP, 2009. Print.
Paar, Christof, and Jan Pelzi. Understanding Cryptography: A Textbook for Students and Practitioners. Heidelberg: Springer, 2010. Print.