Lattice Cryptography Lecture 24 Lattices Lattices A infinite set - - PowerPoint PPT Presentation

lattice cryptography
SMART_READER_LITE
LIVE PREVIEW

Lattice Cryptography Lecture 24 Lattices Lattices A infinite set - - PowerPoint PPT Presentation

Lattice Cryptography Lecture 24 Lattices Lattices A infinite set of points in R n obtained by tiling with a basis Lattices A infinite set of points in R n obtained by tiling with a basis Lattices A infinite set of points in R n


slide-1
SLIDE 1

Lattice Cryptography

Lecture 24

slide-2
SLIDE 2

Lattices

slide-3
SLIDE 3

Lattices

A infinite set of points in Rn obtained by tiling with a “basis”

slide-4
SLIDE 4

Lattices

A infinite set of points in Rn obtained by tiling with a “basis”

slide-5
SLIDE 5

Lattices

A infinite set of points in Rn obtained by tiling with a “basis”

slide-6
SLIDE 6

Lattices

A infinite set of points in Rn obtained by tiling with a “basis”

slide-7
SLIDE 7

Lattices

A infinite set of points in Rn obtained by tiling with a “basis” Formally, { Σi xibi | xi integers }

slide-8
SLIDE 8

Lattices

A infinite set of points in Rn obtained by tiling with a “basis” Formally, { Σi xibi | xi integers } Basis is not unique

slide-9
SLIDE 9

Lattices

A infinite set of points in Rn obtained by tiling with a “basis” Formally, { Σi xibi | xi integers } Basis is not unique

slide-10
SLIDE 10

Lattices

A infinite set of points in Rn obtained by tiling with a “basis” Formally, { Σi xibi | xi integers } Basis is not unique

slide-11
SLIDE 11

Lattices

A infinite set of points in Rn obtained by tiling with a “basis” Formally, { Σi xibi | xi integers } Basis is not unique

slide-12
SLIDE 12

Lattices

A infinite set of points in Rn obtained by tiling with a “basis” Formally, { Σi xibi | xi integers } Basis is not unique Several problems related to high- dimensional lattices are believed to be hard, with cryptographic applications

slide-13
SLIDE 13

Lattices

A infinite set of points in Rn obtained by tiling with a “basis” Formally, { Σi xibi | xi integers } Basis is not unique Several problems related to high- dimensional lattices are believed to be hard, with cryptographic applications Hardness assumptions are “milder” (worst-case hardness)

slide-14
SLIDE 14

Lattices

A infinite set of points in Rn obtained by tiling with a “basis” Formally, { Σi xibi | xi integers } Basis is not unique Several problems related to high- dimensional lattices are believed to be hard, with cryptographic applications Hardness assumptions are “milder” (worst-case hardness) Believed to hold even against quantum computation: 
 “Post-Quantum Cryptography”

slide-15
SLIDE 15

Lattices

slide-16
SLIDE 16

Lattices

Given a basis {b1,...,bm} in Rn, lattice has points { Σi xibi | xi integers }

slide-17
SLIDE 17

Lattices

Given a basis {b1,...,bm} in Rn, lattice has points { Σi xibi | xi integers } An interesting case: lattices in Zn

slide-18
SLIDE 18

Lattices

Given a basis {b1,...,bm} in Rn, lattice has points { Σi xibi | xi integers } An interesting case: lattices in Zn Two n-dim lattices in Zn associated with
 an mxn matrix A over Zq

slide-19
SLIDE 19

Lattices

Given a basis {b1,...,bm} in Rn, lattice has points { Σi xibi | xi integers } An interesting case: lattices in Zn Two n-dim lattices in Zn associated with
 an mxn matrix A over Zq LA : Vectors “spanned” by rows of A

slide-20
SLIDE 20

Lattices

Given a basis {b1,...,bm} in Rn, lattice has points { Σi xibi | xi integers } An interesting case: lattices in Zn Two n-dim lattices in Zn associated with
 an mxn matrix A over Zq LA : Vectors “spanned” by rows of A LA

⊥ : Vectors “orthogonal” to rows of A

slide-21
SLIDE 21

Lattices

Given a basis {b1,...,bm} in Rn, lattice has points { Σi xibi | xi integers } An interesting case: lattices in Zn Two n-dim lattices in Zn associated with
 an mxn matrix A over Zq LA : Vectors “spanned” by rows of A LA

⊥ : Vectors “orthogonal” to rows of A

Here, LA, LA

⊥ in Zn , but above

  • perations mod q (i.e., over Zq)
slide-22
SLIDE 22

Lattices

Given a basis {b1,...,bm} in Rn, lattice has points { Σi xibi | xi integers } An interesting case: lattices in Zn Two n-dim lattices in Zn associated with
 an mxn matrix A over Zq LA : Vectors “spanned” by rows of A LA

⊥ : Vectors “orthogonal” to rows of A

Here, LA, LA

⊥ in Zn , but above

  • perations mod q (i.e., over Zq)

Dual lattice L*: { v | <v,u> is an integer }

slide-23
SLIDE 23

Lattices

Given a basis {b1,...,bm} in Rn, lattice has points { Σi xibi | xi integers } An interesting case: lattices in Zn Two n-dim lattices in Zn associated with
 an mxn matrix A over Zq LA : Vectors “spanned” by rows of A LA

⊥ : Vectors “orthogonal” to rows of A

Here, LA, LA

⊥ in Zn , but above

  • perations mod q (i.e., over Zq)

Dual lattice L*: { v | <v,u> is an integer } e.g. (LA)* = 1/ q LA

⊥ and (LA ⊥)* = 1/

q LA

slide-24
SLIDE 24

Lattices in Cryptography

slide-25
SLIDE 25

Lattices in Cryptography

Several problems related to lattices (lattice given as a basis) are believed to be computationally hard in high dimensions

slide-26
SLIDE 26

Lattices in Cryptography

Several problems related to lattices (lattice given as a basis) are believed to be computationally hard in high dimensions Closest Vector Problem (CVP): Given a point in Rn, find the point closest to it in the lattice

slide-27
SLIDE 27

Lattices in Cryptography

Several problems related to lattices (lattice given as a basis) are believed to be computationally hard in high dimensions Closest Vector Problem (CVP): Given a point in Rn, find the point closest to it in the lattice Shortest Vector Problem (SVP): Find the shortest non-zero vector in the lattice

slide-28
SLIDE 28

Lattices in Cryptography

Several problems related to lattices (lattice given as a basis) are believed to be computationally hard in high dimensions Closest Vector Problem (CVP): Given a point in Rn, find the point closest to it in the lattice Shortest Vector Problem (SVP): Find the shortest non-zero vector in the lattice SVPγ: find one within a factor γ of the shortest

slide-29
SLIDE 29

Lattices in Cryptography

Several problems related to lattices (lattice given as a basis) are believed to be computationally hard in high dimensions Closest Vector Problem (CVP): Given a point in Rn, find the point closest to it in the lattice Shortest Vector Problem (SVP): Find the shortest non-zero vector in the lattice SVPγ: find one within a factor γ of the shortest GapSVPγ: decide if the length of the shortest vector is < 1

  • r > γ (promised to be one of the two)
slide-30
SLIDE 30

Lattices in Cryptography

Several problems related to lattices (lattice given as a basis) are believed to be computationally hard in high dimensions Closest Vector Problem (CVP): Given a point in Rn, find the point closest to it in the lattice Shortest Vector Problem (SVP): Find the shortest non-zero vector in the lattice SVPγ: find one within a factor γ of the shortest GapSVPγ: decide if the length of the shortest vector is < 1

  • r > γ (promised to be one of the two)

uniqueSVPγ: SVP, when guaranteed that the next (non- parallel) shortest vector is longer by a factor γ or more

slide-31
SLIDE 31

Lattices in Cryptography

Several problems related to lattices (lattice given as a basis) are believed to be computationally hard in high dimensions Closest Vector Problem (CVP): Given a point in Rn, find the point closest to it in the lattice Shortest Vector Problem (SVP): Find the shortest non-zero vector in the lattice SVPγ: find one within a factor γ of the shortest GapSVPγ: decide if the length of the shortest vector is < 1

  • r > γ (promised to be one of the two)

uniqueSVPγ: SVP, when guaranteed that the next (non- parallel) shortest vector is longer by a factor γ or more Shortest Independent Vector Problem (SIVP): Find n independent vectors minimizing the longest of them

slide-32
SLIDE 32

Lattices in Cryptography

NP-hard in co-NP

γ: 1 2(log n)^(1-ε) √n n 2n

in P (crypto 
 regime)

slide-33
SLIDE 33

Lattices in Cryptography

Worst-case hardness of lattice problems (e.g. GapSVP)

NP-hard in co-NP

γ: 1 2(log n)^(1-ε) √n n 2n

in P (crypto 
 regime)

slide-34
SLIDE 34

Lattices in Cryptography

Worst-case hardness of lattice problems (e.g. GapSVP)

NP-hard in co-NP

γ: 1 2(log n)^(1-ε) √n n 2n

in P (crypto 
 regime)

slide-35
SLIDE 35

Lattices in Cryptography

Worst-case hardness of lattice problems (e.g. GapSVP)

NP-hard in co-NP

γ: 1 2(log n)^(1-ε) √n n 2n

in P (crypto 
 regime)

slide-36
SLIDE 36

Lattices in Cryptography

Worst-case hardness of lattice problems (e.g. GapSVP)

NP-hard in co-NP

γ: 1 2(log n)^(1-ε) √n n 2n

in P (crypto 
 regime)

slide-37
SLIDE 37

Lattices in Cryptography

Worst-case hardness of lattice problems (e.g. GapSVP) Assumptions about worst-case hardness (e.g. P≠NP) are qualitatively simpler than that of average-case hardness

NP-hard in co-NP

γ: 1 2(log n)^(1-ε) √n n 2n

in P (crypto 
 regime)

slide-38
SLIDE 38

Lattices in Cryptography

Worst-case hardness of lattice problems (e.g. GapSVP) Assumptions about worst-case hardness (e.g. P≠NP) are qualitatively simpler than that of average-case hardness Crypto requires average-case hardness

NP-hard in co-NP

γ: 1 2(log n)^(1-ε) √n n 2n

in P (crypto 
 regime)

slide-39
SLIDE 39

Lattices in Cryptography

Worst-case hardness of lattice problems (e.g. GapSVP) Assumptions about worst-case hardness (e.g. P≠NP) are qualitatively simpler than that of average-case hardness Crypto requires average-case hardness For many lattice problems average-case hardness assumptions are implied by worst-case hardness of related problems (but at regimes not known to be NP-hard)

NP-hard in co-NP

γ: 1 2(log n)^(1-ε) √n n 2n

in P (crypto 
 regime)

slide-40
SLIDE 40

Learning With Errors

slide-41
SLIDE 41

Learning With Errors

LWE: given noisy inner-products of random vectors with a hidden vector, find the hidden vector

slide-42
SLIDE 42

Learning With Errors

LWE: given noisy inner-products of random vectors with a hidden vector, find the hidden vector Given <a1,s>+e1 , ..., <am,s>+em and a1,....,am find s.


ai uniform, ei Gaussian noise

slide-43
SLIDE 43

Learning With Errors

LWE: given noisy inner-products of random vectors with a hidden vector, find the hidden vector Given <a1,s>+e1 , ..., <am,s>+em and a1,....,am find s.


ai uniform, ei Gaussian noise LWE-Decision version: distinguish between such an input and a random input

slide-44
SLIDE 44

Learning With Errors

LWE: given noisy inner-products of random vectors with a hidden vector, find the hidden vector Given <a1,s>+e1 , ..., <am,s>+em and a1,....,am find s.


ai uniform, ei Gaussian noise LWE-Decision version: distinguish between such an input and a random input Assumed to be hard (note: average-case hardness). Has been

connected with worst-case hardness of GapSVP

slide-45
SLIDE 45

Learning With Errors

LWE: given noisy inner-products of random vectors with a hidden vector, find the hidden vector Given <a1,s>+e1 , ..., <am,s>+em and a1,....,am find s.


ai uniform, ei Gaussian noise LWE-Decision version: distinguish between such an input and a random input Assumed to be hard (note: average-case hardness). Has been

connected with worst-case hardness of GapSVP Turns out to be a very useful assumption

slide-46
SLIDE 46

Hash Functions and OWF

slide-47
SLIDE 47

Hash Functions and OWF

CRHF: f(x) = Ax (mod q)

slide-48
SLIDE 48

Hash Functions and OWF

CRHF: f(x) = Ax (mod q) x required to be a “short” vector (i.e., each co-ordinate in the range [0,d-1] for some small d)

slide-49
SLIDE 49

Hash Functions and OWF

CRHF: f(x) = Ax (mod q) x required to be a “short” vector (i.e., each co-ordinate in the range [0,d-1] for some small d) A is an n x m matrix: maps m log d bits to n log q bits (for compression we require m > n logdq)

slide-50
SLIDE 50

Hash Functions and OWF

CRHF: f(x) = Ax (mod q) x required to be a “short” vector (i.e., each co-ordinate in the range [0,d-1] for some small d) A is an n x m matrix: maps m log d bits to n log q bits (for compression we require m > n logdq) Collision yields a short vector (co-ordinates in [-(d-1),d-1])
 z s.t Az = 0: i.e., a short vector in the lattice LA

slide-51
SLIDE 51

Hash Functions and OWF

CRHF: f(x) = Ax (mod q) x required to be a “short” vector (i.e., each co-ordinate in the range [0,d-1] for some small d) A is an n x m matrix: maps m log d bits to n log q bits (for compression we require m > n logdq) Collision yields a short vector (co-ordinates in [-(d-1),d-1])
 z s.t Az = 0: i.e., a short vector in the lattice LA

Simple to compute: if d small (say, d=2, i.e., x binary), f(x) can be computed using O(n m) additions mod q

slide-52
SLIDE 52

Hash Functions and OWF

CRHF: f(x) = Ax (mod q) x required to be a “short” vector (i.e., each co-ordinate in the range [0,d-1] for some small d) A is an n x m matrix: maps m log d bits to n log q bits (for compression we require m > n logdq) Collision yields a short vector (co-ordinates in [-(d-1),d-1])
 z s.t Az = 0: i.e., a short vector in the lattice LA

Simple to compute: if d small (say, d=2, i.e., x binary), f(x) can be computed using O(n m) additions mod q If sufficiently compressing (say by half), a CRHF is also a OWF

slide-53
SLIDE 53

Average-Case/Worst-Case Connection

slide-54
SLIDE 54

Average-Case/Worst-Case Connection

Collision yields a short vector (co-ordinates in [-(d-1),d-1]) 
 z s.t Az = 0: i.e., a short vector in the lattice LA

slide-55
SLIDE 55

Average-Case/Worst-Case Connection

Collision yields a short vector (co-ordinates in [-(d-1),d-1]) 
 z s.t Az = 0: i.e., a short vector in the lattice LA

Considered hard when A is chosen uniformly at random

slide-56
SLIDE 56

Average-Case/Worst-Case Connection

Collision yields a short vector (co-ordinates in [-(d-1),d-1]) 
 z s.t Az = 0: i.e., a short vector in the lattice LA

Considered hard when A is chosen uniformly at random This is as hard as solving certain lattice problems in the worst case (i.e., with good success probability for every instance of the problem)

slide-57
SLIDE 57

Average-Case/Worst-Case Connection

Collision yields a short vector (co-ordinates in [-(d-1),d-1]) 
 z s.t Az = 0: i.e., a short vector in the lattice LA

Considered hard when A is chosen uniformly at random This is as hard as solving certain lattice problems in the worst case (i.e., with good success probability for every instance of the problem) In general average case assumptions may be risky: there will be many easy instances

slide-58
SLIDE 58

Average-Case/Worst-Case Connection

Collision yields a short vector (co-ordinates in [-(d-1),d-1]) 
 z s.t Az = 0: i.e., a short vector in the lattice LA

Considered hard when A is chosen uniformly at random This is as hard as solving certain lattice problems in the worst case (i.e., with good success probability for every instance of the problem) In general average case assumptions may be risky: there will be many easy instances Worst case assumptions are OK even if most instances are easy

slide-59
SLIDE 59

Average-Case/Worst-Case Connection

Collision yields a short vector (co-ordinates in [-(d-1),d-1]) 
 z s.t Az = 0: i.e., a short vector in the lattice LA

Considered hard when A is chosen uniformly at random This is as hard as solving certain lattice problems in the worst case (i.e., with good success probability for every instance of the problem) In general average case assumptions may be risky: there will be many easy instances Worst case assumptions are OK even if most instances are easy Connection shows that if a few instances hard, most instances are

slide-60
SLIDE 60

Succinct Keys

slide-61
SLIDE 61

Succinct Keys

The hash function is described by an n x m matrix over Zq, where n is the security parameter and m > n

slide-62
SLIDE 62

Succinct Keys

The hash function is described by an n x m matrix over Zq, where n is the security parameter and m > n Large key and correspondingly large number of operations

slide-63
SLIDE 63

Succinct Keys

The hash function is described by an n x m matrix over Zq, where n is the security parameter and m > n Large key and correspondingly large number of operations Using “ideal lattices”

slide-64
SLIDE 64

Succinct Keys

The hash function is described by an n x m matrix over Zq, where n is the security parameter and m > n Large key and correspondingly large number of operations Using “ideal lattices” Have more structure: a random basis for such a lattice can be represented using just m elements of Zq (instead of mn)

slide-65
SLIDE 65

Succinct Keys

The hash function is described by an n x m matrix over Zq, where n is the security parameter and m > n Large key and correspondingly large number of operations Using “ideal lattices” Have more structure: a random basis for such a lattice can be represented using just m elements of Zq (instead of mn) Matrix multiplication can be carried out faster (using FFT) with Õ(m) operations over Zq (instead of O(mn))

slide-66
SLIDE 66

Succinct Keys

The hash function is described by an n x m matrix over Zq, where n is the security parameter and m > n Large key and correspondingly large number of operations Using “ideal lattices” Have more structure: a random basis for such a lattice can be represented using just m elements of Zq (instead of mn) Matrix multiplication can be carried out faster (using FFT) with Õ(m) operations over Zq (instead of O(mn)) Security depends on worst-case hardness of same problems as before, but when restricted to ideal lattices

slide-67
SLIDE 67

Public-Key Encryption

slide-68
SLIDE 68

Public-Key Encryption

NTRU/GGH approach: Private key is a “good” basis, and the public key is a “bad basis”

slide-69
SLIDE 69

Public-Key Encryption

NTRU/GGH approach: Private key is a “good” basis, and the public key is a “bad basis” Worst basis (one that can be efficiently computed from any basis): Hermite Normal Form (HNF) basis

slide-70
SLIDE 70

Public-Key Encryption

NTRU/GGH approach: Private key is a “good” basis, and the public key is a “bad basis” Worst basis (one that can be efficiently computed from any basis): Hermite Normal Form (HNF) basis To encrypt a message, encode it (randomized) as a short “noise vector” u. Output c = v+u for a lattice point v that is chosen using the public basis

slide-71
SLIDE 71

Public-Key Encryption

NTRU/GGH approach: Private key is a “good” basis, and the public key is a “bad basis” Worst basis (one that can be efficiently computed from any basis): Hermite Normal Form (HNF) basis To encrypt a message, encode it (randomized) as a short “noise vector” u. Output c = v+u for a lattice point v that is chosen using the public basis To decrypt, use the good basis to find v as the closest lattice vector to c, and recover u=c-v

slide-72
SLIDE 72

Public-Key Encryption

NTRU/GGH approach: Private key is a “good” basis, and the public key is a “bad basis” Worst basis (one that can be efficiently computed from any basis): Hermite Normal Form (HNF) basis To encrypt a message, encode it (randomized) as a short “noise vector” u. Output c = v+u for a lattice point v that is chosen using the public basis To decrypt, use the good basis to find v as the closest lattice vector to c, and recover u=c-v NTRU Encryption: use lattices with succinct basis

slide-73
SLIDE 73

Public-Key Encryption

NTRU/GGH approach: Private key is a “good” basis, and the public key is a “bad basis” Worst basis (one that can be efficiently computed from any basis): Hermite Normal Form (HNF) basis To encrypt a message, encode it (randomized) as a short “noise vector” u. Output c = v+u for a lattice point v that is chosen using the public basis To decrypt, use the good basis to find v as the closest lattice vector to c, and recover u=c-v NTRU Encryption: use lattices with succinct basis Conjectured to be CPA secure for appropriate lattices. No security reduction known to simple lattice problems

slide-74
SLIDE 74

Public-Key Encryption

slide-75
SLIDE 75

A subset-sum approach:

Public-Key Encryption

slide-76
SLIDE 76

A subset-sum approach: Encryption of bit 0 is a point from a uniform distribution (over an interval of integers); encryption of 1 comes from a “wavy” distribution of secret period

Public-Key Encryption

slide-77
SLIDE 77

A subset-sum approach: Encryption of bit 0 is a point from a uniform distribution (over an interval of integers); encryption of 1 comes from a “wavy” distribution of secret period Public-key gives several points from the wavy distribution that can be combined (subset sum) to get more points from the wavy distribution

Public-Key Encryption

slide-78
SLIDE 78

A subset-sum approach: Encryption of bit 0 is a point from a uniform distribution (over an interval of integers); encryption of 1 comes from a “wavy” distribution of secret period Public-key gives several points from the wavy distribution that can be combined (subset sum) to get more points from the wavy distribution Secret-key consists of the period: enough for a statistical test to distinguish the two distributions

Public-Key Encryption

slide-79
SLIDE 79

A subset-sum approach: Encryption of bit 0 is a point from a uniform distribution (over an interval of integers); encryption of 1 comes from a “wavy” distribution of secret period Public-key gives several points from the wavy distribution that can be combined (subset sum) to get more points from the wavy distribution Secret-key consists of the period: enough for a statistical test to distinguish the two distributions CPA Security: distinguishing the uniform and wavy distributions can be used to distinguish between noise added to lattices obtained as duals of lattices either with no short vector or with a unique short vector

Public-Key Encryption

slide-80
SLIDE 80

Given a lattice L, the dual lattice is L* = { x |or all y∈L, <x,y>∈Z }

Dual Lattice

1 / 5

L L*

5 Slide courtesy Oded Regev

slide-81
SLIDE 81

L* - the dual of L

L

√n 1 / n √n

L*

n Case 1 Case 2 Slide courtesy Oded Regev

slide-82
SLIDE 82

Public-Key Encryption

slide-83
SLIDE 83

An LWE based approach:

Public-Key Encryption

slide-84
SLIDE 84

An LWE based approach: Public-key is (A,P) where P=AS+E, for random matrices (of appropriate dimensions) A and S, and a noise matrix E over Zq

Public-Key Encryption

slide-85
SLIDE 85

An LWE based approach: Public-key is (A,P) where P=AS+E, for random matrices (of appropriate dimensions) A and S, and a noise matrix E over Zq To encrypt an n bit message, first map it to a vector v in (a sparse sub-lattice of) Zqn; pick a random vector a with small coordinates; ciphertext is (u,c) where u = ATa and c = PTa + v

Public-Key Encryption

slide-86
SLIDE 86

An LWE based approach: Public-key is (A,P) where P=AS+E, for random matrices (of appropriate dimensions) A and S, and a noise matrix E over Zq To encrypt an n bit message, first map it to a vector v in (a sparse sub-lattice of) Zqn; pick a random vector a with small coordinates; ciphertext is (u,c) where u = ATa and c = PTa + v Decryption using S: recover message from c - STu = v + ETa

Public-Key Encryption

slide-87
SLIDE 87

An LWE based approach: Public-key is (A,P) where P=AS+E, for random matrices (of appropriate dimensions) A and S, and a noise matrix E over Zq To encrypt an n bit message, first map it to a vector v in (a sparse sub-lattice of) Zqn; pick a random vector a with small coordinates; ciphertext is (u,c) where u = ATa and c = PTa + v Decryption using S: recover message from c - STu = v + ETa Allows a small error probability; can be made negligible by first encoding the message using an error correcting code

Public-Key Encryption

slide-88
SLIDE 88

An LWE based approach: Public-key is (A,P) where P=AS+E, for random matrices (of appropriate dimensions) A and S, and a noise matrix E over Zq To encrypt an n bit message, first map it to a vector v in (a sparse sub-lattice of) Zqn; pick a random vector a with small coordinates; ciphertext is (u,c) where u = ATa and c = PTa + v Decryption using S: recover message from c - STu = v + ETa Allows a small error probability; can be made negligible by first encoding the message using an error correcting code CPA security: By LWE assumption, the public-key is indistinguishable from random; and, encryption under random (A,P) loses essentially all information about the message

Public-Key Encryption

slide-89
SLIDE 89

An LWE based approach: Public-key is (A,P) where P=AS+E, for random matrices (of appropriate dimensions) A and S, and a noise matrix E over Zq To encrypt an n bit message, first map it to a vector v in (a sparse sub-lattice of) Zqn; pick a random vector a with small coordinates; ciphertext is (u,c) where u = ATa and c = PTa + v Decryption using S: recover message from c - STu = v + ETa Allows a small error probability; can be made negligible by first encoding the message using an error correcting code CPA security: By LWE assumption, the public-key is indistinguishable from random; and, encryption under random (A,P) loses essentially all information about the message LWE also used for CCA secure PKE

Public-Key Encryption

slide-90
SLIDE 90

Signatures

slide-91
SLIDE 91

Signatures

GGH/NTRU approach: Secret key is a good basis, and the public key is a bad (i.e., HNF) basis

slide-92
SLIDE 92

Signatures

GGH/NTRU approach: Secret key is a good basis, and the public key is a bad (i.e., HNF) basis To sign a message, hash it (using an RO) to a random point m in Rn and use the good basis to find a lattice point close to it

slide-93
SLIDE 93

Signatures

GGH/NTRU approach: Secret key is a good basis, and the public key is a bad (i.e., HNF) basis To sign a message, hash it (using an RO) to a random point m in Rn and use the good basis to find a lattice point close to it e.g. with s = BB-1m, we have s-m = Bz for z ∈ [½,-½]n

slide-94
SLIDE 94

Signatures

GGH/NTRU approach: Secret key is a good basis, and the public key is a bad (i.e., HNF) basis To sign a message, hash it (using an RO) to a random point m in Rn and use the good basis to find a lattice point close to it e.g. with s = BB-1m, we have s-m = Bz for z ∈ [½,-½]n Intuitively, it is hard to find such a point using the HNF basis

slide-95
SLIDE 95

Signatures

GGH/NTRU approach: Secret key is a good basis, and the public key is a bad (i.e., HNF) basis To sign a message, hash it (using an RO) to a random point m in Rn and use the good basis to find a lattice point close to it e.g. with s = BB-1m, we have s-m = Bz for z ∈ [½,-½]n Intuitively, it is hard to find such a point using the HNF basis However, multiple signatures can leak B

slide-96
SLIDE 96

Signatures

GGH/NTRU approach: Secret key is a good basis, and the public key is a bad (i.e., HNF) basis To sign a message, hash it (using an RO) to a random point m in Rn and use the good basis to find a lattice point close to it e.g. with s = BB-1m, we have s-m = Bz for z ∈ [½,-½]n Intuitively, it is hard to find such a point using the HNF basis However, multiple signatures can leak B Fix (heuristic): Perturbation, to make it harder to recover B

slide-97
SLIDE 97

Signatures

GGH/NTRU approach: Secret key is a good basis, and the public key is a bad (i.e., HNF) basis To sign a message, hash it (using an RO) to a random point m in Rn and use the good basis to find a lattice point close to it e.g. with s = BB-1m, we have s-m = Bz for z ∈ [½,-½]n Intuitively, it is hard to find such a point using the HNF basis However, multiple signatures can leak B Fix (heuristic): Perturbation, to make it harder to recover B Fix [GPV’08]: instead of rounding off to BB-1m, sample from a distribution that does not leak B. Security (in ROM) reduces to worst-case hardness assumptions.

slide-98
SLIDE 98

Signatures

GGH/NTRU approach: Secret key is a good basis, and the public key is a bad (i.e., HNF) basis To sign a message, hash it (using an RO) to a random point m in Rn and use the good basis to find a lattice point close to it e.g. with s = BB-1m, we have s-m = Bz for z ∈ [½,-½]n Intuitively, it is hard to find such a point using the HNF basis However, multiple signatures can leak B Fix (heuristic): Perturbation, to make it harder to recover B Fix [GPV’08]: instead of rounding off to BB-1m, sample from a distribution that does not leak B. Security (in ROM) reduces to worst-case hardness assumptions. Quadratic key size/signing complexity (unlike NTRUSign)

slide-99
SLIDE 99

Signatures

slide-100
SLIDE 100

Signatures

Using CRHF (not in ROM)

slide-101
SLIDE 101

Signatures

Using CRHF (not in ROM) Obtaining a one-time signature from a “homomorphic” CRHF

slide-102
SLIDE 102

Signatures

Using CRHF (not in ROM) Obtaining a one-time signature from a “homomorphic” CRHF h(a.x+y)=a.h(x)+h(y) where a is from a ring A and x,y from a module over the ring (say A m). e.g., h(x) = Ax.

slide-103
SLIDE 103

Signatures

Using CRHF (not in ROM) Obtaining a one-time signature from a “homomorphic” CRHF h(a.x+y)=a.h(x)+h(y) where a is from a ring A and x,y from a module over the ring (say A m). e.g., h(x) = Ax. Signing key: (x,y). Verification key: (h,X,Y) = (h,h(x),h(y)). 
 Signature: Message is mapped to an element a ∈A. s=a.x+y 
 Verification: Check h(s)=a.X+Y

slide-104
SLIDE 104

Signatures

Using CRHF (not in ROM) Obtaining a one-time signature from a “homomorphic” CRHF h(a.x+y)=a.h(x)+h(y) where a is from a ring A and x,y from a module over the ring (say A m). e.g., h(x) = Ax. Signing key: (x,y). Verification key: (h,X,Y) = (h,h(x),h(y)). 
 Signature: Message is mapped to an element a ∈A. s=a.x+y 
 Verification: Check h(s)=a.X+Y (x,y) is information theoretically well-hidden after one sign; so, w.h.p., forgery yields a different signature than computed using the signing key, thereby giving a collision

slide-105
SLIDE 105

Signatures

Using CRHF (not in ROM) Obtaining a one-time signature from a “homomorphic” CRHF h(a.x+y)=a.h(x)+h(y) where a is from a ring A and x,y from a module over the ring (say A m). e.g., h(x) = Ax. Signing key: (x,y). Verification key: (h,X,Y) = (h,h(x),h(y)). 
 Signature: Message is mapped to an element a ∈A. s=a.x+y 
 Verification: Check h(s)=a.X+Y (x,y) is information theoretically well-hidden after one sign; so, w.h.p., forgery yields a different signature than computed using the signing key, thereby giving a collision Trickier when using ideal lattice based hashing

slide-106
SLIDE 106

Signatures

Using CRHF (not in ROM) Obtaining a one-time signature from a “homomorphic” CRHF h(a.x+y)=a.h(x)+h(y) where a is from a ring A and x,y from a module over the ring (say A m). e.g., h(x) = Ax. Signing key: (x,y). Verification key: (h,X,Y) = (h,h(x),h(y)). 
 Signature: Message is mapped to an element a ∈A. s=a.x+y 
 Verification: Check h(s)=a.X+Y (x,y) is information theoretically well-hidden after one sign; so, w.h.p., forgery yields a different signature than computed using the signing key, thereby giving a collision Trickier when using ideal lattice based hashing Recall: one-time signatures can be augmented to full-fledged signatures using a CRHF (in fact, a UOWHF)

slide-107
SLIDE 107

Other Constructions

slide-108
SLIDE 108

Other Constructions

Schemes based on LWE

slide-109
SLIDE 109

Other Constructions

Schemes based on LWE IBE, OT, Fully Homomorphic Encryption...

slide-110
SLIDE 110

Other Constructions

Schemes based on LWE IBE, OT, Fully Homomorphic Encryption... ZK proof systems for lattice problems

slide-111
SLIDE 111

Other Constructions

Schemes based on LWE IBE, OT, Fully Homomorphic Encryption... ZK proof systems for lattice problems Interactive and non-interactive statistical ZK proofs of knowledge for various lattice problems

slide-112
SLIDE 112

Other Constructions

Schemes based on LWE IBE, OT, Fully Homomorphic Encryption... ZK proof systems for lattice problems Interactive and non-interactive statistical ZK proofs of knowledge for various lattice problems Useful in building “identification schemes” and potentially in other lattice-based constructions

slide-113
SLIDE 113

Today

slide-114
SLIDE 114

Today

Lattice based cryptography

slide-115
SLIDE 115

Today

Lattice based cryptography Candidate for post-quantum cryptography

slide-116
SLIDE 116

Today

Lattice based cryptography Candidate for post-quantum cryptography Security typically based on worst-case hardness of problems

slide-117
SLIDE 117

Today

Lattice based cryptography Candidate for post-quantum cryptography Security typically based on worst-case hardness of problems Several problems: SVP and variants, LWE

slide-118
SLIDE 118

Today

Lattice based cryptography Candidate for post-quantum cryptography Security typically based on worst-case hardness of problems Several problems: SVP and variants, LWE Hash functions, PKE, Signatures, ...