UCL Crypto Group
Microelectronics Laboratory
Introduction to Cryptography @ Rice Olivier Pereira Slide 05 UCL - - PowerPoint PPT Presentation
Introduction to Cryptography @ Rice Olivier Pereira Slide 05 UCL Crypto Group COMP477 - Slide 05 1 Microelectronics Laboratory Usefulness of PRPs Let F be a PRP: { 0 , 1 } n { 0 , 1 } n { 0 , 1 } n . Then F is also a PRF. Proof idea:
UCL Crypto Group
Microelectronics Laboratory
UCL Crypto Group
Microelectronics Laboratory
◮ PRF attacker queries relayed to and from PRP challenger ◮ Only way to distinguish is that PRFs have collisions ◮ But we can only hope to observe collisions after 2n/2
UCL Crypto Group
Microelectronics Laboratory
UCL Crypto Group
Microelectronics Laboratory
◮ Other name for PRP ◮ Typically defined for just a few values of n
◮ Review some of the key principles used in the design of
◮ Substitution-permutation network ◮ Feistel scheme ◮ Get a general idea of the most popular block cipher today:
UCL Crypto Group
Microelectronics Laboratory
◮ Decades of research on how to build a good PRP
◮ Lot of wisdom gained: good paradigms, efficiency in
◮ Considerably faster than all “provably secure” proposals.
UCL Crypto Group
Microelectronics Laboratory
◮ Data Encryption Standard (DES) [1976] has no practical
◮ Advanced Encryption Standard (AES) [1998], no known
UCL Crypto Group
Microelectronics Laboratory
UCL Crypto Group
Microelectronics Laboratory
◮ So, 2n/2 security would not be enough, even if not PPT ◮ Motivations: ◮ better than brute-force is usually a bad sign ◮ keeps parameters as small as possible (n = 128 today)
UCL Crypto Group
Microelectronics Laboratory
UCL Crypto Group
Microelectronics Laboratory
◮ Permute the bits of x after applying F ◮ Repeat these two steps several times
◮ Substitution ≈ Caesar’s cipher ◮ Permutation ≈ Scytale cipher
UCL Crypto Group
Microelectronics Laboratory
◮ Ideally, new fi picked for
◮ But difficult in practice ◮ Instead, we use fixed
◮ And key-dependence
◮ Different “parts” of key
UCL Crypto Group
Microelectronics Laboratory
◮ The word “permutation” is used with 2 different meanings
◮ A pseudorandom permutation is a (pseudorandom)
◮ In a SPN, a permutation in a reordering of the bits
UCL Crypto Group
Microelectronics Laboratory
◮ Otherwise we would not get a permutation
◮ Changing a single bit in a S-box input should change
◮ The mixing permutation should ensure that the
UCL Crypto Group
Microelectronics Laboratory
UCL Crypto Group
Microelectronics Laboratory
◮ Undo mixing on ciphertext (public design) ◮ Undo S-boxes (public design) ◮ XOR with plaintext and recover the key
UCL Crypto Group
Microelectronics Laboratory
UCL Crypto Group
Microelectronics Laboratory
◮ Send strings differing in only one bit ◮ Observe if ciphertexts are affected locally or globally
UCL Crypto Group
Microelectronics Laboratory
◮ First call in 1997 (15 candidates) ◮ Final decision in 2000
◮ 128-bit block cipher ◮ Substitution-permutation network ◮ 3 key sizes: 128, 192 or 256 bits
UCL Crypto Group
Microelectronics Laboratory
◮ Network: TLS, SSH, . . . ◮ Disk encryption (BitLocker, LibreCrypt, TrueCrypt, . . . ) ◮ Archive and compression tools (7z, RAR, WinZip,
◮ Implementations available for “all” languages
UCL Crypto Group
Microelectronics Laboratory
UCL Crypto Group
Microelectronics Laboratory
◮ One way of achieving this has been proposed by Feistel
UCL Crypto Group
Microelectronics Laboratory
◮ L1 := R0 ◮ R1 := fK1(R0) ⊕ L0
◮ R′
◮ L′
◮ But if we iterate it. . .
UCL Crypto Group
Microelectronics Laboratory
◮ Then a 3-round Feistel
◮ And a 4-round Feistel
UCL Crypto Group
Microelectronics Laboratory
◮ fi functions are constructed
◮ fi are typically fixed, with
◮ Subkeys are derived
UCL Crypto Group
Microelectronics Laboratory
◮ More latitude in the choice of fi ◮ Same software/hardware can be used for encryption and
◮ DES [1975–1999–2005] (IBM, NSA) ◮ Camellia [2000—] (Mitsubishi, NTT) ◮ . . .
UCL Crypto Group
Microelectronics Laboratory
◮ US encryption standard (1977), designed by IBM / NSA ◮ Feistel Network ◮ 64-bit block cipher ◮ 56-bit keys
◮ DES should not be used any more ◮ Yet, still present in many “legacy” applications ◮ Some attacks found, but best practical attack known so far
UCL Crypto Group
Microelectronics Laboratory
UCL Crypto Group
Microelectronics Laboratory
◮ Expansion: 32 bits → 48 bits (by duplication) ◮ S-boxes: substitutions 6 bits → 4 bits ◮ Permutation: reorders 32-bit output
UCL Crypto Group
Microelectronics Laboratory
◮ Attack requires 247 chosen plaintexts and has 237
◮ Remark: it turned out that the DES S-boxes were designed
◮ 1999: 22h by dedicated machine + 100 000 PCs (≈ $250k) ◮ 2006: ≈ 1 day with Copacabana: dedicated FPGAs (≈
UCL Crypto Group
Microelectronics Laboratory
◮ With 3 keys ◮ Or just with 2 ◮ Classical way: EDE mode ◮ c = DESK1(DES−1
K2 (DESK1(m)))
UCL Crypto Group
Microelectronics Laboratory
◮ One of the most versatile crypto objects:
◮ Most common: AES, 128-bit blocks, 128-192-256-bit keys
◮ AES implementations widely available,