Bivariate Polynomials Modulo Composites and Their Applications Dan - - PowerPoint PPT Presentation

bivariate polynomials modulo composites and their
SMART_READER_LITE
LIVE PREVIEW

Bivariate Polynomials Modulo Composites and Their Applications Dan - - PowerPoint PPT Presentation

Bivariate Polynomials Modulo Composites and Their Applications Dan Boneh and Henry Corrigan-Gibbs Stanford University ASIACRYPT 8 December 2014 Cryptos Bread and Butter Let N = pq be an RSA modulus of unknown factorization. 2/27


slide-1
SLIDE 1

Bivariate Polynomials Modulo Composites and Their Applications

Dan Boneh and Henry Corrigan-Gibbs Stanford University ASIACRYPT — 8 December 2014

slide-2
SLIDE 2

Crypto’s Bread and Butter

Let N = pq be an RSA modulus of unknown factorization.

2/27

slide-3
SLIDE 3

Crypto’s Bread and Butter

Let N = pq i.e., p and q are large distinct random primes be an RSA modulus of unknown factorization.

2/27

slide-4
SLIDE 4

Crypto’s Bread and Butter

Let N = pq be an RSA modulus of unknown factorization.

2/27

slide-5
SLIDE 5

Crypto’s Bread and Butter

Let N = pq be an RSA modulus of unknown factorization. Question Given a fixed polynomial f ∈ Z[x] and c ←R ZN How hard is it to solve: f(x) = c mod N ?

2/27

slide-6
SLIDE 6

Crypto’s Bread and Butter

When f(x) = x2, solving x2 = c mod N is as hard as factoring N [Rabin ’79]

3/27

slide-7
SLIDE 7

Crypto’s Bread and Butter

When f(x) = x2, solving x2 = c mod N is as hard as factoring N [Rabin ’79] When f(x) = x3, solving x3 = c mod N is the RSA problem [Rivest-Shamir-Adleman ’78]

3/27

slide-8
SLIDE 8

Crypto’s Bread and Butter

When f(x) = x2, solving x2 = c mod N is as hard as factoring N [Rabin ’79] When f(x) = x3, solving x3 = c mod N is the RSA problem [Rivest-Shamir-Adleman ’78] When f ∈ ZN[x] is random (of fixed degree), solving: f(x) = 0 mod N is as hard as factoring N [Schwenk-Eisfeld ’96]

3/27

slide-9
SLIDE 9

A Natural Extension: Bivariates

Question Fix a bivariate polynomial f ∈ Z[x, y], choose c ←R ZN For which f is it hard to solve: f(x, y) = c mod N ?

4/27

slide-10
SLIDE 10

A Natural Extension: Bivariates

Question Fix a bivariate polynomial f ∈ Z[x, y], choose c ←R ZN For which f is it hard to solve: f(x, y) = c mod N ? When does f(x, y) mod N have interesting cryptographic properties?

4/27

slide-11
SLIDE 11

A Natural Extension: Bivariates

Question Fix a bivariate polynomial f ∈ Z[x, y], choose c ←R ZN For which f is it hard to solve: f(x, y) = c mod N ? When does f(x, y) mod N have interesting Subject of this talk cryptographic properties?

4/27

slide-12
SLIDE 12

Immediate Application

From the discrete log

  • problem. . .

M = gm

5/27

slide-13
SLIDE 13

Immediate Application

From the discrete log

  • problem. . .

M = gm . . . we get a commit- ment scheme: C(m; r) = gmhr

[Pedersen ’91] 5/27

slide-14
SLIDE 14

Immediate Application

From the discrete log

  • problem. . .

M = gm From the RSA problem. . . M = m3 mod N . . . we get a commit- ment scheme: C(m; r) = gmhr

[Pedersen ’91] 5/27

slide-15
SLIDE 15

Immediate Application

From the discrete log

  • problem. . .

M = gm From the RSA problem. . . M = m3 mod N . . . we get a commit- ment scheme: C(m; r) = gmhr

[Pedersen ’91]

. . . do we get a commitment scheme? C(m; r) = m3 + 2r3 mod N

5/27

slide-16
SLIDE 16

Immediate Application

From the discrete log

  • problem. . .

M = gm From the RSA problem. . . M = m3 mod N . . . we get a commit- ment scheme: C(m; r) = gmhr

[Pedersen ’91]

. . . do we get a commitment scheme? Or maybe m4? m5? C(m; r) = m3 + 2r3 mod N

5/27

slide-17
SLIDE 17

Immediate Application

From the discrete log

  • problem. . .

M = gm From the RSA problem. . . M = m3 mod N . . . we get a commit- ment scheme: C(m; r) = gmhr

[Pedersen ’91]

. . . do we get a commitment scheme? C(m; r) = m3 + 2r3 mod N

5/27

slide-18
SLIDE 18

Immediate Application

From the discrete log

  • problem. . .

M = gm From the RSA problem. . . M = m3 mod N . . . we get a commit- ment scheme: C(m; r) = gmhr

[Pedersen ’91]

. . . do we get a commitment scheme? C(m; r) = m3 + 2r3 mod N

5/27

X

slide-19
SLIDE 19

Overview

Motivation Classifying Polynomials One way functions Second preimage resistance Collision Resistance Applications Conclusion

6/27

slide-20
SLIDE 20

Classifying Polynomials

Useful cryptographic properties of f(x, y) mod N:

▶ one-wayness ▶ second preimage resistance ▶ collision resistance

7/27

slide-21
SLIDE 21

Classifying Polynomials

Useful cryptographic properties of f(x, y) mod N:

▶ one-wayness ▶ second preimage resistance ▶ collision resistance

Question Which polynomials f ∈ Z[x, y] define functions mod N with these properties?

7/27

slide-22
SLIDE 22

To understand properties of c ← f(x, y) mod N, look at the properties of f(x, y) = c ∈ Q.

8/27

slide-23
SLIDE 23

Our Approach

Fact If it’s easy to find rational solutions to f(x, y) = c ∈ Q then, for random RSA moduli N, it’s easy find solutions to f(x, y) = c mod N.

9/27

slide-24
SLIDE 24

Our Approach

Fact If it’s easy to find rational solutions to Find solution and reduce it mod N. f(x, y) = c ∈ Q then, for random RSA moduli N, it’s easy find solutions to f(x, y) = c mod N.

9/27

slide-25
SLIDE 25

Our Approach

Fact If it’s easy to find rational solutions to f(x, y) = c ∈ Q then, for random RSA moduli N, it’s easy find solutions to f(x, y) = c mod N.

9/27

slide-26
SLIDE 26

Our Approach

Fact If it’s easy to find rational solutions to f(x, y) = c ∈ Q then, for random RSA moduli N, it’s easy find solutions to f(x, y) = c mod N. Question Is this the only way to find solutions mod N?

9/27

slide-27
SLIDE 27

Our Approach

Fact If it’s easy to find rational solutions to f(x, y) = c ∈ Q then, for random RSA moduli N, it’s easy find solutions to f(x, y) = c mod N. Question Is this the only way to find solutions mod N? Can compute +,−,∗,/. Not √x.

9/27

slide-28
SLIDE 28

Our Approach

Fact If it’s easy to find rational solutions to f(x, y) = c ∈ Q then, for random RSA moduli N, it’s easy find solutions to f(x, y) = c mod N. Question Is this the only way to find solutions mod N?

9/27

slide-29
SLIDE 29

Our Approach

Fact If it’s easy to find rational solutions to f(x, y) = c ∈ Q then, for random RSA moduli N, it’s easy find solutions to f(x, y) = c mod N. Question Is this the only way to find solutions mod N? More generally: Are rational properties of f sufficient to get cryptographic properties mod N?

9/27

slide-30
SLIDE 30

One Wayness

Example You want this to be a OWF. Is it?

f(x, y) = x2 − 5y2 + 3xy mod N

10/27

slide-31
SLIDE 31

One Wayness

Example You want this to be a OWF. Is it?

f(x, y) = x2 − 5y2 + 3xy mod N

No! The curve f(x, y) = c is of genus zero over Q, so can efficiently invert the OWF. [Pollard-Schnorr ’87]

10/27

slide-32
SLIDE 32

One Wayness

Example You want this to be a OWF. Is it?

f(x, y) = x2 − 5y2 + 3xy mod N

No! The curve f(x, y) = c is of genus zero over Q, so can efficiently invert the OWF. [Pollard-Schnorr ’87]

OSS’84 sigs (broken) relied on the hardness of a related problem.

10/27

slide-33
SLIDE 33

One Wayness

Classify polynomials f ∈ Z[x, y] according to the genus of f(x, y) − c = 0 for most c ∈ ZN

11/27

slide-34
SLIDE 34

One Wayness

Classify polynomials f ∈ Z[x, y] according to the genus of f(x, y) − c = 0 for most c ∈ ZN Genus Type Easy to invert mod N? “rational” Yes 1 “elliptic” ? ≥ 2 ?

11/27

slide-35
SLIDE 35

One Wayness

Classify polynomials f ∈ Z[x, y] according to the genus of f(x, y) − c = 0 for most c ∈ ZN Genus Type Easy to invert mod N? “rational” Yes 1 “elliptic” ? ≥ 2 ? Necessary Condition: For f to give rise to OWF, curve f(x, y) − c = 0 must have genus > 0 for almost all c.

11/27

slide-36
SLIDE 36

Second Preimage Resistance

Definition: Given a point (x, y) ←R Z2

N, should be hard to

find a second point (x′, y′) such that: f(x, y) = f(x′, y′) mod N

12/27

slide-37
SLIDE 37

Second Preimage Resistance

Definition: Given a point (x, y) ←R Z2

N, should be hard to

find a second point (x′, y′) such that: f(x, y) = f(x′, y′) mod N Breaking SPR is only as hard as finding a second rational point on the curve f(x, y) = c.

12/27

slide-38
SLIDE 38

Second Preimage Resistance

Definition: Given a point (x, y) ←R Z2

N, should be hard to

find a second point (x′, y′) such that: f(x, y) = f(x′, y′) mod N Breaking SPR is only as hard as finding a second rational point on the curve f(x, y) = c. Necessary Condition: For f to be SPR, curve f(x, y) = c must have no non-trivial rational mapping (x, y) → (x′, y′) for almost all c.

12/27

slide-39
SLIDE 39

Second Preimage Resistance

Definition: Given a point (x, y) ←R Z2

N, should be hard to

find a second point (x′, y′) such that: f(x, y) = f(x′, y′) mod N Breaking SPR is only as hard as finding a second rational point on the curve f(x, y) = c. Necessary Condition: Details are in the paper For f to be SPR, curve f(x, y) = c must have no non-trivial rational mapping (x, y) → (x′, y′) for almost all c.

12/27

slide-40
SLIDE 40

Collision Resistance

Definition: f is collision resistant if it is computationally hard to find (x, y) ̸= (x′, y′) ∈ Z2

N such that

f(x, y) = f(x′, y′) mod N.

13/27

slide-41
SLIDE 41

Collision Resistance

Definition: f is collision resistant if it is computationally hard to find (x, y) ̸= (x′, y′) ∈ Z2

N such that

f(x, y) = f(x′, y′) mod N. Definition: A function f : Q × Q → Q is injective if f(x, y) = f(x′, y′) = ⇒ (x, y) = (x′, y′).

13/27

slide-42
SLIDE 42

Collision Resistance

Fact f(x, y) is NOT = ⇒ f(x, y) is NOT an injective map CR mod N

14/27

slide-43
SLIDE 43

Collision Resistance

Fact f(x, y) is NOT Find “collision” in Q and reduce it mod N. = ⇒ f(x, y) is NOT an injective map CR mod N

14/27

slide-44
SLIDE 44

Collision Resistance

Fact f(x, y) is NOT = ⇒ f(x, y) is NOT an injective map CR mod N

14/27

slide-45
SLIDE 45

Collision Resistance

Fact f(x, y) is NOT = ⇒ f(x, y) is NOT an injective map CR mod N Open Question f(x, y) IS

?

= ⇒ f(x, y) IS an injective map CR mod N

14/27

slide-46
SLIDE 46

Injective Polynomials

Question Does there exist a low-degree poly f(x, y) that induces an injective map Q × Q → Q?

15/27

slide-47
SLIDE 47

Injective Polynomials

Question Does there exist a low-degree poly f(x, y) that induces an injective map Q × Q → Q? This is an open problem in number theory.

15/27

slide-48
SLIDE 48

Injective Polynomials

Question Does there exist a low-degree poly f(x, y) that induces an injective map Q × Q → Q? This is an open problem in number theory. But a 15-year-old conjecture says that fZag(x, y) = x7+3y7 is injective over Q×Q

[Zagier, as reported by Poonen 2009] 15/27

slide-49
SLIDE 49

Injective Polynomials

Question Does there exist a low-degree poly f(x, y) that induces an injective map Q × Q → Q? This is an open problem in number theory. But a 15-year-old conjecture says that fZag(x, y) = x7+3y7 is injective over Q×Q

[Zagier, as reported by Poonen 2009]

x7 + 3y7 is the actual polynomial, not a toy example.

15/27

slide-50
SLIDE 50

Injective Polynomials

Conjecture [Zagier] The following is an injective function mapping Q2 → Q: fZag(x, y) = x7 + 3y7

16/27

slide-51
SLIDE 51

Injective Polynomials

Conjecture [Zagier] The following is an injective function mapping Q2 → Q: fZag(x, y) = x7 + 3y7 Remark By Merkle-Damgård: fZag(x, y) injective = ⇒ g(x, y, z) = x7 + 3(y7 + 3z7)7 injective

16/27

slide-52
SLIDE 52

Injective Polynomials

Conjecture [Zagier] The following is an injective function mapping Q2 → Q: fZag(x, y) = x7 + 3y7 Remark By Merkle-Damgård: fZag(x, y) injective = ⇒ g(x, y, z) = x7 + 3(y7 + 3z7)7 injective We get injective maps on Q4, Q5, . . . for free!

16/27

slide-53
SLIDE 53

Collision Resistance

Since the only apparent way to find collisions in f mod N is to find Q collisions. . .

17/27

slide-54
SLIDE 54

Collision Resistance

Since the only apparent way to find collisions in f mod N is to find Q collisions. . . and since Zagier conjectures that fZag is injective (i.e., has no collisions) over Q2. . .

17/27

slide-55
SLIDE 55

Collision Resistance

Since the only apparent way to find collisions in f mod N is to find Q collisions. . . and since Zagier conjectures that fZag is injective (i.e., has no collisions) over Q2. . . Assumption The function fZag(x, y) = x7 + 3y7 mod N is CR.

17/27

slide-56
SLIDE 56

Collision Resistance

Since the only apparent way to find collisions in f mod N is to find Q collisions. . . and since Zagier conjectures that fZag is injective (i.e., has no collisions) over Q2. . . Assumption The function fZag(x, y) = x7 + 3y7 mod N is CR.

Now, what can we do with this assumption?

17/27

slide-57
SLIDE 57

Overview

Motivation Classifying Polynomials Applications Conclusion

18/27

slide-58
SLIDE 58

Commitment Scheme

One of the most common tools in crypto protocols

19/27

slide-59
SLIDE 59

Commitment Scheme

One of the most common tools in crypto protocols Commit(m) → (c, r). Generate a commitment c to m using randomness r. Open(c, m, r) → {0, 1}. Test whether (m, r) is a valid

  • pening of c.

19/27

slide-60
SLIDE 60

Commitment Scheme

One of the most common tools in crypto protocols Commit(m) → (c, r). Generate a commitment c to m using randomness r. Open(c, m, r) → {0, 1}. Test whether (m, r) is a valid

  • pening of c.
  • Hiding. For any two messages m and m′:

Commit(m, r) ≈s Commit(m′, r′)

  • Binding. Cannot open a commitment two different ways.

19/27

slide-61
SLIDE 61

Commitment Scheme

Public params: RSA modulus N s.t. gcd(φ(N), 7) = 1 Commit(m) → (c, r) Pick r ←R ZN. Return fZag(m, r) = m7 + 3r7 mod N. Open(c, m, r) → {0, 1} Check that c

?

= fZag(m, r) mod N.

20/27

slide-62
SLIDE 62

Commitment Scheme

Public params: RSA modulus N s.t. gcd(φ(N), 7) = 1 Commit(m) → (c, r) Pick r ←R ZN. Return fZag(m, r) = m7 + 3r7 mod N. Efficient! Only a few mults. Open(c, m, r) → {0, 1} Check that c

?

= fZag(m, r) mod N.

20/27

slide-63
SLIDE 63

Commitment Scheme

Public params: RSA modulus N s.t. gcd(φ(N), 7) = 1 Commit(m) → (c, r) Pick r ←R ZN. Return fZag(m, r) = m7 + 3r7 mod N. Open(c, m, r) → {0, 1} Check that c

?

= fZag(m, r) mod N.

20/27

slide-64
SLIDE 64

Commitment Scheme

Public params: RSA modulus N s.t. gcd(φ(N), 7) = 1 Commit(m) → (c, r) Pick r ←R ZN. Return fZag(m, r) = m7 + 3r7 mod N. Open(c, m, r) → {0, 1} Check that c

?

= fZag(m, r) mod N. Security

20/27

slide-65
SLIDE 65

Commitment Scheme

Public params: RSA modulus N s.t. gcd(φ(N), 7) = 1 Commit(m) → (c, r) Pick r ←R ZN. Return fZag(m, r) = m7 + 3r7 mod N. Open(c, m, r) → {0, 1} Check that c

?

= fZag(m, r) mod N. Security

▶ Hiding: Follows because m is blinded with random

element 3r7

20/27

slide-66
SLIDE 66

Commitment Scheme

Public params: RSA modulus N s.t. gcd(φ(N), 7) = 1 Commit(m) → (c, r) Pick r ←R ZN. Return fZag(m, r) = m7 + 3r7 mod N. Open(c, m, r) → {0, 1} Check that c

?

= fZag(m, r) mod N. Security

▶ Hiding: Follows because m is blinded with random

element 3r7

▶ Binding: Violating the binding property implies finding

a collision in fZag mod N

20/27

slide-67
SLIDE 67

ZK Proofs on “Nested” Commitments

Given Pedersen commitments: Commit(m), Commit(r), Commit(c) can prove in succinct ZK that c = m7 + 3r7 mod N.

21/27

slide-68
SLIDE 68

ZK Proofs on “Nested” Commitments

Given Pedersen commitments: Commit(m), Commit(r), Commit(c) can prove in succinct ZK that c = m7 + 3r7 mod N. → Prove that committed values (c, m, r) are themselves the opening of a commitment → Uses standard D.log ZKPoK techniques

21/27

slide-69
SLIDE 69

ZK Proofs on “Nested” Commitments

Given Pedersen commitments: Commit(m), Commit(r), Commit(c) can prove in succinct ZK that c = m7 + 3r7 mod N. → Prove that committed values (c, m, r) are themselves the opening of a commitment → Uses standard D.log ZKPoK techniques WHY WOULD YOU EVER WANT TO DO THAT?!

21/27

slide-70
SLIDE 70

ZK Proofs on “Nested” Commitments

Given Pedersen commitments: Commit(m), Commit(r), Commit(c) can prove in succinct ZK that c = m7 + 3r7 mod N. → Prove that committed values (c, m, r) are themselves the opening of a commitment → Uses standard D.log ZKPoK techniques WHY WOULD YOU EVER WANT TO DO THAT?! Useful for:

▶ short anonymous Bitcoins, [Miers et al. 2013, Ben-Sasson et al, 2014] ▶ anonymous authentication, [Benaloh-De Mare ’93, Bari´

c-Pfitz. ’97, C-L 2002]

▶ set membership proofs, [Camenisch-Chaabouni-Shelat 2008] ▶ etc.

21/27

slide-71
SLIDE 71

Chameleon Hash

[Gennaro-Halevi-Rabin ’99, Krawczyk-Rabin 2000, Bellare-Ristov 2008]

Definition: a hash function H(m, r) such that

▶ without “trapdoor,” it’s hard to find collisions in H ▶ given (h, m), can use the “trapdoor,” to find r s.t.

h = H(m, r)

▶ for any m, m′ and for random r, r′:

H(m, r) ≈s H(m′, r′)

22/27

slide-72
SLIDE 72

Chameleon Hash

[Gennaro-Halevi-Rabin ’99, Krawczyk-Rabin 2000, Bellare-Ristov 2008]

Definition: a hash function H(m, r) such that

▶ without “trapdoor,” it’s hard to find collisions in H ▶ given (h, m), can use the “trapdoor,” to find r s.t.

h = H(m, r)

▶ for any m, m′ and for random r, r′:

H(m, r) ≈s H(m′, r′) Construction

▶ Hash function is H(m, r) = m7 + 3r7 mod N ▶ “Trapdoor” is the factorization of N

22/27

slide-73
SLIDE 73

Other Applications

  • Others. . .

▶ “Accumulator” [Merkle ’89] ▶ Signature scheme [Goldwasser-Micali-Rivest ’88]

23/27

slide-74
SLIDE 74

Other Applications

  • Others. . .

▶ “Accumulator” [Merkle ’89] ▶ Signature scheme [Goldwasser-Micali-Rivest ’88] ▶ [Your application here]

23/27

slide-75
SLIDE 75

Overview

Motivation Classifying Polynomials Applications Conclusion

24/27

slide-76
SLIDE 76

Recap

We reason about properties of f(x, y) mod N by looking at the properties of f(x, y) = c over the rationals. Crypto Property Algebraic Property

25/27

slide-77
SLIDE 77

Recap

We reason about properties of f(x, y) mod N by looking at the properties of f(x, y) = c over the rationals. Crypto Property Algebraic Property One-wayness genus g > 0

25/27

slide-78
SLIDE 78

Recap

We reason about properties of f(x, y) mod N by looking at the properties of f(x, y) = c over the rationals. Crypto Property Algebraic Property One-wayness genus g > 0 2nd-preimage resistant No Q maps

25/27

slide-79
SLIDE 79

Recap

We reason about properties of f(x, y) mod N by looking at the properties of f(x, y) = c over the rationals. Crypto Property Algebraic Property One-wayness genus g > 0 2nd-preimage resistant No Q maps Collision-resistant Injective on Q × Q

25/27

slide-80
SLIDE 80

Conclusion

▶ Can we prove in a generic ring model that x7 + 3y7 is

collision resistant mod N? [Aggarwal-Maurer 2009]

26/27

slide-81
SLIDE 81

Conclusion

▶ Can we prove in a generic ring model that x7 + 3y7 is

collision resistant mod N? [Aggarwal-Maurer 2009]

▶ What other applications are there for

bivariates mod N?

26/27

slide-82
SLIDE 82

Conclusion

▶ Can we prove in a generic ring model that x7 + 3y7 is

collision resistant mod N? [Aggarwal-Maurer 2009]

▶ What other applications are there for

bivariates mod N?

26/27

slide-83
SLIDE 83

Conclusion

▶ Can we prove in a generic ring model that x7 + 3y7 is

collision resistant mod N? [Aggarwal-Maurer 2009]

▶ What other applications are there for

bivariates mod N?

Thanks to Antoine Joux, Bjorn Poonen, Don Zagier, Joe Zimmerman, and Steven Galbraith for helpful comments and suggestions.

26/27

slide-84
SLIDE 84