e-Cash Lecture 23 Requirements Requirements Involves a Bank, - - PowerPoint PPT Presentation

e cash
SMART_READER_LITE
LIVE PREVIEW

e-Cash Lecture 23 Requirements Requirements Involves a Bank, - - PowerPoint PPT Presentation

e-Cash Lecture 23 Requirements Requirements Involves a Bank, merchants and users Requirements Involves a Bank, merchants and users Users have accounts in the Bank, with real money Requirements Involves a Bank, merchants


slide-1
SLIDE 1

e-Cash

Lecture 23

slide-2
SLIDE 2

Requirements

slide-3
SLIDE 3

Requirements

Involves a “Bank”, merchants and users

slide-4
SLIDE 4

Requirements

Involves a “Bank”, merchants and users Users have accounts in the Bank, with real money

slide-5
SLIDE 5

Requirements

Involves a “Bank”, merchants and users Users have accounts in the Bank, with real money Users should be able to withdraw e-cash and spend it later with any merchant; merchant can cash (deposit) the spent amount at the bank

slide-6
SLIDE 6

Requirements

Involves a “Bank”, merchants and users Users have accounts in the Bank, with real money Users should be able to withdraw e-cash and spend it later with any merchant; merchant can cash (deposit) the spent amount at the bank Even if the bank and merchant collude, they should not be able to link withdrawal with spending

slide-7
SLIDE 7

Requirements

Involves a “Bank”, merchants and users Users have accounts in the Bank, with real money Users should be able to withdraw e-cash and spend it later with any merchant; merchant can cash (deposit) the spent amount at the bank Even if the bank and merchant collude, they should not be able to link withdrawal with spending Merchants/users (even colluding) should not be able to deposit e-cash that was not withdrawn

slide-8
SLIDE 8

Requirements

Involves a “Bank”, merchants and users Users have accounts in the Bank, with real money Users should be able to withdraw e-cash and spend it later with any merchant; merchant can cash (deposit) the spent amount at the bank Even if the bank and merchant collude, they should not be able to link withdrawal with spending Merchants/users (even colluding) should not be able to deposit e-cash that was not withdrawn Users should not be able to cheat honest merchants. In particular, users should not be able to double-spend

slide-9
SLIDE 9

An approach

slide-10
SLIDE 10

An approach

Using “Blind Signatures”

slide-11
SLIDE 11

An approach

Using “Blind Signatures” User picks a serial number (coin), gets it signed blindly

slide-12
SLIDE 12

An approach

Using “Blind Signatures” User picks a serial number (coin), gets it signed blindly At a merchant’ s, the user gives the signed coin (i.e., a serial number, and a blind signature on it)

slide-13
SLIDE 13

An approach

Using “Blind Signatures” User picks a serial number (coin), gets it signed blindly At a merchant’ s, the user gives the signed coin (i.e., a serial number, and a blind signature on it) Merchant contacts the Bank (online) who ensures that the coin with that serial number has not been used before (i.e., no double spending) and the signature is valid. If so adds the coin to the spent-coin list

slide-14
SLIDE 14

Blind Signatures

slide-15
SLIDE 15

Blind Signatures

A 2-party functionality between a User and a Signer

slide-16
SLIDE 16

Blind Signatures

A 2-party functionality between a User and a Signer Signer inputs a signing/verification key pair (SK,VK), 
 User inputs a message m. User gets output (VK,SignSK(m)) (Signer gets nothing -- neither m, nor the signature).

slide-17
SLIDE 17

Blind Signatures

A 2-party functionality between a User and a Signer Signer inputs a signing/verification key pair (SK,VK), 
 User inputs a message m. User gets output (VK,SignSK(m)) (Signer gets nothing -- neither m, nor the signature). Signature is honestly generated. Also, assume unique valid SK for each VK. (No “marked bills”.)

slide-18
SLIDE 18

Blind Signatures

A 2-party functionality between a User and a Signer Signer inputs a signing/verification key pair (SK,VK), 
 User inputs a message m. User gets output (VK,SignSK(m)) (Signer gets nothing -- neither m, nor the signature). Signature is honestly generated. Also, assume unique valid SK for each VK. (No “marked bills”.) Weaker security definition: blind, unlinkable and unforgeable

slide-19
SLIDE 19

Blind Signatures

A 2-party functionality between a User and a Signer Signer inputs a signing/verification key pair (SK,VK), 
 User inputs a message m. User gets output (VK,SignSK(m)) (Signer gets nothing -- neither m, nor the signature). Signature is honestly generated. Also, assume unique valid SK for each VK. (No “marked bills”.) Weaker security definition: blind, unlinkable and unforgeable Blindness: Signer cannot distinguish between m0 and m1

slide-20
SLIDE 20

Blind Signatures

A 2-party functionality between a User and a Signer Signer inputs a signing/verification key pair (SK,VK), 
 User inputs a message m. User gets output (VK,SignSK(m)) (Signer gets nothing -- neither m, nor the signature). Signature is honestly generated. Also, assume unique valid SK for each VK. (No “marked bills”.) Weaker security definition: blind, unlinkable and unforgeable Blindness: Signer cannot distinguish between m0 and m1 Unlinkability: Signer cannot link a signature to the session in which it was created

slide-21
SLIDE 21

Blind Signatures

A 2-party functionality between a User and a Signer Signer inputs a signing/verification key pair (SK,VK), 
 User inputs a message m. User gets output (VK,SignSK(m)) (Signer gets nothing -- neither m, nor the signature). Signature is honestly generated. Also, assume unique valid SK for each VK. (No “marked bills”.) Weaker security definition: blind, unlinkable and unforgeable Blindness: Signer cannot distinguish between m0 and m1 Unlinkability: Signer cannot link a signature to the session in which it was created Unforgeability: After t sessions, User cannot output signatures on t+1 distinct messages

slide-22
SLIDE 22

A Blind Signature Scheme

slide-23
SLIDE 23

A Blind Signature Scheme

In the Common Reference String model: CRS includes a PK for a CPA-secure PKE scheme and the CRS for a NIZK scheme

slide-24
SLIDE 24

A Blind Signature Scheme

In the Common Reference String model: CRS includes a PK for a CPA-secure PKE scheme and the CRS for a NIZK scheme Signing Protocol:

slide-25
SLIDE 25

A Blind Signature Scheme

In the Common Reference String model: CRS includes a PK for a CPA-secure PKE scheme and the CRS for a NIZK scheme Signing Protocol: User → Signer: c := Commit(m) /

/Commit is perfectly binding

slide-26
SLIDE 26

A Blind Signature Scheme

In the Common Reference String model: CRS includes a PK for a CPA-secure PKE scheme and the CRS for a NIZK scheme Signing Protocol: User → Signer: c := Commit(m) /

/Commit is perfectly binding

Signer → User: σ := SignSK(c)

slide-27
SLIDE 27

A Blind Signature Scheme

In the Common Reference String model: CRS includes a PK for a CPA-secure PKE scheme and the CRS for a NIZK scheme Signing Protocol: User → Signer: c := Commit(m) /

/Commit is perfectly binding

Signer → User: σ := SignSK(c) User: Output (C,π) as signature on m, where C = EncPK(c, σ), and π is a NIZK of correctness of C

slide-28
SLIDE 28

A Blind Signature Scheme

In the Common Reference String model: CRS includes a PK for a CPA-secure PKE scheme and the CRS for a NIZK scheme Signing Protocol: User → Signer: c := Commit(m) /

/Commit is perfectly binding

Signer → User: σ := SignSK(c) User: Output (C,π) as signature on m, where C = EncPK(c, σ), and π is a NIZK of correctness of C Correctness of C: there exist c,σ,rPKE,rCommit such that c=Commit(m;rcommit), C=EncPK(c,σ;rPKE) and VerifyVK(c,σ) holds

slide-29
SLIDE 29

A Blind Signature Scheme

In the Common Reference String model: CRS includes a PK for a CPA-secure PKE scheme and the CRS for a NIZK scheme Signing Protocol: User → Signer: c := Commit(m) /

/Commit is perfectly binding

Signer → User: σ := SignSK(c) User: Output (C,π) as signature on m, where C = EncPK(c, σ), and π is a NIZK of correctness of C Correctness of C: there exist c,σ,rPKE,rCommit such that c=Commit(m;rcommit), C=EncPK(c,σ;rPKE) and VerifyVK(c,σ) holds Blindness, because signer sees only Commit(m). Unlinkability from encryption & ZK. Unforgeability from soundness of NIZK, efficient decryption of PKE & unforgeability of the signature scheme

slide-30
SLIDE 30

A Blind Signature Scheme

In the Common Reference String model: CRS includes a PK for a CPA-secure PKE scheme and the CRS for a NIZK scheme Signing Protocol: User → Signer: c := Commit(m) /

/Commit is perfectly binding

Signer → User: σ := SignSK(c) User: Output (C,π) as signature on m, where C = EncPK(c, σ), and π is a NIZK of correctness of C Correctness of C: there exist c,σ,rPKE,rCommit such that c=Commit(m;rcommit), C=EncPK(c,σ;rPKE) and VerifyVK(c,σ) holds Blindness, because signer sees only Commit(m). Unlinkability from encryption & ZK. Unforgeability from soundness of NIZK, efficient decryption of PKE & unforgeability of the signature scheme Efficient variants (under suitable assumptions) using Groth-Sahai NIZK (or NIWI) scheme and compatible primitives

slide-31
SLIDE 31

Offline e-Cash

slide-32
SLIDE 32

Offline e-Cash

Previous scheme requires the merchant to contact the Bank

  • nline
slide-33
SLIDE 33

Offline e-Cash

Previous scheme requires the merchant to contact the Bank

  • nline

Indeed, merchants can’ t detect/prevent double spending without contacting the Bank since they do not interact with each other

slide-34
SLIDE 34

Offline e-Cash

Previous scheme requires the merchant to contact the Bank

  • nline

Indeed, merchants can’ t detect/prevent double spending without contacting the Bank since they do not interact with each other (Unless hardware tokens are used)

slide-35
SLIDE 35

Offline e-Cash

Previous scheme requires the merchant to contact the Bank

  • nline

Indeed, merchants can’ t detect/prevent double spending without contacting the Bank since they do not interact with each other (Unless hardware tokens are used) Detecting double-spending only later is not enough

slide-36
SLIDE 36

Offline e-Cash

Previous scheme requires the merchant to contact the Bank

  • nline

Indeed, merchants can’ t detect/prevent double spending without contacting the Bank since they do not interact with each other (Unless hardware tokens are used) Detecting double-spending only later is not enough In offline e-Cash, double spending is allowed, but will be caught and traced to the user when a merchant deposits the coin

slide-37
SLIDE 37

Offline e-Cash

Previous scheme requires the merchant to contact the Bank

  • nline

Indeed, merchants can’ t detect/prevent double spending without contacting the Bank since they do not interact with each other (Unless hardware tokens are used) Detecting double-spending only later is not enough In offline e-Cash, double spending is allowed, but will be caught and traced to the user when a merchant deposits the coin Idea: verification in two sessions of the spending protocol with the same coin exposes the user’ s identity

slide-38
SLIDE 38

Offline e-Cash: A plan

slide-39
SLIDE 39

Offline e-Cash: A plan

Coin must contain information about the user’ s identity

slide-40
SLIDE 40

Offline e-Cash: A plan

Coin must contain information about the user’ s identity Withdrawal: get a blind signature from the Bank on (ID,s,t) where s is a serial number and t used to blind ID while spending (for up to one time). (ID,s,t from a suitable field)

slide-41
SLIDE 41

Offline e-Cash: A plan

Coin must contain information about the user’ s identity Withdrawal: get a blind signature from the Bank on (ID,s,t) where s is a serial number and t used to blind ID while spending (for up to one time). (ID,s,t from a suitable field) Must first convince the Bank that message being signed has the correct ID (to prevent implication of a wrong user on double spending): partially blind signatures

slide-42
SLIDE 42

Offline e-Cash: A plan

Coin must contain information about the user’ s identity Withdrawal: get a blind signature from the Bank on (ID,s,t) where s is a serial number and t used to blind ID while spending (for up to one time). (ID,s,t from a suitable field) Must first convince the Bank that message being signed has the correct ID (to prevent implication of a wrong user on double spending): partially blind signatures Spending: reveal (s,d) where d := ID+Rt, for a random challenge R from the merchant, along with a PoK of signature on (ID’,s,t’) for some ID’,t’ s.t. ID’+Rt’ = d

slide-43
SLIDE 43

Offline e-Cash: A plan

Coin must contain information about the user’ s identity Withdrawal: get a blind signature from the Bank on (ID,s,t) where s is a serial number and t used to blind ID while spending (for up to one time). (ID,s,t from a suitable field) Must first convince the Bank that message being signed has the correct ID (to prevent implication of a wrong user on double spending): partially blind signatures Spending: reveal (s,d) where d := ID+Rt, for a random challenge R from the merchant, along with a PoK of signature on (ID’,s,t’) for some ID’,t’ s.t. ID’+Rt’ = d On depositing the same coin twice, Bank can solve for ID

slide-44
SLIDE 44

Offline e-Cash: A plan

Coin must contain information about the user’ s identity Withdrawal: get a blind signature from the Bank on (ID,s,t) where s is a serial number and t used to blind ID while spending (for up to one time). (ID,s,t from a suitable field) Must first convince the Bank that message being signed has the correct ID (to prevent implication of a wrong user on double spending): partially blind signatures Spending: reveal (s,d) where d := ID+Rt, for a random challenge R from the merchant, along with a PoK of signature on (ID’,s,t’) for some ID’,t’ s.t. ID’+Rt’ = d On depositing the same coin twice, Bank can solve for ID Merchant needs to transfer the User’ s proof to Bank (i.e., Bank should be convinced that the merchant didn’ t fake)

slide-45
SLIDE 45

Signatures with Proofs: CL Signatures

slide-46
SLIDE 46

Signatures with Proofs: CL Signatures

Camenisch-Lysyanskaya signatures: Uses Pedersen commitments; security under DDH and Strong RSA assumptions

slide-47
SLIDE 47

Signatures with Proofs: CL Signatures

Camenisch-Lysyanskaya signatures: Uses Pedersen commitments; security under DDH and Strong RSA assumptions Blind signature functionality:

slide-48
SLIDE 48

Signatures with Proofs: CL Signatures

Camenisch-Lysyanskaya signatures: Uses Pedersen commitments; security under DDH and Strong RSA assumptions Blind signature functionality: Common input: Pedersen commitment to a vector (x1,...,xn) Com(x1,..,xn;r) = g1x1...gnxn hr and a verification key VK

slide-49
SLIDE 49

Signatures with Proofs: CL Signatures

Camenisch-Lysyanskaya signatures: Uses Pedersen commitments; security under DDH and Strong RSA assumptions Blind signature functionality: Common input: Pedersen commitment to a vector (x1,...,xn) Com(x1,..,xn;r) = g1x1...gnxn hr and a verification key VK User’ s input: x1,...,xn and r; Signer’ s input: signing key SK

slide-50
SLIDE 50

Signatures with Proofs: CL Signatures

Camenisch-Lysyanskaya signatures: Uses Pedersen commitments; security under DDH and Strong RSA assumptions Blind signature functionality: Common input: Pedersen commitment to a vector (x1,...,xn) Com(x1,..,xn;r) = g1x1...gnxn hr and a verification key VK User’ s input: x1,...,xn and r; Signer’ s input: signing key SK User gets SignSK(x1,...,xn) (i.e., sign on the message itself)

slide-51
SLIDE 51

Signatures with Proofs: CL Signatures

Camenisch-Lysyanskaya signatures: Uses Pedersen commitments; security under DDH and Strong RSA assumptions Blind signature functionality: Common input: Pedersen commitment to a vector (x1,...,xn) Com(x1,..,xn;r) = g1x1...gnxn hr and a verification key VK User’ s input: x1,...,xn and r; Signer’ s input: signing key SK User gets SignSK(x1,...,xn) (i.e., sign on the message itself) Proof functionality:

slide-52
SLIDE 52

Signatures with Proofs: CL Signatures

Camenisch-Lysyanskaya signatures: Uses Pedersen commitments; security under DDH and Strong RSA assumptions Blind signature functionality: Common input: Pedersen commitment to a vector (x1,...,xn) Com(x1,..,xn;r) = g1x1...gnxn hr and a verification key VK User’ s input: x1,...,xn and r; Signer’ s input: signing key SK User gets SignSK(x1,...,xn) (i.e., sign on the message itself) Proof functionality: Common input: VK and Com(x1,..,xn;r’)

slide-53
SLIDE 53

Signatures with Proofs: CL Signatures

Camenisch-Lysyanskaya signatures: Uses Pedersen commitments; security under DDH and Strong RSA assumptions Blind signature functionality: Common input: Pedersen commitment to a vector (x1,...,xn) Com(x1,..,xn;r) = g1x1...gnxn hr and a verification key VK User’ s input: x1,...,xn and r; Signer’ s input: signing key SK User gets SignSK(x1,...,xn) (i.e., sign on the message itself) Proof functionality: Common input: VK and Com(x1,..,xn;r’) User’ s input: (x1,...,xn,r’) and a signature on (x1,...,xn)

slide-54
SLIDE 54

Signatures with Proofs: CL Signatures

Camenisch-Lysyanskaya signatures: Uses Pedersen commitments; security under DDH and Strong RSA assumptions Blind signature functionality: Common input: Pedersen commitment to a vector (x1,...,xn) Com(x1,..,xn;r) = g1x1...gnxn hr and a verification key VK User’ s input: x1,...,xn and r; Signer’ s input: signing key SK User gets SignSK(x1,...,xn) (i.e., sign on the message itself) Proof functionality: Common input: VK and Com(x1,..,xn;r’) User’ s input: (x1,...,xn,r’) and a signature on (x1,...,xn) Verifier gets verification that signature and commitment are valid and on same message

slide-55
SLIDE 55

Signatures with Proofs: CL Signatures

Camenisch-Lysyanskaya signatures: Uses Pedersen commitments; security under DDH and Strong RSA assumptions Blind signature functionality: Common input: Pedersen commitment to a vector (x1,...,xn) Com(x1,..,xn;r) = g1x1...gnxn hr and a verification key VK User’ s input: x1,...,xn and r; Signer’ s input: signing key SK User gets SignSK(x1,...,xn) (i.e., sign on the message itself) Proof functionality: Common input: VK and Com(x1,..,xn;r’) User’ s input: (x1,...,xn,r’) and a signature on (x1,...,xn) Verifier gets verification that signature and commitment are valid and on same message Verification is interactive (but can be made transferable using Fiat-Shamir heuristics in the RO model)

slide-56
SLIDE 56

Signatures with Proofs: P-Signatures

slide-57
SLIDE 57

Signatures with Proofs: P-Signatures

Like CL Signatures, but with non-interactive proofs

slide-58
SLIDE 58

Signatures with Proofs: P-Signatures

Like CL Signatures, but with non-interactive proofs

  • Blind Signature; signer takes a commitment to message

  • Proof of Knowledge of signature on a committed value

  • Proof of equivalence of two committed values
slide-59
SLIDE 59

Signatures with Proofs: P-Signatures

Like CL Signatures, but with non-interactive proofs

  • Blind Signature; signer takes a commitment to message

  • Proof of Knowledge of signature on a committed value

  • Proof of equivalence of two committed values

Setup involves a (trusted) CRS

slide-60
SLIDE 60

Signatures with Proofs: P-Signatures

Like CL Signatures, but with non-interactive proofs

  • Blind Signature; signer takes a commitment to message

  • Proof of Knowledge of signature on a committed value

  • Proof of equivalence of two committed values

Setup involves a (trusted) CRS Constructions known in groups with bilinear pairings

slide-61
SLIDE 61

Signatures with Proofs: P-Signatures

Like CL Signatures, but with non-interactive proofs

  • Blind Signature; signer takes a commitment to message

  • Proof of Knowledge of signature on a committed value

  • Proof of equivalence of two committed values

Setup involves a (trusted) CRS Constructions known in groups with bilinear pairings Proofs using Groth-Sahai NIZK/NIWI schemes

slide-62
SLIDE 62

Signatures with Proofs: P-Signatures

Like CL Signatures, but with non-interactive proofs

  • Blind Signature; signer takes a commitment to message

  • Proof of Knowledge of signature on a committed value

  • Proof of equivalence of two committed values

Setup involves a (trusted) CRS Constructions known in groups with bilinear pairings Proofs using Groth-Sahai NIZK/NIWI schemes Uses signatures and commitments s.t. the statements to be proven are covered by GS NIZKs

slide-63
SLIDE 63

Signatures with Proofs: P-Signatures

Like CL Signatures, but with non-interactive proofs

  • Blind Signature; signer takes a commitment to message

  • Proof of Knowledge of signature on a committed value

  • Proof of equivalence of two committed values

Setup involves a (trusted) CRS Constructions known in groups with bilinear pairings Proofs using Groth-Sahai NIZK/NIWI schemes Uses signatures and commitments s.t. the statements to be proven are covered by GS NIZKs e.g. (Weak) Boneh-Boyen signature: SignSK(x) = g1/(SK+x)

slide-64
SLIDE 64

Efficiency Issues

slide-65
SLIDE 65

Efficiency Issues

So far, withdrawal involves one signature per coin

slide-66
SLIDE 66

Efficiency Issues

So far, withdrawal involves one signature per coin Use large denominations?

slide-67
SLIDE 67

Efficiency Issues

So far, withdrawal involves one signature per coin Use large denominations? Should allow spending in small denominations

slide-68
SLIDE 68

Efficiency Issues

So far, withdrawal involves one signature per coin Use large denominations? Should allow spending in small denominations Divisible e-cash

slide-69
SLIDE 69

Efficiency Issues

So far, withdrawal involves one signature per coin Use large denominations? Should allow spending in small denominations Divisible e-cash Should allow spending multiple times from the same large denomination coin. But to detect over-spending, allows linking together spendings from the same coin

slide-70
SLIDE 70

Efficiency Issues

So far, withdrawal involves one signature per coin Use large denominations? Should allow spending in small denominations Divisible e-cash Should allow spending multiple times from the same large denomination coin. But to detect over-spending, allows linking together spendings from the same coin Trees with small denomination coins at the leaves; can spend any node (root of a subtree); spending a node and a descendent will reveal ID

slide-71
SLIDE 71

Efficiency Issues

So far, withdrawal involves one signature per coin Use large denominations? Should allow spending in small denominations Divisible e-cash Should allow spending multiple times from the same large denomination coin. But to detect over-spending, allows linking together spendings from the same coin Trees with small denomination coins at the leaves; can spend any node (root of a subtree); spending a node and a descendent will reveal ID Compact e-Cash: Remove linking multiple spending

slide-72
SLIDE 72

Compact e-Cash

slide-73
SLIDE 73

Compact e-Cash

Recall previous (non-compact) scheme: get signature on (ID,s,t) during withdrawal and reveal (s,d) where d := ID+Rt for a challenge R, when spending the coin

slide-74
SLIDE 74

Compact e-Cash

Recall previous (non-compact) scheme: get signature on (ID,s,t) during withdrawal and reveal (s,d) where d := ID+Rt for a challenge R, when spending the coin Instead, let s, t be seeds of a PRF

slide-75
SLIDE 75

Compact e-Cash

Recall previous (non-compact) scheme: get signature on (ID,s,t) during withdrawal and reveal (s,d) where d := ID+Rt for a challenge R, when spending the coin Instead, let s, t be seeds of a PRF On spending for the ith time, reveal (S,D) where 
 S = PRFs(i) and D = ID + R T, where T = PRFt(i)

slide-76
SLIDE 76

Compact e-Cash

Recall previous (non-compact) scheme: get signature on (ID,s,t) during withdrawal and reveal (s,d) where d := ID+Rt for a challenge R, when spending the coin Instead, let s, t be seeds of a PRF On spending for the ith time, reveal (S,D) where 
 S = PRFs(i) and D = ID + R T, where T = PRFt(i) Prove that ID,s,t,i,signature exist as claimed and that i is in the range [1,L] for some upper-bound L

slide-77
SLIDE 77

Compact e-Cash

Recall previous (non-compact) scheme: get signature on (ID,s,t) during withdrawal and reveal (s,d) where d := ID+Rt for a challenge R, when spending the coin Instead, let s, t be seeds of a PRF On spending for the ith time, reveal (S,D) where 
 S = PRFs(i) and D = ID + R T, where T = PRFt(i) Prove that ID,s,t,i,signature exist as claimed and that i is in the range [1,L] for some upper-bound L s secret, so can’ t link multiple spendings of the same coin

slide-78
SLIDE 78

Compact e-Cash

Recall previous (non-compact) scheme: get signature on (ID,s,t) during withdrawal and reveal (s,d) where d := ID+Rt for a challenge R, when spending the coin Instead, let s, t be seeds of a PRF On spending for the ith time, reveal (S,D) where 
 S = PRFs(i) and D = ID + R T, where T = PRFt(i) Prove that ID,s,t,i,signature exist as claimed and that i is in the range [1,L] for some upper-bound L s secret, so can’ t link multiple spendings of the same coin Reusing same i results in same S and T, and reveals ID

slide-79
SLIDE 79

Compact e-Cash

Recall previous (non-compact) scheme: get signature on (ID,s,t) during withdrawal and reveal (s,d) where d := ID+Rt for a challenge R, when spending the coin Instead, let s, t be seeds of a PRF On spending for the ith time, reveal (S,D) where 
 S = PRFs(i) and D = ID + R T, where T = PRFt(i) Prove that ID,s,t,i,signature exist as claimed and that i is in the range [1,L] for some upper-bound L s secret, so can’ t link multiple spendings of the same coin Reusing same i results in same S and T, and reveals ID Note: Spending is still one coin at a time

slide-80
SLIDE 80

Compact e-Cash

Recall previous (non-compact) scheme: get signature on (ID,s,t) during withdrawal and reveal (s,d) where d := ID+Rt for a challenge R, when spending the coin Instead, let s, t be seeds of a PRF On spending for the ith time, reveal (S,D) where 
 S = PRFs(i) and D = ID + R T, where T = PRFt(i) Prove that ID,s,t,i,signature exist as claimed and that i is in the range [1,L] for some upper-bound L s secret, so can’ t link multiple spendings of the same coin Reusing same i results in same S and T, and reveals ID Note: Spending is still one coin at a time Need a PRF that supports efficient proofs

slide-81
SLIDE 81

A PRF for compact e-Cash

slide-82
SLIDE 82

A PRF for compact e-Cash

Fg,s(x) = g1/(s+x+1) where s is the seed (g can be public) [DY05]

slide-83
SLIDE 83

A PRF for compact e-Cash

Fg,s(x) = g1/(s+x+1) where s is the seed (g can be public) [DY05] Secure under q-DDH Inversion (DDHI) Assumption

slide-84
SLIDE 84

A PRF for compact e-Cash

Fg,s(x) = g1/(s+x+1) where s is the seed (g can be public) [DY05] Secure under q-DDH Inversion (DDHI) Assumption Given (g,gx,gx^2,gx^3,...,gx^q) for random g and x, g1/x is pseudorandom (i.e., indistinguishable from gr)

slide-85
SLIDE 85

A PRF for compact e-Cash

Fg,s(x) = g1/(s+x+1) where s is the seed (g can be public) [DY05] Secure under q-DDH Inversion (DDHI) Assumption Given (g,gx,gx^2,gx^3,...,gx^q) for random g and x, g1/x is pseudorandom (i.e., indistinguishable from gr)

  • cf. q-SDH: hard to find (y,g1/x+y)
slide-86
SLIDE 86

A PRF for compact e-Cash

Fg,s(x) = g1/(s+x+1) where s is the seed (g can be public) [DY05] Secure under q-DDH Inversion (DDHI) Assumption Given (g,gx,gx^2,gx^3,...,gx^q) for random g and x, g1/x is pseudorandom (i.e., indistinguishable from gr)

  • cf. q-SDH: hard to find (y,g1/x+y)

Efficient (but interactive) HVZK proofs known for requisite

  • statements. Used to get compact e-cash in the Random Oracle

Model [CHL06]

slide-87
SLIDE 87

A PRF for compact e-Cash

Fg,s(x) = g1/(s+x+1) where s is the seed (g can be public) [DY05] Secure under q-DDH Inversion (DDHI) Assumption Given (g,gx,gx^2,gx^3,...,gx^q) for random g and x, g1/x is pseudorandom (i.e., indistinguishable from gr)

  • cf. q-SDH: hard to find (y,g1/x+y)

Efficient (but interactive) HVZK proofs known for requisite

  • statements. Used to get compact e-cash in the Random Oracle

Model [CHL06] Alternately, working in groups with bilinear pairings, can use Groth-Sahai NIZK (under appropriate assumptions)

slide-88
SLIDE 88

e-Cash today

slide-89
SLIDE 89

e-Cash today

Originally proposed by Chaum in 1982

slide-90
SLIDE 90

e-Cash today

Originally proposed by Chaum in 1982 Not commercially deployed

slide-91
SLIDE 91

e-Cash today

Originally proposed by Chaum in 1982 Not commercially deployed Some attempts in mid 90’ s failed commercially

slide-92
SLIDE 92

e-Cash today

Originally proposed by Chaum in 1982 Not commercially deployed Some attempts in mid 90’ s failed commercially Requires investment from financial institutions, merchants and bankers

slide-93
SLIDE 93

e-Cash today

Originally proposed by Chaum in 1982 Not commercially deployed Some attempts in mid 90’ s failed commercially Requires investment from financial institutions, merchants and bankers Non-anonymous electronic payment methods (credit-cards, pay-pal etc.) are still widely trusted

slide-94
SLIDE 94

e-Cash today

Originally proposed by Chaum in 1982 Not commercially deployed Some attempts in mid 90’ s failed commercially Requires investment from financial institutions, merchants and bankers Non-anonymous electronic payment methods (credit-cards, pay-pal etc.) are still widely trusted Active research continues

slide-95
SLIDE 95

e-Cash today

Originally proposed by Chaum in 1982 Not commercially deployed Some attempts in mid 90’ s failed commercially Requires investment from financial institutions, merchants and bankers Non-anonymous electronic payment methods (credit-cards, pay-pal etc.) are still widely trusted Active research continues e.g. schemes not depending on Random Oracles, but on relatively untested assumptions

slide-96
SLIDE 96

e-Cash today

Originally proposed by Chaum in 1982 Not commercially deployed Some attempts in mid 90’ s failed commercially Requires investment from financial institutions, merchants and bankers Non-anonymous electronic payment methods (credit-cards, pay-pal etc.) are still widely trusted Active research continues e.g. schemes not depending on Random Oracles, but on relatively untested assumptions Security/Efficiency/Usability issues: need to cancel stolen electronic wallet; need to recharge electronic wallet (cellphone?)

  • nline, but protect it from malware; efficient multiple denomination

coins; allow transferability; tracing may not deter double-spending

slide-97
SLIDE 97

Anonymous Credentials

slide-98
SLIDE 98

Anonymous Credentials

Introduced by Chaum in 1985

slide-99
SLIDE 99

Anonymous Credentials

Introduced by Chaum in 1985 Similar to e-cash, but must allow multiple uses (double-spending not an issue)

slide-100
SLIDE 100

Anonymous Credentials

Introduced by Chaum in 1985 Similar to e-cash, but must allow multiple uses (double-spending not an issue) Alice should be able to prove to Bob that she has a credential from Carol (cf. Alice withdraws a coin from Carol and spends it with Bob)

slide-101
SLIDE 101

Anonymous Credentials

Introduced by Chaum in 1985 Similar to e-cash, but must allow multiple uses (double-spending not an issue) Alice should be able to prove to Bob that she has a credential from Carol (cf. Alice withdraws a coin from Carol and spends it with Bob) Bob and Carol cannot link the persons who proved credentials to the persons who obtained credentials

slide-102
SLIDE 102

Anonymous Credentials

Introduced by Chaum in 1985 Similar to e-cash, but must allow multiple uses (double-spending not an issue) Alice should be able to prove to Bob that she has a credential from Carol (cf. Alice withdraws a coin from Carol and spends it with Bob) Bob and Carol cannot link the persons who proved credentials to the persons who obtained credentials And they cannot link together multiple proofs coming from the same user

slide-103
SLIDE 103

Anonymous Credentials from P-Signatures

slide-104
SLIDE 104

Anonymous Credentials from P-Signatures

User Alice has a public-key, PKA and a secret key SKA

slide-105
SLIDE 105

Anonymous Credentials from P-Signatures

User Alice has a public-key, PKA and a secret key SKA Alice needs pseudonyms with Bob and Carol, say AB and AC

slide-106
SLIDE 106

Anonymous Credentials from P-Signatures

User Alice has a public-key, PKA and a secret key SKA Alice needs pseudonyms with Bob and Carol, say AB and AC AB and AC will be (independent) commitments to SKA (using the commitment supported by the P-Signature)

slide-107
SLIDE 107

Anonymous Credentials from P-Signatures

User Alice has a public-key, PKA and a secret key SKA Alice needs pseudonyms with Bob and Carol, say AB and AC AB and AC will be (independent) commitments to SKA (using the commitment supported by the P-Signature) Obtaining credential: Carol blindly signs SKA using a P-Signature scheme, accepting AC as the commitment of SKA. She needs a proof that AC is a valid commitment of PKA’ s secret-key

slide-108
SLIDE 108

Anonymous Credentials from P-Signatures

User Alice has a public-key, PKA and a secret key SKA Alice needs pseudonyms with Bob and Carol, say AB and AC AB and AC will be (independent) commitments to SKA (using the commitment supported by the P-Signature) Obtaining credential: Carol blindly signs SKA using a P-Signature scheme, accepting AC as the commitment of SKA. She needs a proof that AC is a valid commitment of PKA’ s secret-key Or Carol just verifies that AC has a credential from a “root authority” (as below).

slide-109
SLIDE 109

Anonymous Credentials from P-Signatures

User Alice has a public-key, PKA and a secret key SKA Alice needs pseudonyms with Bob and Carol, say AB and AC AB and AC will be (independent) commitments to SKA (using the commitment supported by the P-Signature) Obtaining credential: Carol blindly signs SKA using a P-Signature scheme, accepting AC as the commitment of SKA. She needs a proof that AC is a valid commitment of PKA’ s secret-key Or Carol just verifies that AC has a credential from a “root authority” (as below). Proving: Alice wants to prove to Carol that owner of AC has a credential from Bob. She commits SKA again to get A’ and shows that she has a signature from Bob on the message in A’. She also proves that A’ and AC have the same message

slide-110
SLIDE 110

Today

slide-111
SLIDE 111

Today

e-Cash

slide-112
SLIDE 112

Today

e-Cash Anonymous, offline validation and compact

slide-113
SLIDE 113

Today

e-Cash Anonymous, offline validation and compact Relies on signatures, PRFs and NIZK

slide-114
SLIDE 114

Today

e-Cash Anonymous, offline validation and compact Relies on signatures, PRFs and NIZK Signatures with associated protocols (P-signatures, CL signatures, (partially) Blind signatures)

slide-115
SLIDE 115

Today

e-Cash Anonymous, offline validation and compact Relies on signatures, PRFs and NIZK Signatures with associated protocols (P-signatures, CL signatures, (partially) Blind signatures) Efficient schemes using appropriate signatures that allow efficient NIZK schemes (e.g. Groth-Sahai)

slide-116
SLIDE 116

Today

e-Cash Anonymous, offline validation and compact Relies on signatures, PRFs and NIZK Signatures with associated protocols (P-signatures, CL signatures, (partially) Blind signatures) Efficient schemes using appropriate signatures that allow efficient NIZK schemes (e.g. Groth-Sahai) Anonymous credentials