160 likes | 287 Views
Foundations of Network and Computer Security. J ohn Black Lecture #6 Sep 10 th 2007. CSCI 6268/TLEN 5831, Fall 2007. Announcements. Quiz #1 Will return Weds Remote students should have it by today. DES -- Review. IP – Initial permutation swaps bits around for hardware purposes
E N D
Foundations of Network and Computer Security John Black Lecture #6 Sep 10th 2007 CSCI 6268/TLEN 5831, Fall 2007
Announcements • Quiz #1 • Will return Weds • Remote students should have it by today
DES -- Review • IP – Initial permutation swaps bits around for hardware purposes • Adds no cryptographic strength; same for FP • Each inner application of F and the XOR is called a “round” • F is called the “round function” • The cryptographic strength of DES lies in F • DES uses 16 rounds
One Round • Each half is 32 bits • Round key is 48 bits • Is this a permutation (as required)? • How do we invert? • Note that F need not be invertible with the round key fixed Li Ri F Key Li+1 Ri+1
DES Round Function (cont) • F takes two inputs • 32 bit round value • 48 bits of key taken from 56 bit DES key • A different subset of 48 bits selected in each round • E is the “expansion” box • Turns each set of 4 bits into 6, by merely repeating some bits • S boxes take 6 bits back to 4 bits • Non-linear functions and they are the cryptographic heart of DES • S-boxes were tweaked by NSA back in the 70’s • It is believed that they IMPROVED DES by doing this
Full Description of DES • If you want all the gory details http://en.wikipedia.org/wiki/DES • Challenge Problem: • Alter the S-boxes of DES any way you like so that with ONE plaintext-ciphertext pair you can recover all 56 key bits • (Warning: you need some linear algebra here) • Hard problem, worth 10 extra credit pts • Get it to me within two weeks (Sep 24th)
So if not DES, then what? • Double DES? • Let’s write DES(K, P) as DESK(P) • Double DES (DDES) is a 64-bit blockcipher with a 112 bit key K = (K1, K2) and is DDESK(P) = DESK2(DESK1(P)) • We know 112 bits is out of exhaustive search range… are we now secure?
Meet in the Middle Attack • With enough memory, DDES isn’t much better than single DES! • Attack (assume we have a handful of pt-ct pairs P1,C1; P2, C2; …) • Encipher P1 under all 256 possible keys and store the ciphertexts in a hash table • Decipher C1 under all 256 possible keys and look for a match • Any match gives a candidate 112-bit DDES key • Use P2, C2 and more pairs to validate candidate DDES key until found
Meet in the Middle (cont) • Complexity • 256 + 256 = 257 DES operations • Not much better than the 255 expected DES operations for exhaustive search! • Memory requirements are quite high, but there are techniques to reduce them at only a slightly higher cost • End result: no one uses DDES
How about Triple-DES! • Triple DES uses a 168-bit key K=(K1, K2, K3) TDESK(P) = DESK3(DESK2(DESK1(P))) • No known attacks against TDES • Provides 112-bits of security against key-search • Widely used, standardized, etc • More often used in “two-key triple-DES” mode with EDE format (K is 112 bits like DDES): TDESK(P) = DESK1(DES-1K2(DESK1(P))) • Why is the middle operation a decipherment?
AES – The Advanced Encryption Standard • If TDES is secure, why do we need something else? • DES was slow • DES times 3 is three times slower • 64-bit blocksize could be bigger without adding much cost • DES had other annoying weakness which were inherited by TDES • We know a lot more about blockcipher design, so time to make something really cool!
AES Competition • NIST sponsored a competition • Individuals and groups submitted entries • Goals: fast, portable, secure, constrained environments, elegant, hardware-friendly, patent-free, thoroughly analyzed, etc • Five finalists selected (Aug 1999) • Rijndael (Belgium), MARS (IBM), Serpent (Israel), TwoFish (Counterpane), RC6 (RSA, Inc) • Rijndael selected (Dec 2001) • Designed by two Belgians
AES – Rijndael • Not a Feistel construction! • 128 bit blocksize • 128, 192, 256-bit keysize • SP network • Series of invertible (non-linear) substitutions and permutations • Much faster than DES • About 300 cycles on a Pentium III • A somewhat risky choice for NIST
Security of the AES • Some close calls in 2004 (XL attack) • Can be represented as an overdetermined set of very sparse equations • Computer-methods of solving these systems would yield the key • Turns out there are fewer equations than previously thought • Seems like nothing to worry about yet
Block Ciphers – Conclusion • There are a bunch out there besides AES and DES • Some are pretty good (IDEA, TwoFish, etc) • Some are pretty lousy • LOKI, FEAL, TEA, Magenta, Bass-O-Matic • If you try and design your own, it will probably be really really bad • Plenty of examples, yet it still keeps happening