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

pairing based cryptography generic groups
SMART_READER_LITE
LIVE PREVIEW

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

Pairing-Based Cryptography & Generic Groups Lecture 22 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 22

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(gaga’,gb) = e(ga,gb) e(ga’,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(gaga’,gb) = e(ga,gb) e(ga’,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(gaga’,gb) = e(ga,gb) e(ga’,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

NIZK Proofs

slide-19
SLIDE 19

NIZK Proofs

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

slide-20
SLIDE 20

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-21
SLIDE 21

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-22
SLIDE 22

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-23
SLIDE 23

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-24
SLIDE 24

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-25
SLIDE 25

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-26
SLIDE 26

NIZK Proofs

slide-27
SLIDE 27

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-28
SLIDE 28

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-29
SLIDE 29

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-30
SLIDE 30

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-31
SLIDE 31

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

slide-32
SLIDE 32

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 May exploit similar assumptions as used in the basic scheme

slide-33
SLIDE 33

A NIZK For Statements Involving Pairings

slide-34
SLIDE 34

A NIZK For Statements Involving Pairings

Groth-Sahai proofs (2008)

slide-35
SLIDE 35

A NIZK For Statements Involving Pairings

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

slide-36
SLIDE 36

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-37
SLIDE 37

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-38
SLIDE 38

A NIZK For Statements Involving Pairings

slide-39
SLIDE 39

A NIZK For Statements Involving Pairings

an e.g. statement

slide-40
SLIDE 40

A NIZK For Statements Involving Pairings

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

slide-41
SLIDE 41

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-42
SLIDE 42

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-43
SLIDE 43

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-44
SLIDE 44

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-45
SLIDE 45

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-46
SLIDE 46

Applications

slide-47
SLIDE 47

Applications

Fancy signature schemes

slide-48
SLIDE 48

Applications

Fancy signature schemes Short group/ring signatures

slide-49
SLIDE 49

Applications

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

slide-50
SLIDE 50

Applications

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

slide-51
SLIDE 51

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-52
SLIDE 52

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-53
SLIDE 53

Some More Assumptions

slide-54
SLIDE 54

Some More Assumptions

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

slide-55
SLIDE 55

Some More Assumptions

C-BDH Assumption: For random (a,b,c), given (ga,gb,gc) infeasible to compute gabc Strong DH Assumption: For random x, given (g,gx) infeasible to find (y,g1/x+y). (But can check: e(gxgy, g1/x+y) = e(g,g).)

slide-56
SLIDE 56

Some More Assumptions

C-BDH Assumption: For random (a,b,c), given (ga,gb,gc) infeasible to compute gabc Strong DH Assumption: For random x, given (g,gx) infeasible to find (y,g1/x+y). (But 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-57
SLIDE 57

Some More Assumptions

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

slide-58
SLIDE 58

Some More Assumptions

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

slide-59
SLIDE 59

Some More Assumptions

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

slide-60
SLIDE 60

Some More Assumptions

C-BDH Assumption: For random (a,b,c), given (ga,gb,gc) infeasible to compute gabc Strong DH Assumption: For random x, given (g,gx) infeasible to find (y,g1/x+y). (But can check: e(gxgy, g1/x+y) = e(g,g).) q-SDH: Given (g,gx,...,gx^q), infeasible to find (y,g1/x+y) Decision-Linear Assumption: (g,ga,gb,gax,gby, gx+y) and (g,ga,gb,gax,gby, gz) are indistinguishable 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-61
SLIDE 61

Cheap Crypto

slide-62
SLIDE 62

Cheap Crypto

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

slide-63
SLIDE 63

Cheap Crypto

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

slide-64
SLIDE 64

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-65
SLIDE 65

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-66
SLIDE 66

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-67
SLIDE 67

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-68
SLIDE 68

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-69
SLIDE 69

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-70
SLIDE 70

Generic Group Model

slide-71
SLIDE 71

Generic Group Model

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

slide-72
SLIDE 72

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-73
SLIDE 73

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-74
SLIDE 74

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-75
SLIDE 75

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-76
SLIDE 76

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-77
SLIDE 77

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-78
SLIDE 78

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-79
SLIDE 79

Generic Group Model

slide-80
SLIDE 80

Generic Group Model

Cryptographic scheme will be defined in the generic group model

slide-81
SLIDE 81

Generic Group Model

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

slide-82
SLIDE 82

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 unlimited computations, but is allowed to query the

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

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 unlimited 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 same value

slide-84
SLIDE 84

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 unlimited 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 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-85
SLIDE 85

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 unlimited 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 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-86
SLIDE 86

Generic Group Model

slide-87
SLIDE 87

Generic Group Model

What does security in GGM mean?

slide-88
SLIDE 88

Generic Group Model

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

slide-89
SLIDE 89

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-90
SLIDE 90

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-91
SLIDE 91

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-92
SLIDE 92

“Knowledge” Assumptions

slide-93
SLIDE 93

“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-94
SLIDE 94

“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-95
SLIDE 95

“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-96
SLIDE 96

“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-97
SLIDE 97

“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-98
SLIDE 98

“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-99
SLIDE 99

Today

slide-100
SLIDE 100

Today

Bilinear Pairings

slide-101
SLIDE 101

Today

Bilinear Pairings D-BDH and Joux’ s 3-party key-exchange

slide-102
SLIDE 102

Today

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

slide-103
SLIDE 103

Today

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

slide-104
SLIDE 104

Today

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

slide-105
SLIDE 105

Today

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