We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 26
Cryptography and Network
Security Third Edition by William Stallings
Lecture slides by Lawrie Brown
Chapter 3 – Block Ciphers and the Data Encryption Standard Modern Block Ciphers • will now look at modern block ciphers • one of the most widely used types of cryptographic algorithms • provide secrecy and/or authentication services • in particular will introduce DES (Data Encryption Standard) Block vs Stream Ciphers • block ciphers process messages in into blocks, each of which is then en/decrypted • like a substitution on very big characters – 64-bits or more • stream ciphers process messages a bit or byte at a time when en/decrypting • many current ciphers are block ciphers • hence are focus of course Block Cipher Principles • most symmetric block ciphers are based on a Feistel Cipher Structure • needed since must be able to decrypt ciphertext to recover messages efficiently • block ciphers look like an extremely large substitution • would need table of 264 entries for a 64-bit block • instead create from smaller building blocks • using idea of a product cipher Confusion and Diffusion • cipher needs to completely obscure statistical properties of original message • a one-time pad does this • more practically Shannon suggested combining elements to obtain: • diffusion – dissipates statistical structure of plaintext over bulk of ciphertext • confusion – makes relationship between ciphertext and key as complex as possible Feistel Cipher Structure • Horst Feistel devised the feistel cipher – based on concept of invertible product cipher • partitions input block into two halves – process through multiple rounds which – perform a substitution on left data half – based on round function of right half & subkey – then have permutation swapping halves • implements Shannon’s substitution- permutation network concept Feistel Cipher Structure Feistel Cipher Design Principles • block size – increasing size improves security, but slows cipher • key size – increasing size improves security, makes exhaustive key searching harder, but may slow cipher • number of rounds – increasing number improves security, but slows cipher • subkey generation – greater complexity can make analysis harder, but slows cipher • round function – greater complexity can make analysis harder, but slows cipher • fast software en/decryption & ease of analysis – are more recent concerns for practical use and testing Feistel Cipher Decryption Data Encryption Standard (DES) • most widely used block cipher in world • adopted in 1977 by NBS (now NIST) – as FIPS PUB 46 • encrypts 64-bit data using 56-bit key • has widespread use • has been considerable controversy over its security DES History • IBM developed Lucifer cipher – by team led by Feistel – used 64-bit data blocks with 128-bit key • then redeveloped as a commercial cipher with input from NSA and others • in 1973 NBS issued request for proposals for a national cipher standard • IBM submitted their revised Lucifer which was eventually accepted as the DES DES Design Controversy • although DES standard is public • was considerable controversy over design – in choice of 56-bit key (vs Lucifer 128-bit) – and because design criteria were classified • subsequent events and public analysis show in fact design was appropriate • DES has become widely used, esp in financial applications DES Encryption Initial Permutation IP • first step of the data computation • IP reorders the input data bits • even bits to LH half, odd bits to RH half • quite regular in structure (easy in h/w) • see text Table 3.2 • example: IP(675a6967 5e5a6b5a) = (ffb2194d 004df6fb) DES Round Structure • uses two 32-bit L & R halves • as for any Feistel cipher can describe as: Li = Ri–1 Ri = Li–1 xor F(Ri–1, Ki) • takes 32-bit R half and 48-bit subkey and: – expands R to 48-bits using perm E – adds to subkey – passes through 8 S-boxes to get 32-bit result – finally permutes this using 32-bit perm P DES Round Structure Substitution Boxes S • have eight S-boxes which map 6 to 4 bits • each S-box is actually 4 little 4 bit boxes – outer bits 1 & 6 (row bits) select one rows – inner bits 2-5 (col bits) are substituted – result is 8 lots of 4 bits, or 32 bits • row selection depends on both data & key – feature known as autoclaving (autokeying) • example: S(18 09 12 3d 11 17 38 39) = 5fd25e03 DES Key Schedule • forms subkeys used in each round • consists of: – initial permutation of the key (PC1) which selects 56-bits in two 28-bit halves – 16 stages consisting of: • selecting 24-bits from each half • permuting them by PC2 for use in function f, • rotating each half separately either 1 or 2 places depending on the key rotation schedule K DES Decryption • decrypt must unwind steps of data computation • with Feistel design, do encryption steps again • using subkeys in reverse order (SK16 … SK1) • note that IP undoes final FP step of encryption • 1st round with SK16 undoes 16th encrypt round • …. • 16th round with SK1 undoes 1st encrypt round • then final FP undoes initial encryption IP • thus recovering original data value Avalanche Effect • key desirable property of encryption alg • where a change of one input or key bit results in changing approx half output bits • making attempts to “home-in” by guessing keys impossible • DES exhibits strong avalanche Strength of DES – Key Size • 56-bit keys have 256 = 7.2 x 1016 values • brute force search looks hard • recent advances have shown is possible – in 1997 on Internet in a few months – in 1998 on dedicated h/w (EFF) in a few days – in 1999 above combined in 22hrs! • still must be able to recognize plaintext • now considering alternatives to DES Strength of DES – Timing Attacks • attacks actual implementation of cipher • use knowledge of consequences of implementation to derive knowledge of some/all subkey bits • specifically use fact that calculations can take varying times depending on the value of the inputs to it • particularly problematic on smartcards Strength of DES – Analytic Attacks • now have several analytic attacks on DES • these utilise some deep structure of the cipher – by gathering information about encryptions – can eventually recover some/all of the sub-key bits – if necessary then exhaustively search for the rest • generally these are statistical attacks • include – differential cryptanalysis – linear cryptanalysis – related key attacks Block Cipher Design Principles • basic principles still like Feistel in 1970’s • number of rounds – more is better, exhaustive search best attack • function f: – provides “confusion”, is nonlinear, avalanche • key schedule – complex subkey creation, key avalanche Summary • have considered: • block cipher design principles • DES – details – strength