an exploration of group and ring signatures
play

An Exploration of Group and Ring Signatures Sarah Meiklejohn ! ! - PowerPoint PPT Presentation

An Exploration of Group and Ring Signatures Sarah Meiklejohn ! ! ! ! UC San Diego Research Exam 4 February 2011 1 A real-world problem 2 A real-world problem 2 A real-world problem I need to tell the others! 2 A real-world problem


  1. Group signatures: a formal characterization • A group signature is a tuple of algorithms (KeyGen,Sign,Verify,Trace) • KeyGen(1 k ,1 n ): outputs group public key pk, master secret key msk, and signing keys for each user in the group {sk i } i 11

  2. Group signatures: a formal characterization • A group signature is a tuple of algorithms (KeyGen,Sign,Verify,Trace) • KeyGen(1 k ,1 n ): outputs group public key pk, master secret key msk, and signing keys for each user in the group {sk i } i • Sign(sk i ,m): outputs signature σ on message m 11

  3. Group signatures: a formal characterization • A group signature is a tuple of algorithms (KeyGen,Sign,Verify,Trace) • KeyGen(1 k ,1 n ): outputs group public key pk, master secret key msk, and signing keys for each user in the group {sk i } i • Sign(sk i ,m): outputs signature σ on message m • Verify(pk, σ ,m): checks that σ is a valid signature on m formed by some member of the group defined by pk (and outputs 1 if yes and 0 if no) 11

  4. Group signatures: a formal characterization • A group signature is a tuple of algorithms (KeyGen,Sign,Verify,Trace) • KeyGen(1 k ,1 n ): outputs group public key pk, master secret key msk, and signing keys for each user in the group {sk i } i • Sign(sk i ,m): outputs signature σ on message m • Verify(pk, σ ,m): checks that σ is a valid signature on m formed by some member of the group defined by pk (and outputs 1 if yes and 0 if no) • Trace(msk, σ ,m): outputs either index i such that σ = Sign(sk i ,m) or ⊥ to indicate failure (or that Verify(pk, σ ,m) = 0) 11

  5. Group signatures: a formal characterization • A group signature is a tuple of algorithms (KeyGen,Sign,Verify,Trace) • KeyGen(1 k ,1 n ): outputs group public key pk, master secret key msk, and signing keys for each user in the group {sk i } i • Sign(sk i ,m): outputs signature σ on message m • Verify(pk, σ ,m): checks that σ is a valid signature on m formed by some member of the group defined by pk (and outputs 1 if yes and 0 if no) • Trace(msk, σ ,m): outputs either index i such that σ = Sign(sk i ,m) or ⊥ to indicate failure (or that Verify(pk, σ ,m) = 0) 11

  6. Anonymity: a more formal definition Game G 12

  7. Anonymity: a more formal definition Game G Adversary A 12

  8. Anonymity: a more formal definition Game G Adversary A 12

  9. Anonymity: a more formal definition Game G Adversary A Phase 1: getting to see who signed which messages 12

  10. Anonymity: a more formal definition Game G pk,msk,{sk i } ← KeyGen(1 k ,1 n ) Adversary A Phase 1: getting to see who signed which messages 12

  11. Anonymity: a more formal definition Game G pk,msk,{sk i } ← KeyGen(1 k ,1 n ) Adversary A pk, {sk i } Phase 1: getting to see who signed which messages 12

  12. Anonymity: a more formal definition Game G msk Adversary A pk, {sk i } Phase 1: getting to see who signed which messages 12

  13. Anonymity: a more formal definition Game G msk Sign(sk B ,m) Adversary A pk, {sk i } Phase 1: getting to see who signed which messages 12

  14. Anonymity: a more formal definition Game G msk B Sign(sk B ,m) Adversary A pk, {sk i } Phase 1: getting to see who signed which messages 12

  15. Anonymity: a more formal definition Game G msk Sign(sk i ,m) Adversary A pk, {sk i } Phase 1: getting to see who signed which messages 12

  16. Anonymity: a more formal definition Game G msk i Sign(sk i ,m) Adversary A pk, {sk i } Phase 1: getting to see who signed which messages 12

  17. Anonymity: a more formal definition pk, {sk i } Phase 2: picking identities and receiving a challenge 13

  18. Anonymity: a more formal definition m,i 0 ,i 1 pk, {sk i } Phase 2: picking identities and receiving a challenge 13

  19. Anonymity: a more formal definition b ← {0,1 m,i 0 ,i 1 pk, {sk i } Phase 2: picking identities and receiving a challenge 13

  20. Anonymity: a more formal definition b ← {0,1 σ = Sign(sk ib ,m) m,i 0 ,i 1 pk, {sk i } Phase 2: picking identities and receiving a challenge 13

  21. Anonymity: a more formal definition b ← {0,1 pk, {sk i }, σ = Sign(sk ib ,m) 14

  22. Anonymity: a more formal definition b ← {0,1 pk, {sk i }, σ = Sign(sk ib ,m) Phase 3: getting to see who signed which messages (again) 14

  23. Anonymity: a more formal definition b ← {0,1 pk, {sk i }, σ = Sign(sk ib ,m) Phase 3: getting to see who signed which messages (again) 14

  24. Anonymity: a more formal definition b ← {0,1 Sign(sk i ,m) ≠ σ pk, {sk i }, σ = Sign(sk ib ,m) Phase 3: getting to see who signed which messages (again) 14

  25. Anonymity: a more formal definition b ← {0,1 i Sign(sk i ,m) ≠ σ pk, {sk i }, σ = Sign(sk ib ,m) Phase 3: getting to see who signed which messages (again) 14

  26. Anonymity: a more formal definition b ← {0,1 pk, {sk i }, σ = Sign(sk ib ,m) 15

  27. Anonymity: a more formal definition b ← {0,1 pk, {sk i }, σ = Sign(sk ib ,m) Phase 4: guessing the bit b 15

  28. Anonymity: a more formal definition b ← {0,1 b ′ pk, {sk i }, σ = Sign(sk ib ,m) Phase 4: guessing the bit b 15

  29. Anonymity: a more formal definition b ← {0,1 b ′ We say that A wins at G if b = b ′ pk, {sk i }, σ = Sign(sk ib ,m) Phase 4: guessing the bit b 15

  30. Anonymity: a more formal definition b ← {0,1 Say that scheme is anonymous if the probability that A wins at G is very small (negligible) b ′ We say that A wins at G if b = b ′ pk, {sk i }, σ = Sign(sk ib ,m) Phase 4: guessing the bit b 15

  31. Traceability: a more formal definition 16

  32. Traceability: a more formal definition 16

  33. Traceability: a more formal definition Phase 1: getting to pick a corrupt coalition 16

  34. Traceability: a more formal definition Phase 1: getting to pick a corrupt coalition 16

  35. Traceability: a more formal definition Phase 1: getting to pick a corrupt coalition 16

  36. Traceability: a more formal definition C Phase 1: getting to pick a corrupt coalition 16

  37. Traceability: a more formal definition pk,msk,{sk i } ← KeyGen(1 k ,1 n ) C Phase 1: getting to pick a corrupt coalition 16

  38. Traceability: a more formal definition pk,msk,{sk i } ← KeyGen(1 k ,1 n ) C pk, msk Phase 1: getting to pick a corrupt coalition 16

  39. Traceability: a more formal definition {sk i } C pk, msk Phase 1: getting to pick a corrupt coalition 16

  40. Traceability: a more formal definition {sk i } i,m C pk, msk Phase 1: getting to pick a corrupt coalition 16

  41. Traceability: a more formal definition {sk i } Sign(sk i ,m) i,m C pk, msk Phase 1: getting to pick a corrupt coalition 16

  42. Traceability: a more formal definition {sk i } Sign(sk i ,m) i,m i C pk, msk Phase 1: getting to pick a corrupt coalition 16

  43. Traceability: a more formal definition {sk i } Sign(sk i ,m) i,m i sk i C pk, msk Phase 1: getting to pick a corrupt coalition 16

  44. Traceability: a more formal definition C pk, msk Phase 2: outputting a forgery 17

  45. Traceability: a more formal definition i,m C pk, msk Phase 2: outputting a forgery 17

  46. Traceability: a more formal definition Sign(sk i ,m) i,m C pk, msk Phase 2: outputting a forgery 17

  47. Traceability: a more formal definition Sign(sk i ,m) m, σ i,m C pk, msk Phase 2: outputting a forgery 17

  48. Traceability: a more formal definition Sign(sk i ,m) m, σ i,m We say that A wins at G if Verify(pk, σ ,m) = 1 and: (1) ∃ i s.t. C Trace(msk, σ ,m) = i, (2) pk, msk i ∉ C, and (3) A did not query oracle on (i,m) Phase 2: outputting a forgery 17

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend