conventional encryption: modern technologies

21
S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security Conventional Encryption: Modern Technologies We mentioned that the statistical weakness in substitution ciphers is that they don’t change the frequency of alphabetic letters. For example, if a substitution cipher scheme were used to obtain the ciphertext: CFGPSF GJWF A cryptanalyst may initially guess that the most frequent ciphertext letter (F) is corresponding to a disguised E. If this guess is correct, the cryptanalyst is on the road to cracking the ciphertext. The 2 nd best guess is if (F) is not really a disguised (E), it may then be a (T). The cryptanalyst can also guess that the most frequent two-letter pattern in longer ciphertext may correspond to a (TH), and so forth. Note that with the help of computers, statistical analysis for cryptanalytic purposes can be prepared much quicker. Note 1: We need to eliminate statistical relationship between the ciphertext and the underlying plaintext. Note 2: Combining transposition and substitution diffuses the statistical structure of plaintext over the ciphertext. This method is referred to as diffusion. Diffusion dissipates or disperses parts of letters throughout the ciphertext. Note 3: In addition to diffusion, we may need to create confusion to prevent the cryptanalyst from using ciphertext to figure out the secret encryption key. Confusion usually means that the cipher scheme should be complex such that even one can figure out some ciphertext patterns, she cannot use the cipher method and pattern to figure out the secret key. As cipher scheme or an algorithm providing good confusion will have a complex functional relationship between the plaintext /key pair and the ciphertext. Note 4: Confusion obscures the relationship between the plaintext and the ciphertext, while diffusion dissipates the redundancy of the plaintext by spreading it out over the ciphertext. Note 5 : Ciphers that use confusion and diffusion are called product ciphers. Each application of confusion and diffusion is called a round. Product ciphers that use many rounds are called iterated product ciphers. The idea is to make the encryption function so complex and involuted that makes it almost impossible to discover the encryption key. Sep.23/2003 1

Upload: others

Post on 28-Apr-2022

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

Conventional Encryption: Modern Technologies We mentioned that the statistical weakness in substitution ciphers is that they don’t change the frequency of alphabetic letters. For example, if a substitution cipher scheme were used to obtain the ciphertext:

CFGPSF GJWF A cryptanalyst may initially guess that the most frequent ciphertext letter (F) is corresponding to a disguised E. If this guess is correct, the cryptanalyst is on the road to cracking the ciphertext. The 2nd best guess is if (F) is not really a disguised (E), it may then be a (T). The cryptanalyst can also guess that the most frequent two-letter pattern in longer ciphertext may correspond to a (TH), and so forth. Note that with the help of computers, statistical analysis for cryptanalytic purposes can be prepared much quicker. Note 1: We need to eliminate statistical relationship between the ciphertext

and the underlying plaintext. Note 2: Combining transposition and substitution diffuses the statistical structure

of plaintext over the ciphertext. This method is referred to as diffusion. Diffusion dissipates or disperses parts of letters throughout the ciphertext.

Note 3: In addition to diffusion, we may need to create confusion to prevent the

cryptanalyst from using ciphertext to figure out the secret encryption key. Confusion usually means that the cipher scheme should be complex such that even one can figure out some ciphertext patterns, she cannot use the cipher method and pattern to figure out the secret key. As cipher scheme or an algorithm providing good confusion will have a complex functional relationship between the plaintext /key pair and the ciphertext.

Note 4: Confusion obscures the relationship between the plaintext and the

ciphertext, while diffusion dissipates the redundancy of the plaintext by spreading it out over the ciphertext.

Note 5: Ciphers that use confusion and diffusion are called product ciphers.

Each application of confusion and diffusion is called a round. Product ciphers that use many rounds are called iterated product ciphers. The idea is to make the encryption function so complex and involuted that makes it almost impossible to discover the encryption key.

Sep.23/2003 1

Page 2: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

Note 6: The computational complexity of an encryption algorithm is often measured by two variables:

-T (for time complexity) -S (for space complexity, or computing memory requirement)

Note 7: An encryption algorithm is said to be computationally secure if the

following two criteria are met:

-The time complexity exceeds the useful lifetime of the information. -The space complexity exceeds the value of the encrypted

information. 2.1 P-box and S-box Transposition and substitution can be implemented with simple, hardware circuits. For example, Fig. 1 below shows a device, called P-box (P stands for permutation), used to implement the following transposition cipher on an 8-bit input:

X 1 2 3 4 5 6 7 8 ∏(x) 4 7 1 8 2 3 5 6

P-box

input (x)

By transpositio

Sep.23/2003

Output∏ (x)

Fig. 1 appropriately internal wiring, a P-box can be made to perform any n, and do it at practically the speed of light.

2

Page 3: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

Substitutions can be performed by S-boxes (S stands for substitution), as shown in fig. 2 below.

S-box

Output 3-bit

Fig. 1

Encoder: 8 to 3

Decoder: 3 to 8

Fig. 2

In this example, a 3-bit plaintext is entered into the S-box, and 3-bit ciphoutput. The 3-bit input selects one of the eight lines exiting from the encosets it to 1; all the other lines are 0. The second stage in an S-box is a sibox, as described earlier. The third stage is a decoder, which encoresulting output line of the P-box in binary again. For example, if the eignumbers 0 1 2 3 4 5 6 7 were input one after another, the output sequenc2 would be 2 4 5 0 6 7 1 3. In other words, 0 has been replaced by 2; 1 hreplaced by 4, etc. Again by appropriately wiring of the P-box inside theany substitution can be accomplished. The real power of these basic elements only becomes apparent wcascade a whole series of boxes to form a product cipher, as shown ibelow.

Sep.23/2003

Input 3-bit

ertext is der and mple P-des the ht octal e in Fig. as been S-box,

hen we n Fig. 3

3

Page 4: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

Product Cipher

S1 S5 S9 S2 S6 S10 P1 P2 P3 P4 S3 S7 S11 S4 S8 S12

Fig. 3 In this example, 12 input lines are transposed by the first stage. In the second stage, the input is broken up into four groups of 3 bits, each of which is substituted independently of each others. By including four stages of permutation-substitution network in this product cipher, the output is made to be an exceedingly complicated function of the input. 2.2 The Feistel cipher Feistel proposed the use of a cipher that alternates substitutions and permutations, as we described above. This is a practical implementation of a product cipher that alternates confusion and diffusion functions. Fig. 4 below shows the Feistel cipher scheme.

Fig. 4 – Feistel Cipher

The inputs to the encryption algorithm are a plaintext block of length 2w

bits and a key K. The plaintext block is divided into two halves, L0 and R0. The two halves of the data pass through n rounds of processing and then combine to produce the ciphertext block. Each round i has inputs Li-1 and Ri-1, derived from

Sep.23/2003 4

Page 5: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

the previous round, as well as a subkey Ki, derived from the overall K. in general, the subkeys are different from K and from each other. All rounds have the same structure. A substitution is performed on the left half of the data. This is done by applying a round function F to the right half of the data and then taking the exclusive OR of the output of that function and the left half of the data. The round function has the same general structure for each round but is parameterized by the round subkey Ki . Following this substitution, a permutation is performed that consists of the interchange of the two halves of the data. Note 1: The Feistel structure is a particular form of the substitution

permutation network (SPN) proposed by Claude Shannon in his paper in 1949.

Note 2: The security of a Feistel structure depends on the choice of the

following parameters and design features: (1) Block Size: Larger block sizes mean greater security. A block size of 64

bits is reasonable and is nearly universal in block cipher design. (2) Key Size: Larger key size means greater security but may decrease

encryption/decryption speed. Key sizes of 64 bits or less are now widely considered to be inadequate, and 128 bits has become a common size.

(3) Number of Rounds: The multiple rounds offer increasing security. A

typical size is 16 rounds. (4) Subkey Generation Algorithm: Greater complexity in this algorithm

should lead to greater difficulty of cryptanalysis. (5) Round Function: Greater complexity generally means greater

resistance to cryptanalysis. Note 3: Feistel cipher is an example of product ciphers, in which one

encryption is applied to the result of another. Product ciphers resemble the product or composition of two functions in mathematics. Therefore, if ek1(.) and e’k2(.) are two transposition ciphers following a regular pattern, their product ek1(ek2(y)) is also a regular pattern. That is, the product cipher formed by using the output of ek1(.) as the input to ek2(.) is a complicated function, but it is still regular.

Note 4: The Caesar’s substitution and mono-alphabetic transposition ciphers

are stream ciphers; i.e., they convert one symbol of plaintext immediately into a symbol of ciphertext. Block cipher encrypts a group of

Sep.23/2003 5

Page 6: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

plaintext symbols as one block. Hill cipher, Feistel cipher and other transpositions are examples of block ciphers. Block ciphers work on blocks of plaintext and produce blocks of ciphertext, as shown for Feistel cipher.

Note 5: In a Feistel cipher, shown in Fig. 4, each state is divided into two

halves of equal length, say Li and Ri. The round function g is:

G(Li-1, Ri-1, Ki) = (Li, Ri)

where: Li = Ri-1

Ri = Li-1 ⊕f (Ri-1, Ki) The exclusive OR (XOR) has the following properties: A ⊕ B ⊕ C = A ⊕ B ⊕ C D ⊕ D = 0 E ⊕ 0 = E

Therefore the function f in Feistel cipher does not need to satisfy any type of one-to-one property; i.e., injectivity property. This is because a Feistel-type round function is always invertible, given the round key, as shown below:

Li-1 ⊕ f (Ri-1,Ki) ⊕ f (Ri-1,Ki) = Ri ⊕ f (Ri-1,Ki) Ri-1 = Li

Note 6: (Feistel Decryption Algorithm) The process of decryption with a Feistel cipher is essentially the

same as the encryption process. The rule is as follows: “Use the ciphertext as input to the Feistel structure, but use the

subkey Ki in reverse order” That is, use Kn in the first round, Kn-1 in the second round, and so on

until K1 is used in the last round. Therefore, we need not to implement

Sep.23/2003 6

Page 7: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

two different algorithms (or structures), one for encryption one for decryption.

2.3 Long and Random Number Keys It seems that the safety of the Feistel and similar ciphers depends on the size and randomness of the key used. Also, XOR used in the round function is a basic machine instruction on computers, making it easier to implement this algorithm, as shown in the following figure.

F

Long Random Numbers

Same Series of Numbers

F

ciphertext plaintext

Round i

Round i

Ri Ki Li

I am ……………………

XOR combining function

Ri Ki Li

---13592731

Original plaintext

Encryption Decryption

Fig 5 – Use of Long Size Key. 2.4 Symmetric Encryption Systems The algorithms presented in this chapter so far are all single key or conventional encryption algorithms, in which both the encryptor and the decryptor use the same key, which must be kept secret. Single key systems are called symmetric encryption systems or secret key, or sometimes private key systems. The symmetric systems provide a two-way secure channel to their users. Alice and Bob share a secret key, and they can both encrypt information to send to each other as well as decrypt information received from the other.

Sep.23/2003 7

Page 8: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

The symmetry of this situation is a major advantage. However, symmetric key systems have several difficulties:

(a) If the key is compromised, the opponents, such as Oscar, can immediately decrypt all encrypted information they have available. For this reason, in practice, the keys are changed fairly frequently so that a compromised key will reveal only a limited amount of information.

(b) Distribution of keys becomes a problem. Keys must be transmitted with utmost security. For applications that extend throughout the world, this can be a complex task. One approach is to distribute the keys pieces under separate channels, so that any one discovery will not produce full key. This approach is shown in the following Fig 6.

Encrypted Channel

Courier

Certified Mail

Seder separates “key”

Trust Worthy channel

Secure channel

k1

key

K1 K2 K3 K4 K5

Fig 6 – Key Distri

(c) It can be shown that the number of knumber of people exchanging secre

(d) The symmetric key encryption sy

relatively weak, vulnerable to variosymmetric key system must be ba

Sep.23/2003

K3

K5

K2

Receiver reassembles

K4

“key”

K2 K5

key

bution in Pieces

eys increases with the square of the t information.

stems described so far have been us cryptanalysis attacks. A secure sed on mathematically complex problems,

8

Page 9: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

problems that have interested mathematicians for years. In the next section we describe a secure encryption algorithm adopted in 1977 by the USA National Institute of Standards and Technology (NIST) called Data Encryption Algorithm (DEA) or Data Encryption Standard (DES).

2.5 The Data Encryption Standard ( DES ) The Data Encryption Standard (DES) is a system developed for the U.S. government for use accepted as a cryptographic standard both in the United States and aboard. Many hardware and software systems have been designed using the DES. However, recently its adequacy has been questioned. 2.5.1 Background and History The new era in cryptography began in the late 1960’s, when companies began needing secure ways to send files. At the time, there was no industry standard – no widely accepted encryption method that had a universal seal of approval. Financial institutions in particular wanted a standard encryption method that they could have confidence in and could use for data exchange. Because U.S. national security depends on secure cryptography, government agencies involved in cryptography, such as the National Security Agency (NSA) had not been open with their expertise. [Some people say that NSA stands for “No Such Agency” or “Never Say Anything”!]. In 1972, NIST, then known as the National Bureau of Standards, issued a call for proposal for a public encryption algorithm. This led ultimately to the adoption of Data Encryption Standard, or DES, which became the most widely used cryptosystem in the world. DES was developed at IBM, as a modification of an earlier system known as Lucifer. Much of the underlying DES cipher research is credited to the IBM researcher, Horst Feistel, who in 1967 began experimenting with a combination of substitution and transposition ciphers. The Feistel Cipher was described earlier in this chapter. Before computers, transposition was difficult to mechanize and too complex to do by hand. Increases in the size of computer memory made it possible for Feistel to use transposition in his system. Feistel blocks are still used in many (if not most) symmetric encryption systems. DES did not evolved into the standard without significant discussion and even suspicion by some participants–suspicion that still continues. NIST requested and received assistance from NSA on DES development. Some people have said that NSA modified DES so that the agency could easily reclaim plaintext without using a brute force attack, installing what is commonly known as a trapdoor function. NSA shortened the secret key originally proposed by IBM to 56 bits from 128 bits.

Sep.23/2003 9

Page 10: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

Even in the 1970’s, it was argued that a special – purpose machine could be built to carry out a known plaintext attack, which would essentially perform an exhaustic search for the key. That is given a 64-bit plaintext x and corresponding ciphertext y, every possible key would be tested until a key K is found such that ek (x) = y. As early as 1977, one could build a VLSI chip, which could test106 keys per second. A machine with 106 chips could search the entire key-space in about a day. Some people believe that NSA altered IBM’s algorithm to ensure that IBM had not secretly included its own trapdoor function. Some people also believe that NSA wanted to control the use of DES and expected DES to be implemented only in hardware. Despite the controversy, DES was adopted as the federal standard for unclassified document in 1977, as Federal Information Processing Standard 46 (FIPS PUB 46). It is the most widely used cryptographic method in history. The 1977 DES standard mandated a review every five years. In 1983, DES was approved for five more years. Then in 1993, DES was again approved for yet another five years. In 1997, NIST solicited candidates for a new secret key encryption standard, Advanced Encryption Standard (AES). NIST announced the candidates for AES, successor to DES, in 1999, and in October 2000, NIST selected Rijndael . (See < www.nist.gov/aes >). 2.5.2 Description of DES DES is a special type of iterated cipher called a Feistel cipher. We described the basic form of a Feistel cipher earlier. An outline of DES is shown in Fig 7. Plaintext is encrypted in blocks of 64 bits, yielding 64 bits of ciphertext. In other words, DES is a 16-round Feistel cipher having block length 64; it encrypts a plaintext bit-string x (of length 64) using a 56-bit key K, obtaining a ciphertext bit-string ( of length 64 ). The algorithm, which is parameterized by this 56-bit key, has 19 distinct stages. The first stage is a key–independent transposition (permutation) on the 64-bit plaintext. The last stage is the exact inverse of this transposition. The stage prior to the last one exchanges the leftmost 32bits with the rightmost 32 bits. The remaining 16 stages are consisting of 16 iterations of the identical functions but are parameterized by different subkeys. The algorithm has been designed to allow decryption to be done with the same key as encryption. The steps are just run in the reverse order. The left–hand side of the figure shows that first the 64-bit plaintext passes through the initial permutation (IP), which rearranges the bits to produce the permutated input.

Sep.23/2003 10

Page 11: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

Permuted choice 1

Permutation choice 2

Inverse initial permutation

Round 16

32-bit swap

Round 2

Round 1

Initial permutation

Sep.23/2003

K1

Left circular shift

K2

64-bit plaintext

K16

Permuted choice 2

Permuted choice 2

56-bit key

Left circular shift

Left circular shift

64-bit ciphertext

11

Page 12: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

Fig 7 – General Description of DES Encryption Algorithm This is followed by 16 rounds of iterations; the left and right halves of the output from round 16 are swapped to produce an input to be passed through a permutation function (IP)-1, to produce the 64−bit ciphertext. The right−hand portion of Figure 7 shows the way in which the 56−bit key is used. Initially the key is passed through a permutation function (i.e., permuted choice 1 in this figure). Then, for each of the 16 iterations, a subkey Ki is produced by the combination of a left circular shift and a permutation (permutated choice 2 in this figure). The permutation function is the same for each iteration, but a different subkey is produced because of the repeated shifting of the key bits.

The operation of one of these 16 rounds is illustrated in Fig. 8 (above). Each round takes two 32−bit inputs and produces two 32−bit outputs. The left and right halves of each 64−bit intermediate value are treated as separate 32−bit quantities, labeled L (left) and R (right). The overall processing at each iteration can be summarized in the following formulas:

Sep.23/2003 12

Page 13: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

1

1 1( ,i i

i i i i

L R)R L F R K

− −

== ⊕

where denotes XOR function. That is, the left output is simply a copy of the right input. The right output is the bit-wise EXCLUSIVE OR of the left input and a function of the right input and the key for this round, Ki. All the complexity lies in this function. This complex function involves both permutation and substitution operation.

+

The function F consists of four steps, carried out in sequence. First, a 48−bit number, E, is constructed by expanding the 32−bit Ri-1 according to a fixed transposition and duplication rule. Second, E and Ki are EXCLUSIVE ORed together. This output is then partitioned into eight groups of 6 bits each, each of which is fed into a different “S−box”. Each of the 64 possible inputs to an S−box is mapped onto a 4−bit output. This step uses eight S−boxes. Each S−box mapped six bits to four bits. Finally, the 8×4 bits, outputs of eight S−boxes, are passed through a permutation operator, i.e. a P−box. In each of the 16 iterations, a different key is used. Figure 7 shows that before the algorithm starts, a 56−bit transposition is applied to the key. Figure 8 shows that just before each iteration, the key is partitioned into two 28−bit units, each of which is rotated left (i.e. circular left shift) by a number of bits dependent on the iteration number. Ki is derived from this rotated key by applying yet another 56−bit transposition to it. A different 48−bit subset of the 56−bit is extracted and permuted on each round. The process of decryption with DES is essentially the same as the encryption process. The rule is as follows: use the ciphertext as input to the DES algorithm, but use the keys Ki in reverse order. That is, use K16 on the first iteration, K15 on the second iteration, and so on until K1is used on the sixteenth and last iteration. 2.6 DES Modes of Operation The DES algorithm is basically a monoalphabetic substitution cipher using a 64−bit character. Whenever the same 64−bit plaintext block goes in the front end, the same 64−bit ciphertext block comes out the back end. A cryptanalyst can exploit this property to help break DES. To apply DES in a variety of application four “modes of operation” have been defined (FIPS PUB 74, 81). These four modes are intended to cover virtually all the possible application of encryption for which DES could be used. The modes are described as follows and summarized in Table 1. These same modes can be applied for any symmetric block cipher.

Sep.23/2003 13

Page 14: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

Table 1 DES Modes of Operation

Mode Description Typical Application Electronic Code

Book (ECB)

Each block of 64 plaintext bits is encoded independently using the same key.

• Secure transmission of single values (e.g. an encryption key)

Cipher Block Chaining (CBC)

The input to the encryption algorithm is the XOR of the next 64 bits of plaintext and the preceding 64 bits of ciphertext.

• General-purpose block-oriented transmission

• Authentication

Cipher Feedback (CFB)

Input is processed J bits at a time. Preceding ciphertext is used as input to the encryption algorithm to produce pseudo-random output, which is XORed with plaintext to produce next unit of ciphertext.

• General-purpose block-oriented transmission

• Authentication

Output Feedback (OFB)

Similar to CFB, except that the input to the encryption algorithm is the preceding DES output.

• Stream-oriented transmission over noisy channel (e.g. satellite communication)

2.6.1 Triple DES Given the potential vulnerabilities of DES to a brute-force attack, there has been considerable interest in finding an alternative. One approach is to design a completely new algorithm. Examples are International Data Encryption Algorithm (IDEA), Advanced Encryption Standard (AES), Blowfish, RC5, CAST (developed by Carlisle Adams and Stafford Tavares in 1997) and RC2. Another alternative, which would preserve the existing investment in software and equipment, is to use multiple encryptions with DES and multiple keys. The simplest form of multiple encryption has two stages and two keys as shown in Figure below. Given Plaintext P and two encryption keys K1 and K2, ciphertext C is generated as:

Sep.23/2003 14

Page 15: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

K1 K2 X P C Encryption K2 K1 C X P Decryption

E E

D D

(a) Double Decryption K1 K2 K1 P C Encryption K1 K2 K1 C P Decryption

E D E

D E D

(b) Triple Encryption

Figure Multiple Encryption C = ek2 (ek1 (P)) Decryption requires that the keys be applied in reverse order: P = dk1 (dk2 (C)) For DES, this scheme apparently involves a key length of 56 x 2 = 112 bits, resulting in a dramatic increase in cryptographic strength.

Sep.23/2003 15

Page 16: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

Note 1: It can be shown that any block encryption cipher such as Double DES is mot immune to an attack known as a meet-in-the-middle attack, which was first described by Diffie and Hellman in 1977. An obvious counter to the meet-in-the-middle attack is to use three stages of encryption with three different keys. However, it has the drawback of requiring a key length of 56 x 3 = 168 bits, which may be somewhat unwieldy. As an alternative, there has been proposed a triple encryption method that uses only two keys. The function follows an encryption-decryption-encryption (EDE) sequence, as shown in the previous figure:

C = ek1 (dk2 (ek1 (P))) Note 2: The advantage of the use of decryption for the second record stage is that it allows users of 3DES to decrypt data encrypted by using the older version of single DES:

C = ek1 (dk1 (ek1 (P))) = ek1 (P) Note 3: Triple DES (or 3DES) with two keys is a relatively popular alternative to DES and has been adopted for use in the key management standards ANS X9.17 and ISO 8732. Note 4: Many researchers now feel that three-key triple DES is the preferred alternative. Three-key 3DES has an effective key length of 168 bits and is defined as follows:

C = ek3 (dk2 (ek1 (P))) Backward compatibility with DES is provided by putting K3 = K2 or K1 = K2. Note 5: A number of Internet-based applications have adopted three-key 3DES, including PGP (Pretty Good Privacy) and S/MIME (Secure/Multipurpose Internet Mail Extension).

Sep.23/2003 16

Page 17: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

2.6.2 Electronic Code-Book Mode This is the simplest mode, in which plaintext is handled 64 bits at a time and each block of plaintext is encrypted using the same key, as shown in the following Fig. 9. The term code-book is used because, for a given key, there is a unique ciphertext for every 64-bit block of plaintext. For a message longer than 64 bits, the procedure is simply to break the message into 64-bit blocks, padding the last block if necessary. Decryption is performed one block at a time, always using the same key. In Fig. 9, the plaintext (padded as necessary) consists of a sequence of 64-bit blocks, P1, P2,…, PN; the corresponding sequence of ciphertext blocks is C1, C2,…, CN.

Note 1 If the message has repetitive elements, with a period of repetition a multiple of 64 bits, then these elements can be identified by the analyst. To overcome the security deficiencies of ECB, we would like a technique in which the same plaintext block, if repeated, produces different ciphertext blocks. DES can be chained in various ways so that replacing a block will cause the plaintext decrypted starting at the replaced block to be garbage. 2.3.2 Cipher Block Chaining Mode One way of chaining is cipher block chaining (CBC). In this method, shown in Fig. 10 (below), each plaintext block is XORed with the previous ciphertext block before being encrypted. Consequently, the same plaintext block no longer maps

Sep.23/2003 17

Page 18: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

onto the same ciphertext block, and the encryption is no longer a big monoalphabetic substitution cipher. The same key is used for each block. The first block is XORed with a randomly chosen initial vector(IV), which is transmitted along with the ciphertext. For maximum security, the IV should be protected as well as the key. This could be done by sending the IV using ECB encryption.

For decryption, each cipher block is passed through the decryption algorithm. The result is XORed with the preceding ciphertext block to produce the plaintext block. To see that this works, we can write:

1( )n k n nC e C P−= ⊕ Then

1 1

1 1 1

( ) [ ( )] (( )

k n k k n n n n

n k n n n n n

d C d e C P C PC d C C C P P

− −

− − −

= ⊕ =⊕ = ⊕ ⊕ =

)⊕

However, the CBC has the disadvantage of requiring an entire 64-bit block to arrive before decryption can begin.

Sep.23/2003 18

Page 19: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

2.6.3 Cipher Feedback Mode For byte-by-byte encryption, cipher feedback (CFB) mode, shown in Fig. 11 below, can be used. For example, if 8-bit characters are being transmitted, each character should be encrypted using 8 bits. If more than 8 bits are used, transmission capacity is wasted. In the figure, it is assumed that the unit of transmission is j bits; a common value is j=8. As with CBC, the units of plaintext are chained together, so that the ciphertext of any plaintext unit is a function of all the preceding plaintext.

First, consider encryption. The input to the encryption function is a 64-bit shift register that is initially set to some initialization vector (IV). The leftmost (most significant) j bits of the output of the encryption function are XORed with the first unit of plaintext P1 to produce the first unit of ciphertext C1, which is then transmitted. In addition, the contents of the shift register are shifted left by j bits and C1 is placed in the rightmost (least significant) j bits of the shift register. This process continues until all plaintext units have been encrypted.

Sep.23/2003 19

Page 20: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

For decryption, the same scheme is used, except that the received ciphertext unit is XORed with the output of the encryption function to produce the plaintext unit. Note that the contents of the shift register depend on the entire previous history of the plaintext, so pattern that repeats multiple times in the plaintext will be encrypted differently each time in the ciphertext. In addition to its use to achieve confidentiality, the CFB mode can be used for authentication. As an aside, it should be noted that if one bit of the ciphertext is accidentally inverted during transmission, the 8 bytes that are decrypted while the bad byte is in the shift register will be corrupted. Once the bad byte is pushed out of the shift register, correct plaintext will once again be generated. Thus the effects of a single inverted bit are relatively localized and do not ruin the rest of the message. Nevertheless, if the effect of 1-bit transmission error is too large, a fourth option, output feedback (OFB) mode, exists. 2.6.4 Output Feedback Mode It is identical in structure to that of CFB, as shown in Fig. 12 (below).

Sep.23/2003 20

Page 21: Conventional Encryption: Modern Technologies

S. Erfani, ECE Dept., University of Windsor 0688-590-18 Network Security

As can be seen, it is the output of the encryption function that is fed back to the shift register in OFB, whereas in CFB, the ciphertext unit is fed back to the shift register. One advantage of OFB method is that bit errors in transmission do not propagate. For example, if a bit error occurs in C1, only the recovered value of P1 is affected; subsequent plaintext units are not corrupted. With CFB, C1 also serves as input to the shift register and therefore causes additional corruption downstream. The disadvantage of OFB is that it is more vulnerable to a message stream modification attack than is CFB. Thus, it should be avoided for general-purpose use. The ECB mode should also be avoided except under special circumstances (e.g., for encrypting a single random number, such as a session key or the IV). For normal operation, CBC should be used when the input arrived in 8-byte units (e.g., for encrypting disk files) and CFB mode should be used for irregular input streams, such as keyboard input.

Sep.23/2003 21