181
CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8

Sigma protocols

Helger Lipmaa University of Tartu, Estonia

Lecture: 01.11.18Slides last modified: 03.11.18

Page 2: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

UP TO NOW

Page 3: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

UP TO NOW

Introduction to the field

Page 4: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

UP TO NOW

Introduction to the field

Secure computation protocols

Page 5: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

UP TO NOW

Introduction to the field

Secure computation protocols

Can do almost everything in semihonest model

Page 6: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

UP TO NOW

Introduction to the field

Secure computation protocols

Can do almost everything in semihonest model

Introduction to malicious model

Page 7: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

THIS TIME

Page 8: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

THIS TIME

Reminder: malicious model

Page 9: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

THIS TIME

Reminder: malicious modelZero knowledge: very basics

Page 10: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

THIS TIME

Reminder: malicious modelZero knowledge: very basicsΣ-Protocols: a particular type of "ZK" protocols

Page 11: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

THIS TIME

Reminder: malicious modelZero knowledge: very basicsΣ-Protocols: a particular type of "ZK" protocols

motivation

Page 12: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

THIS TIME

Reminder: malicious modelZero knowledge: very basicsΣ-Protocols: a particular type of "ZK" protocols

motivationsecurity definitions

Page 13: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

THIS TIME

Reminder: malicious modelZero knowledge: very basicsΣ-Protocols: a particular type of "ZK" protocols

motivationsecurity definitionsexamples

Note: remade slides compared to 2016 (no graphs anymore)

Page 14: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

RECALL: "SECOND IDEA”

Page 15: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

RECALL: "SECOND IDEA”

Do not reveal the witness

Page 16: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

RECALL: "SECOND IDEA”

Do not reveal the witness

Instead let the party to prove that such a witness exists

Page 17: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

RECALL: "SECOND IDEA”

Do not reveal the witness

Instead let the party to prove that such a witness exists

so that the proof does not reveal any side information apart from that

Zero-knowledge proof

Page 18: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

REMARK: AUTHENTICATION

If the last idea sounds crazy, think about authentication

Page 19: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

REMARK: AUTHENTICATION

If the last idea sounds crazy, think about authentication

pk, sk pk

Page 20: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

REMARK: AUTHENTICATION

If the last idea sounds crazy, think about authentication

pk, skI am The Doctor

pk

Page 21: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

REMARK: AUTHENTICATION

If the last idea sounds crazy, think about authentication

pk, skI am The Doctor

Prove it!

pk

Page 22: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

REMARK: AUTHENTICATION

If the last idea sounds crazy, think about authentication

pk, skI am The Doctor

Prove it!

sk

pk

Page 23: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

REMARK: AUTHENTICATION

If the last idea sounds crazy, think about authentication

pk, skI am The Doctor

Prove it!

sk

ZK proof of knowledge of sk

pk

Page 24: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

ZK PROOF: SHORT DEFINITION

Page 25: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

ZK PROOF: SHORT DEFINITION

Syntax: ZK proof is a protocol between a prover P and a verifier V, at the end of which V either accepts or rejects

Page 26: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

ZK PROOF: SHORT DEFINITION

Syntax: ZK proof is a protocol between a prover P and a verifier V, at the end of which V either accepts or rejectsZK proof satisfies the following security requirements:

Page 27: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

ZK PROOF: SHORT DEFINITION

Syntax: ZK proof is a protocol between a prover P and a verifier V, at the end of which V either accepts or rejectsZK proof satisfies the following security requirements:

Completeness: honest V accepts honest P

Page 28: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

ZK PROOF: SHORT DEFINITION

Syntax: ZK proof is a protocol between a prover P and a verifier V, at the end of which V either accepts or rejectsZK proof satisfies the following security requirements:

Completeness: honest V accepts honest PSoundness: honest V does not accept malicious P*

Page 29: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

ZK PROOF: SHORT DEFINITION

Syntax: ZK proof is a protocol between a prover P and a verifier V, at the end of which V either accepts or rejectsZK proof satisfies the following security requirements:

Completeness: honest V accepts honest PSoundness: honest V does not accept malicious P*Zero-knowledge: malicious V* learns from the proof with a honest P that P is honest and nothing else

Page 30: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

ZK PROOF: SHORT DEFINITION

Syntax: ZK proof is a protocol between a prover P and a verifier V, at the end of which V either accepts or rejectsZK proof satisfies the following security requirements:

Completeness: honest V accepts honest PSoundness: honest V does not accept malicious P*Zero-knowledge: malicious V* learns from the proof with a honest P that P is honest and nothing else

formal definitions are much more complicated, see the next lecture

Page 31: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

RECALL: HOMOMORPHIC E-VOTING

Enc(f(ci))

Σf(ci)ci∈{0,...,C - 1}

Enc(Σf(ci))sk

pkpkVote collector: sees who sent which ciphertext,

cannot decrypt

Tallier: sees anonymous ciphertext, can decrypt

Page 32: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

RECALL: HOMOMORPHIC E-VOTING

Enc(f(ci))

Σf(ci)ci∈{0,...,C - 1}

Enc(Σf(ci))sk

pkpkVote collector: sees who sent which ciphertext,

cannot decrypt

Tallier: sees anonymous ciphertext, can decrypt

+ ZK proof that the plaintext is f(ci)

for some i + ZK proof that decryption was

correct

no need for ZK proof (product of

public ciphertexts)

Page 33: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

RECALL: MIXNET BASED E-VOTING

Ci=Enc(ci)

pk

pk

π: random permutationri - random randomizers

Ci’=Cπ(i) · Enc(0; ri)

π’: random permutationri' - random randomizers

Ci''=C'π'(i) · Enc(0; ri')

pk sk: threshold

{c i} in s

ome o

rder

Page 34: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

RECALL: MIXNET BASED E-VOTING

Ci=Enc(ci)

pk

pk

π: random permutationri - random randomizers

Ci’=Cπ(i) · Enc(0; ri)

π’: random permutationri' - random randomizers

Ci''=C'π'(i) · Enc(0; ri')

pk sk: threshold

{c i} in s

ome o

rder

+ ZK proof that the the shuffle is

correct

Page 35: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

RECALL: MIXNET BASED E-VOTING

Ci=Enc(ci)

pk

pk

π: random permutationri - random randomizers

Ci’=Cπ(i) · Enc(0; ri)

π’: random permutationri' - random randomizers

Ci''=C'π'(i) · Enc(0; ri')

pk sk: threshold

{c i} in s

ome o

rder

+ ZK proof that the the shuffle is

correct + ZK proof that decryption was

correct

Page 36: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

NOTE ON DIFFICULTY

Page 37: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

NOTE ON DIFFICULTY

Some ZK proofs are obviously much more complex than others

Page 38: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

NOTE ON DIFFICULTY

Some ZK proofs are obviously much more complex than othersProof of correct decryption:

Page 39: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

NOTE ON DIFFICULTY

Some ZK proofs are obviously much more complex than othersProof of correct decryption:

with Paillier, tallier can compute both m and rEasy exercise. Note: tallier knows sk

Page 40: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

NOTE ON DIFFICULTY

Some ZK proofs are obviously much more complex than othersProof of correct decryption:

with Paillier, tallier can compute both m and rproof = (m, r) Easy exercise. Note: tallier knows sk

Page 41: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

NOTE ON DIFFICULTY

Some ZK proofs are obviously much more complex than othersProof of correct decryption:

with Paillier, tallier can compute both m and rproof = (m, r)

Proof of correct shuffle: ???

Easy exercise. Note: tallier knows sk

Page 42: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL PROTOCOL DESIGN

Page 43: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL PROTOCOL DESIGN

Design a passively secure protocol

Page 44: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL PROTOCOL DESIGN

Design a passively secure protocolI.e., that protects privacy given participants follow the protocol

Page 45: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL PROTOCOL DESIGN

Design a passively secure protocolI.e., that protects privacy given participants follow the protocol... take any protocol we have seen up to now

Page 46: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL PROTOCOL DESIGN

Design a passively secure protocolI.e., that protects privacy given participants follow the protocol... take any protocol we have seen up to now

Make it secure in the malicious model by adding ZK proofs to all messages

of course this needs "some" care: you need to know which ZK to addefficiency, ...

Page 47: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

PROOFS VS PROOFS OF KNOWLEDGE

Page 48: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

PROOFS VS PROOFS OF KNOWLEDGE

ZK Proof:

Page 49: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

PROOFS VS PROOFS OF KNOWLEDGE

ZK Proof:Complete: honest prover convinces honest verifier

Page 50: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

PROOFS VS PROOFS OF KNOWLEDGE

ZK Proof:Complete: honest prover convinces honest verifierSound: dishonest prover does not convince honest verifier

Page 51: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

PROOFS VS PROOFS OF KNOWLEDGE

ZK Proof:Complete: honest prover convinces honest verifierSound: dishonest prover does not convince honest verifierZero Knowledge: dishonest verifier only gets to know that honest prover is honest

Page 52: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

PROOFS VS PROOFS OF KNOWLEDGE

ZK Proof:Complete: honest prover convinces honest verifierSound: dishonest prover does not convince honest verifierZero Knowledge: dishonest verifier only gets to know that honest prover is honest

ZK Proof of Knowledge: (in addition)

Page 53: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

PROOFS VS PROOFS OF KNOWLEDGE

ZK Proof:Complete: honest prover convinces honest verifierSound: dishonest prover does not convince honest verifierZero Knowledge: dishonest verifier only gets to know that honest prover is honest

ZK Proof of Knowledge: (in addition)Proof of Knowledge (stronger soundness): honest prover convinces honest verifier that he knows "why he is honest" --- i.e., knows some secret "witness"

Page 54: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

AUTHENTICATION, REVISITED

Prover P Verifier V

Page 55: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

AUTHENTICATION, REVISITED

pk, sk pkProver P Verifier V

Page 56: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

AUTHENTICATION, REVISITED

pk, skI am The Doctor

pkProver P Verifier V

Page 57: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

AUTHENTICATION, REVISITED

pk, skI am The Doctor

Prove it!

pkProver P Verifier V

Page 58: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

AUTHENTICATION, REVISITED

pk, skI am The Doctor

Prove it!

sk

pkProver P Verifier V

Page 59: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

AUTHENTICATION, REVISITED

pk, skI am The Doctor

Prove it!

sk

ZK proof of knowledge of sk

pkProver P Verifier V

Page 60: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

AUTHENTICATION, REVISITED

pk, skI am The Doctor

Prove it!

sk

ZK proof of knowledge of sk

pk

Proof: I can sign your document with Doctor's secret key. Leaks information (new signatures), not really ZK. ZK proofs do not make sense in this application

Proof of knowledge: I know sk (nothing else is leaked)

Prover P Verifier V

Page 61: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

MOTIVATION BY EXAMPLES

Page 62: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

MOTIVATION BY EXAMPLES

We first describe a very simple protocol that intuitively is a "secure" ZK proof of knowledge

Page 63: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

MOTIVATION BY EXAMPLES

We first describe a very simple protocol that intuitively is a "secure" ZK proof of knowledgeWe will later see other protocols that are "secure" in the same sense

Page 64: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

MOTIVATION BY EXAMPLES

We first describe a very simple protocol that intuitively is a "secure" ZK proof of knowledgeWe will later see other protocols that are "secure" in the same senseCommon name: Σ protocols

Page 65: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

MOTIVATION BY EXAMPLES

We first describe a very simple protocol that intuitively is a "secure" ZK proof of knowledgeWe will later see other protocols that are "secure" in the same senseCommon name: Σ protocolsWe then formally define security of such protocols

Page 66: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

Page 67: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

DL proof: // proof of knowledge of DL

Page 68: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

DL proof: // proof of knowledge of DLprove that you know x such that pk = gx

Page 69: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

DL proof: // proof of knowledge of DLprove that you know x such that pk = gx

QUIZ: any ideas how to do it?

Page 70: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

DL proof: // proof of knowledge of DLprove that you know x such that pk = gx

QUIZ: any ideas how to do it?Hint: generate a = gr for random r, and use the knowledge of r

Page 71: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

DL proof: // proof of knowledge of DLprove that you know x such that pk = gx

QUIZ: any ideas how to do it?Hint: generate a = gr for random r, and use the knowledge of r

gx+rgr

gx

Page 72: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

DL proof: // proof of knowledge of DLprove that you know x such that pk = gx

QUIZ: any ideas how to do it?Hint: generate a = gr for random r, and use the knowledge of rSolution 1: reveal both r and z ← x + r

gx+rgr

gx

Page 73: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

DL proof: // proof of knowledge of DLprove that you know x such that pk = gx

QUIZ: any ideas how to do it?Hint: generate a = gr for random r, and use the knowledge of rSolution 1: reveal both r and z ← x + rProblem:

gx+rgr

gx

Page 74: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

DL proof: // proof of knowledge of DLprove that you know x such that pk = gx

QUIZ: any ideas how to do it?Hint: generate a = gr for random r, and use the knowledge of rSolution 1: reveal both r and z ← x + rProblem:

if verifier gets to know both r and z then she can compute x ← z - r

gx+rgr

gx

Page 75: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

Page 76: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

DL proof: // proof of knowledge of DLprove that you know x such that pk = gx

QUIZ: any ideas how to do it?Hint: generate a = gr for random r, and use the knowledge of r

Page 77: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

DL proof: // proof of knowledge of DLprove that you know x such that pk = gx

QUIZ: any ideas how to do it?Hint: generate a = gr for random r, and use the knowledge of rSolution 2: reveal one of r and z ← x + r

gx+rgr

gx

Page 78: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

DL proof: // proof of knowledge of DLprove that you know x such that pk = gx

QUIZ: any ideas how to do it?Hint: generate a = gr for random r, and use the knowledge of rSolution 2: reveal one of r and z ← x + rProblem:

gx+rgr

gx

Page 79: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

DL proof: // proof of knowledge of DLprove that you know x such that pk = gx

QUIZ: any ideas how to do it?Hint: generate a = gr for random r, and use the knowledge of rSolution 2: reveal one of r and z ← x + rProblem:

If prover knows that say z is revealed, then she can sample it randomly

gx+rgr

gx

Page 80: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

Idea:• honest P succeeds always• malicious P fails w.p. 50%

Page 81: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

DL proof: // proof of knowledge of DLprove that you know x such that pk = gx

QUIZ: any ideas how to do it?Hint: generate a = gr for random r, and use the knowledge of rSolution 3:

Idea:• honest P succeeds always• malicious P fails w.p. 50%

Page 82: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

DL proof: // proof of knowledge of DLprove that you know x such that pk = gx

QUIZ: any ideas how to do it?Hint: generate a = gr for random r, and use the knowledge of rSolution 3:

first reveal gr and then let the verifier to pick whether she wants to see r or z ← x + r

gx+rgr

gx

with prob. 1/2

Idea:• honest P succeeds always• malicious P fails w.p. 50%

Page 83: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

pk = gx, sk = x pk

Page 84: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

pk = gx, sk = x pk1. r ←$ Zq

2. a ← gr

Page 85: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

pk = gx, sk = xa

pk1. r ←$ Zq

2. a ← gr

Page 86: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

pk = gx, sk = xa

pk1. r ←$ Zq

2. a ← gr

c ← {0, 1}

Page 87: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

pk = gx, sk = xa

c

pk1. r ←$ Zq

2. a ← gr

c ← {0, 1}

Page 88: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

pk = gx, sk = xa

c

pk1. r ←$ Zq

2. a ← gr

c ← {0, 1}

z ← c x + r

Page 89: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

pk = gx, sk = xa

c

pk1. r ←$ Zq

2. a ← gr

c ← {0, 1}

z ← c x + r

z

Page 90: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOL FOR DL

pk = gx, sk = xa

c

pk1. r ←$ Zq

2. a ← gr

c ← {0, 1}

z ← c x + r

z

1. If gz = pkc a then accept2. else reject

Page 91: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

KNOWLEDGE ERROR

Page 92: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

KNOWLEDGE ERROR

Honest Prover is accepted with probability 1

Page 93: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

KNOWLEDGE ERROR

Honest Prover is accepted with probability 1Dishonest Prover is accepted with non-zero probability κ = 1/2

Page 94: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

KNOWLEDGE ERROR

Honest Prover is accepted with probability 1Dishonest Prover is accepted with non-zero probability κ = 1/2Def (informal). Κnowledge error = κ

Page 95: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

KNOWLEDGE ERROR

Honest Prover is accepted with probability 1Dishonest Prover is accepted with non-zero probability κ = 1/2Def (informal). Κnowledge error = κEvery Σ-protocol has non-zero knowledge error

Page 96: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

KNOWLEDGE ERROR

Honest Prover is accepted with probability 1Dishonest Prover is accepted with non-zero probability κ = 1/2Def (informal). Κnowledge error = κEvery Σ-protocol has non-zero knowledge error

Prover can just guess Verifier's challenge and prepare first message accordingly

Page 97: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

A BIT OF TERMINOLOGY

Page 98: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

A BIT OF TERMINOLOGY

All such proofs are of type:

Page 99: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

A BIT OF TERMINOLOGY

All such proofs are of type:does input inp belong to language L?

Page 100: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

A BIT OF TERMINOLOGY

All such proofs are of type:does input inp belong to language L?

The prover knows a witness w

Page 101: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

A BIT OF TERMINOLOGY

All such proofs are of type:does input inp belong to language L?

The prover knows a witness wProving inp ∈ L can be done efficiently, given w

Page 102: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

A BIT OF TERMINOLOGY

All such proofs are of type:does input inp belong to language L?

The prover knows a witness wProving inp ∈ L can be done efficiently, given wProof of knowledge: Prover proves he knows w

Page 103: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

A BIT OF TERMINOLOGY

All such proofs are of type:does input inp belong to language L?

The prover knows a witness wProving inp ∈ L can be done efficiently, given wProof of knowledge: Prover proves he knows w

DL proof: L = {pk ∈ G}inp = pkw = dlogg pk

Here, L is “trivial" but it’s a special case

Page 104: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

A BIT OF TERMINOLOGY

All such proofs are of type:does input inp belong to language L?

The prover knows a witness wProving inp ∈ L can be done efficiently, given wProof of knowledge: Prover proves he knows w

DL proof: L = {pk ∈ G}inp = pkw = dlogg pk

Here, L is “trivial" but it’s a special case

DDH proof: L = {(h1, h2) ∈ G2}: ∃ x, (h1, h2)=(g1, g2)x}inp = (h1, h2)w = x

Page 105: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOLS: SYNTAX

Page 106: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

input, witness input

Σ-PROTOCOLS: SYNTAX

Page 107: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

input, witness1st message: commitment a

input

Σ-PROTOCOLS: SYNTAX

Page 108: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

input, witness1st message: commitment a

2nd message: challenge c

input

Σ-PROTOCOLS: SYNTAX

Page 109: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

input, witness1st message: commitment a

2nd message: challenge c

3rd message: response z

input

Σ-PROTOCOLS: SYNTAX

Page 110: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

input, witness1st message: commitment a

2nd message: challenge c

3rd message: response z

input

Σ-PROTOCOLS: SYNTAX

Requirement: c is chosen from some challenge set C randomly. (Does not depend on a!)Terminology: public coin protocol

Page 111: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOLS: FORMAL DEFINITION

A protocol (P, V) is a Σ-protocol, if

1. it is a three-message public-coin protocol: it has three messages, with the prover starting, and the second message is completely random and independent of the first message

2. Security: it is complete, specially sound, and special honest-verifier zero knowledge

Definition

Page 112: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

Σ-PROTOCOLS: FORMAL DEFINITION

A protocol (P, V) is a Σ-protocol, if

1. it is a three-message public-coin protocol: it has three messages, with the prover starting, and the second message is completely random and independent of the first message

2. Security: it is complete, specially sound, and special honest-verifier zero knowledge

Definition

Page 113: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

input, witness1st message: commitment a

2nd message: challenge c

3rd message: response z

input

Σ-PROTOCOLS: SECURITY

1. Completeness 2. Special Soundness 3. Special Honest-Verifier ZK (SHVZK)

Page 114: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

input, witness1st message: commitment a

2nd message: challenge c

3rd message: response z

input

Σ-PROTOCOLS: SECURITY

Completeness: if Prover is honest then honest Verifier always accepts.DL protocol has it

Page 115: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

input, witness1st message: commitment a

2nd message: challenge c

3rd message: response z

input

Σ-PROTOCOLS: SECURITY

Special Soundness (with knowledge error κ): if Prover is dishonest then honest Verifier accepts with probability not much larger than κ.DL protocol has it (intuitively)

Page 116: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDNESS: MORE

Page 117: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDNESS: MORE

Our proof of special soundness for DL relied on the next (informal) fact:

Page 118: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDNESS: MORE

Our proof of special soundness for DL relied on the next (informal) fact:

If (possibly malicious) P* makes honest V always accept, then P* “knows” x such that y = gr and pk · y = gx + r and thus pk = gx

Page 119: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDNESS: MORE

Our proof of special soundness for DL relied on the next (informal) fact:

If (possibly malicious) P* makes honest V always accept, then P* “knows” x such that y = gr and pk · y = gx + r and thus pk = gx

We will next make this intuition more formal

Page 120: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SEMIFORMALLY: SPECIAL SOUNDNESS

Page 121: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SEMIFORMALLY: SPECIAL SOUNDNESS

Assume a dishonest prover P* can make honest verifier V to accept with some probability ε > κ

This guarantees κ is really the "limit"

Page 122: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SEMIFORMALLY: SPECIAL SOUNDNESS

Assume a dishonest prover P* can make honest verifier V to accept with some probability ε > κThen V can "extract" the witness (here, x) from P* in time, related to ε - κ

This guarantees κ is really the "limit"

Page 123: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SEMIFORMALLY: SPECIAL SOUNDNESS

Assume a dishonest prover P* can make honest verifier V to accept with some probability ε > κThen V can "extract" the witness (here, x) from P* in time, related to ε - κHowever, V is a pre-defined algorithm

=> we have a proof of knowledge

This guarantees κ is really the "limit"

Page 124: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SEMIFORMALLY: SPECIAL SOUNDNESS

Assume a dishonest prover P* can make honest verifier V to accept with some probability ε > κThen V can "extract" the witness (here, x) from P* in time, related to ε - κHowever, V is a pre-defined algorithm

We define a new algorithm, an extractor K, that communicates with P* and extracts x from P*

=> we have a proof of knowledge

This guarantees κ is really the "limit"

As in reductions, K can only communicate with P*. K does not know anything else about P* apart from what P* outputs

Page 125: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

FORMALLY: SPECIAL SOUNDNESS

A Σ-protocol (P, V) is specially sound, if there exists a probabilistic expected poly-time extractor algorithm K, such that if a prover P* (possibly malicious) can make V to accept with a probability ε > κ, then K can --- after playing the role of V in possibly many instances of the protocol with P --- output the value of the witness

Definition

Page 126: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

FORMALLY: SPECIAL SOUNDNESS

A Σ-protocol (P, V) is specially sound, if there exists a probabilistic expected poly-time extractor algorithm K, such that if a prover P* (possibly malicious) can make V to accept with a probability ε > κ, then K can --- after playing the role of V in possibly many instances of the protocol with P --- output the value of the witness

Definition

However, K must have some "superpower": otherwise V could do the same and extract witness. Here: rewinding

Page 127: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

REMINDER: SPECIAL SOUNDNESS

input = pkwitness = x

a

c

input = pk1. r ←$ Zq

2. a ← gr

c ← {0, 1}

z ← c x + r

z

1. If gz = pkc a then accept2. else reject

Page 128: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

REMINDER: SPECIAL SOUNDNESS

input = pkwitness = x

a

c

input = pk1. r ←$ Zq

2. a ← gr

c ← {0, 1}

z ← c x + r

z

1. If gz = pkc a then accept2. else reject

Intuition. Assume P* makes V to accept with probability 1.

Then y = gr and pk · y = gx + r

Page 129: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDNESS: REWINDING

input = pkwitness = x input = pk

Page 130: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDNESS: REWINDING

input = pkwitness = x

ainput = pk

Page 131: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDNESS: REWINDING

input = pkwitness = x

ainput = pk

Page 132: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDNESS: REWINDING

input = pkwitness = x

a

c

input = pk

Page 133: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDNESS: REWINDING

input = pkwitness = x

a

c

input = pk

z

Page 134: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDNESS: REWINDING

input = pkwitness = x

a

c

input = pk

zFormally, K plays V in the protocol. K does the following:

Execute the protocol once with c = 0. Store (a, 0, z)Create a breakpoint for prover directly after sending a

Page 135: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDNESS: REWINDING

input = pkwitness = x

ainput = pk

After that:Rewind P* to the breakpoint (the state P* was directly after sending a). Challenge with c* = 1, get P*'s answer, and store (a, 1, z*)

Page 136: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDNESS: REWINDING

input = pkwitness = x

a

c* ≠ c

input = pk

After that:Rewind P* to the breakpoint (the state P* was directly after sending a). Challenge with c* = 1, get P*'s answer, and store (a, 1, z*)

Page 137: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDNESS: REWINDING

input = pkwitness = x

a

c* ≠ c

input = pk

z*

After that:Rewind P* to the breakpoint (the state P* was directly after sending a). Challenge with c* = 1, get P*'s answer, and store (a, 1, z*)

Page 138: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

REWINDING: ANALYSIS

input = pkwitness = x

a

c* ≠ c

input = pk

z*Since P* makes V accept with probability 1, this means that (a, 0, z) and (a, 1, z*) are both accepting viewsSince both views accept,

gz = pk0 · a gz* = pk1 · a

But then pk = gz* - z and thus x = z* - z

Page 139: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL K.E.

Page 140: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL K.E.

Previous analysis only works if ε = 1

Page 141: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL K.E.

Previous analysis only works if ε = 1Assume P* makes V to accept with any probability ε > κProbability ε is both over the randomness ω of P* and c of V P* (inp, ω) generates a,

P* (inp, ω, c) generates z

Page 142: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL K.E.

Previous analysis only works if ε = 1Assume P* makes V to accept with any probability ε > κ

Construct a Boolean matrix AProbability ε is both over the randomness ω of P* and c of V P* (inp, ω) generates a,

P* (inp, ω, c) generates z

Page 143: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL K.E.

Previous analysis only works if ε = 1Assume P* makes V to accept with any probability ε > κ

Construct a Boolean matrix AAω, c = 1 iff V accepts given that P* has random string ω and verifier has random string c

Probability ε is both over the randomness ω of P* and c of V P* (inp, ω) generates a, P* (inp, ω, c) generates z

11

1 11

ω

c

Page 144: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL K.E.

Previous analysis only works if ε = 1Assume P* makes V to accept with any probability ε > κ

Construct a Boolean matrix AAω, c = 1 iff V accepts given that P* has random string ω and verifier has random string cKnown: fraction ε of entries are 1

Probability ε is both over the randomness ω of P* and c of V P* (inp, ω) generates a, P* (inp, ω, c) generates z

11

1 11

ω

c

Page 145: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL K.E.

Previous analysis only works if ε = 1Assume P* makes V to accept with any probability ε > κ

Construct a Boolean matrix AAω, c = 1 iff V accepts given that P* has random string ω and verifier has random string cKnown: fraction ε of entries are 1There exists a row with two 1-s iff

Probability ε is both over the randomness ω of P* and c of V P* (inp, ω) generates a, P* (inp, ω, c) generates z

11

1 11

ω

c

ε > κ := 1C , C := |{c} |

Page 146: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL K.E.

Page 147: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL K.E.

If P* makes V to accept with prob. ε > κ, K does:

Page 148: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL K.E.

If P* makes V to accept with prob. ε > κ, K does:1. Generate random (ω, c) until V accepts the resulting

view (a, c, z) 1 / ε expected steps

Page 149: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL K.E.

If P* makes V to accept with prob. ε > κ, K does:1. Generate random (ω, c) until V accepts the resulting

view (a, c, z)2. Generate random c* (but use the same ω) until V

accepts the resulting view (a, c*, z*)

1 / ε expected steps

Page 150: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL K.E.

If P* makes V to accept with prob. ε > κ, K does:1. Generate random (ω, c) until V accepts the resulting

view (a, c, z)2. Generate random c* (but use the same ω) until V

accepts the resulting view (a, c*, z*)

1. If c = c* then goto 1

1 / ε expected steps

Happens with some prob. p

Page 151: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL K.E.

If P* makes V to accept with prob. ε > κ, K does:1. Generate random (ω, c) until V accepts the resulting

view (a, c, z)2. Generate random c* (but use the same ω) until V

accepts the resulting view (a, c*, z*)

1. If c = c* then goto 1

3. Now K has (a, c, z), (a, c*, z*), with c ≠ c*, and can retrieve witness as before

1 / ε expected steps

Happens with some prob. p

Page 152: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL K.E.

If P* makes V to accept with prob. ε > κ, K does:1. Generate random (ω, c) until V accepts the resulting

view (a, c, z)2. Generate random c* (but use the same ω) until V

accepts the resulting view (a, c*, z*)

1. If c = c* then goto 1

3. Now K has (a, c, z), (a, c*, z*), with c ≠ c*, and can retrieve witness as before

Tprobes := the number of probed matrix entries before this happens

1 / ε expected steps

Happens with some prob. p

2 / (pε) expected steps

Page 153: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL K.E.

If P* makes V to accept with prob. ε > κ, K does:1. Generate random (ω, c) until V accepts the resulting

view (a, c, z)2. Generate random c* (but use the same ω) until V

accepts the resulting view (a, c*, z*)

1. If c = c* then goto 1

3. Now K has (a, c, z), (a, c*, z*), with c ≠ c*, and can retrieve witness as before

Tprobes := the number of probed matrix entries before this happens

47 6 52

13

2

35 4 61

ω

c

1 / ε expected steps

Happens with some prob. p

2 / (pε) expected steps

1 / ε expected steps

Page 154: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL EXTRACTOR

Page 155: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL EXTRACTOR

One has to analyze the number of expected number of steps Tprobes that guarantees that K will with high probability obtain such views

Expected: with small probability, the number of steps can be very large

Page 156: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL EXTRACTOR

One has to analyze the number of expected number of steps Tprobes that guarantees that K will with high probability obtain such viewsWill omit precise analysis Expected: with small probability, the

number of steps can be very large

Page 157: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL EXTRACTOR

One has to analyze the number of expected number of steps Tprobes that guarantees that K will with high probability obtain such viewsWill omit precise analysisAnswer:

Expected: with small probability, the number of steps can be very large

Page 158: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL EXTRACTOR

One has to analyze the number of expected number of steps Tprobes that guarantees that K will with high probability obtain such viewsWill omit precise analysisAnswer:

Tprobes ≤ 2 / (ε - κ): expected number of runs

Expected: with small probability, the number of steps can be very large

Page 159: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL EXTRACTOR

One has to analyze the number of expected number of steps Tprobes that guarantees that K will with high probability obtain such viewsWill omit precise analysisAnswer:

Tprobes ≤ 2 / (ε - κ): expected number of runsExamples:

Expected: with small probability, the number of steps can be very large

Page 160: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL EXTRACTOR

One has to analyze the number of expected number of steps Tprobes that guarantees that K will with high probability obtain such viewsWill omit precise analysisAnswer:

Tprobes ≤ 2 / (ε - κ): expected number of runsExamples:ε = 1, κ = 1 / 2: Tprobes ≤ 2 / (1 - 1 / 2) = 4

Expected: with small probability, the number of steps can be very large

Page 161: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL EXTRACTOR

One has to analyze the number of expected number of steps Tprobes that guarantees that K will with high probability obtain such viewsWill omit precise analysisAnswer:

Tprobes ≤ 2 / (ε - κ): expected number of runsExamples:ε = 1, κ = 1 / 2: Tprobes ≤ 2 / (1 - 1 / 2) = 4ε = 3 / 4, κ = 1 / 2: Tprobes ≤ 2 / (3 / 4 - 1 / 2) = 8

Expected: with small probability, the number of steps can be very large

Page 162: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL EXTRACTOR

One has to analyze the number of expected number of steps Tprobes that guarantees that K will with high probability obtain such viewsWill omit precise analysisAnswer:

Tprobes ≤ 2 / (ε - κ): expected number of runsExamples:ε = 1, κ = 1 / 2: Tprobes ≤ 2 / (1 - 1 / 2) = 4ε = 3 / 4, κ = 1 / 2: Tprobes ≤ 2 / (3 / 4 - 1 / 2) = 8ε = k-c, κ = 1 / q = 2-k: Tprobes ≤ 2 / (k-c - 2-k) ≈ 2 kc

Expected: with small probability, the number of steps can be very large

Page 163: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL EXTRACTOR

One has to analyze the number of expected number of steps Tprobes that guarantees that K will with high probability obtain such viewsWill omit precise analysisAnswer:

Tprobes ≤ 2 / (ε - κ): expected number of runsExamples:ε = 1, κ = 1 / 2: Tprobes ≤ 2 / (1 - 1 / 2) = 4ε = 3 / 4, κ = 1 / 2: Tprobes ≤ 2 / (3 / 4 - 1 / 2) = 8ε = k-c, κ = 1 / q = 2-k: Tprobes ≤ 2 / (k-c - 2-k) ≈ 2 kc

// If ε - κ is non-negligible then Tprobes is polynomial

Expected: with small probability, the number of steps can be very large

Page 164: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

GENERAL EXTRACTOR

One has to analyze the number of expected number of steps Tprobes that guarantees that K will with high probability obtain such viewsWill omit precise analysisAnswer:

Tprobes ≤ 2 / (ε - κ): expected number of runsExamples:ε = 1, κ = 1 / 2: Tprobes ≤ 2 / (1 - 1 / 2) = 4ε = 3 / 4, κ = 1 / 2: Tprobes ≤ 2 / (3 / 4 - 1 / 2) = 8ε = k-c, κ = 1 / q = 2-k: Tprobes ≤ 2 / (k-c - 2-k) ≈ 2 kc

// If ε - κ is non-negligible then Tprobes is polynomial k: security parameter

Expected: with small probability, the number of steps can be very large

Page 165: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDESS: SIMPLIFIED

Page 166: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDESS: SIMPLIFIED

Due to what we saw on last slides, we can somewhat simplify the special soundness definition

Page 167: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDESS: SIMPLIFIED

Due to what we saw on last slides, we can somewhat simplify the special soundness definitionWe know the relation between ε - κ and the running time of extractor

Page 168: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDESS: SIMPLIFIED

Due to what we saw on last slides, we can somewhat simplify the special soundness definitionWe know the relation between ε - κ and the running time of extractorWe can just assume that if we have already found two accepting views (a, c, z), (a, c*, z*) with c ≠ c*, then K can efficiently retrieve the witness

Page 169: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDESS: SIMPLIFIED

Due to what we saw on last slides, we can somewhat simplify the special soundness definitionWe know the relation between ε - κ and the running time of extractorWe can just assume that if we have already found two accepting views (a, c, z), (a, c*, z*) with c ≠ c*, then K can efficiently retrieve the witnessWe can then use what we know to construct full extractor

Page 170: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

SPECIAL SOUNDNESS: SIMPLIFIED

A Σ-protocol (P, V) is specially sound, if there exists a (deterministic) poly-time extractor algorithm K that, given two accepting views (a, c, z) and (a, c*, z*), such that c ≠ c*, can efficiently compute the value of the witness

Definition (simplified)

Page 171: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

DL: PROOF OF SPECIAL SOUNDNESS

input = pkwitness = x

a

c

input = pk1. r ←$ Zq

2. a ← gr

c ← {0, 1}

z ← c x + r

z

1. If gz = pkc · a then accept2. else reject

Construction of extractor: Given accepting views (a, 0, z) and (a, 1, z*), K outputs x ← z* - z

Analysis: 1. Since a is the same and both views accept, gz = y and gz* = pk · y2. Thus pk = gz* - z

Page 172: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

STUDY OUTCOMES

Page 173: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

STUDY OUTCOMES

Main idea of ZK proofs

Page 174: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

STUDY OUTCOMES

Main idea of ZK proofsExample, very natural, protocol with "intuitive" security

Page 175: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

STUDY OUTCOMES

Main idea of ZK proofsExample, very natural, protocol with "intuitive" securityΣ-protocols: definition

Page 176: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

STUDY OUTCOMES

Main idea of ZK proofsExample, very natural, protocol with "intuitive" securityΣ-protocols: definitionMotivation and analysis of special soundness

Page 177: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

NEXT LECTURE

Page 178: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

NEXT LECTURE

More efficient Σ-protocols based on DL

Page 179: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

NEXT LECTURE

More efficient Σ-protocols based on DLΣ-protocols for various relations about Elgamal plaintexts

Page 180: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

NEXT LECTURE

More efficient Σ-protocols based on DLΣ-protocols for various relations about Elgamal plaintexts

For example: Σ-protocol that Elgamal plaintext is in {0, 1}

Page 181: CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8CRYPTOGRAPHIC PROTOCOLS 2018, LECTURE 8 Sigma protocols Helger Lipmaa University of Tartu, Estonia Lecture: 01.11.18 Slides last modified: 03.11.18

NEXT LECTURE

More efficient Σ-protocols based on DLΣ-protocols for various relations about Elgamal plaintexts

For example: Σ-protocol that Elgamal plaintext is in {0, 1}

Σ-protocol for Circuit-SAT