Post-quantum cryptanalysis D. J. Bernstein University of Illinois - - PDF document

post quantum cryptanalysis d j bernstein university of
SMART_READER_LITE
LIVE PREVIEW

Post-quantum cryptanalysis D. J. Bernstein University of Illinois - - PDF document

Post-quantum cryptanalysis D. J. Bernstein University of Illinois at Chicago Cryptographic speed What is the fastest public-key encryption system? Or public-key signature system? Cryptographic speed What is the fastest public-key encryption


slide-1
SLIDE 1

Post-quantum cryptanalysis

  • D. J. Bernstein

University of Illinois at Chicago

slide-2
SLIDE 2

Cryptographic speed What is the fastest public-key encryption system? Or public-key signature system?

slide-3
SLIDE 3

Cryptographic speed What is the fastest public-key encryption system? Or public-key signature system? RSA-1024 is quite fast.

slide-4
SLIDE 4

Cryptographic speed What is the fastest public-key encryption system? Or public-key signature system? RSA-1024 is quite fast. RSA-512 is faster.

slide-5
SLIDE 5

Cryptographic speed What is the fastest public-key encryption system? Or public-key signature system? RSA-1024 is quite fast. RSA-512 is faster. RSA-256 is even faster.

slide-6
SLIDE 6

Cryptographic speed What is the fastest public-key encryption system? Or public-key signature system? RSA-1024 is quite fast. RSA-512 is faster. RSA-256 is even faster. This question is stupid.

slide-7
SLIDE 7

Cryptographic speed What is the fastest public-key encryption system with security level ✕ 2❜?

slide-8
SLIDE 8

Cryptographic speed What is the fastest public-key encryption system with security level ✕ 2❜? (Plausible-sounding definition: breaking costs ✕ 2❜.)

slide-9
SLIDE 9

Cryptographic speed What is the fastest public-key encryption system with security level ✕ 2❜? (Plausible-sounding definition: breaking with probability 1 costs ✕ 2❜.)

slide-10
SLIDE 10

Cryptographic speed What is the fastest public-key encryption system with security level ✕ 2❜? (Plausible-sounding definition: for each ✎ ❃ 0, breaking with probability ✕ ✎ costs ✕ 2❜✎.)

slide-11
SLIDE 11

Cryptographic speed What is the fastest public-key encryption system with security level ✕ 2❜? (Plausible-sounding definition: for each ✎ ❃ 2❜❂2, breaking with probability ✕ ✎ costs ✕ 2❜✎.)

slide-12
SLIDE 12

Cryptographic speed What is the fastest public-key encryption system with security level ✕ 2❜? How to evaluate candidates: Encryption systems Analyze attack algorithms

  • Systems with security ✕ 2❜

Analyze encryption algorithms

  • Fastest systems with security ✕ 2❜
slide-13
SLIDE 13

Two pre-quantum examples RSA (with small exponent, reasonable padding, etc.): Factoring ♥ costs 2(lg ♥)1❂3+♦(1) by the number-field sieve. Conjecture: this is the

  • ptimal attack against RSA.

Key size: Can take lg ♥ ✷ ❜3+♦(1) ensuring 2(lg ♥)1❂3+♦(1) ✕ 2❜. Encryption: Fast exp costs (lg ♥)1+♦(1) bit operations. Summary: RSA costs ❜3+♦(1).

slide-14
SLIDE 14

ECC (with strong curve/Fq, reasonable padding, etc.): ECDL costs 2(1❂2+♦(1)) lg q by Pollard’s rho method. Conjecture: this is the

  • ptimal attack against ECC.

Can take lg q ✷ (2 + ♦(1))❜. Encryption: Fast scalar mult costs (lg q)2+♦(1) = ❜2+♦(1). Summary: ECC costs ❜2+♦(1). Asymptotically faster than RSA: i.e., more security for same cost. Bonus: also ❜2+♦(1) decryption.

slide-15
SLIDE 15

These analyses are quite crude. To really understand costs need much more precise analysis and optimization

  • f attack algorithms

and encryption algorithms. e.g. R-algebraic complexity

  • f size-♥ DFT over C,

when ♥ is a power of 2: ♥1+♦(1): Gauss FFT.

slide-16
SLIDE 16

These analyses are quite crude. To really understand costs need much more precise analysis and optimization

  • f attack algorithms

and encryption algorithms. e.g. R-algebraic complexity

  • f size-♥ DFT over C,

when ♥ is a power of 2: ♥1+♦(1): Gauss FFT. ❖(♥ lg ♥): Gauss FFT.

slide-17
SLIDE 17

These analyses are quite crude. To really understand costs need much more precise analysis and optimization

  • f attack algorithms

and encryption algorithms. e.g. R-algebraic complexity

  • f size-♥ DFT over C,

when ♥ is a power of 2: ♥1+♦(1): Gauss FFT. ❖(♥ lg ♥): Gauss FFT. (5 + ♦(1))♥ lg ♥: Gauss FFT.

slide-18
SLIDE 18

These analyses are quite crude. To really understand costs need much more precise analysis and optimization

  • f attack algorithms

and encryption algorithms. e.g. R-algebraic complexity

  • f size-♥ DFT over C,

when ♥ is a power of 2: ♥1+♦(1): Gauss FFT. ❖(♥ lg ♥): Gauss FFT. (5 + ♦(1))♥ lg ♥: Gauss FFT. (4 + ♦(1))♥ lg ♥: split-radix FFT.

slide-19
SLIDE 19

These analyses are quite crude. To really understand costs need much more precise analysis and optimization

  • f attack algorithms

and encryption algorithms. e.g. R-algebraic complexity

  • f size-♥ DFT over C,

when ♥ is a power of 2: ♥1+♦(1): Gauss FFT. ❖(♥ lg ♥): Gauss FFT. (5 + ♦(1))♥ lg ♥: Gauss FFT. (4 + ♦(1))♥ lg ♥: split-radix FFT. (34❂9 + ♦(1))♥ lg ♥: tangent FFT.

slide-20
SLIDE 20

Cryptanalysis is slowly moving to a realistic model of computation. A circuit is a 2-dimensional mesh of small parallel gates. Have fast communication between neighboring gates. Try to optimize time ❚ as function of area ❆. See, e.g., classic area-time theorem from 1981 Brent–Kung. Warning: Naive student model— a=x[i] costs 1, like a=b+c —gives wildly unrealistic algorithm-scalability conclusions.

slide-21
SLIDE 21

“Maybe there’s a better attack breaking your ‘secure’ systems. Maybe security costs far more!” This is a familiar risk. This is why the community puts tremendous effort into cryptanalysis: analyzing and optimizing attack algorithms. Results of cryptanalysis: Some systems are killed. Some systems need larger keys but still have competitive cost. Some systems inspire confidence.

slide-22
SLIDE 22

Post-quantum cryptography Assume that attacker has a large quantum computer, making qubit operations as cheap as bit operations. (Yes, that’s too extreme. Tweak for more plausibility: maybe 2❜❂❜3 qubit operations are similar to 2❜ bit operations.) Consequence of this assumption: Attacker has old algorithm arsenal (ECM, ISD, LLL, XL, F4, F5, ✿ ✿ ✿ ) plus Grover and Shor.

slide-23
SLIDE 23

Conventional wisdom: Factoring ♥ costs (lg ♥)2+♦(1) by Shor (in naive model), so RSA is dead. Similarly DSA and ECDSA.

slide-24
SLIDE 24

Conventional wisdom: Factoring ♥ costs (lg ♥)2+♦(1) by Shor (in naive model), so RSA is dead. Similarly DSA and ECDSA. More careful RSA evaluation: Can take lg ♥ ✷ 2(1❂2+♦(1))❜ ensuring (lg ♥)2+♦(1) ✕ 2❜. Can reduce RSA encryption, decryption, key generation to 2(1❂2+♦(1))❜ bit ops, far below attacker’s cost.

slide-25
SLIDE 25

Conventional wisdom: Factoring ♥ costs (lg ♥)2+♦(1) by Shor (in naive model), so RSA is dead. Similarly DSA and ECDSA. More careful RSA evaluation: Can take lg ♥ ✷ 2(1❂2+♦(1))❜ ensuring (lg ♥)2+♦(1) ✕ 2❜. Can reduce RSA encryption, decryption, key generation to 2(1❂2+♦(1))❜ bit ops, far below attacker’s cost. ✿ ✿ ✿ but other systems are better! Here are some leading candidates.

slide-26
SLIDE 26

Hash-based signatures. Example: 1979 Merkle hash trees. Code-based encryption. Example: 1978 McEliece hidden Goppa codes. Lattice-based encryption. Example: 1998 “NTRU.” Multivariate-quadratic- equations signatures. Example: 1996 Patarin “HFEv” public-key signature system. Secret-key cryptography. Example: 1998 Daemen–Rijmen “Rijndael” cipher, aka “AES.”

slide-27
SLIDE 27

A hash-based signature system Standardize a 256-bit hash function ❍. Signer’s public key: 512 strings ②1[0]❀ ②1[1]❀ ✿ ✿ ✿ ❀ ②256[0]❀ ②256[1], each 256 bits. Total: 131072 bits. Signature of a message ♠: 256-bit strings r❀ ①1❀ ✿ ✿ ✿ ❀ ①256 such that the bits (❤1❀ ✿ ✿ ✿ ❀ ❤256)

  • f ❍(r❀ ♠) satisfy

②1[❤1] = ❍(①1), ✿ ✿ ✿ , ②256[❤256] = ❍(①256).

slide-28
SLIDE 28

Signer’s secret key: 512 independent uniform random 256-bit strings ①1[0]❀ ①1[1]❀ ✿ ✿ ✿ ❀ ①256[0]❀ ①256[1]. Signer computes ②1[0]❀ ②1[1]❀ ✿ ✿ ✿ ❀ ②256[0]❀ ②256[1] as ❍(①1[0])❀ ❍(①1[1])❀ ✿ ✿ ✿ ❀ ❍(①256[0])❀ ❍(①256[1]). To sign ♠: generate uniform random r; ❍(r❀ ♠) = (❤1❀ ✿ ✿ ✿ ❀ ❤256); reveal (r❀ ①1[❤1]❀ ✿ ✿ ✿ ❀ ①256[❤256]); discard remaining ① values; refuse to sign more messages.

slide-29
SLIDE 29

This is the “Lamport–Diffie

  • ne-time signature system.”

How to sign more than one message? Easy answer: “Chaining.” Signer expands ♠ to include a newly generated public key that will sign next message. More advanced answers (Merkle et al.) scale logarithmically with the number of messages signed.

slide-30
SLIDE 30

Grover finds ①1[0] from ②1[0] using ✙ 2128 qubit ops. Maybe ❍ has some structure allowing faster inversion ✿ ✿ ✿ but most functions don’t seem to have such structures. “SHA-3 competition”: 2008: 191 cryptographers submitted 64 proposals for ❍. Ongoing: Extensive public review. 2011 status: 5 finalists. 2012: SHA-3 is standardized.

slide-31
SLIDE 31

Chaum–van Heijst–Pfitzmann, 1991: ❍(❛❀ ❜) = 4❛9❜ mod ♣. Simple, beautiful, structured. Allows “provable security”: e.g., ❍ collisions imply computing a discrete logarithm, when ♣ is chosen sensibly.

slide-32
SLIDE 32

Chaum–van Heijst–Pfitzmann, 1991: ❍(❛❀ ❜) = 4❛9❜ mod ♣. Simple, beautiful, structured. Allows “provable security”: e.g., ❍ collisions imply computing a discrete logarithm, when ♣ is chosen sensibly. But very bad cryptography. Horrible security for its speed. Far worse security record than “unstructured” ❍ designs.

slide-33
SLIDE 33

Chaum–van Heijst–Pfitzmann, 1991: ❍(❛❀ ❜) = 4❛9❜ mod ♣. Simple, beautiful, structured. Allows “provable security”: e.g., ❍ collisions imply computing a discrete logarithm, when ♣ is chosen sensibly. But very bad cryptography. Horrible security for its speed. Far worse security record than “unstructured” ❍ designs. Some newer efforts to sacrifice security for provability: VSH; 2007 Moore–Russell–Vazirani.

slide-34
SLIDE 34

An MQ signature system Signer’s public key: polynomials P1❀ ✿ ✿ ✿ ❀ P300 ✷ F2[✇1❀ ✿ ✿ ✿ ❀ ✇600]. Extra requirements

  • n each of these polynomials:

degree ✔ 2, no squares; i.e., linear combination of 1❀ ✇1❀ ✿ ✿ ✿ ❀ ✇600❀ ✇1✇2❀ ✇1✇3❀ ✿ ✿ ✿ ❀ ✇599✇600. Overall 54090300 bits.

slide-35
SLIDE 35

Signature of ♠: a 300-bit string r and values ✇1❀ ✿ ✿ ✿ ❀ ✇600 ✷ F2 such that ❍(r❀ ♠) = (P1(✇1❀ ✿ ✿ ✿ ❀ ✇600)❀ ✿ ✿ ✿ ❀ P300(✇1❀ ✿ ✿ ✿ ❀ ✇600)). Only 900 bits! Verifying a signature uses

  • ne evaluation of ❍ and

millions of bit operations to evaluate P1❀ ✿ ✿ ✿ ❀ P300.

slide-36
SLIDE 36

Main challenge for attacker: find bits ✇1❀ ✿ ✿ ✿ ❀ ✇600 producing specified outputs (P1(✇1❀ ✿ ✿ ✿ ❀ ✇600)❀ ✿ ✿ ✿ ❀ P300(✇1❀ ✿ ✿ ✿ ❀ ✇600)). Random guess: on average,

  • nly 2300 chance of success.

“XL” etc.: fewer operations, but still not a threat.

slide-37
SLIDE 37

Signer generates public key with secret “HFEv” structure. Standardize a degree-450 irreducible polynomial ✬ ✷ F2[t]. Define ▲ = F2[t]❂✬. Critical step in signing: finding roots of a secret polynomial in ▲[①]

  • f degree at most 300.
slide-38
SLIDE 38

Secret polynomial is chosen with all nonzero exponents of the form 2✐ + 2❥ or 2✐. (So degree ✔ 288.) If ①0❀ ①1❀ ✿ ✿ ✿ ❀ ①449 ✷ F2 and ① = ①0 + ①1t + ✁ ✁ ✁ + ①449t449 then ①2 = ①0 + ①1t2 + ✁ ✁ ✁ + ①449t898, ①4 = ①0 + ①1t4 + ✁ ✁ ✁ + ①449t1796, etc. In general, ①2✐+2❥ is a quadratic polynomial in the variables ①0❀ ✿ ✿ ✿ ❀ ①449.

slide-39
SLIDE 39

Signer’s secret key: invertible 600 ✂ 600 matrix ❙; 300 ✂ 450 matrix ❚ of rank 300; ◗ ✷ ▲[①❀ ✈1❀ ✈2❀ ✿ ✿ ✿ ❀ ✈150]. Each term in ◗ has one of the forms ❵①2✐+2❥ with ❵ ✷ ▲, 2✐ ❁ 2❥, 2✐ + 2❥ ✔ 300; ❵①2✐✈❥ with ❵ ✷ ▲, 2✐ ✔ 300; ❵✈✐✈❥; ❵①2✐; ❵✈❥; ❵.

slide-40
SLIDE 40

To compute public key: Compute ❙(✇1❀ ✿ ✿ ✿ ❀ ✇600) = (①0❀ ✿ ✿ ✿ ❀ ①449❀ ✈1❀ ✿ ✿ ✿ ❀ ✈150). In ▲[✇1❀ ✿ ✿ ✿ ❀ ✇600] compute ① = P ①✐t✐ and ② = ◗(①❀ ✈1❀ ✈2❀ ✿ ✿ ✿ ❀ ✈150) modulo ✇2

1 ✇1❀ ✿ ✿ ✿ ❀ ✇2 600 ✇600.

Write ② = ②0 + ✁ ✁ ✁ + ②449t449 with ②✐ ✷ F2[✇1❀ ✿ ✿ ✿ ❀ ✇600]. Compute (P1❀ ✿ ✿ ✿ ❀ P300) = ❚(②0❀ ②1❀ ✿ ✿ ✿ ❀ ②449).

slide-41
SLIDE 41

Sign by working backwards. Given values (P1❀ ✿ ✿ ✿ ❀ P300), invert ❚ to obtain values (②0❀ ✿ ✿ ✿ ❀ ②449). 2150 choices; randomize. Choose (✈1❀ ✿ ✿ ✿ ❀ ✈150) randomly. Substitute into ◗(①❀ ✈1❀ ✿ ✿ ✿ ❀ ✈150) to obtain ◗(①) ✷ ▲[①]. Solve ◗(①) = ② for ① ✷ ▲. If several roots, randomize. If no roots, start over. Invert ❙ to obtain signature.

slide-42
SLIDE 42

This is an “HFEv” example. “HFE”: “Hidden Field Equation” ◗(①) = ②. “”: publish only 300 equations instead of 450. “v”: “vinegar” variables ✈1❀ ✿ ✿ ✿ ❀ ✈150. State-of-the-art attack breaks a simplified system with 0 vinegar variables, 1 term in ◗. Can build MQ systems in many other ways.

slide-43
SLIDE 43

A code-based encryption system Receiver’s public key: 1800 ✂ 3600 bit matrix ❑. Messages suitable for encryption: 3600-bit strings of “weight 150”; i.e., 3600-bit strings with exactly 150 nonzero bits. Encryption of ♠ is 1800-bit string ❑♠.

slide-44
SLIDE 44

Attacker, by linear algebra, can easily work backwards from ❑♠ to some ✈ such that ❑✈ = ❑♠. Huge number of choices of ✈. Finding weight-150 choice (“syndrome-decoding ❑”) seems extremely difficult for most choices of ❑.

slide-45
SLIDE 45

Basic information-set decoding: Choose set of 1800 columns

  • n which ❑ is invertible.

Work backwards to ✈ supported in those 1800 columns. Hope that ✈ = ♠, i.e., that ♠ is supported in those 1800 columns. 2009 Bernstein: Trivially apply Grover here. # iterations drops to square root. But some ISD improvements now become counterproductive. New guess: “Some” includes 2011 May–Meurer–Thomae.

slide-46
SLIDE 46

Receiver secretly generates a random Goppa code Γ and a random permutation P. Computes public key ❑ as random parity-check matrix for permuted Goppa code ΓP. Detecting this structure seems even more difficult than syndrome-decoding random ❑. Knowing Γ and P allows receiver to decode 150 errors.

slide-47
SLIDE 47

My current reading of 2011 Dinh–Moore–Russell: Using Shor for Γ❀ ΓP ✼✦ P is very slow (for most Γ) thanks to group structure. These cryptosystems thus “resist the natural analog of Shor’s quantum attack.” This gives “the first rigorous results on the security of the McEliece-type cryptosystems in the face of quantum adversaries, strengthening their candidacy for post-quantum cryptography.”

slide-48
SLIDE 48

I find this quite puzzling.

  • 1. I don’t see how Γ❀ ΓP ✼✦ P

relates to attacking McEliece. The attacker isn’t given Γ.

slide-49
SLIDE 49

I find this quite puzzling.

  • 1. I don’t see how Γ❀ ΓP ✼✦ P

relates to attacking McEliece. The attacker isn’t given Γ.

  • 2. Broken variants of McEliece

have the same group structure. Are they strong candidates too?

slide-50
SLIDE 50

I find this quite puzzling.

  • 1. I don’t see how Γ❀ ΓP ✼✦ P

relates to attacking McEliece. The attacker isn’t given Γ.

  • 2. Broken variants of McEliece

have the same group structure. Are they strong candidates too?

  • 3. The Γ❀ ΓP ✼✦ P problem

is not hard. For almost all Γ, 1999 Sendrier computes Γ❀ ΓP ✼✦ P in polynomial time.

slide-51
SLIDE 51

I find this quite puzzling.

  • 1. I don’t see how Γ❀ ΓP ✼✦ P

relates to attacking McEliece. The attacker isn’t given Γ.

  • 2. Broken variants of McEliece

have the same group structure. Are they strong candidates too?

  • 3. The Γ❀ ΓP ✼✦ P problem

is not hard. For almost all Γ, 1999 Sendrier computes Γ❀ ΓP ✼✦ P in polynomial time. There are many interesting non-quantum algorithms.

slide-52
SLIDE 52

How to make progress

  • 1. Learn the target landscape.
  • 2. Learn the existing attacks.

Add them into your toolbox.

  • 3. Look for faster attacks.

e.g. FXL/“hybrid GB” has an outer search; apply Grover!

  • 4. Analyze algorithms precisely.

Otherwise you miss most algorithm speedups.

slide-53
SLIDE 53
slide-54
SLIDE 54

Bernstein: “Introduction to post-quantum cryptography.” Hallgren, Vollmer: “Quantum computing.” Buchmann, Dahmen, Szydlo: “Hash-based digital signature schemes.” Overbeck, Sendrier: “Code-based cryptography.” Micciancio, Regev: “Lattice-based cryptography.” Ding, Yang: “Multivariate public key cryptography.”

slide-55
SLIDE 55

Latest updates: pqcrypto.org: introduction and bibliography. PQCrypto conference series: PQCrypto 2006 in Leuven. PQCrypto 2008 in Cincinnati. PQCrypto 2010 in Darmstadt. PQCrypto 2011 soon in Taipei. Hotel deadline: 30 September.