(Part I) Emmanuela Orsini and Peter Scholl imec-COSIC, KU Leuven - - PowerPoint PPT Presentation

part i
SMART_READER_LITE
LIVE PREVIEW

(Part I) Emmanuela Orsini and Peter Scholl imec-COSIC, KU Leuven - - PowerPoint PPT Presentation

Efficient Actively Secure OT Extension: 5 Years Later 1 (Part I) Emmanuela Orsini and Peter Scholl imec-COSIC, KU Leuven and Aarhus University 1 Based on the paper Efficient Actively Secure OT Extension , M. Keller, E. Orsini, P. Scholl CRYPTO


slide-1
SLIDE 1

Efficient Actively Secure OT Extension: 5 Years Later1 (Part I)

Emmanuela Orsini and Peter Scholl

imec-COSIC, KU Leuven and Aarhus University

1Based on the paper Efficient Actively Secure OT Extension, M. Keller, E. Orsini, P. Scholl CRYPTO 2015

slide-2
SLIDE 2

Oblivious transfer - Definition

Oblivious Transfer (OT) is a ubiquitous cryptographic primitive designed to transfer specific data based on the receiver’s choice.

Sender m0, m1 Receiver mb, b ∈ {0, 1}

No further information should be learned by any party Relevant to this workshop: distribution of keys for GC, Threshold ECDSA, etc..

2

slide-3
SLIDE 3

Extending oblivious transfer - Motivation

  • Impagliazzo, Rudich [IR98]

Black-box separation result → OT is impossible without public-key primitives (?)

  • Beaver [Beaver96]: OT can be extended

3

slide-4
SLIDE 4

OT-extension: 2003-2020

  • Y. Ishai, J. Kilian, K. Nissim, E. Petrank

“Extending oblivious transfers efficiently”, CRYPTO 2003

  • G. Asharov, Y. Lindell, T. Schneider, and M. Zohner

More Efficient Oblivious Transfer and Extensions for Faster Secure Computation, ACM CCS 2013

  • V. Kolesnikov, R. Kumaresan

Improved OT extension for transferring short secrets, CRYPTO 2013 + J. B. Nielsen, P. S. Nordholt, C. Orlandi, and S. S. Burra. A new approach to practical active-secure two-party computation, CRYPTO 2012 + G. Asharov, Y. Lindell, T. Schneider, and M. Zohner More efficient oblivious transfer extensions with security for malicious adversaries, EUROCRYPT 2015 + M. Keller, E. Orsini, P. Scholl Actively Secure OT Extension with Optimal Overhead, CRYPTO 2015 + M. Orr` u, E. Orsini, P. Scholl Actively Secure 1-out-of-N OT Extension with Application to Private Set Intersection, CT-RSA 2017 x D. Masny, P. Rindal Endemic Oblivious Transfer, CCS 2019 x C. Guo, J. Katz, X. Wang, Y. Yu Efficient and Secure Multiparty Computation from Fixed-Key Block Ciphers, IEEE S&P 2020 * E. Boyle, G. Couteau, N. Gilboa, Y. Ishai, L. Kohl, P. Scholl Efficient Pseudorandom Correlation Generators: Silent OT Extension and More, CRYPTO 2019

4

slide-5
SLIDE 5

OT, Correlated OT and Random OT

Sender OT m0 m1 b mb Receiver Sender COT m0 m0 + ∆ b mb Receiver

Standard OT and COT functionality (Sender chosen message)

Sender ROT m0 m1 b mb Receiver Sender COT m0 m0 + ∆ b mb Receiver

OT and COT with uniform message security 5

slide-6
SLIDE 6

OT, Correlated OT and Random OT

Sender OT m0 m1 b mb Receiver Sender COT m0 m0 + ∆ b mb Receiver

Standard OT and COT functionality (Sender chosen message)

Sender ROT− m0 m1 b mb Receiver Sender COT− m0 m0 + ∆ b mb Receiver

Endemic security [MR19] 5

slide-7
SLIDE 7

OT, Correlated OT and Random OT

Sender OT m0 m1 b mb Receiver Sender COT m0 m0 + ∆ b mb Receiver

Standard OT and COT functionality (Sender chosen message)

Sender ROT− m0 m1 b mb Receiver Sender COT− m0 m0 + ∆ b mb Receiver

Endemic security [MR19] 5

slide-8
SLIDE 8

IKNP OT-extension

Input. 1. m COT 2. RO

Receiver (x1, . . . , xm) ∈ {0, 1}m ti, x ti ∈ {0, 1}k, i ∈ [m] mxi,i = H(ti, i) + cxi,i Sender m0,i, m1,i ∈ {0, 1}k i ∈ [m], k ≪ m qi, ∆ ti = qi + xi · ∆ Send: c0,i = H(qi, i) + m0,i c1,i = H(qi + ∆, i) + m1,i

6

slide-9
SLIDE 9

IKNP OT extension - Security

  • Assuming that Phase 1. of the protocol is passively/actively secure then

– IKNP is passively/actively secure when H is a random oracle – For passive security it is enough for H to be a correlation robust hash function [IKNP03] – For active security H has to be a tweakable correlation robust hash function

  • To achieve active security we need:

– Prove that Phase 1 is secure

  • 1. Achieve security against a malicious receiver

– Secure instantiation of the building blocks

7

slide-10
SLIDE 10

IKNP OT extension - Security

  • Assuming that Phase 1. of the protocol is passively/actively secure then

– IKNP is passively/actively secure when H is a random oracle – For passive security it is enough for H to be a correlation robust hash function [IKNP03] – For active security H has to be a tweakable correlation robust hash function

  • To achieve active security we need:

– Prove that Phase 1 is secure

  • 1. Achieve security against a malicious receiver

– Secure instantiation of the building blocks

7

slide-11
SLIDE 11

Proctecting against a malicious receiver - Attack

t1,1 + x1 · ∆1 . . . tκ

1,k + ·x1 · ∆k

t2,1 + x2 · ∆1 . . . tκ

2,k + x2 · ∆k

t3,1 + x3 · ∆1 . . . tκ

3,k + tx3 · ∆k

. . . . . . . . . . . . ... . . . . . . . . . . . . tm,1 + xm · ∆1 . . . tm,k + xm · ∆k                                       q1 = t1 + x1 · ∆ q2 = t2 + x2 · ∆ q3 = t3 + x3 · ∆ . . . qm = tm + xm · ∆

8

slide-12
SLIDE 12

Protecting against a malicious receiver - Attack

t1,1 + ∆1 . . . . . . tκ

1,k

t2,1 t2,2 + ∆2 . . . tκ

2,k

t3,1 . . . . . . tκ

3,k

. . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . tm,1 . . . . . . tm,k + ∆k                                       q1 = t1 + (∆1, 0, . . . , 0) q2 = t2 + (0, ∆2, 0, . . . , 0) q3 = t3 + (0, 0, ∆3, 0, . . . , 0) . . .

  • c0,1 = H(q1, 1) + m0,1 = H(t1 + (∆1, 0, . . . , 0), 1) + m0,1, can extract ∆1
  • Repeating the attack can recover the entire ∆ and hence all the messages

9

slide-13
SLIDE 13

Protecting against a malicious receiver - Consistency check

Input 1. m COT− 2. Check 3. RO

Receiver

(x1, . . . , xm) ∈ {0, 1}m (xm+1, . . . , xm′) ∈ {0, 1}m′−m, m′ − m = k + s ti, x ti ∈ {0, 1}k, i ∈ [m′] Receive χ1, . . . , χm′ ∈ F2k Send t =

i χiti and x = i χixi

mxi,i = H(ti, i) + cxi,i

Sender

m0,i, m1,i ∈ {0, 1}k i ∈ [m′], k ≪ m′ qi, ∆ qi + ti = xi · ∆ Compute q =

i χiqi and check that

t = q + x · ∆

c0,i = H(qi, i) + m0,i c1,i = H(qi + ∆, i) + m1,i

10

slide-14
SLIDE 14

Part II: Instantiating the Primitives; and Silent OT Extension

11

slide-15
SLIDE 15

Instantiating the Base OTs [Masny-Rindal 19]

Some instantiations allow corrupt parties to bias random-OT outputs

  • (OT or OT−)

OT-ext

− − − − → (COT−, ROT− or OT)

  • (OT or OT−)
  • OT-ext

− − − − → ROT

12

slide-16
SLIDE 16

Instantiating the Base OTs [Masny-Rindal 19]

Some instantiations allow corrupt parties to bias random-OT outputs

  • (OT or OT−)

OT-ext

− − − − → (COT−, ROT− or OT)

  • (OT or OT−)
  • OT-ext

− − − − → ROT

12

slide-17
SLIDE 17

Instantiating the Base OTs [Masny-Rindal 19]

Some instantiations allow corrupt parties to bias random-OT outputs

  • (OT or OT−)

OT-ext

− − − − → (COT−, ROT− or OT)

  • (OT or OT−)
  • OT-ext

− − − − → ROT

Input 1. m COT 2. Check 3. RO

Receiver x1 ∈ {0, 1} t, x1 ∈ {0, 1}k t ∈ {0, 1}k mx1 = H(t, 1) Sender q, ∆ q + t = x1 · ∆ m0 = H(q, 1) m1 = H(q + ∆, 1)

12

slide-18
SLIDE 18

Instantiating the Base OTs [Masny-Rindal 19]

Some instantiations allow corrupt parties to bias random-OT outputs

  • (OT or OT−)

OT-ext

− − − − → (COT−, ROT− or OT)

  • (OT or OT−)
  • OT-ext

− − − − → ROT

Input 1. m COT 2. Check 3. RO

Receiver x1 ∈ {0, 1} 0 ∈ {0, 1}k 0, x1 = 1 m1 = H(0, 1) Sender q, ∆ q = ∆ m0 = H(q, 1) m1 = H(0, 1)

12

slide-19
SLIDE 19

Instantiating the Base OTs [Masny-Rindal 19]

Some instantiations allow corrupt parties to bias random-OT outputs

  • (OT or OT−)

OT-ext

− − − − → (COT−, ROT− or OT)

  • (OT or OT−)
  • OT-ext

− − − − → ROT

  • COT− or ROT− enough for OT and most applications

– But not always: e.g. be careful with ROT− and some PSI protocols

  • If true ROT needed, protocols can be modified:

OT−

OT-ext

− − − − → COT−

coin

− − → ROT

12

slide-20
SLIDE 20

Instantiating the Base OTs [Masny-Rindal 19]

Some instantiations allow corrupt parties to bias random-OT outputs

  • (OT or OT−)

OT-ext

− − − − → (COT−, ROT− or OT)

  • (OT or OT−)
  • OT-ext

− − − − → ROT

  • COT− or ROT− enough for OT and most applications

– But not always: e.g. be careful with ROT− and some PSI protocols

  • If true ROT needed, protocols can be modified:

OT−

OT-ext

− − − − → COT−

coin

− − → ROT

12

slide-21
SLIDE 21

Instantiating the hash function H(x, i) [GKWY 20]

Security requirement: form of correlation robustness

13

slide-22
SLIDE 22

Instantiating the hash function H(x, i) [GKWY 20]

Security requirement: form of correlation robustness

  • SHA 256: straightforward, but slow
  • Fixed-key block cipher, e.g. AES

– ≈ 10x faster – Incorporating index i: can be done with one extra AES call [GKWY20]

13

slide-23
SLIDE 23

Instantiating the hash function H(x, i) [GKWY 20]

Security requirement: form of correlation robustness

  • SHA 256: straightforward, but slow
  • Fixed-key block cipher, e.g. AES

– ≈ 10x faster – Incorporating index i: can be done with one extra AES call [GKWY20]

  • What if i is omitted?

– Can lead to attack, depending on base OTs [MR19]

13

slide-24
SLIDE 24

Silent OT Extension: a Different Approach to Correlated OT [BCGIKS19]

∈ F2 bi ∈ F2k ri , ri + ∆ ri + ∆ · bi OT As vectors: variant of vector-OLE with bi ∈ F2

+ r + ∆ · b = ∆ · b r

Silent OT: compress vector-OLE with a pseudorandom correlation generator (PCG)

14

slide-25
SLIDE 25

Silent OT Extension: a Different Approach to Correlated OT [BCGIKS19]

∈ F2 bi ∈ F2k ri , ri + ∆ ri + ∆ · bi OT As vectors: variant of vector-OLE with bi ∈ F2

+ r + ∆ · b = ∆ · b r

Silent OT: compress vector-OLE with a pseudorandom correlation generator (PCG)

14

slide-26
SLIDE 26

Silent OT Extension: a Different Approach to Correlated OT [BCGIKS19]

∈ F2 bi ∈ F2k ri , ri + ∆ ri + ∆ · bi OT As vectors: variant of vector-OLE with bi ∈ F2

+ r + ∆ · b = ∆ · b r

Silent OT: compress vector-OLE with a pseudorandom correlation generator (PCG)

14

slide-27
SLIDE 27

From a PCG to Silent OT Extension

  • 1. Setup protocol for generating keys [BCGIKRS19, SGRR19]

– 2-round setup for puncturable PRF

  • 2. Malicious security [BCGIKRS19,YWLZW20]

– Consistency check (similar to [KOS15]), < 10% overhead

15

slide-28
SLIDE 28

Security of Silent OT: variants of Learning Parity with Noise

Primal-LPN: + ≈ $

generator matrix G

16

slide-29
SLIDE 29

Security of Silent OT: variants of Learning Parity with Noise

Primal-LPN: limited to quadratic stretch G can be sparse ⇒ faster + ≈ $

generator matrix G

16

slide-30
SLIDE 30

Security of Silent OT: variants of Learning Parity with Noise

Primal-LPN: limited to quadratic stretch G can be sparse ⇒ faster + ≈ $

generator matrix G parity check matrix H

Dual-LPN: arbitrary polynomial stretch H must be dense; use quasi-cyclic codes ≈ $

16

slide-31
SLIDE 31

Security of Silent OT: variants of Learning Parity with Noise

Primal-LPN: limited to quadratic stretch G can be sparse ⇒ faster Security as in [Ale03] + ≈ $

generator matrix G parity check matrix H

Dual-LPN: arbitrary polynomial stretch H must be dense; use quasi-cyclic codes Security as in BIKE, HQC schemes ≈ $

16

slide-32
SLIDE 32

Comparing practical, actively secure OT extension protocols

128-bit security; estimates for 10 million random OTs Reference Silent Rounds Communication Computation Based on [KOS15] ✗ 3/5∗ 160 MB ≈ 0.2s crh [BCGIKRS19] ✓ 2/4∗ 80 kB ≈ 2.0s QC-reg-LPN, crh [YWLZW20] ✓ O(1) 2.4 MB ≈ 0.3s sparse-reg-LPN, crh [YWLZW20] ✓ O(1) 2.1 MB ≈ 0.2s sparse-LPN, crh

∗ passive/active;

crh = correlation robust hash function

17

slide-33
SLIDE 33

Conclusion

  • Pitfalls when implementing OT extension

– Take care with hashing, and security of random OT

  • Many flavours of OT extension to choose from:

– Correlated OT, random OT – 1-out-of-2, 1-out-of-N – IKNP-style, silent

18