Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI...

52
Symmetric Crypto 2019. 9. 21 1

Transcript of Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI...

Page 1: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Symmetric Crypto

2019. 9. 21

1

Page 2: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Contents Introduction to crypto

Symmetric-key cryptography• Stream ciphers• Block ciphers• Block cypher modes

Public-key cryptography• RSA• Public key Infrastructure

2

Page 3: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Stream Cipher vs. Block Cipher

3

stream cipher

xi…….… x0

1 bitplaintext

Block cipher

xi ………… x0

b bits(block)

plaintext1 bit

key key

b bits(block)

Page 4: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Encryption/Decryption of Stream cipher

4

xi ⊕

si

yi yi ⊕

si

xi

xi, yi, si ∈ {0,1}encryption : yi = Esi(xi) ≡ xi+si mod 2 dncryption : xi = Dsi(yi)≡ yi+si mod 2

Key bit Key bit

Page 5: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Modulo 2 additionModulo 2 addition is equivalent to the XOR operation.

If the key bit si behaves perfectly randomly, yi is unpredictable with a 50% chance of being 0 or 1. If we have perfect random numbers, the stream cipher can

achieve the unconditional security.5

xi si yi ≡ xi+si mod 2 yi ≡ xi⊕si

0 0 0 00 1 1 11 0 1 11 1 0 0

Page 6: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Key StreamThe security of the stream cipher completely depends on the key stream.Then, the question is how or whether we can generate the random key stream.

6

Page 7: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

True Random Number GeneratorsA sequence of bits cannot be reproduced.The true RNG is based on physical processes such as coin flipping, dice rolling, semiconductor noise, radioactive decay, and so on.

7

Page 8: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Pseudorandom Number Generators(PRNG)The bits are generated recursively from an initial seed value.

s0 = seedsi+1 = f(si), i=0,1,…

Popular example: the linear congruential generator

s0 = seedsi+1 = asi+b mod m, i=0,1,…

8

Page 9: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Cryptographically Secure PRNG(CSPRNG)CSPRNG is PRNG which is unpredictable.

• Given n output bits of the key stream si,si+1,…,si+n-1, it is computationally infeasible to compute the sequence bits si+n, si+n+1,…

• In other words, given n consecutive bits of the key stream, there is no polynomial time algorithm that can predict the next bit sn+1 with the better than 50% chance of success.

9

Page 10: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

One-Time Pad (OTP)OTP

• The key stream is generated by a true random number generator,

• The key stream is only known to the legitimate communicating parties,

• Every key stream bit si is only used once.Provably secureUnconditional security

10

Page 11: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

OTP requirementsOTP requires True RNG, so it needs a device that can generate true random number.The sender have a mean to deliver the bits to the receiver.Key stream cannot be reused. OTP need one key bit for every bit of plaintext.Because of these requirements, OTP is rarely used in practice.However, it gives us a design idea for secure cipher.

11

Page 12: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Stream cipherPlaintext is XORed with keystream generated from secret key and initialization vector (IV)

• Vernam cipher (one-time pad)• RC4, Seal• linear feedback shift registers (LFSR)

Here we explain the algorithm using A5/1.• Based on shift registers• Used in GSM mobile phone system

12

Page 13: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

A5/1: Shift RegisterA5/1 uses 3 linear feedback shift registers

• X: 19 bits (x0,x1,x2, …,x18)• Y: 22 bits (y0,y1,y2, …,y21)• Z: 23 bits (z0,z1,z2, …,z22)• X+Y+Z = 64 bits

13

Page 14: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

A5/1: Keystream At each step: m = maj(x8, y10, z10)

• Examples: maj(0,1,0) = 0 and maj(1,1,0) = 1 If x8 = m then X steps

• t = x13 ⊕ x16 ⊕ x17 ⊕ x18• xi = xi−1 for i = 18,17,…,1 and x0 = t

If y10 = m then Y steps• t = y20 ⊕ y21• yi = yi−1 for i = 21,20,…,1 and y0 = t

If z10 = m then Z steps• t = z7 ⊕ z20 ⊕ z21 ⊕ z22• zi = zi−1 for i = 22,21,…,1 and z0 = t

Keystream bit is x18 ⊕ y21 ⊕ z22

14

Page 15: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

A5/1 Each variable here is a single bit Key is used as initial fill of registers Each register steps (or not) based on maj(x8, y10, z10) Keystream bit is XOR of rightmost bits of registers

15

y0 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16 y17 y18 y19 y20 y21

z0 z1 z2 z3 z4 z5 z6 z7 z8 z9 z10 z11 z12 z13 z14 z15 z16 z17 z18 z19 z20 z21 z22

X

Y

Z

x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18

Page 16: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

A5/1 In this example, m = maj(x8, y10, z10) = maj(1,0,1) = 1Register X steps, no Y steps, and Z steps Keystream bit is XOR of right bits of registersHere, keystream bit will be 0 ⊕ 1 ⊕ 0 = 1

16

1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1

1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1

X

Y

Z

1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Page 17: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Shift Register Crypto Shift register crypto efficient in hardwareOften, slow if implement in software In the past, very popular Today, more is done in software due to fast processors Shift register crypto still used some

• Resource-constrained devices

17

Page 18: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Looking back on Stream CiphersStream ciphers tends to be small and fast, so it is beneficial for applications with little computational resources.LFSR-based algorithms are hardware-oriented ciphers.

• A5/1 was used in GSM mobile networks for voice encryption between cell phones and base station.

• A5/1 and A5/2 were broken.Once, it was considered to be more efficient than block ciphers. But these days block ciphers are as efficient as stream ciphers for either software or hardware-optimized implementation.Then, is the stream cipher dead?

18

Page 19: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Block CipherPlaintext and ciphertext consist of fixed-sized blocksCiphertext obtained from plaintext by iterating a round functionInput to round function consists of key and output of previous round

19

Page 20: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Symmetric key Block Ciphers Data Encryption Standard (DES)

• Adapted in 1973 by NIST• 64-bits blocks, 56 bits key

Triple DES • ANSI X9.17 in 1986• 168 bits key

Advanced Encryption Standard (AES)• Adapted in 2001 by NIST• 128 bits block length, key length 128 bits(192, 256)

International Data Encryption Algorithm (IDEA)• Published in 1991• Block size 64bits, key size 128 bits

RC5• In 1994• Key size: variable to 2048, block size: 64bits

20

Page 21: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Data Encryption Standard (DES) History In 1972, US National Bureau of Standards(now NIST) initiated a

request for proposals for a standardized cipher in the USA, which was somewhat a revolutionary act. In 1974 NBS received the IBM’s Lucifer as a candidate.

• Based on Feistel cipher, 64 bits of block, 128bit of key NSA was secretly involved in the process.

• It caused controversy and worry since they might plant trapdoor in the cipher.

• Key length reduced from 128 to 56 bits (by NSA’s request)• Subtle changes to Lucifer algorithm

In 1977, DES was published as the U.S. government standard

21

Page 22: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

DES CharacteristicsDES is a Feistel cipher with

• 64 bit block length• 56 bit key length• 16 rounds• 48 bits of key used each round (subkey)

Each round is simple (for a block cipher) Security depends heavily on “S-boxes”

• Each S-boxes maps 6 bits to 4 bits

22

Page 23: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

One Round of DES

23

L R

expand shiftshift

key

S-boxes

compress

2828

2828

2828

48

32

48

32

32

32

32

48

32

Ki

P box

keyL R

Page 24: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Expansion Permutation Input 32 bits

Output 48 bits

24

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

31 0 1 2 3 4 3 4 5 6 7 8

7 8 9 10 11 12 11 12 13 14 15 16

15 16 17 18 19 20 19 20 21 22 23 24

23 24 25 26 27 28 27 28 29 30 31 0

Page 25: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

S-box8 “substitution boxes” or S-boxesEach S-box maps 6 bits to 4 bitsThe first S-box

2525

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

00

1110

0100

1101

0001

0010

1111

1011

1000

0011

1010

0110

1100

0101

1001

0000

0111

01

0000

1111

0111

0100

1110

0010

1101

0001

1010

0110

1100

1011

1001

0101

0011

1000

10

0100

1101

1110

1000

1101

0110

0010

1011

1111

1100

1001

0111

0011

1010

0101

0000

11

1111

1100

1000

0010

0100

1001

0001

0111

0111

1011

0011

1110

1010

0000

0110

1101

input bits (0,5)

input bits (1,2,3,4)

Page 26: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

P-boxInput 32 bits

Output 32 bits

26

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

15 6 19 20 28 11 27 16 0 14 22 25 4 17 30 9

1 7 23 13 31 26 2 8 18 12 29 5 21 10 3 24

Page 27: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Subkey(1) 56 bit DES key, numbered 0,1,2,…,55

Left half key bits: LK Right half key bits: RK

27

49 42 35 28 21 14 7

0 50 43 36 29 22 15

8 1 51 44 37 30 23

16 9 2 52 45 38 31

55 48 41 34 27 20 13

6 54 47 40 33 26 19

12 5 53 46 39 32 25

18 11 4 24 17 10 3

Page 28: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Subkey(2)For rounds i=1,2,...,16

• Let LK = (LK circular shift left by ri)• Let RK = (RK circular shift left by ri)• Left half of subkey Ki is of LK bits

• Right half of subkey Ki is RK bits

28

13 16 10 23 0 4 2 27 14 5 20 9

22 18 11 3 25 7 15 6 26 19 12 1

12 23 2 8 18 26 1 11 22 16 4 19

15 20 10 27 5 24 17 13 21 7 0 3

Page 29: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Subkey(3)For rounds 1, 2, 9 and 16 the shift ri is 1, and in all other rounds ri is 2Bits 8,17,21,24 of LK omitted each roundBits 6,9,14,25 of RK omitted each roundCompression permutation yields 48 bit subkey Kifrom 56 bits of LK and RKKey schedule generates subkey

29

Page 30: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

DES Security Security depends heavily on S-boxes

• Everything else in DES is linear Thirty+ years of intense analysis has revealed no “back door”No attacks have been known possible except exhaustive key

search. It was robust against any mathematical cryptanalysis attack. Inescapable conclusions

• Designers of DES knew what they were doing• Designers of DES were way ahead of their time

30

Page 31: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Destiny of DESFor over 30 years DES had been challenged for its security.In 1998, the EFF(Electronic Frontier Foundation) built the computer, Deep Crack, which did brute-force attack against DES in 56 hours and was built for less than $250,000.A key size of 56 bits is too short to encrypt text, so it is no more useful for confidential data.

31

Page 32: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Triple DES Today, 56 bit DES key is too small

• Exhaustive key search is feasible But DES is everywhere, so what to do? Triple DES or 3DES (112 bit key)

• C = E(D(E(P,K1),K2),K1)• P = D(E(D(C,K1),K2),K1)

Why Encrypt-Decrypt-Encrypt with 2 keys?• Backward compatible: E(D(E(P,K),K),K) = E(P,K)• And 112 bits is enough

32

Page 33: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

AES HistoryIn 1999, NIST recommended to use 3DES, but it had drawbacks:

• Not efficient with software implementation. DES S/W was common, then 3DES made it 3 times slower.

• Block size of 64 bits was too small.• They were worried about future quantum computers.

In 1997, NIST called for new proposals for a new Advanced Encryption Standard (AES).

• Unlike DES, the whole process was open.• NSA openly involved

33

Page 34: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

AES The requirements for AES candidates

• Block cipher with 128 bits block size• 3 key lengths must be supported: 128, 192, and 256 bits• Security relative to other submitted algorithm• Efficiency in software and hardware

In 2001, NIST declared the Rijndael(pronounced like “Rain Doll” or “Rhine Doll”) as the new AES and published it as the standard. Iterative stages (like DES)Not a Feistel cipher (unlike DES)

34

Page 35: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

AES CharacteristicsBlock size: 128 bits (128, 192, 256 bits in Rijndael)Key length: 128, 192 or 256 bits (independent of block size)Variable rounds (depends on key length)

• 10 if K = 128 bits• 12 if K = 192 bits• 14 if K = 256 bits

Each round uses 128 bits round key.• Nr+1 round keys for Nr rounds

35

Page 36: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Block Ciphers:Modes of Operation

36

Page 37: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Encryption of multiple blocksWhat if a file have multiple block?

• If we use different keys for each block, encryption is like one time pad(OTP).

37

blk9 blk8 blk7 blk6 blk1blk2blk3blk4blk5

blk1

E

K1

blk2

E

K2

blk1

E

K9

Page 38: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

What if we use the same key for all the blocks of the file? Are there any problems?

3838

blk9 blk8 blk7 blk6 blk1blk2blk3blk4blk5

blk1

E

K

blk2

E

Kblk1

E

K

Page 39: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Modes of operationBlock cipher modes of operation

• ECB: Electronic code book• CBC: Cipher block chaining• CFB: Cipher feedback• OFB: Output feedback• CTR: Counter mode• and more

39

Page 40: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Classification of operation modes

40

Block Cipher Modes

Deterministic mode Probabilistic mode

block mode stream mode

ECB CBC CFB OFB CTR

Page 41: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

ECBMapping between blocks of plaintext and ciphertext is fixed as long as the key is same. (deterministic)It is like a traditional code book.

41

Key = Ki

P0 C0

P1 C1

P2 C2

P3 C3

P4 C4

… …

Page 42: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Advantages of ECBBlock synchronization is unnecessary.

• Receiver can decrypt the received blocks regardless of receiving other blocks.

Bit errors affect only corresponding block, not succeeding blocks.Encryption/decryption processes can be parallelized.

42

Page 43: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

ECB weaknessSuppose Pi = Pj

Then Ci = Cj and an attacker knows Pi = Pj

This gives the attacker some information, even if he does not know Pi or Pj

He might know Pi

Is this a serious issue?

43

Page 44: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Substitution attack Consider the following plaintext.

“Abel loves Bob. Cain hates Tom.” Suppose the block size is 64-bits:

Then, the cipher texts are C0, C1, C2, C3. Attacker reordered the cipher text blocks: C0,C3,C2,C1 Then the decrypted plaintext is:

“Abel loves Tom. Cain Hates Bob. ” Still, attacker does not know contents about the ciphertext.

44

Abel lov es Bob. Cain hat es Tom. P0 P1 P2 P3

Page 45: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

An Example of ECB encryption Alice’s uncompressed image, and ECB encrypted (TEA)

Why does this happen?45

(source: Information Security of M. Stamp)

Page 46: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Fix the problem

46

Block i

E

KNew value

Page 47: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

CBC(Cipher block chaining) Encryption

47

C0 = EK(IV ⊕ P0), C1 = EK(C0 ⊕ P1), C2 = EK(C1 ⊕ P2),…

(source: Wikipedia)

Page 48: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

CBC Decryption

48

P0 = DK(C0) ⊕ IV, P1 = DK(C1) ⊕ C0, P2 = DK(C2) ⊕ C1,…

(source: Wikipedia)

Page 49: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

CBC CBC encryption is probabilistic.

• If we use new IV every time we encrypt, two ciphertexts of the same plaintext blocks are completely different.

IV should be nonce. (should be used only once)But it should not be secret.(doesn’t need to be)

49

Page 50: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

CTR Encryption

50

Ci = EK(IV || CTRi)⨁Pi, Pi = EK(IV || CTRi) ⨁Ci,…

Page 51: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

CTR Decryption

51

Page 52: Symmetric Crypto - MJUants.mju.ac.kr/2019Fall/Info Security/symmetric key cipher.pdf · • ANSI X9.17 in 1986 • 168 bits key Advanced Encryption Standard (AES) • Adapted in 2001

Advantage of CTRThe encryption/decryption of all blocks can be processed in parallel.

52