the simplest protocol for oblivious transfer
play

The Simplest Protocol for Oblivious Transfer Tung Chou Technische - PowerPoint PPT Presentation

The Simplest Protocol for Oblivious Transfer Tung Chou Technische Universiteit Eindhoven, The Netherlands August 24, 2015 Latincrypt 2015, Guadalajara, Mexico Joint work with Claudio Orlandi 2 OTs 1 Sender Receiver 2 OTs


  1. The Simplest Protocol for Oblivious Transfer Tung Chou Technische Universiteit Eindhoven, The Netherlands August 24, 2015 Latincrypt 2015, Guadalajara, Mexico Joint work with Claudio Orlandi

  2. � 2 � OTs 1 Sender Receiver

  3. � 2 � OTs 1 m 0 , m 1 b Sender OT Receiver m b 1

  4. � 2 � OTs 1 m 0 , m 1 b Sender OT Receiver m b The Receiver should learn only m b The Sender should learn nothing 1

  5. � n � OTs 1 m 0 , . . . , m n − 1 b Sender OT Receiver m b The Receiver should learn only m b The Sender should learn nothing 2

  6. Secure Multiparty Computation X Y A MPC B f ( X , Y ) f ( X , Y ) The parties should learn no more than f ( X , Y ) 3

  7. Secure Multiparty Computation X Y A MPC B f ( X , Y ) f ( X , Y ) The parties should learn no more than f ( X , Y ) “OT is complete for secure multiparty computation.” 3

  8. OT Extension PK

  9. OT Extension → + PK PK SK 4

  10. OT Extension → + PK PK SK • Similar to hybrid encryption • Still we need base OTs 4

  11. Diffie-Hellman random x xB random y yB x ( yB ) = xyB y ( xB ) = xyB 5

  12. Random-OT b Sender R-OT Receiver k 0 , . . . , k n − 1 k b The Receiver should learn only k b The Sender gets all k i but nothing about b 6

  13. Our Random-OT construction random x S = xB random y R = yB + bS k i ← H ( x ( R − iS )) , ∀ i k ← H ( yS = xyB ) 7

  14. Our Random-OT construction random x S = xB random y R = yB + bS k i ← H ( x ( R − iS )) , ∀ i k ← H ( yS = xyB ) • R uniformly random: privacy for Receiver 7

  15. Our Random-OT construction random x S = xB random y R = yB + bS k i ← H ( x ( R − iS )) , ∀ i k ← H ( yS = xyB ) • R uniformly random: privacy for Receiver • Square DH: privacy for Sender 7

  16. Our Random-OT construction random x S = xB random y R = yB + bS k i ← H ( x ( R − iS )) , ∀ i k ← H ( yS = xyB ) • R uniformly random: privacy for Receiver • Square DH: privacy for Sender • Sender precomputes T = xS 7

  17. Our Random-OT construction random x S = xB random y R = yB + bS k i ← H ( x ( R − iS )) , ∀ i k ← H ( yS = xyB ) • R uniformly random: privacy for Receiver • Square DH: privacy for Sender • Sender precomputes T = xS • H is modeled as RO 7

  18. Our Real-OT Construction random OT c i = E k i ( m i ) , ∀ i m b = D k ( c b ) 8

  19. Our Real-OT Construction random OT c i = E k i ( m i ) , ∀ i m b = D k ( c b ) • Encryption scheme: E k ( m ) = k ⊕ ( m | 0 λ ) 8

  20. Our Real-OT Construction random OT c i = E k i ( m i ) , ∀ i m b = D k ( c b ) • Encryption scheme: E k ( m ) = k ⊕ ( m | 0 λ ) � if t = 0 λ m ′ D k ( c = ( m ′ | t ) ⊕ k ) = FAIL otherwise 8

  21. The Naor-Pinkas OT • #exponentiations: n vs. 2 offline (3 online) 9

  22. The Naor-Pinkas OT • #exponentiations: n vs. 2 offline (3 online) R b =0 s 1 s 2 s 3 R b =1 R b =2 R b =3

  23. The Naor-Pinkas OT • #exponentiations: n vs. 2 offline (3 online) R b =0 s s s s 1 s 2 s 3 R b =0 R b =1 R b =2 R b =3 R b =1 R b =2 R b =3 9

  24. The Naor-Pinkas OT • #exponentiations: n vs. 2 offline (3 online) R b =0 s s s s 1 s 2 s 3 R b =0 R b =1 R b =2 R b =3 R b =1 R b =2 R b =3 • Game-based proof vs. simulation-based proof (UC) 9

  25. The Encryption Scheme E , D needs to satisfy • Robustness: Given a set of random keys, it is hard for A to generate a ciphertext that can be decrypted with more than one key. • Non-committing: it is possible for a simulator to come up with a ciphertext which can later be explained as an encryption of any message 10

  26. Base-OT Implementation • [ALSZ13]: based on MIRACL, used in the SCAPI library 11

  27. Base-OT Implementation • [ALSZ13]: based on MIRACL, used in the SCAPI library Our work [ALSZ13] Curve Curve25519 NIST K-283 Constant-time Yes No Million Cycles/OT 0.23 2.47 11

  28. Base-OT Implementation • [ALSZ13]: based on MIRACL, used in the SCAPI library Our work [ALSZ13] Curve Curve25519 NIST K-283 Constant-time Yes No Million Cycles/OT 0.23 2.47 • code available at orlandi.dk/simpleOT 11

Recommend


More recommend