Pairing-Based Cryptography & Generic Groups Lecture 21 - - PowerPoint PPT Presentation

pairing based cryptography generic groups
SMART_READER_LITE
LIVE PREVIEW

Pairing-Based Cryptography & Generic Groups Lecture 21 - - PowerPoint PPT Presentation

Pairing-Based Cryptography & Generic Groups Lecture 21 Bilinear Pairing Bilinear Pairing Two (or three) groups with an efficient pairing operation, e: G x G G T that is bilinear Bilinear Pairing Two (or three) groups with an


slide-1
SLIDE 1

Pairing-Based Cryptography & Generic Groups

Lecture 21

slide-2
SLIDE 2

Bilinear Pairing

slide-3
SLIDE 3

Bilinear Pairing

Two (or three) groups with an efficient pairing operation, e: G x G → GT that is “bilinear”

slide-4
SLIDE 4

Bilinear Pairing

Two (or three) groups with an efficient pairing operation, e: G x G → GT that is “bilinear” Typically, prime order (cyclic) groups

slide-5
SLIDE 5

Bilinear Pairing

Two (or three) groups with an efficient pairing operation, e: G x G → GT that is “bilinear” Typically, prime order (cyclic) groups e(ga,gb) = e(g,g)ab

slide-6
SLIDE 6

Bilinear Pairing

Two (or three) groups with an efficient pairing operation, e: G x G → GT that is “bilinear” Typically, prime order (cyclic) groups e(ga,gb) = e(g,g)ab Multiplication (once) in the exponent!

slide-7
SLIDE 7

Bilinear Pairing

Two (or three) groups with an efficient pairing operation, e: G x G → GT that is “bilinear” Typically, prime order (cyclic) groups e(ga,gb) = e(g,g)ab Multiplication (once) in the exponent! e(ga,gb) e(ga’,gb) = e(ga+a’,gb) ; e(ga,gbc) = e(gac,gb) ; ...

slide-8
SLIDE 8

Bilinear Pairing

Two (or three) groups with an efficient pairing operation, e: G x G → GT that is “bilinear” Typically, prime order (cyclic) groups e(ga,gb) = e(g,g)ab Multiplication (once) in the exponent! e(ga,gb) e(ga’,gb) = e(ga+a’,gb) ; e(ga,gbc) = e(gac,gb) ; ... Not degenerate: e(g,g,) ≠ 1

slide-9
SLIDE 9

Bilinear Pairing

Two (or three) groups with an efficient pairing operation, e: G x G → GT that is “bilinear” Typically, prime order (cyclic) groups e(ga,gb) = e(g,g)ab Multiplication (once) in the exponent! e(ga,gb) e(ga’,gb) = e(ga+a’,gb) ; e(ga,gbc) = e(gac,gb) ; ... Not degenerate: e(g,g,) ≠ 1 D-BDH Assumption: For random (a,b,c,z), the distributions of (ga,gb,gc,gabc) and (ga,gb,gc,gz) are indistinguishable

slide-10
SLIDE 10

3-Party Key Exchange

slide-11
SLIDE 11

3-Party Key Exchange

A single round 3-party key-exchange protocol secure against passive eavesdroppers (under D-BDH assumption)

slide-12
SLIDE 12

3-Party Key Exchange

A single round 3-party key-exchange protocol secure against passive eavesdroppers (under D-BDH assumption) Generalizes Diffie-Hellman key-exchange

slide-13
SLIDE 13

3-Party Key Exchange

A single round 3-party key-exchange protocol secure against passive eavesdroppers (under D-BDH assumption) Generalizes Diffie-Hellman key-exchange Let e: G x G → GT be bilinear and g a generator of G

slide-14
SLIDE 14

3-Party Key Exchange

A single round 3-party key-exchange protocol secure against passive eavesdroppers (under D-BDH assumption) Generalizes Diffie-Hellman key-exchange Let e: G x G → GT be bilinear and g a generator of G Alice broadcasts ga, Bob broadcasts gb, and Carol broadcasts gc

slide-15
SLIDE 15

3-Party Key Exchange

A single round 3-party key-exchange protocol secure against passive eavesdroppers (under D-BDH assumption) Generalizes Diffie-Hellman key-exchange Let e: G x G → GT be bilinear and g a generator of G Alice broadcasts ga, Bob broadcasts gb, and Carol broadcasts gc Each party computes e(g,g)abc

slide-16
SLIDE 16

3-Party Key Exchange

A single round 3-party key-exchange protocol secure against passive eavesdroppers (under D-BDH assumption) Generalizes Diffie-Hellman key-exchange Let e: G x G → GT be bilinear and g a generator of G Alice broadcasts ga, Bob broadcasts gb, and Carol broadcasts gc Each party computes e(g,g)abc e.g. Alice computes e(g,g)abc = e(gb,gc)a

slide-17
SLIDE 17

3-Party Key Exchange

A single round 3-party key-exchange protocol secure against passive eavesdroppers (under D-BDH assumption) Generalizes Diffie-Hellman key-exchange Let e: G x G → GT be bilinear and g a generator of G Alice broadcasts ga, Bob broadcasts gb, and Carol broadcasts gc Each party computes e(g,g)abc e.g. Alice computes e(g,g)abc = e(gb,gc)a By D-BDH the key e(g,g)abc = e(g,gabc) is pseudorandom given eavesdropper’ s view (ga,gb,gc)

slide-18
SLIDE 18

Identity-Based Encryption

RECALL

slide-19
SLIDE 19

A key-server (with a master secret-key MSK and a master public-key MPK) that can generate (PK,SK) = (ID,SKID) for any given ID (“fancy public-key”)

Identity-Based Encryption

RECALL

slide-20
SLIDE 20

A key-server (with a master secret-key MSK and a master public-key MPK) that can generate (PK,SK) = (ID,SKID) for any given ID (“fancy public-key”) Encryption will use MPK, and the receiver’ s ID

Identity-Based Encryption

RECALL

slide-21
SLIDE 21

A key-server (with a master secret-key MSK and a master public-key MPK) that can generate (PK,SK) = (ID,SKID) for any given ID (“fancy public-key”) Encryption will use MPK, and the receiver’ s ID Receiver has to obtain SKID from the authority

Identity-Based Encryption

RECALL

slide-22
SLIDE 22

IBE from Pairing

slide-23
SLIDE 23

IBE from Pairing

MPK: g,h, Y=e(g,h)y, π = (u,u1,...,un)

slide-24
SLIDE 24

IBE from Pairing

MPK: g,h, Y=e(g,h)y, π = (u,u1,...,un)

MSK: hy

slide-25
SLIDE 25

IBE from Pairing

MPK: g,h, Y=e(g,h)y, π = (u,u1,...,un)

MSK: hy Enc(m;s) = ( gr, π(ID)r, M.Yr)

slide-26
SLIDE 26

IBE from Pairing

MPK: g,h, Y=e(g,h)y, π = (u,u1,...,un)

MSK: hy Enc(m;s) = ( gr, π(ID)r, M.Yr)

π(ID) = u Π ui

i:IDi=1

slide-27
SLIDE 27

IBE from Pairing

MPK: g,h, Y=e(g,h)y, π = (u,u1,...,un)

MSK: hy Enc(m;s) = ( gr, π(ID)r, M.Yr) SK for ID: ( gt, hy.π(ID)t) = (d1, d2)

π(ID) = u Π ui

i:IDi=1

slide-28
SLIDE 28

IBE from Pairing

MPK: g,h, Y=e(g,h)y, π = (u,u1,...,un)

MSK: hy Enc(m;s) = ( gr, π(ID)r, M.Yr) SK for ID: ( gt, hy.π(ID)t) = (d1, d2) Dec ( a, b, c; d1, d2 ) = c/ [ e(a,d2) / e(b,d1) ]

π(ID) = u Π ui

i:IDi=1

slide-29
SLIDE 29

IBE from Pairing

MPK: g,h, Y=e(g,h)y, π = (u,u1,...,un)

MSK: hy Enc(m;s) = ( gr, π(ID)r, M.Yr) SK for ID: ( gt, hy.π(ID)t) = (d1, d2) Dec ( a, b, c; d1, d2 ) = c/ [ e(a,d2) / e(b,d1) ]

CPA security based on Decisional-BDH

π(ID) = u Π ui

i:IDi=1

slide-30
SLIDE 30

NIZK Proofs

slide-31
SLIDE 31

NIZK Proofs

Recall: ZK proofs to enforce honest behavior in a basic protocol (without compromising secrecy properties of the basic protocol)

slide-32
SLIDE 32

NIZK Proofs

Recall: ZK proofs to enforce honest behavior in a basic protocol (without compromising secrecy properties of the basic protocol) Non-interactive ZK, using a common random/reference string (CRS)

slide-33
SLIDE 33

NIZK Proofs

Recall: ZK proofs to enforce honest behavior in a basic protocol (without compromising secrecy properties of the basic protocol) Non-interactive ZK, using a common random/reference string (CRS) Can forge proofs or extract knowledge if a trapdoor for the CRS is available (used by the simulator)

slide-34
SLIDE 34

NIZK Proofs

Recall: ZK proofs to enforce honest behavior in a basic protocol (without compromising secrecy properties of the basic protocol) Non-interactive ZK, using a common random/reference string (CRS) Can forge proofs or extract knowledge if a trapdoor for the CRS is available (used by the simulator) NIZK useful in (non-interactive) public-key schemes

slide-35
SLIDE 35

NIZK Proofs

Recall: ZK proofs to enforce honest behavior in a basic protocol (without compromising secrecy properties of the basic protocol) Non-interactive ZK, using a common random/reference string (CRS) Can forge proofs or extract knowledge if a trapdoor for the CRS is available (used by the simulator) NIZK useful in (non-interactive) public-key schemes CRS can be part of the public key: when no security needed against the party generating CRS (e.g. signer of a message, receiver in an encryption scheme)

slide-36
SLIDE 36

NIZK Proofs

Recall: ZK proofs to enforce honest behavior in a basic protocol (without compromising secrecy properties of the basic protocol) Non-interactive ZK, using a common random/reference string (CRS) Can forge proofs or extract knowledge if a trapdoor for the CRS is available (used by the simulator) NIZK useful in (non-interactive) public-key schemes CRS can be part of the public key: when no security needed against the party generating CRS (e.g. signer of a message, receiver in an encryption scheme) Often “witness-indistinguishability” (NIWI or NIWI PoK) sufficient: can’ t distinguish proofs using different witnesses

slide-37
SLIDE 37

NIZK Proofs

Recall: ZK proofs to enforce honest behavior in a basic protocol (without compromising secrecy properties of the basic protocol) Non-interactive ZK, using a common random/reference string (CRS) Can forge proofs or extract knowledge if a trapdoor for the CRS is available (used by the simulator) NIZK useful in (non-interactive) public-key schemes CRS can be part of the public key: when no security needed against the party generating CRS (e.g. signer of a message, receiver in an encryption scheme) Often “witness-indistinguishability” (NIWI or NIWI PoK) sufficient: can’ t distinguish proofs using different witnesses Trivial if only one witness. Very useful when two kinds of witnesses

slide-38
SLIDE 38

NIZK Proofs

slide-39
SLIDE 39

NIZK Proofs

NIZK proof/proof of knowledge systems exist for all 
 “NP statements” (i.e., “there exists/I know a witness for the relation... ” ) under fairly standard general assumptions

slide-40
SLIDE 40

NIZK Proofs

NIZK proof/proof of knowledge systems exist for all 
 “NP statements” (i.e., “there exists/I know a witness for the relation... ” ) under fairly standard general assumptions However, involves reduction to an NP-complete relation (e.g. graph Hamiltonicity) : considered impractical

slide-41
SLIDE 41

NIZK Proofs

NIZK proof/proof of knowledge systems exist for all 
 “NP statements” (i.e., “there exists/I know a witness for the relation... ” ) under fairly standard general assumptions However, involves reduction to an NP-complete relation (e.g. graph Hamiltonicity) : considered impractical Special purpose proof for statements that arise in specific schemes, under specific assumptions

slide-42
SLIDE 42

NIZK Proofs

NIZK proof/proof of knowledge systems exist for all 
 “NP statements” (i.e., “there exists/I know a witness for the relation... ” ) under fairly standard general assumptions However, involves reduction to an NP-complete relation (e.g. graph Hamiltonicity) : considered impractical Special purpose proof for statements that arise in specific schemes, under specific assumptions Much more efficient: no NP-completeness reductions

slide-43
SLIDE 43

NIZK Proofs

NIZK proof/proof of knowledge systems exist for all 
 “NP statements” (i.e., “there exists/I know a witness for the relation... ” ) under fairly standard general assumptions However, involves reduction to an NP-complete relation (e.g. graph Hamiltonicity) : considered impractical Special purpose proof for statements that arise in specific schemes, under specific assumptions Much more efficient: no NP-completeness reductions e.g. Chaum-Pedersen Honest-Verifier ZK PoK of discrete log + Fiat-Shamit heuristic

slide-44
SLIDE 44

NIZK Proofs

NIZK proof/proof of knowledge systems exist for all 
 “NP statements” (i.e., “there exists/I know a witness for the relation... ” ) under fairly standard general assumptions However, involves reduction to an NP-complete relation (e.g. graph Hamiltonicity) : considered impractical Special purpose proof for statements that arise in specific schemes, under specific assumptions Much more efficient: no NP-completeness reductions e.g. Chaum-Pedersen Honest-Verifier ZK PoK of discrete log + Fiat-Shamit heuristic May exploit similar assumptions as used in the basic scheme

slide-45
SLIDE 45

A NIZK For Statements Involving Pairings

slide-46
SLIDE 46

A NIZK For Statements Involving Pairings

Groth-Sahai proofs (2008)

slide-47
SLIDE 47

A NIZK For Statements Involving Pairings

Groth-Sahai proofs (2008) Very useful in constructions using bilinear pairings

slide-48
SLIDE 48

A NIZK For Statements Involving Pairings

Groth-Sahai proofs (2008) Very useful in constructions using bilinear pairings Can get “perfect” witness-indistinguishability or zero-knowledge

slide-49
SLIDE 49

A NIZK For Statements Involving Pairings

Groth-Sahai proofs (2008) Very useful in constructions using bilinear pairings Can get “perfect” witness-indistinguishability or zero-knowledge Then, soundness will be under certain computational assumptions

slide-50
SLIDE 50

A NIZK For Statements Involving Pairings

slide-51
SLIDE 51

A NIZK For Statements Involving Pairings

an e.g. statement

slide-52
SLIDE 52

A NIZK For Statements Involving Pairings

an e.g. statement I know X,Y,Z ∈ G and integers u,v,w s.t.

slide-53
SLIDE 53

A NIZK For Statements Involving Pairings

an e.g. statement I know X,Y,Z ∈ G and integers u,v,w s.t. e(X,A) … e(X,Y) = 1 (pairing product)

slide-54
SLIDE 54

A NIZK For Statements Involving Pairings

an e.g. statement I know X,Y,Z ∈ G and integers u,v,w s.t. e(X,A) … e(X,Y) = 1 (pairing product) Xau ... Zbv = B (product)

slide-55
SLIDE 55

A NIZK For Statements Involving Pairings

an e.g. statement I know X,Y,Z ∈ G and integers u,v,w s.t. e(X,A) … e(X,Y) = 1 (pairing product) Xau ... Zbv = B (product) a v + ... + b w = c

slide-56
SLIDE 56

A NIZK For Statements Involving Pairings

an e.g. statement I know X,Y,Z ∈ G and integers u,v,w s.t. e(X,A) … e(X,Y) = 1 (pairing product) Xau ... Zbv = B (product) a v + ... + b w = c (where A,B∈G, integers a,b,c are known to both)

slide-57
SLIDE 57

A NIZK For Statements Involving Pairings

an e.g. statement I know X,Y,Z ∈ G and integers u,v,w s.t. e(X,A) … e(X,Y) = 1 (pairing product) Xau ... Zbv = B (product) a v + ... + b w = c (where A,B∈G, integers a,b,c are known to both) Useful in proving statements like “these two commitments are to the same value”, or “I have a signature for a message with a certain property”, when appropriate commitment/signature scheme is used

slide-58
SLIDE 58

Applications

slide-59
SLIDE 59

Applications

Fancy signature schemes

slide-60
SLIDE 60

Applications

Fancy signature schemes Short group/ring signatures

slide-61
SLIDE 61

Applications

Fancy signature schemes Short group/ring signatures Short attribute-based signatures

slide-62
SLIDE 62

Applications

Fancy signature schemes Short group/ring signatures Short attribute-based signatures Efficient non-interactive proof of correctness of shuffle

slide-63
SLIDE 63

Applications

Fancy signature schemes Short group/ring signatures Short attribute-based signatures Efficient non-interactive proof of correctness of shuffle Non-interactive anonymous credentials

slide-64
SLIDE 64

Applications

Fancy signature schemes Short group/ring signatures Short attribute-based signatures Efficient non-interactive proof of correctness of shuffle Non-interactive anonymous credentials ...

slide-65
SLIDE 65

Some More Assumptions

slide-66
SLIDE 66

Some More Assumptions

Computational-BDH Assumption: For random (a,b,c), given (ga,gb,gc) infeasible to compute gabc

slide-67
SLIDE 67

Some More Assumptions

Computational-BDH Assumption: For random (a,b,c), given (ga,gb,gc) infeasible to compute gabc Decision-Linear Assumption: (g,ga,gb,gax,gby, gx+y) and (g,ga,gb,gax,gby, gz) are indistinguishable

slide-68
SLIDE 68

Some More Assumptions

Computational-BDH Assumption: For random (a,b,c), given (ga,gb,gc) infeasible to compute gabc Decision-Linear Assumption: (g,ga,gb,gax,gby, gx+y) and (g,ga,gb,gax,gby, gz) are indistinguishable Strong DH Assumption: For random x, given (g,gx) infeasible to find g1/x or even (y,g1/(x+y)). (Note: can check e(gxgy, g1/(x+y)) = e(g,g).)

slide-69
SLIDE 69

Some More Assumptions

Computational-BDH Assumption: For random (a,b,c), given (ga,gb,gc) infeasible to compute gabc Decision-Linear Assumption: (g,ga,gb,gax,gby, gx+y) and (g,ga,gb,gax,gby, gz) are indistinguishable Strong DH Assumption: For random x, given (g,gx) infeasible to find g1/x or even (y,g1/(x+y)). (Note: can check e(gxgy, g1/(x+y)) = e(g,g).) q-SDH: Given (g,gx,...,gx^q), infeasible to find (y,g1/(x+y))

slide-70
SLIDE 70

Some More Assumptions

Computational-BDH Assumption: For random (a,b,c), given (ga,gb,gc) infeasible to compute gabc Decision-Linear Assumption: (g,ga,gb,gax,gby, gx+y) and (g,ga,gb,gax,gby, gz) are indistinguishable Strong DH Assumption: For random x, given (g,gx) infeasible to find g1/x or even (y,g1/(x+y)). (Note: can check e(gxgy, g1/(x+y)) = e(g,g).) q-SDH: Given (g,gx,...,gx^q), infeasible to find (y,g1/(x+y)) Variants and other assumptions, in different settings

slide-71
SLIDE 71

Some More Assumptions

Computational-BDH Assumption: For random (a,b,c), given (ga,gb,gc) infeasible to compute gabc Decision-Linear Assumption: (g,ga,gb,gax,gby, gx+y) and (g,ga,gb,gax,gby, gz) are indistinguishable Strong DH Assumption: For random x, given (g,gx) infeasible to find g1/x or even (y,g1/(x+y)). (Note: can check e(gxgy, g1/(x+y)) = e(g,g).) q-SDH: Given (g,gx,...,gx^q), infeasible to find (y,g1/(x+y)) Variants and other assumptions, in different settings When e:G1xG2→GT: DDH in G1 and/or G2

slide-72
SLIDE 72

Some More Assumptions

Computational-BDH Assumption: For random (a,b,c), given (ga,gb,gc) infeasible to compute gabc Decision-Linear Assumption: (g,ga,gb,gax,gby, gx+y) and (g,ga,gb,gax,gby, gz) are indistinguishable Strong DH Assumption: For random x, given (g,gx) infeasible to find g1/x or even (y,g1/(x+y)). (Note: can check e(gxgy, g1/(x+y)) = e(g,g).) q-SDH: Given (g,gx,...,gx^q), infeasible to find (y,g1/(x+y)) Variants and other assumptions, in different settings When e:G1xG2→GT: DDH in G1 and/or G2 When G has composite order: Pseudorandomness of random elements from a prime order subgroup of G.

slide-73
SLIDE 73

Cheap Crypto

slide-74
SLIDE 74

Cheap Crypto

A significant amount of effort/ expertise required to reduce the security to (standard) hardness assumptions

slide-75
SLIDE 75

Cheap Crypto

A significant amount of effort/ expertise required to reduce the security to (standard) hardness assumptions Or even to new “simple” assumptions

slide-76
SLIDE 76

Cheap Crypto

A significant amount of effort/ expertise required to reduce the security to (standard) hardness assumptions Or even to new “simple” assumptions New assumptions may not have been actively attacked

slide-77
SLIDE 77

Cheap Crypto

A significant amount of effort/ expertise required to reduce the security to (standard) hardness assumptions Or even to new “simple” assumptions New assumptions may not have been actively attacked Sometimes the resulting schemes may be quite complicated and relatively inefficient

slide-78
SLIDE 78

Cheap Crypto

A significant amount of effort/ expertise required to reduce the security to (standard) hardness assumptions Or even to new “simple” assumptions New assumptions may not have been actively attacked Sometimes the resulting schemes may be quite complicated and relatively inefficient Quicker/cheaper alternative: Use heuristic idealizations

slide-79
SLIDE 79

Cheap Crypto

A significant amount of effort/ expertise required to reduce the security to (standard) hardness assumptions Or even to new “simple” assumptions New assumptions may not have been actively attacked Sometimes the resulting schemes may be quite complicated and relatively inefficient Quicker/cheaper alternative: Use heuristic idealizations Random Oracle Model

slide-80
SLIDE 80

Cheap Crypto

A significant amount of effort/ expertise required to reduce the security to (standard) hardness assumptions Or even to new “simple” assumptions New assumptions may not have been actively attacked Sometimes the resulting schemes may be quite complicated and relatively inefficient Quicker/cheaper alternative: Use heuristic idealizations Random Oracle Model Generic Group Model

slide-81
SLIDE 81

Cheap Crypto

A significant amount of effort/ expertise required to reduce the security to (standard) hardness assumptions Or even to new “simple” assumptions New assumptions may not have been actively attacked Sometimes the resulting schemes may be quite complicated and relatively inefficient Quicker/cheaper alternative: Use heuristic idealizations Random Oracle Model Generic Group Model Useful in at least “prototyping” new primitives (e.g. IBE)

slide-82
SLIDE 82

Generic Group Model

slide-83
SLIDE 83

Generic Group Model

A group is modeled as an oracle, which uses “handles” to represent group elements

slide-84
SLIDE 84

Generic Group Model

A group is modeled as an oracle, which uses “handles” to represent group elements The oracle maintains an internal table mapping group elements to handles one-to-one. Handles are generated arbitrarily in response to queries (say, randomly, or “symbolically”)

slide-85
SLIDE 85

Generic Group Model

A group is modeled as an oracle, which uses “handles” to represent group elements The oracle maintains an internal table mapping group elements to handles one-to-one. Handles are generated arbitrarily in response to queries (say, randomly, or “symbolically”) Provides the following operations:

slide-86
SLIDE 86

Generic Group Model

A group is modeled as an oracle, which uses “handles” to represent group elements The oracle maintains an internal table mapping group elements to handles one-to-one. Handles are generated arbitrarily in response to queries (say, randomly, or “symbolically”) Provides the following operations: Sample: pick random x and return Handle(x)

slide-87
SLIDE 87

Generic Group Model

A group is modeled as an oracle, which uses “handles” to represent group elements The oracle maintains an internal table mapping group elements to handles one-to-one. Handles are generated arbitrarily in response to queries (say, randomly, or “symbolically”) Provides the following operations: Sample: pick random x and return Handle(x) Multiply: On input two handles h1 and h2, return

Handle(Elem(h1).Elem(h2))

slide-88
SLIDE 88

Generic Group Model

A group is modeled as an oracle, which uses “handles” to represent group elements The oracle maintains an internal table mapping group elements to handles one-to-one. Handles are generated arbitrarily in response to queries (say, randomly, or “symbolically”) Provides the following operations: Sample: pick random x and return Handle(x) Multiply: On input two handles h1 and h2, return

Handle(Elem(h1).Elem(h2)) Raise: On input a handle h and integer a (can be negative), return Handle(Elem(h)a)

slide-89
SLIDE 89

Generic Group Model

A group is modeled as an oracle, which uses “handles” to represent group elements The oracle maintains an internal table mapping group elements to handles one-to-one. Handles are generated arbitrarily in response to queries (say, randomly, or “symbolically”) Provides the following operations: Sample: pick random x and return Handle(x) Multiply: On input two handles h1 and h2, return

Handle(Elem(h1).Elem(h2)) Raise: On input a handle h and integer a (can be negative), return Handle(Elem(h)a) In addition, if modeling a group with bilinear pairing, also provides the pairing operation and operations for the target group

slide-90
SLIDE 90

Generic Group Model

A group is modeled as an oracle, which uses “handles” to represent group elements The oracle maintains an internal table mapping group elements to handles one-to-one. Handles are generated arbitrarily in response to queries (say, randomly, or “symbolically”) Provides the following operations: Sample: pick random x and return Handle(x) Multiply: On input two handles h1 and h2, return

Handle(Elem(h1).Elem(h2)) Raise: On input a handle h and integer a (can be negative), return Handle(Elem(h)a) In addition, if modeling a group with bilinear pairing, also provides the pairing operation and operations for the target group Discrete-log assumption, DDH (or B-DDH), DLin etc. are true in GGM

slide-91
SLIDE 91

Generic Group Model

slide-92
SLIDE 92

Generic Group Model

Cryptographic scheme will be defined in the generic group model

slide-93
SLIDE 93

Generic Group Model

Cryptographic scheme will be defined in the generic group model Typically an underlying group of exponentially large order

slide-94
SLIDE 94

Generic Group Model

Cryptographic scheme will be defined in the generic group model Typically an underlying group of exponentially large order Adversary knows the underlying group structure, and may perform arbitrary computations, but is allowed to query the

  • racle only a polynomial number of times over all
slide-95
SLIDE 95

Generic Group Model

Cryptographic scheme will be defined in the generic group model Typically an underlying group of exponentially large order Adversary knows the underlying group structure, and may perform arbitrary computations, but is allowed to query the

  • racle only a polynomial number of times over all

Can write the discrete log of every handle as a linear polynomial (or a quadratic polynomial, if allowing pairing) in variables corresponding to the sampling operation. An “accidental collision” if two formally different polynomials give the same value

slide-96
SLIDE 96

Generic Group Model

Cryptographic scheme will be defined in the generic group model Typically an underlying group of exponentially large order Adversary knows the underlying group structure, and may perform arbitrary computations, but is allowed to query the

  • racle only a polynomial number of times over all

Can write the discrete log of every handle as a linear polynomial (or a quadratic polynomial, if allowing pairing) in variables corresponding to the sampling operation. An “accidental collision” if two formally different polynomials give the same value Negligible probability of accidental collision: by “Schwartz- Zippel Lemma”, number of zeroes of a (non-zero) low-degree multi-variate polynomial is bounded

slide-97
SLIDE 97

Generic Group Model

Cryptographic scheme will be defined in the generic group model Typically an underlying group of exponentially large order Adversary knows the underlying group structure, and may perform arbitrary computations, but is allowed to query the

  • racle only a polynomial number of times over all

Can write the discrete log of every handle as a linear polynomial (or a quadratic polynomial, if allowing pairing) in variables corresponding to the sampling operation. An “accidental collision” if two formally different polynomials give the same value Negligible probability of accidental collision: by “Schwartz- Zippel Lemma”, number of zeroes of a (non-zero) low-degree multi-variate polynomial is bounded And an exhaustive analysis in terms of formal polynomials to show requisite security properties

slide-98
SLIDE 98

Generic Group Model

slide-99
SLIDE 99

Generic Group Model

What does security in GGM mean?

slide-100
SLIDE 100

Generic Group Model

What does security in GGM mean? Secure against adversaries who do not “look inside” the group

slide-101
SLIDE 101

Generic Group Model

What does security in GGM mean? Secure against adversaries who do not “look inside” the group Risk: There maybe a simple attack against our construction because of some specific (otherwise benign) structure in the group

slide-102
SLIDE 102

Generic Group Model

What does security in GGM mean? Secure against adversaries who do not “look inside” the group Risk: There maybe a simple attack against our construction because of some specific (otherwise benign) structure in the group No “if this scheme is broken, so are many others” guarantee

slide-103
SLIDE 103

Generic Group Model

What does security in GGM mean? Secure against adversaries who do not “look inside” the group Risk: There maybe a simple attack against our construction because of some specific (otherwise benign) structure in the group No “if this scheme is broken, so are many others” guarantee Better practice: when possible identify simple (new) assumptions sufficient for the security of the scheme. Then prove the assumption in the generic group model

slide-104
SLIDE 104

“Knowledge” Assumptions

slide-105
SLIDE 105

“Knowledge” Assumptions

KEA-1: Given (g,ga) for a random generator g and random a, if a PPT adversary extends it to a DDH tuple (g,ga,gb,gab) then it “must know” b

slide-106
SLIDE 106

“Knowledge” Assumptions

KEA-1: Given (g,ga) for a random generator g and random a, if a PPT adversary extends it to a DDH tuple (g,ga,gb,gab) then it “must know” b KEA-3: Given (g,ga,gb,gab) for random g,a,b, if a PPT adversary

  • utputs (h,hb), then it “must know” c1, c2 such that h=gc1 (ga)c2

(and hb=(gb)c1 (gab)c2 )

slide-107
SLIDE 107

“Knowledge” Assumptions

KEA-1: Given (g,ga) for a random generator g and random a, if a PPT adversary extends it to a DDH tuple (g,ga,gb,gab) then it “must know” b KEA-3: Given (g,ga,gb,gab) for random g,a,b, if a PPT adversary

  • utputs (h,hb), then it “must know” c1, c2 such that h=gc1 (ga)c2

(and hb=(gb)c1 (gab)c2 ) By “fixing” KEA-2 (which forgot to consider c1)

slide-108
SLIDE 108

“Knowledge” Assumptions

KEA-1: Given (g,ga) for a random generator g and random a, if a PPT adversary extends it to a DDH tuple (g,ga,gb,gab) then it “must know” b KEA-3: Given (g,ga,gb,gab) for random g,a,b, if a PPT adversary

  • utputs (h,hb), then it “must know” c1, c2 such that h=gc1 (ga)c2

(and hb=(gb)c1 (gab)c2 ) By “fixing” KEA-2 (which forgot to consider c1) KEA-DH: Given g, if a PPT adversary extends it to a DDH tuple (g,ga,gb,gab) then it “must know” either a or b

slide-109
SLIDE 109

“Knowledge” Assumptions

KEA-1: Given (g,ga) for a random generator g and random a, if a PPT adversary extends it to a DDH tuple (g,ga,gb,gab) then it “must know” b KEA-3: Given (g,ga,gb,gab) for random g,a,b, if a PPT adversary

  • utputs (h,hb), then it “must know” c1, c2 such that h=gc1 (ga)c2

(and hb=(gb)c1 (gab)c2 ) By “fixing” KEA-2 (which forgot to consider c1) KEA-DH: Given g, if a PPT adversary extends it to a DDH tuple (g,ga,gb,gab) then it “must know” either a or b All provable in the generic group model (for g with large order)

slide-110
SLIDE 110

“Knowledge” Assumptions

KEA-1: Given (g,ga) for a random generator g and random a, if a PPT adversary extends it to a DDH tuple (g,ga,gb,gab) then it “must know” b KEA-3: Given (g,ga,gb,gab) for random g,a,b, if a PPT adversary

  • utputs (h,hb), then it “must know” c1, c2 such that h=gc1 (ga)c2

(and hb=(gb)c1 (gab)c2 ) By “fixing” KEA-2 (which forgot to consider c1) KEA-DH: Given g, if a PPT adversary extends it to a DDH tuple (g,ga,gb,gab) then it “must know” either a or b All provable in the generic group model (for g with large order) Even if the group has a bilinear pairing operation

slide-111
SLIDE 111

Today

slide-112
SLIDE 112

Today

Bilinear Pairings

slide-113
SLIDE 113

Today

Bilinear Pairings D-BDH and 3-party key-exchange

slide-114
SLIDE 114

Today

Bilinear Pairings D-BDH and 3-party key-exchange IBE

slide-115
SLIDE 115

Today

Bilinear Pairings D-BDH and 3-party key-exchange IBE Groth-Sahai NIZK/NIWI proofs/PoKs

slide-116
SLIDE 116

Today

Bilinear Pairings D-BDH and 3-party key-exchange IBE Groth-Sahai NIZK/NIWI proofs/PoKs Various recent assumptions used

slide-117
SLIDE 117

Today

Bilinear Pairings D-BDH and 3-party key-exchange IBE Groth-Sahai NIZK/NIWI proofs/PoKs Various recent assumptions used Generic Group Model

slide-118
SLIDE 118

Today

Bilinear Pairings D-BDH and 3-party key-exchange IBE Groth-Sahai NIZK/NIWI proofs/PoKs Various recent assumptions used Generic Group Model Knowledge-of-Exponent Assumptions