Author : Paulus Gandung Prakosa (
[email protected])
Credits : - Ronald L. Rivest (csail.mit.edu)
- Whitfield Diffie (csail.mit.edu)
- Martin Hellman (www-ee.stanford.edu)
Symmetric Cryptography
- Secure communication has two parts:
- Establish a key (public key methods)
- Encrypt message symmetrically using key
- Symmetric encryption is faster
- Cryptographic scheme is only as good as it's weakest link
- We need to understand strengths and weaknesses of symmetric encryption
DES (Data Encryption Standard)
- 1972 : National Bureau of Standards begins search
- 1975 : DES : Lucifer by IBM, modified by NSA (key reduced from 128 to
56 bits)
- Approved by NBS '76, ANSI '81
- Renewed every years by NIST
- Now considered obsolete
Flash look deeper about DES (Data Encryption Standard)
- Secure : hard to attack
- Classic case : given ciphertext, get plaintext
- Also : given both, get key
- Achieved through diffusion, confusion
- Easy to implement (in hardware, software)
- Use a few fast subroutines
- Decryption uses same routines
- Easy to analyze
- Prove that certain attacks fail
Flash overview about DES algorithm
- Block cipher : 64-bits at a time
- Initial permutation rearranges 64 bits (no cryptographic effect)
- Encoding is in 16 rounds
Figure 1.0 : Here's the diagram
[ plaintext ]
|
[ initial permutation ]
|
[ round 1 ]
|
[ round 2 ]
|
[ ... ]
|
[ round 16 ]
|
[ initial permutation ^ -1 ]
|
[ produced ciphertext ]
DES operation every "one round"
- 64-bits divided into left, right halves
- Right half goes through function "f", mixed with key
- Right half added to left half
- Halves swapped (except in one round)
Figure 1.1 : Here the diagram
[ Li-1 ] [ Ri-1 ]
| |
| |
[ XOR ]<----[ f ]-----[ append ]
| |
| |
[ R1 ] [ L1 ]
DES description : Inside DES
- Expand right size from 21 to 48 bits (some get reused)
- Add 48 bits of key (chosen by schedule)
- S-boxes : each set of 6 bits reduced by 4
- P-box permutes 32-bits
Figure 1.2 : Here the diagram
[ Ri-1 ]
|
[ expansion ]
|
[ XOR ]<---------[ Ki ]
|
[ Eight S-boxes ]
|
[ P-box ]
|
[ Output ]
DES design principles : inversing DES
- Equations for round 'i' :
L1 = Ri-1
R1 = Li-1 XOR f(Ri-1)
- In other words :
Ri-1 = L1
Li-1 = R1 XOR f(L1)
- So decryption is th same as encryption
- Last round, no swap, really is the same
Figure 1.3 : DES Inverse diagram (same as Fig. 1.1)
List of DES operation
- ECB = Electronic CodeBook Mode
- Encrypt each 64-bit block independently
- Attacker could build codebook
- CBC = Cipher Block Chaining mode
- Encryption : Ci = Ek(Pi XOR Ci-1)
- Decryption : Pi = Ci-1 XOR Dk(Ci)
- CFB, OFB : allow byte-wise encryption
- Cipher FeedBack, Output FeedBack
DES pedestrian attacks :
- Obvious attack : guess the key (2 ^ 56 keys)
- Complementation property : 2 ^ 55 keys
- 1 million per second : 1100 years
- Time / Memory Tradeoff (Hellman, Martin 1980) :
- 1 terabyte
- 5 days
How to destroying DES method :
- Differential cryptanalysis (1990)
- Say you know plaintext, ciphertext pairs
- Difference Dp = P1 XOR P2, Dc = C1 XOR C2
- Distribution of Dc's given Dp may reveal key
- Need lots of pairs to get lots of good Dp's
- Look at pairs, build up key in pieces
- Could find some bits, brute-force for rest
Serving of Praise of DES
- Against 8 round of DES, attack requires :
- 2 ^ 14 = 16384 chosen plaintexts
- 2 ^ 38 known plaintext-ciphertext pairs
- Against 16 round DES, attack requires :
- 2 ^ 47 chosen plaintexts, or
- Roughly 2 ^ 55.1 known plaintext-ciphertext pairs
- Differential cryptanalysis not effective
- Designers knew about it