Algorithms for multiquadratic number fields D. J. Bernstein Jens - - PDF document

algorithms for multiquadratic number fields d j bernstein
SMART_READER_LITE
LIVE PREVIEW

Algorithms for multiquadratic number fields D. J. Bernstein Jens - - PDF document

1 Algorithms for multiquadratic number fields D. J. Bernstein Jens Bauch, Daniel J. Bernstein, Henry de Valence, Tanja Lange, Christine van Vredendaal. Short generators without quantum computers: the case of multiquadratics. Eurocrypt


slide-1
SLIDE 1

1

Algorithms for multiquadratic number fields

  • D. J. Bernstein

Jens Bauch, Daniel J. Bernstein, Henry de Valence, Tanja Lange, Christine van Vredendaal. “Short generators without quantum computers: the case of multiquadratics.” Eurocrypt 2017. Paper and software: https://multiquad.cr.yp.to

slide-2
SLIDE 2

2

Breakthrough STOC 2009 Gentry cryptosystem “Fully homomorphic encryption using ideal lattices” was broken several years later, under reasonable assumptions.

slide-3
SLIDE 3

2

Breakthrough STOC 2009 Gentry cryptosystem “Fully homomorphic encryption using ideal lattices” was broken several years later, under reasonable assumptions. Assumption 1: User chooses a (“small h+”) cyclotomic field as the underlying number field.

slide-4
SLIDE 4

2

Breakthrough STOC 2009 Gentry cryptosystem “Fully homomorphic encryption using ideal lattices” was broken several years later, under reasonable assumptions. Assumption 1: User chooses a (“small h+”) cyclotomic field as the underlying number field. Assumption 2: Attacker has a large quantum computer.

slide-5
SLIDE 5

2

Breakthrough STOC 2009 Gentry cryptosystem “Fully homomorphic encryption using ideal lattices” was broken several years later, under reasonable assumptions. Assumption 1: User chooses a (“small h+”) cyclotomic field as the underlying number field. Assumption 2: Attacker has a large quantum computer. Can other fields be attacked? Are there non-quantum attacks? What about other cryptosystems?

slide-6
SLIDE 6

3

Compare to 2013 Lyubashevsky– Peikert–Regev: “All of the algebraic and algorithmic tools (including quantum computation) that we employ : : : can also be brought to bear against SVP and

  • ther problems on ideal lattices.

Yet despite considerable effort, no significant progress in attacking these problems has been made. The best known algorithms for ideal lattices perform essentially no better than their generic counterparts, both in theory and in practice.”

slide-7
SLIDE 7

4

Secret key in Gentry’s system: short element g of R. R: e.g., ring of integers OK

  • f a cyclotomic field K.

Public key: ideal gR.

slide-8
SLIDE 8

4

Secret key in Gentry’s system: short element g of R. R: e.g., ring of integers OK

  • f a cyclotomic field K.

Public key: ideal gR. Attack stage 1, quantum: SODA 2016 Biasse–Song finds some generator of gR. Builds on Eisentr¨ ager–Hallgren– Kitaev–Song algorithm for R∗.

slide-9
SLIDE 9

4

Secret key in Gentry’s system: short element g of R. R: e.g., ring of integers OK

  • f a cyclotomic field K.

Public key: ideal gR. Attack stage 1, quantum: SODA 2016 Biasse–Song finds some generator of gR. Builds on Eisentr¨ ager–Hallgren– Kitaev–Song algorithm for R∗. Attack stage 2, cyclotomic: simple reduction algorithm from 2014 Campbell–Groves–Shepherd.

slide-10
SLIDE 10

5

Standard algebraic-number-theory view of all generators of gR, i.e., all ug where u ∈ R∗: Log u ranges over Dirichlet’s log-unit lattice; Log ug = Log u + Log g.

slide-11
SLIDE 11

5

Standard algebraic-number-theory view of all generators of gR, i.e., all ug where u ∈ R∗: Log u ranges over Dirichlet’s log-unit lattice; Log ug = Log u + Log g. Given any generator ug, try to find short Log g by finding lattice vector Log u close to Log ug.

slide-12
SLIDE 12

5

Standard algebraic-number-theory view of all generators of gR, i.e., all ug where u ∈ R∗: Log u ranges over Dirichlet’s log-unit lattice; Log ug = Log u + Log g. Given any generator ug, try to find short Log g by finding lattice vector Log u close to Log ug. Apply, e.g., embedding or Babai, starting from basis for Log R∗? Hard to find short enough basis, unless g is extremely short.

slide-13
SLIDE 13

6

For cyclotomic fields,

  • ften u is a “cyclotomic unit”.

Known textbook basis for cyclotomic units is a short basis.

slide-14
SLIDE 14

6

For cyclotomic fields,

  • ften u is a “cyclotomic unit”.

Known textbook basis for cyclotomic units is a short basis. Take, e.g., “ = exp(2ıi=1024); field Q(“); ring R = Z[“].

slide-15
SLIDE 15

6

For cyclotomic fields,

  • ften u is a “cyclotomic unit”.

Known textbook basis for cyclotomic units is a short basis. Take, e.g., “ = exp(2ıi=1024); field Q(“); ring R = Z[“]. (“3 − 1)=(“ − 1) is a unit: directly invert, or apply “ → “3 automorphism to factors of “ − 1.

slide-16
SLIDE 16

6

For cyclotomic fields,

  • ften u is a “cyclotomic unit”.

Known textbook basis for cyclotomic units is a short basis. Take, e.g., “ = exp(2ıi=1024); field Q(“); ring R = Z[“]. (“3 − 1)=(“ − 1) is a unit: directly invert, or apply “ → “3 automorphism to factors of “ − 1. (“9 − 1)=(“3 − 1) is a unit. (“27 − 1)=(“9 − 1) is a unit. Et cetera. Obtain short basis.

slide-17
SLIDE 17

6

For cyclotomic fields,

  • ften u is a “cyclotomic unit”.

Known textbook basis for cyclotomic units is a short basis. Take, e.g., “ = exp(2ıi=1024); field Q(“); ring R = Z[“]. (“3 − 1)=(“ − 1) is a unit: directly invert, or apply “ → “3 automorphism to factors of “ − 1. (“9 − 1)=(“3 − 1) is a unit. (“27 − 1)=(“9 − 1) is a unit. Et cetera. Obtain short basis. Now embedding easily finds g.

slide-18
SLIDE 18

7

Are you a lattice salesman? Try to dismiss lattice attacks. Ask: Do attacks against

  • the gR → g problem,
  • Gentry’s original FHE system,
  • the original Garg–Gentry–Halevi

multilinear maps, : : : really matter for users?

slide-19
SLIDE 19

7

Are you a lattice salesman? Try to dismiss lattice attacks. Ask: Do attacks against

  • the gR → g problem,
  • Gentry’s original FHE system,
  • the original Garg–Gentry–Halevi

multilinear maps, : : : really matter for users? My response to the salesman: Maybe not—but this problem is a natural starting point for studying other lattice problems that we certainly care about. “Canary in the coal mine.”

slide-20
SLIDE 20

8

“Exact Ideal-SVP”: I → shortest nonzero vector in I. “Approximate Ideal-SVP”: I → short nonzero vector in I.

slide-21
SLIDE 21

8

“Exact Ideal-SVP”: I → shortest nonzero vector in I. “Approximate Ideal-SVP”: I → short nonzero vector in I. Attack is against ideal I with a short generator.

slide-22
SLIDE 22

8

“Exact Ideal-SVP”: I → shortest nonzero vector in I. “Approximate Ideal-SVP”: I → short nonzero vector in I. Attack is against ideal I with a short generator. 2015 Peikert says idea is “useless” for more general principal ideals: “We simply hadn’t realized that the added guarantee of a short generator would transform the technique from useless to devastatingly effective.”

slide-23
SLIDE 23

9

2015 Peikert also says idea is limited to principal ideals: “Although cyclotomics have a lot of structure, nobody has yet found a way to exploit it in attacking Ideal-SVP/BDD : : : For commonly used rings, principal ideals are an extremely small fraction of all

  • ideals. : : : The weakness here is

not so much due to the structure

  • f cyclotomics, but rather to the

extra structure of principal ideals that have short generators.”

slide-24
SLIDE 24

10

Actually, the idea produces attacks far beyond this case. 2016 Cramer–Ducas–Wesolowski: Ideal-SVP attack for approx factor 2N1=2+o(1) in deg-N cyclotomics, under plausible assumptions about class-group generators etc. Start from Biasse–Song, use more features of cyclotomic fields.

slide-25
SLIDE 25

10

Actually, the idea produces attacks far beyond this case. 2016 Cramer–Ducas–Wesolowski: Ideal-SVP attack for approx factor 2N1=2+o(1) in deg-N cyclotomics, under plausible assumptions about class-group generators etc. Start from Biasse–Song, use more features of cyclotomic fields. Can techniques be pushed to smaller approx factors? Can techniques be adapted to break, e.g., Ring-LWE?

slide-26
SLIDE 26

11

NIST post-quantum competition 69 submissions (5 withdrawn), including 20 lattice-based enc.

slide-27
SLIDE 27

11

NIST post-quantum competition 69 submissions (5 withdrawn), including 20 lattice-based enc. Most lattice-based enc systems use power-of-2 cyclotomics. Some non-power-of-2 cyclotomics: LIMA has Φ1019 option, “more conservative choice of field”; NTRU-HRSS-KEM uses Φ701; NTRUEncrypt uses Φ743 etc.

slide-28
SLIDE 28

11

NIST post-quantum competition 69 submissions (5 withdrawn), including 20 lattice-based enc. Most lattice-based enc systems use power-of-2 cyclotomics. Some non-power-of-2 cyclotomics: LIMA has Φ1019 option, “more conservative choice of field”; NTRU-HRSS-KEM uses Φ701; NTRUEncrypt uses Φ743 etc. Can cyclotomic attacks on Gentry be extended to these systems?

slide-29
SLIDE 29

12

Some systems avoid cyclotomics. FrodoKEM-640, 9616-byte key: relies on matrix rings; says that commutative rings “have the potential for weaknesses due to the extra structure”.

slide-30
SLIDE 30

12

Some systems avoid cyclotomics. FrodoKEM-640, 9616-byte key: relies on matrix rings; says that commutative rings “have the potential for weaknesses due to the extra structure”. Titanium-lite, 14720-byte key: uses “middle product” to “hedge against the weakness

  • f specific polynomial rings”.
slide-31
SLIDE 31

12

Some systems avoid cyclotomics. FrodoKEM-640, 9616-byte key: relies on matrix rings; says that commutative rings “have the potential for weaknesses due to the extra structure”. Titanium-lite, 14720-byte key: uses “middle product” to “hedge against the weakness

  • f specific polynomial rings”.

Streamlined NTRU Prime 4591761, 1218-byte key: see Tanja’s talk later today.

slide-32
SLIDE 32

13

Two theories of lattice safety Theory 1: Best choices of field F are choices where we know proofs “attack against cryptosystem CF ⇒ attack against problem LF ”, where LF is a “lattice problem”.

slide-33
SLIDE 33

13

Two theories of lattice safety Theory 1: Best choices of field F are choices where we know proofs “attack against cryptosystem CF ⇒ attack against problem LF ”, where LF is a “lattice problem”. Intuitive flaw in theory 1: Maybe these choices make LF weak!

slide-34
SLIDE 34

13

Two theories of lattice safety Theory 1: Best choices of field F are choices where we know proofs “attack against cryptosystem CF ⇒ attack against problem LF ”, where LF is a “lattice problem”. Intuitive flaw in theory 1: Maybe these choices make LF weak! Theory 2: Safety of field F is damaged by extra automorphisms, extra subfields, etc. Similar situation to discrete-log crypto.

slide-35
SLIDE 35

13

Two theories of lattice safety Theory 1: Best choices of field F are choices where we know proofs “attack against cryptosystem CF ⇒ attack against problem LF ”, where LF is a “lattice problem”. Intuitive flaw in theory 1: Maybe these choices make LF weak! Theory 2: Safety of field F is damaged by extra automorphisms, extra subfields, etc. Similar situation to discrete-log crypto. What’s a good test case for F?

slide-36
SLIDE 36

14

Multiquadratic fields Assumptions: n ∈ {0; 1; 2; : : :}; squarefree d1; : : : ; dn ∈ Z; Q

j∈J dj non-square for each

nonempty subset J ⊆ {1; : : : ; n}. K = Q(√d1; : : : ; √dn): smallest subfield of C containing √d1; : : : ; √dn. K is a degree-2n number field. Basis: Q

j∈J dj for each

subset J ⊆ {1; : : : ; n}. e.g. Q( √ 2; √ 3) = Q ⊕ Q √ 2 ⊕ Q √ 3 ⊕ Q √ 6.

slide-37
SLIDE 37

15

This field is Galois: has 2n automorphisms. e.g. automorphisms of Q( √ 2; √ 3) map a + b √ 2 + c √ 3 + d √ 6 to a + b √ 2 + c √ 3 + d √ 6; a − b √ 2 + c √ 3 − d √ 6; a + b √ 2 − c √ 3 − d √ 6; a − b √ 2 − c √ 3 + d √ 6.

slide-38
SLIDE 38

15

This field is Galois: has 2n automorphisms. e.g. automorphisms of Q( √ 2; √ 3) map a + b √ 2 + c √ 3 + d √ 6 to a + b √ 2 + c √ 3 + d √ 6; a − b √ 2 + c √ 3 − d √ 6; a + b √ 2 − c √ 3 − d √ 6; a − b √ 2 − c √ 3 + d √ 6. About 2n2=4 subfields. e.g. subfields of Q( √ 2; √ 3): Q( √ 2; √ 3), Q( √ 2), Q( √ 3), Q( √ 6), Q.

slide-39
SLIDE 39

16

Gentry for multiquadratics Use optimizations from PKC 2010 Smart–Vercauteren, Eurocrypt 2011 Gentry–Halevi.

slide-40
SLIDE 40

16

Gentry for multiquadratics Use optimizations from PKC 2010 Smart–Vercauteren, Eurocrypt 2011 Gentry–Halevi. F: monic irreducible polynomial. Ring R = Z[x]=F; not required to be ring of integers of Q[x]=F.

slide-41
SLIDE 41

16

Gentry for multiquadratics Use optimizations from PKC 2010 Smart–Vercauteren, Eurocrypt 2011 Gentry–Halevi. F: monic irreducible polynomial. Ring R = Z[x]=F; not required to be ring of integers of Q[x]=F. Multiquadratics: take, e.g., F = (x − √ 2 − √ 3) · (x + √ 2 − √ 3) · (x − √ 2 + √ 3) · (x + √ 2 + √ 3). Note Q( √ 2 + √ 3) = Q( √ 2; √ 3).

slide-42
SLIDE 42

17

Smart–Vercauteren keygen: Take short random g ∈ R. Compute q, absolute norm of g. Start over if q is not prime.

slide-43
SLIDE 43

17

Smart–Vercauteren keygen: Take short random g ∈ R. Compute q, absolute norm of g. Start over if q is not prime. Compute root r of g in Z=q. Public key gR = qR + (x − r)R is represented as (q; r).

slide-44
SLIDE 44

17

Smart–Vercauteren keygen: Take short random g ∈ R. Compute q, absolute norm of g. Start over if q is not prime. Compute root r of g in Z=q. Public key gR = qR + (x − r)R is represented as (q; r). (We implemented multiquadratic adaptation of Gentry–Halevi cyclotomic keygen speedup: instead of requiring prime q, require gcd{b; q} > 1 for each relative norm a + b√di of g. Any squarefree q will work.)

slide-45
SLIDE 45

18

Smart–Vercauteren encryption: Take short m ∈ Z[x]=F. Ciphertext is m(r) ∈ Z=q.

slide-46
SLIDE 46

18

Smart–Vercauteren encryption: Take short m ∈ Z[x]=F. Ciphertext is m(r) ∈ Z=q. Homomorphic operations: add/multiply ciphertexts m(r) to add/multiply messages m.

slide-47
SLIDE 47

18

Smart–Vercauteren encryption: Take short m ∈ Z[x]=F. Ciphertext is m(r) ∈ Z=q. Homomorphic operations: add/multiply ciphertexts m(r) to add/multiply messages m. Decryption: given c ∈ {0; 1; : : : ; q − 1}, compute c=g ∈ Q[x]=F, round to element of Z[x]=F, multiply by g, subtract from c.

slide-48
SLIDE 48

18

Smart–Vercauteren encryption: Take short m ∈ Z[x]=F. Ciphertext is m(r) ∈ Z=q. Homomorphic operations: add/multiply ciphertexts m(r) to add/multiply messages m. Decryption: given c ∈ {0; 1; : : : ; q − 1}, compute c=g ∈ Q[x]=F, round to element of Z[x]=F, multiply by g, subtract from c. Decryption works if each coefficient of m=g ∈ Q[x]=F is in (−1=2; 1=2).

slide-49
SLIDE 49

19

Gentry says “computational complexity of all of these algorithms must be polynomial in security parameter”. Flaw in Smart–Vercauteren: for some choices of F, keygen time is not polynomial in security parameter.

slide-50
SLIDE 50

19

Gentry says “computational complexity of all of these algorithms must be polynomial in security parameter”. Flaw in Smart–Vercauteren: for some choices of F, keygen time is not polynomial in security parameter. For multiquadratic F, keygen is disastrously slow: far too many tries to find prime q. (Adaptation

  • f Gentry–Halevi speedup gives
  • nly a polynomial improvement.)
slide-51
SLIDE 51

20

Why this happens: Fix prime p. Take field k of size p2.

slide-52
SLIDE 52

20

Why this happens: Fix prime p. Take field k of size p2. d1; : : : ; dn are squares in k, so F splits completely in k[x]. deg h ∈ {1; 2} for each irred factor h of F in Fp[x].

slide-53
SLIDE 53

20

Why this happens: Fix prime p. Take field k of size p2. d1; : : : ; dn are squares in k, so F splits completely in k[x]. deg h ∈ {1; 2} for each irred factor h of F in Fp[x]. Heuristic: for most p ≤ 2n, have Θ(p) distinct linear factors h.

slide-54
SLIDE 54

20

Why this happens: Fix prime p. Take field k of size p2. d1; : : : ; dn are squares in k, so F splits completely in k[x]. deg h ∈ {1; 2} for each irred factor h of F in Fp[x]. Heuristic: for most p ≤ 2n, have Θ(p) distinct linear factors h. For each linear factor h: with probability ≈1=p, h divides g in Fp[x], forcing p2 to divide norm of g if any di is non-square in Fp.

slide-55
SLIDE 55

21

Our multiquadratic tweaks to Smart–Vercauteren (including adaptation of Gentry–Halevi):

  • 1. Generalize cryptosystem to

support n polynomial variables. Use R = Z[√d1; : : : ; √dn].

slide-56
SLIDE 56

21

Our multiquadratic tweaks to Smart–Vercauteren (including adaptation of Gentry–Halevi):

  • 1. Generalize cryptosystem to

support n polynomial variables. Use R = Z[√d1; : : : ; √dn].

  • 2. Subroutine: Construct uniform

random invertible element of R=p.

slide-57
SLIDE 57

21

Our multiquadratic tweaks to Smart–Vercauteren (including adaptation of Gentry–Halevi):

  • 1. Generalize cryptosystem to

support n polynomial variables. Use R = Z[√d1; : : : ; √dn].

  • 2. Subroutine: Construct uniform

random invertible element of R=p.

  • 3. Choose y ∈ Θ(2n=n).

Force g to be invertible mod all primes p ≤ y. Heuristically, good chance of squarefree norm.

slide-58
SLIDE 58

22

Computing units Fix positive non-square d ∈ Z. Assume d quasipoly in 2n; i.e., log d ∈ nO(1).

slide-59
SLIDE 59

22

Computing units Fix positive non-square d ∈ Z. Assume d quasipoly in 2n; i.e., log d ∈ nO(1). ˘ : : : ; ±"−2; ±"−1; ±1; ±"; ±"2; : : : ¯ is unit group of ring of integers of Q( √ d) for a unique " > 1, the normalized fundamental unit. log " < √ d(2 + log 4d); quasipoly.

slide-60
SLIDE 60

22

Computing units Fix positive non-square d ∈ Z. Assume d quasipoly in 2n; i.e., log d ∈ nO(1). ˘ : : : ; ±"−2; ±"−1; ±1; ±"; ±"2; : : : ¯ is unit group of ring of integers of Q( √ d) for a unique " > 1, the normalized fundamental unit. log " < √ d(2 + log 4d); quasipoly. Standard algorithms compute a; b ∈ Q with " = a + b √ d in time (log ")1+o(1); quasipoly. (Can save time by instead representing " as product.)

slide-61
SLIDE 61

23

Take a multiquadratic field K = Q(√d1; : : : ; √dn). Assume n > 0 and all di > 0. The set of multiquadratic units is the group generated by units

  • f all 2n − 1 quadratic subfields.

Analogous to cyclotomic units. Compute this group by computing all normalized fundamental units.

slide-62
SLIDE 62

23

Take a multiquadratic field K = Q(√d1; : : : ; √dn). Assume n > 0 and all di > 0. The set of multiquadratic units is the group generated by units

  • f all 2n − 1 quadratic subfields.

Analogous to cyclotomic units. Compute this group by computing all normalized fundamental units. We go beyond this: compute O∗

K.

Could use Eisentr¨ ager–Hallgren– Kitaev–Song, but we don’t want to wait for quantum computers.

slide-63
SLIDE 63

24

1966 Wada: exponential-time O∗

K

algorithm for multiquadratics.

slide-64
SLIDE 64

24

1966 Wada: exponential-time O∗

K

algorithm for multiquadratics. First step: Recursively compute unit groups for three proper subfields Kff; Kfi; Kfffi of K. Base cases: Q; Q( √ d). ff; fi: distinct non-identity automorphisms of K. Kff = {x ∈ K : ff(x) = x}.

slide-65
SLIDE 65

24

1966 Wada: exponential-time O∗

K

algorithm for multiquadratics. First step: Recursively compute unit groups for three proper subfields Kff; Kfi; Kfffi of K. Base cases: Q; Q( √ d). ff; fi: distinct non-identity automorphisms of K. Kff = {x ∈ K : ff(x) = x}. e.g. K = Q( √ 2; √ 3; √ 5), appropriate ff; fi: have Kff = Q( √ 2; √ 3); Kfi = Q( √ 2; √ 5); Kfffi = Q( √ 2; √ 15).

slide-66
SLIDE 66

25

Second step: Compute U = O∗

KffO∗ Kfi ff(O∗ Kfffi ).

slide-67
SLIDE 67

25

Second step: Compute U = O∗

KffO∗ Kfi ff(O∗ Kfffi ).

Fact: U ≤ O∗

K.

slide-68
SLIDE 68

25

Second step: Compute U = O∗

KffO∗ Kfi ff(O∗ Kfffi ).

Fact: U ≤ O∗

K.

Fact: (O∗

K)2 ≤ U.

slide-69
SLIDE 69

25

Second step: Compute U = O∗

KffO∗ Kfi ff(O∗ Kfffi ).

Fact: U ≤ O∗

K.

Fact: (O∗

K)2 ≤ U.

Proof: If u ∈ O∗

K then

uff(u) ∈ O∗

Kff;

ufi(u) ∈ O∗

Kfi ;

uff(fi(u)) ∈ O∗

Kfffi ; so

uff(u)ufi(u)=ff(uff(fi(u))) ∈ U.

slide-70
SLIDE 70

25

Second step: Compute U = O∗

KffO∗ Kfi ff(O∗ Kfffi ).

Fact: U ≤ O∗

K.

Fact: (O∗

K)2 ≤ U.

Proof: If u ∈ O∗

K then

uff(u) ∈ O∗

Kff;

ufi(u) ∈ O∗

Kfi ;

uff(fi(u)) ∈ O∗

Kfffi ; so

uff(u)ufi(u)=ff(uff(fi(u))) ∈ U. In other words, u2 ∈ U.

slide-71
SLIDE 71

26

Third step: identify (O∗

K)2 inside U by

trying to compute square roots

  • f products of generators of U.
slide-72
SLIDE 72

26

Third step: identify (O∗

K)2 inside U by

trying to compute square roots

  • f products of generators of U.

2Θ(2n) products.

slide-73
SLIDE 73

26

Third step: identify (O∗

K)2 inside U by

trying to compute square roots

  • f products of generators of U.

2Θ(2n) products. We do much better using an NFS idea from 1991 Adleman.

slide-74
SLIDE 74

26

Third step: identify (O∗

K)2 inside U by

trying to compute square roots

  • f products of generators of U.

2Θ(2n) products. We do much better using an NFS idea from 1991 Adleman. ¸e1

1 · · · ¸ek k square ⇒

ffl(¸1)e1 · · · ffl(¸k)ek = 1 for any quadratic character ffl with ffl(¸1); : : : ; ffl(¸k) ∈ {−1; 1}.

slide-75
SLIDE 75

26

Third step: identify (O∗

K)2 inside U by

trying to compute square roots

  • f products of generators of U.

2Θ(2n) products. We do much better using an NFS idea from 1991 Adleman. ¸e1

1 · · · ¸ek k square ⇒

ffl(¸1)e1 · · · ffl(¸k)ek = 1 for any quadratic character ffl with ffl(¸1); : : : ; ffl(¸k) ∈ {−1; 1}. Linear equation, usually reducing dim{e} by 1. Use many such ffl.

slide-76
SLIDE 76

27

Computing generators Main goal: Find g given gR, where R = Z[√d1; : : : ; √dn].

slide-77
SLIDE 77

27

Computing generators Main goal: Find g given gR, where R = Z[√d1; : : : ; √dn]. Strategy: Reuse the equation g2 = gff(g)gfi(g)=ff(gff(fi(g))). Square root of g2 is ±g.

slide-78
SLIDE 78

27

Computing generators Main goal: Find g given gR, where R = Z[√d1; : : : ; √dn]. Strategy: Reuse the equation g2 = gff(g)gfi(g)=ff(gff(fi(g))). Square root of g2 is ±g. How to compute gff(g)?

slide-79
SLIDE 79

27

Computing generators Main goal: Find g given gR, where R = Z[√d1; : : : ; √dn]. Strategy: Reuse the equation g2 = gff(g)gfi(g)=ff(gff(fi(g))). Square root of g2 is ±g. How to compute gff(g)? First compute relative norm

  • f ideal gR from K to Kff.

Obtain ideal generated by gff(g).

slide-80
SLIDE 80

27

Computing generators Main goal: Find g given gR, where R = Z[√d1; : : : ; √dn]. Strategy: Reuse the equation g2 = gff(g)gfi(g)=ff(gff(fi(g))). Square root of g2 is ±g. How to compute gff(g)? First compute relative norm

  • f ideal gR from K to Kff.

Obtain ideal generated by gff(g). Recursively compute a generator

  • f this ideal: probably not gff(g).

Some ugff(g) with u ∈ O∗

Kff.

slide-81
SLIDE 81

28

Unit multiple of gff(g), unit multiple of gfi(g), unit multiple of gff(fi(g)) ⇒ some ug2 with u ∈ O∗

K.

slide-82
SLIDE 82

28

Unit multiple of gff(g), unit multiple of gfi(g), unit multiple of gff(fi(g)) ⇒ some ug2 with u ∈ O∗

K.

Use quadratic characters (with values ±1 on g) to identify v ∈ O∗

K

such that vug2 is a square.

slide-83
SLIDE 83

28

Unit multiple of gff(g), unit multiple of gfi(g), unit multiple of gff(fi(g)) ⇒ some ug2 with u ∈ O∗

K.

Use quadratic characters (with values ±1 on g) to identify v ∈ O∗

K

such that vug2 is a square. Now compute square root: some unit multiple of g, i.e., some g′ with g′OK = gOK.

slide-84
SLIDE 84

28

Unit multiple of gff(g), unit multiple of gfi(g), unit multiple of gff(fi(g)) ⇒ some ug2 with u ∈ O∗

K.

Use quadratic characters (with values ±1 on g) to identify v ∈ O∗

K

such that vug2 is a square. Now compute square root: some unit multiple of g, i.e., some g′ with g′OK = gOK. All of this takes quasipoly time.

slide-85
SLIDE 85

29

Computing short generators Assume d1; : : : ; dn ≥ 21:03n. (More work seems to push bound to <n2; see paper and software.)

slide-86
SLIDE 86

29

Computing short generators Assume d1; : : : ; dn ≥ 21:03n. (More work seems to push bound to <n2; see paper and software.) Find multiquadratic (MQ) units. Find all units. Find some generator ug.

slide-87
SLIDE 87

29

Computing short generators Assume d1; : : : ; dn ≥ 21:03n. (More work seems to push bound to <n2; see paper and software.) Find multiquadratic (MQ) units. Find all units. Find some generator ug. Heuristic: For most d1; : : : ; dn, all regulators log " are larger than 20:51n; so coefficients of 2n Log g

  • n MQ unit basis are

almost certainly in (−0:1; 0:1).

slide-88
SLIDE 88

30

u2n is an MQ unit. Log u2n = 2n Log u is closest vector to 2n Log ug.

slide-89
SLIDE 89

30

u2n is an MQ unit. Log u2n = 2n Log u is closest vector to 2n Log ug. MQ unit lattice is orthogonal. Round 2n Log ug to find 2n Log u and 2n Log g. Deduce ±g2n.

slide-90
SLIDE 90

30

u2n is an MQ unit. Log u2n = 2n Log u is closest vector to 2n Log ug. MQ unit lattice is orthogonal. Round 2n Log ug to find 2n Log u and 2n Log g. Deduce ±g2n. Use quadratic character: g2n.

slide-91
SLIDE 91

30

u2n is an MQ unit. Log u2n = 2n Log u is closest vector to 2n Log ug. MQ unit lattice is orthogonal. Round 2n Log ug to find 2n Log u and 2n Log g. Deduce ±g2n. Use quadratic character: g2n. Square root: ±g2n−1.

slide-92
SLIDE 92

30

u2n is an MQ unit. Log u2n = 2n Log u is closest vector to 2n Log ug. MQ unit lattice is orthogonal. Round 2n Log ug to find 2n Log u and 2n Log g. Deduce ±g2n. Use quadratic character: g2n. Square root: ±g2n−1. Use quadratic character: g2n−1. Square root: ±g2n−2.

slide-93
SLIDE 93

30

u2n is an MQ unit. Log u2n = 2n Log u is closest vector to 2n Log ug. MQ unit lattice is orthogonal. Round 2n Log ug to find 2n Log u and 2n Log g. Deduce ±g2n. Use quadratic character: g2n. Square root: ±g2n−1. Use quadratic character: g2n−1. Square root: ±g2n−2. . . . Square root: ±g. Done! MQ cryptosystem is broken for all of these fields.

slide-94
SLIDE 94

31

Slightly simpler: Find MQ units, but skip finding all units.

slide-95
SLIDE 95

31

Slightly simpler: Find MQ units, but skip finding all units. Recursively find ug2n−1 where u is an MQ unit; i.e., skip square-root computations.

slide-96
SLIDE 96

31

Slightly simpler: Find MQ units, but skip finding all units. Recursively find ug2n−1 where u is an MQ unit; i.e., skip square-root computations. Take logs: Log ug2n−1. Round: Log u.

slide-97
SLIDE 97

31

Slightly simpler: Find MQ units, but skip finding all units. Recursively find ug2n−1 where u is an MQ unit; i.e., skip square-root computations. Take logs: Log ug2n−1. Round: Log u. Deduce ±g2n−1. Use quadratic character: g2n−1. Square root: ±g2n−2. . . . Square root: ±g.