High-speed cryptography, part 3: more cryptosystems Daniel J. - - PDF document

high speed cryptography part 3 more cryptosystems daniel
SMART_READER_LITE
LIVE PREVIEW

High-speed cryptography, part 3: more cryptosystems Daniel J. - - PDF document

High-speed cryptography, part 3: more cryptosystems Daniel J. Bernstein University of Illinois at Chicago & Technische Universiteit Eindhoven Cryptographers Working systems Cryptanalytic algorithm designers Unbroken


slide-1
SLIDE 1

High-speed cryptography, part 3: more cryptosystems Daniel J. Bernstein University of Illinois at Chicago & Technische Universiteit Eindhoven

slide-2
SLIDE 2

Cryptographers Working systems

  • Cryptanalytic

algorithm designers Unbroken systems

  • Cryptographic

algorithm designers and implementors Efficient systems

  • Cryptographic users
slide-3
SLIDE 3
  • 1. Working systems

Fundamental question for cryptographers: How can we encrypt, decrypt, sign, verify, etc.? Many answers: DES, Triple DES, FEAL-4, AES, RSA, McEliece encryption, Merkle hash-tree signatures, Merkle–Hellman knapsack encryption, Buchmann–Williams class-group encryption, ECDSA, HFEv, NTRU, et al.

slide-4
SLIDE 4
  • 2. Unbroken systems

Fundamental question for pre-quantum cryptanalysts: What can an attacker do using ❁2❜ operations

  • n a classical computer?

Fundamental question for post-quantum cryptanalysts: What can an attacker do using ❁2❜ operations

  • n a quantum computer?

Goal: identify systems that are not breakable in ❁2❜ operations.

slide-5
SLIDE 5

Examples of RSA cryptanalysis: Schroeppel’s “linear sieve”, mentioned in 1978 RSA paper, factors ♣q into ♣❀ q using (2 + ♦(1))(lg ♣q)1❂2(lg lg ♣q)1❂2 simple operations (conjecturally). To push this beyond 2❜, must choose ♣q to have at least (0✿5 + ♦(1))❜2❂lg ❜ bits. Note 1: lg = log2. Note 2: ♦(1) says nothing about, e.g., ❜ = 128. Today: focus on asymptotics.

slide-6
SLIDE 6

1993 Buhler–Lenstra–Pomerance, generalizing 1988 Pollard “number-field sieve”, factors ♣q into ♣❀ q using (3✿79 ✿ ✿ ✿ + ♦(1))(lg ♣q)1❂3(lg lg ♣q)2❂3 simple operations (conjecturally). To push this beyond 2❜, must choose ♣q to have at least (0✿015 ✿ ✿ ✿ + ♦(1))❜3❂(lg ❜)2 bits. Subsequent improvements: 3✿73 ✿ ✿ ✿; details of ♦(1). But can reasonably conjecture that 2(lg ♣q)1❂3+♦(1) is optimal —for classical computers.

slide-7
SLIDE 7

Cryptographic systems surviving pre-quantum cryptanalysis: Triple DES (for ❜ ✔ 112), AES-256 (for ❜ ✔ 256), RSA with ❜3+♦(1)-bit modulus, McEliece with code length ❜1+♦(1), Merkle signatures with “strong” ❜1+♦(1)-bit hash, BW with “strong” ❜2+♦(1)- bit discriminant, ECDSA with “strong” ❜1+♦(1)-bit curve, HFEv with ❜1+♦(1) polynomials, NTRU with ❜1+♦(1) bits, et al.

slide-8
SLIDE 8

Typical algorithmic tools for pre-quantum cryptanalysts: NFS, ✚, ISD, LLL, F4, XL, et al. Post-quantum cryptanalysts have all the same tools plus quantum algorithms. Spectacular example: 1994 Shor factors ♣q into ♣❀ q using (lg ♣q)2+♦(1) simple quantum operations. To push this beyond 2❜, must choose ♣q to have at least 2(0✿5+♦(1))❜ bits. Yikes.

slide-9
SLIDE 9

Cryptographic systems surviving post-quantum cryptanalysis: AES-256 (for ❜ ✔ 128), McEliece code-based encryption with code length ❜1+♦(1), Merkle hash-based signatures with “strong” ❜1+♦(1)-bit hash, HFEv MQ signatures with ❜1+♦(1) polynomials, NTRU lattice-based encryption with ❜1+♦(1) bits, et al.

slide-10
SLIDE 10
  • 3. Efficient systems

Fundamental question for designers and implementors

  • f cryptographic algorithms:

Exactly how efficient are the unbroken cryptosystems? Many goals: minimize encryption time, size, decryption time, etc. Pre-quantum example: RSA encrypts and verifies in ❜3+♦(1) simple operations. Signature occupies ❜3+♦(1) bits.

slide-11
SLIDE 11

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. Bonus: also ❜2+♦(1) decryption.

slide-12
SLIDE 12

Efficiency is important: users have cost constraints. Cryptographers, cryptanalysts, implementors, etc. tend to focus on RSA and ECC, citing these cost constraints. But Shor breaks RSA and ECC!

slide-13
SLIDE 13

Efficiency is important: users have cost constraints. Cryptographers, cryptanalysts, implementors, etc. tend to focus on RSA and ECC, citing these cost constraints. But Shor breaks RSA and ECC! We think that the most efficient unbroken post-quantum systems will be hash-based signatures, code-based encryption, lattice-based encryption, multivariate-quadratic sigs.

slide-14
SLIDE 14

1978 McEliece system (with length-♥ classical Goppa codes, reasonable padding, etc.): Conjecture: Fastest attacks cost 2(☞+♦(1))♥❂lg ♥. Quantum attacks: smaller ☞. Can take ♥ ✷ (1❂☞ + ♦(1))❜ lg ❜. Encryption: Matrix mult costs ♥2+♦(1) = ❜2+♦(1). Summary: McEliece costs ❜2+♦(1). Hmmm: is this faster than ECC? Need more detailed analysis.

slide-15
SLIDE 15

ECC encryption: Θ(lg q) operations in Fq. Each operation in Fq costs Θ(lg q lg lg q lg lg lg q). Total Θ(❜2 lg ❜ lg lg ❜).

slide-16
SLIDE 16

ECC encryption: Θ(lg q) operations in Fq. Each operation in Fq costs Θ(lg q lg lg q lg lg lg q). Total Θ(❜2 lg ❜ lg lg ❜). McEliece encryption, with 1986 Niederreiter speedup: Θ(♥❂lg ♥) additions in F♥

2 ,

each costing Θ(♥). Total Θ(❜2 lg ❜).

slide-17
SLIDE 17

ECC encryption: Θ(lg q) operations in Fq. Each operation in Fq costs Θ(lg q lg lg q lg lg lg q). Total Θ(❜2 lg ❜ lg lg ❜). McEliece encryption, with 1986 Niederreiter speedup: Θ(♥❂lg ♥) additions in F♥

2 ,

each costing Θ(♥). Total Θ(❜2 lg ❜). McEliece is asymptotically faster. Bonus: Even faster decryption. Another bonus: Post-quantum.

slide-18
SLIDE 18

Algorithmic advances can change the competition. Examples:

  • 1. Speed up ECC: can reduce

lg lg ❜ using 2007 F¨ urer; maybe someday eliminate lg lg ❜?

slide-19
SLIDE 19

Algorithmic advances can change the competition. Examples:

  • 1. Speed up ECC: can reduce

lg lg ❜ using 2007 F¨ urer; maybe someday eliminate lg lg ❜?

  • 2. Faster attacks on McEliece:

2010 Bernstein–Lange–Peters, 2011 May–Meurer–Thomae, 2012 Becker–Joux–May–Meurer. ✿ ✿ ✿ but still Θ(❜2 lg ❜).

slide-20
SLIDE 20

Algorithmic advances can change the competition. Examples:

  • 1. Speed up ECC: can reduce

lg lg ❜ using 2007 F¨ urer; maybe someday eliminate lg lg ❜?

  • 2. Faster attacks on McEliece:

2010 Bernstein–Lange–Peters, 2011 May–Meurer–Thomae, 2012 Becker–Joux–May–Meurer. ✿ ✿ ✿ but still Θ(❜2 lg ❜).

  • 3. We’re optimizing “subfield

AG” variant of McEliece. Conjecture: Fastest attacks cost 2(☛+♦(1))♥; encryption Θ(❜2).

slide-21
SLIDE 21

Code-based encryption Modern version of McEliece: Receiver’s public key is “random” t lg ♥ ✂ ♥ matrix ❑ over F2. Specifies linear F♥

2 ✦ Ft lg ♥ 2

. Typically t lg ♥ ✙ 0✿2♥; e.g., ♥ = 2048, t = 40. Messages suitable for encryption: ✟ ♠ ✷ F♥

2 : #❢✐ : ♠✐ = 1❣ = t

✠ . Encryption of ♠ is ❑♠ ✷ Ft lg ♥

2

. Use hash of ♠ as secret AES- GCM key to encrypt more data.

slide-22
SLIDE 22

Attacker, by linear algebra, easily works backwards from ❑♠ to some ✈ ✷ F♥

2

such that ❑✈ = ❑♠. i.e. Attacker finds some element ✈ ✷ ♠ + Ker❑. Note that #Ker❑ ✕ 2♥t lg ♥. Attacker wants to decode ✈: to find element of Ker❑ at distance only t from ✈. Presumably unique, revealing ♠. But decoding isn’t easy! Receiver builds ❑ with secret Goppa structure for fast decoding.

slide-23
SLIDE 23

Goppa codes Fix q ✷ ❢8❀ 16❀ 32❀ ✿ ✿ ✿❣; t ✷ ❢2❀ 3❀ ✿ ✿ ✿ ❀ ❜(q 1)❂ lg q❝❣; ♥ ✷ ❢t lg q + 1❀ t lg q + 2❀ ✿ ✿ ✿ ❀ q❣. e.g. q = 1024, t = 50, ♥ = 1024.

  • r q = 4096, t = 150, ♥ = 3600.

Receiver builds a matrix ❍ as the parity-check matrix for the classical (genus-0) irreducible length-♥ degree-t binary Goppa code defined by a monic degree-t irreducible polynomial ❣ ✷ Fq[①] and distinct ❛1❀ ❛2❀ ✿ ✿ ✿ ❀ ❛♥ ✷ Fq.

slide-24
SLIDE 24

✿ ✿ ✿ which means: ❍ = ✵ ❇ ❇ ❇ ❇ ❇ ❇ ❇ ❇ ❇ ❇ ❇ ❇ ❅ 1 ❣(❛1) ✁ ✁ ✁ 1 ❣(❛♥) ❛1 ❣(❛1) ✁ ✁ ✁ ❛♥ ❣(❛♥) . . . ... . . . ❛t1

1

❣(❛1) ✁ ✁ ✁ ❛t1

❣(❛♥) ✶ ❈ ❈ ❈ ❈ ❈ ❈ ❈ ❈ ❈ ❈ ❈ ❈ ❆ ✿ View each element of Fq here as a column in Flg q

2 .

Then ❍ : F♥

2 ✦ Ft lg q 2

.

slide-25
SLIDE 25

More useful view: Consider the map ♠ ✼✦ P

✐ ♠✐❂(① ❛✐)

from F♥

2 to Fq[①]❂❣.

❍ is the matrix for this map where F♥

2 has standard basis

and Fq[①]❂❣ has basis ❜❣❂①❝, ☎ ❣❂①2✆ , ✿ ✿ ✿ , ☎ ❣❂①t✆ . One-line proof: In Fq[①] have ❣ ❣(❛✐) ① ❛✐ = ❳

❥✕0

❛❥

❥ ❣❂①❥+1❦ . Receiver generates key ❑ as row reduction of ❍, revealing only Ker❍.

slide-26
SLIDE 26

Lattice-based encryption 1998 Hoffstein–Pipher–Silverman NTRU (textbook version, without required padding): Receiver’s public key is “random” ❤ ✷ ((Z❂q)[①]❂(①♣ 1))✄. Ciphertext: ♠ + r❤ given ♠❀ r ✷ (Z❂q)[①]❂(①♣ 1); all coefficients in ❢1❀ 0❀ 1❣; #❢✐ : r✐=1❣ = #❢✐ : r✐=1❣ = t. ♣: prime; e.g., ♣ = 613. q: power of 2 around 8♣, with order ✕(♣ 1)❂2 in (Z❂♣)✄. t: roughly 0✿1♣.

slide-27
SLIDE 27

Receiver built ❤ = 3❣❂(1 + 3❢) where ❢❀ ❣ ✷ (Z❂q)[①]❂(①♣ 1), all coeffs in ❢1❀ 0❀ 1❣, #❢✐ : ❢✐=1❣ = #❢✐ : ❢✐=1❣ = t, #❢✐ : ❣✐=1❣ ✙ #❢✐ : ❣✐=1❣ ✙ ♣

3,

both 1 + 3❢ and ❣ invertible. Given ciphertext ❝ = ♠ + r❤, receiver computes (1 + 3❢)❝ = (1 + 3❢)♠ + 3r❣ in (Z❂q)[①]❂(①♣ 1), lifts to Z[①]❂(①♣ 1) with coeffs in ❢q❂2❀ ✿ ✿ ✿ ❀ q❂2 1❣, reduces modulo 3 to obtain ♠.

slide-28
SLIDE 28

Basic attack tool: Lift pairs (✉❀ ✉❤) to Z2♣ to obtain a lattice. Attacking key ❤: (1 + 3❢❀ 3❣) is a short vector in this lattice. Attacking ciphertext ❝: (0❀ ❝) is close to lattice vector (r❀ r❤). Standard lattice algorithms (SVP, CVP) cost 2Θ(♣). Nothing subexponential known, even post-quantum.

slide-29
SLIDE 29

Take ♣ ✷ Θ(❜) for security 2❜ against all known attacks. Θ(❜ lg ❜) bits in key. Time ❜(lg ❜)2+♦(1) to multiply in (Z❂q)[①]❂(①♣ 1). Time ❜(lg ❜)2+♦(1) for encryption, decryption. Excellent overall performance.

slide-30
SLIDE 30

Take ♣ ✷ Θ(❜) for security 2❜ against all known attacks. Θ(❜ lg ❜) bits in key. Time ❜(lg ❜)2+♦(1) to multiply in (Z❂q)[①]❂(①♣ 1). Time ❜(lg ❜)2+♦(1) for encryption, decryption. Excellent overall performance. The McEliece cryptosystem inspires more confidence but has much larger keys.

slide-31
SLIDE 31

Something completely different 1985 H. Lange–Ruppert: ❆(❦) has a complete system

  • f addition laws, degree ✔ (3❀ 3).

Symmetry ✮ degree ✔ (2❀ 2). “The proof is nonconstructive✿ ✿ ✿ To determine explicitly a complete system of addition laws requires tedious computations already in the easiest case

  • f an elliptic curve

in Weierstrass normal form.”

slide-32
SLIDE 32

1985 Lange–Ruppert: Explicit complete system

  • f 3 addition laws

for short Weierstrass curves. Reduce formulas to 53 monomials by introducing extra variables ①✐②❥ + ①❥②✐, ①✐②❥ ①❥②✐. 1987 Lange–Ruppert: Explicit complete system

  • f 3 addition laws

for long Weierstrass curves.

slide-33
SLIDE 33
slide-34
SLIDE 34

1995 Bosma–Lenstra: Explicit complete system

  • f 2 addition laws

for long Weierstrass curves: ❳3❀ ❨3❀ ❩3❀ ❳✵

3❀ ❨ ✵ 3❀ ❩✵ 3

✷ Z[❛1❀ ❛2❀ ❛3❀ ❛4❀ ❛6❀ ❳1❀ ❨1❀ ❩1❀ ❳2❀ ❨2❀ ❩2].

slide-35
SLIDE 35

1995 Bosma–Lenstra: Explicit complete system

  • f 2 addition laws

for long Weierstrass curves: ❳3❀ ❨3❀ ❩3❀ ❳✵

3❀ ❨ ✵ 3❀ ❩✵ 3

✷ Z[❛1❀ ❛2❀ ❛3❀ ❛4❀ ❛6❀ ❳1❀ ❨1❀ ❩1❀ ❳2❀ ❨2❀ ❩2]. My previous slide in this talk: Bosma–Lenstra ❨ ✵

3❀ ❩✵ 3.

slide-36
SLIDE 36

1995 Bosma–Lenstra: Explicit complete system

  • f 2 addition laws

for long Weierstrass curves: ❳3❀ ❨3❀ ❩3❀ ❳✵

3❀ ❨ ✵ 3❀ ❩✵ 3

✷ Z[❛1❀ ❛2❀ ❛3❀ ❛4❀ ❛6❀ ❳1❀ ❨1❀ ❩1❀ ❳2❀ ❨2❀ ❩2]. My previous slide in this talk: Bosma–Lenstra ❨ ✵

3❀ ❩✵ 3.

Actually, slide shows Publish(❨ ✵

3)❀ Publish(❩✵ 3),

where Publish introduces typos.

slide-37
SLIDE 37

What this means: For all fields ❦, all P2 Weierstrass curves ❊❂❦ : ❨ 2❩ + ❛1❳❨ ❩ + ❛3❨ ❩2 = ❳3 + ❛2❳2❩ + ❛4❳❩2 + ❛6❩3, all P1 = (❳1 : ❨1 : ❩1) ✷ ❊(❦), all P2 = (❳2 : ❨2 : ❩2) ✷ ❊(❦): (❳3 : ❨3 : ❩3) is P1 + P2 or (0 : 0 : 0); (❳✵

3 : ❨ ✵ 3 : ❩✵ 3)

is P1 + P2 or (0 : 0 : 0); at most one of these is (0 : 0 : 0).

slide-38
SLIDE 38

2009 Bernstein–T. Lange: For all fields ❦ with 2 ✻= 0, all P1 ✂ P1 Edwards curves ❊❂❦ : ❳2❚ 2 + ❨ 2❩2 = ❩2❚ 2 + ❞❳2❨ 2, all P1❀ P2 ✷ ❊(❦), P1 = ((❳1 : ❩1)❀ (❨1 : ❚1)), P2 = ((❳2 : ❩2)❀ (❨2 : ❚2)): (❳3 : ❩3) is ①(P1 + P2) or (0 : 0); (❳✵

3 : ❩✵ 3) is ①(P1 + P2) or (0 : 0);

(❨3 : ❚3) is ②(P1 + P2) or (0 : 0); (❨ ✵

3 : ❚ ✵ 3) is ②(P1 + P2) or (0 : 0);

at most one of these is (0 : 0).

slide-39
SLIDE 39

❳3 = ❳1❨2❩2❚1 + ❳2❨1❩1❚2, ❩3 = ❩1❩2❚1❚2 + ❞❳1❳2❨1❨2, ❨3 = ❨1❨2❩1❩2 ❳1❳2❚1❚2, ❚3 = ❩1❩2❚1❚2 ❞❳1❳2❨1❨2, ❳✵

3 = ❳1❨1❩2❚2 + ❳2❨2❩1❚1,

❩✵

3 = ❳1❳2❚1❚2 + ❨1❨2❩1❩2,

❨ ✵

3 = ❳1❨1❩2❚2 ❳2❨2❩1❚1,

❚ ✵

3 = ❳1❨2❩2❚1 ❳2❨1❩1❚2.

Much, much, much simpler than Lange–Ruppert, Bosma–Lenstra. Also much easier to prove.

slide-40
SLIDE 40
slide-41
SLIDE 41
slide-42
SLIDE 42
slide-43
SLIDE 43

1987 Lenstra: Use Lange–Ruppert complete system of addition laws to computationally define group ❊(❘) for more general rings ❘— rings with trivial class group. Define P2(❘) = ❢(❳ : ❨ : ❩) : ❳❀ ❨❀ ❩ ✷ ❘; ❳❘+❨ ❘+❩❘ = ❘❣ where (❳ : ❨ : ❩) is the module ❢(✕❳❀ ✕❨❀ ✕❩) : ✕ ✷ ❘❣. Define ❊(❘) = ❢(❳ : ❨ : ❩) ✷ P2(❘) : ❨ 2❩ = ❳3 + ❛4❳❩2 + ❛6❩3❣.

slide-44
SLIDE 44

To define (and compute) sum (❳1 : ❨1 : ❩1) + (❳2 : ❨2 : ❩2): Consider (and compute) Lange–Ruppert (❳3 : ❨3 : ❩3), (❳✵

3 : ❨ ✵ 3 : ❩✵ 3), (❳✵✵ 3 : ❨ ✵✵ 3 : ❩✵✵ 3).

Add these ❘-modules: ❢ (✕❳3❀ ✕❨3❀ ✕❩3) + (✕✵❳✵

3❀ ✕✵❨ ✵ 3❀ ✕✵❩✵ 3)

+ (✕✵✵❳✵✵

3 ❀ ✕✵✵❨ ✵✵ 3 ❀ ✕✵✵❩✵✵ 3) :

✕❀ ✕✵❀ ✕✵✵ ✷ ❘❣. Express as (❳ : ❨ : ❩), using trivial class group of ❘.