blind signatures with flying colors
play

Blind Signatures with flying colors Olivier Blazy XLim, Universit - PowerPoint PPT Presentation

Blind Signatures with flying colors Olivier Blazy XLim, Universit de Limoges Feb 2014 O. Blazy (XLim) Blind Sig Feb 2014 1 / 50 General Remarks 1 Building blocks 2 Non-Interactive Proofs of Knowledge 3 Interactive Implicit Proofs 4


  1. Blind Signatures with flying colors Olivier Blazy XLim, Université de Limoges Feb 2014 O. Blazy (XLim) Blind Sig Feb 2014 1 / 50

  2. General Remarks 1 Building blocks 2 Non-Interactive Proofs of Knowledge 3 Interactive Implicit Proofs 4 Can we do better? 5 O. Blazy (XLim) Blind Sig Feb 2014 2 / 50

  3. General Remarks 1 Building blocks 2 Non-Interactive Proofs of Knowledge 3 Interactive Implicit Proofs 4 Can we do better? 5 O. Blazy (XLim) Blind Sig Feb 2014 2 / 50

  4. General Remarks 1 Building blocks 2 Non-Interactive Proofs of Knowledge 3 Interactive Implicit Proofs 4 Can we do better? 5 O. Blazy (XLim) Blind Sig Feb 2014 2 / 50

  5. General Remarks 1 Building blocks 2 Non-Interactive Proofs of Knowledge 3 Interactive Implicit Proofs 4 Can we do better? 5 O. Blazy (XLim) Blind Sig Feb 2014 2 / 50

  6. General Remarks 1 Building blocks 2 Non-Interactive Proofs of Knowledge 3 Interactive Implicit Proofs 4 Can we do better? 5 O. Blazy (XLim) Blind Sig Feb 2014 2 / 50

  7. Electronic Voting For dessert, we let people vote � Chocolate Cake � Cheese Cake � Fruit Salad � Brussels Sprout After collection, we count the number of ballots: Chocolate Cake 123 Cheese Cake 79 Fruit Salad 42 Brussels sprout 1 O. Blazy (XLim) Blind Sig Feb 2014 3 / 50

  8. Authentication Only people authorized to vote should be able to vote People should be able to vote only once Anonymity Votes and voters should be anonymous △ Receipt freeness O. Blazy (XLim) Blind Sig Feb 2014 4 / 50

  9. Homomorphic Encryption and Signature approach The voter generates his vote v . The voter encrypts v to the server as c . The voter signs c and outputs σ . ( c , σ ) is a ballot unique per voter, and anonymous. Counting: granted homomorphic encryption C = � c . The server decrypts C . O. Blazy (XLim) Blind Sig Feb 2014 5 / 50

  10. Electronic Cash I d e n t i f y W i t t i h s o d p r e a D w Spend e z i R m a o n d d n o a m R i z e O. Blazy (XLim) Blind Sig Feb 2014 6 / 50

  11. Protocol Withdrawal: A user get a coin c from the bank Spending: A user pays a shop with the coin c Deposit: The shop gives the coin c back to the bank Electronic Coins Chaum 81 Expected properties � Unforgeability � Coins are signed by the bank � No Double-Spending � Each coin is unique � Anonymity � Blind Signature Definition (Blind Signature) A blind signature allows a user to get a message m signed by an authority into σ so that the authority even powerful cannot recognize later the pair ( m , σ ) . O. Blazy (XLim) Blind Sig Feb 2014 7 / 50

  12. RSA-Based Blind Signature The easiest way for blind signatures, is to blind the message: To get an FDH-RSA signature on m under RSA public key ( n , e ) , The user computes a blind version of the hash value: M = H ( m ) and M ′ = M · r e mod n The signer signs M ′ into σ ′ = M ′ d The user recovers σ = σ ′ / r → Proven under the One-More RSA Assumption in 2001 → Perfectly Blind Signature O. Blazy (XLim) Blind Sig Feb 2014 8 / 50

  13. Round-Optimal Blind Signature Fischlin 06 The user encrypts his message m in c . The signer then signs c in σ . The user verifies σ . He then encrypts σ and c into C σ and C and generates a proof π . π : C σ is an encryption of a signature over the ciphertext c encrypted in C , and this c is indeed an encryption of m . Anyone can then use C , C σ , π to check the validity of the signature. O. Blazy (XLim) Blind Sig Feb 2014 9 / 50

  14. Vote A user should be able to encrypt a ballot. He should be able to sign this encryption. Receiving this vote, one should be able to randomize for Receipt-Freeness . E-Cash A user should be able to encrypt a token The bank should be able to sign it providing Unforgeability This signature should now be able to be randomized to provide Anonymity Our Solution Same underlying requirements; Advance security notions in both schemes requires to extract some kind of signature on the associated plaintext; General Framework for Signature on Randomizable Ciphertexts; � Revisited Waters, Commutative encryption / signature. O. Blazy (XLim) Blind Sig Feb 2014 10 / 50

  15. General Remarks 1 Building blocks 2 Bilinear groups aka Pairing-friendly environments Commitment / Encryption Signatures Security hypotheses Non-Interactive Proofs of Knowledge 3 Interactive Implicit Proofs 4 Can we do better? 5 O. Blazy (XLim) Blind Sig Feb 2014 11 / 50

  16. Asymmetric bilinear structure ( p , G 1 , G 2 , G T , e , g 1 , g 2 ) bilinear structure: G 1 , G 2 , G T multiplicative groups of order p p = prime integer � g ∗ � = G ∗ e : G × G → G T � e ( g 1 , g 2 ) � = G T e ( g a 1 , g b 2 ) = e ( g 1 , g 2 ) ab , a , b ∈ Z  deciding group membership,   group operations, efficiently computable.  bilinear map  O. Blazy (XLim) Blind Sig Feb 2014 12 / 50

  17. Definition (Encryption Scheme) E = ( Setup , EKeyGen , Encrypt , Decrypt ) : Setup ( 1 K ) : param; EKeyGen ( param ) : public encryption key pk, private decryption key dk; Encrypt ( pk , m ; r ) : ciphertext c on m ∈ M and pk; Decrypt ( dk , c ) : decrypts c under dk. Random E Encrypt SE pk , r r ′ F ( M ) r C dk Decrypt E Indistinguishability : Given M 0 , M 1 , it should be hard to guess which one is encrypted in C . O. Blazy (XLim) Blind Sig Feb 2014 13 / 50

  18. Definition (ElGamal Encryption) (84) Setup ( 1 K ) : Generates a multiplicative group ( p , G , g ) . $ ← Z p , and pk = ( X 1 = g µ ) . EKeyGen E ( param ) : dk = µ $ Encrypt ( pk = X 1 , M ; α ) : For M , and random α ← Z p , 1 , c 2 = g α · M � c 1 = X α � C = . Decrypt ( dk = ( µ ) , C = ( c 1 , c 2 )) : Computes M = c 2 / ( c 1 /µ ) . 1 Randomization Random ( pk , C ; r ) : C ′ = , g α + r · M X α + r � c 1 X r 1 , c 2 g r � � � = 1 O. Blazy (XLim) Blind Sig Feb 2014 14 / 50

  19. Definition (Commitment Scheme) E = ( Setup , Commit , Decommit ) : Setup ( 1 K ) : param , ck; $ Commit ( ck , m ; r ) : c on the input message m ∈ M using r ← R ; Decommit ( c , m ; w ) opens c and reveals m , together with w that proves the correct opening. Commit ck , r M C r Decommit O. Blazy (XLim) Blind Sig Feb 2014 15 / 50

  20. F ( M ) Definition (Signature Scheme) S = ( Setup , SKeyGen , Sign , Verif ) : Setup ( 1 K ) : param; Sign S sk ; s SKeyGen ( param ) : public verification key vk, private signing key sk; Sign ( sk , m ; s ) : signature σ on m , under sk; Verif ( vk , m , σ ) : checks whether σ is valid on m . s ′ σ ( F ) Random S Unforgeability : Given q pairs ( m i , σ i ) , it should be hard to output a valid σ on a fresh m . O. Blazy (XLim) Blind Sig Feb 2014 16 / 50

  21. Definition (Waters Signature) (Wat05) Setup S ( 1 K ) : Generates ( p , G , G T , e , g ) , an extra h , and ( u i ) for the Waters i u m i function ( F ( m ) = u 0 � i ) . $ ← Z p and outputs sk = h x , and vk = g x ; SKeyGen S ( param ) : Picks x Sign ( sk , m ; s ) : Outputs σ ( m ) = ( sk F ( m ) s , g s ) ; ? Verif ( vk , m , σ ) : Checks the validity of σ : e ( g , σ 1 ) = e ( F ( m ) , σ 2 ) · e ( vk , h ) Randomization Random ( σ ; r ) : σ ′ = sk F ( m ) r + s , g r + s � � σ 1 F ( m ) r , σ 2 g r � � = O. Blazy (XLim) Blind Sig Feb 2014 17 / 50

  22. Definition (DL) Given g , h ∈ G 2 , it is hard to compute α such that h = g α . Definition (CDH) Given g , g a , h ∈ G 3 , it is hard to compute h a . O. Blazy (XLim) Blind Sig Feb 2014 18 / 50

  23. General Remarks 1 Building blocks 2 Non-Interactive Proofs of Knowledge 3 Groth Sahai methodology Signature on Ciphertexts Application to other protocols Waters Programmability Interactive Implicit Proofs 4 Can we do better? 5 O. Blazy (XLim) Blind Sig Feb 2014 19 / 50

  24. Groth-Sahai Proof System Pairing product equation (PPE): for variables X 1 , . . . , X m ∈ G 1 n m m n � � � � e ( X i , Y j ) γ i , j = t T ( E ) : e ( A j , Y J ) e ( X i , B i ) j = 1 i = 1 i = 1 j = 1 determined by A i ∈ G 1 , B i ∈ G 2 , γ i , j ∈ Z p and t T ∈ G T . Groth-Sahai � WI proofs that elements that were committed satisfy PPE Setup ( G ) : commitment key ck ; Com( ck , X ∈ G ; ρ ): commitment � c X to X ; Prove( ck , ( X i , ρ i ) i = 1 ,..., n , ( E ) ): proof φ ; Verify( ck , � c X i , ( E ) , φ ): checks whether φ is valid. O. Blazy (XLim) Blind Sig Feb 2014 20 / 50

  25. Groth-Sahai Proof System Pairing product equation (PPE): for variables X 1 , . . . , X m ∈ G 1 n m m n � � � � e ( X i , Y j ) γ i , j = t T ( E ) : e ( A j , Y J ) e ( X i , B i ) j = 1 i = 1 i = 1 j = 1 determined by A i ∈ G 1 , B i ∈ G 2 , γ i , j ∈ Z p and t T ∈ G T . Groth-Sahai � WI proofs that elements that were committed satisfy PPE Setup ( G ) : commitment key ck ; Com( ck , X ∈ G ; ρ ): commitment � c X to X ; Prove( ck , ( X i , ρ i ) i = 1 ,..., n , ( E ) ): proof φ ; Verify( ck , � c X i , ( E ) , φ ): checks whether φ is valid. O. Blazy (XLim) Blind Sig Feb 2014 20 / 50

Recommend


More recommend