30.1 Chapter 30 Cryptography Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
INTRODUCTION Let us introduce the issues involved in cryptography. First, we need to define some terms; then we give some taxonomies. Definitions Two Categories Topics discussed in this section:
30.3 Figure 30.1 Cryptography components
30.4 Figure 30.2 Categories of cryptography
30.5 Figure 30.3 Symmetric-key cryptography
30.6 In symmetric-key cryptography, the same key is used by the sender (for encryption) and the receiver (for decryption). The key is shared. Note
30.7 Figure 30.4 Asymmetric-key cryptography
30.8 Figure 30.6 Comparison between two categories of cryptography
SYMMETRIC-KEY CRYPTOGRAPHY Symmetric-key cryptography started thousands of years ago when people needed to exchange secrets (for example, in a war). We still mainly use symmetric-key cryptography in our network security. Traditional Ciphers Simple Modern Ciphers Modern Round Ciphers Mode of Operation Topics discussed in this section:
30.10 Figure 30.7 Traditional ciphers
30.11 A substitution cipher replaces one symbol with another. Monoalphabetic replaces the same symbol with the same another symbol. Polyalphabetic replaces the same symbol with different symbols at each occurrence. Note
30.12 The shift cipher is sometimes referred to as the Caesar cipher. (monoalphabetic) Note
30.13 Use the shift cipher with key = 15 to encrypt the message “HELLO.” Solution We encrypt one character at a time. Each character is shifted 15 characters “down”. Letter H is encrypted to W. Letter E is encrypted to T. The first L is encrypted to A. The second L is also encrypted to A. And O is encrypted to D. The cipher text is WTAAD. Example 30.3
30.14 Use the shift cipher with key = 15 to decrypt the message “WTAAD.” Solution We decrypt one character at a time. Each character is shifted 15 characters “up”. Letter W is decrypted to H. Letter T is decrypted to E. The first A is decrypted to L. The second A is decrypted to L. And, finally, D is decrypted to O. The plaintext is HELLO. Example 30.4
30.15 A transposition cipher reorders (permutes) symbols in a block of symbols (shuffle poker cards) Note
30.16 Figure 30.8 Transposition cipher
30.17 Encrypt the message “HELLO MY DEAR,” using the key shown in Figure Solution We first remove the spaces in the message. We then divide the text into blocks of four characters. We add a bogus character Z at the end of the third block. The result is HELL OMYD EARZ. We create a three-block ciphertext ELHLMDOYAZER. Example 30.5
30.18 Using Example 30.5, decrypt the message “ELHLMDOYAZER”. Solution The result is HELL OMYD EARZ. After removing the bogus character and combining the characters, we get the original message “HELLO MY DEAR.” Example 30.6
30.19 Modern Cryptography
30.20 Figure 30.9 XOR cipher
30.21 Figure Rotation cipher
30.22 Figure S-box (substitution box)
30.23 Figure P-boxes (permutation box): straight, expansion, and compression
30.24 Figure DES (Data Encryption Standard)
30.25 Figure One round in DES ciphers
30.26 Figure Triple DES (to resolve the short key issue for DES)
30.27 Table 30.1 AES (advanced encryption standard) configuration AES is the replacement of DES AES has three different configurations with respect to the number of rounds and key size. Note
ASYMMETRIC-KEY CRYPTOGRAPHY An asymmetric-key (or public-key) cipher uses two keys: one private and one public. We discuss two algorithms: RSA and Diffie-Hellman. RSA Diffie-Hellman Topics discussed in this section:
30.29 Figure RSA
RSA: Choosing keys 1. Choose two large prime numbers p, q. (e.g., 1024 bits each) 2. Compute n = pq, = (p-1)(q-1) 3. Choose e (with e<n) that has no common factors with . (e, are “relatively prime”). 4. Choose d such that ed-1 is exactly divisible by . (in other words: ed mod = 1 ). 5. Public key is (n,e). Private key is (n,d). K B + K B -
RSA: Encryption, decryption 0. Given (n,e) and (n,d) as computed above 1. To encrypt bit pattern, m, compute c = m mod n e (i.e., remainder when m is divided by n) e 2. To decrypt received bit pattern, c, compute m = c mod n d (i.e., remainder when c is divided by n) d m = (m mod n) e mod n d Magic happens! c
RSA example: Bob chooses p=5, q=7. Then n=35, =24. e=5 (so e, relatively prime). d=29 (so ed-1 exactly divisible by ). letter m m e c = m mod n e l c m = c mod n d c d letter l encrypt: decrypt: Computational very extensive
30.33 In RSA, e and n are announced to the public; d and are kept secret. Public cryptography is very computational expensive. Note