Improved Private Set Intersection against Malicious Adversaries - - PowerPoint PPT Presentation

โ–ถ
improved private set intersection
SMART_READER_LITE
LIVE PREVIEW

Improved Private Set Intersection against Malicious Adversaries - - PowerPoint PPT Presentation

Improved Private Set Intersection against Malicious Adversaries Peter Rindal Mike Rosulek Private Set Intersection (PSI) Private Set Intersection (PSI) Sender Receiver PSI


slide-1
SLIDE 1

Improved Private Set Intersection

against

Malicious Adversaries

Peter Rindal

Mike Rosulek

slide-2
SLIDE 2

Private Set Intersection (PSI)

๐‘Œ ๐‘ ๐‘Œ โˆฉ ๐‘

slide-3
SLIDE 3

Private Set Intersection (PSI)

๐‘Œ ๐‘ ๐‘Œ โˆฉ ๐‘ PSI

โ€œSenderโ€ โ€œReceiverโ€

slide-4
SLIDE 4

App: Contact discovery Users

Contacts

๐‘Œ โˆฉ ๐‘ PSI

slide-5
SLIDE 5

Oblivious Transfer (OT)

  • Highly efficient and secure protocols exists
  • Motivates it use as the basis for PSI

๐‘ƒ๐‘ˆ

Alice ๐‘›0, ๐‘›1 โˆˆ 0,1 ๐‘š Bob ๐‘‘ โˆˆ {0,1} ๐‘›๐‘‘

slide-6
SLIDE 6

Bloom Filter

Plain text data structure similar to hash table

  • Allows for testing set membership
  • Paramerterized by hash functions โ„Ž1, โ€ฆ , โ„Ž๐‘™
  • , set
  • ๐‘ โ„Ž๐‘—(๐‘ฆ) = 1

, โˆ€๐‘— ๐‘ =

slide-7
SLIDE 7

โ„Ž๐‘™(๐‘ฆ) 1

Bloom Filter

Plain ๐‘— (๐‘ฆ) =1 , โˆ€๐‘— ext data structure similar to hash table

  • Allows for testing set membership
  • Paramerterized by hash functions โ„Ž1, โ€ฆ , โ„Ž๐‘™
  • To insert ๐‘ฆ, set
  • ๐‘ โ„Ž ๐‘— โ„Ž ๐‘— (๐‘ฆ) = 1

, โˆ€๐‘— ๐‘ = โ€ฆ โ„Ž1(๐‘ฆ) 1 โ„Ž2(๐‘ฆ) 1

slide-8
SLIDE 8

โ„Ž1(๐‘จ) โ„Ž๐‘™(๐‘จ) 1 โ„Ž2(๐‘จ) 1

Bloom Filter

Plain ๐‘— (๐‘ฆ) =1 , โˆ€๐‘— ext data structure similar to hash table

  • Allows for testing set membership
  • Paramerterized by hash functions โ„Ž1, โ€ฆ , โ„Ž๐‘™
  • To insert ๐‘ฆ, set
  • ๐‘ โ„Ž ๐‘— โ„Ž ๐‘— (๐‘ฆ) = 1

, โˆ€๐‘— ๐‘ = โ€ฆ 1 1 1 1 1 1

slide-9
SLIDE 9

Bloom Filter

  • Plain text data structure similar to hash table
  • Allows for testing set membership
  • Paramerterized by hash functions โ„Ž1, โ€ฆ , โ„Ž๐‘œ
  • To insert ๐‘ฆ, set
  • ๐‘ โ„Ž๐‘—(๐‘ฆ) = 1

, โˆ€๐‘—

  • To test membership
  • Return โˆง๐‘— ๐‘ โ„Ž๐‘— ๐‘ฆ

๐‘ = 1 1 1 1 1 1 1 1

slide-10
SLIDE 10

Bloom Filter

  • Plain text data structure similar to hash table
  • Allows for testing set membership
  • Paramerterized by hash functions โ„Ž1, โ€ฆ , โ„Ž๐‘œ
  • To insert ๐‘ฆ, set
  • ๐‘ โ„Ž๐‘—(๐‘ฆ) = 1

, โˆ€๐‘—

  • To test membership
  • Return โˆง๐‘— ๐‘ โ„Ž๐‘— ๐‘ฆ

๐‘ = โ€ฆ โ„Ž1(๐‘ฆ) โ„Ž๐‘™(๐‘ฆ) โ„Ž2(๐‘ฆ) 1 1 1 1 1 1 1 1

slide-11
SLIDE 11

โ€ฆ โ„Ž1(๐‘ฆ) โ„Ž๐‘™(๐‘ฆ) โ„Ž2(๐‘ฆ)

Bloom Filter

๐‘œ items โ†’ Bloom filter with ๐‘› slots and ๐‘™ hash functions

  • Membership:
  • Pr[ false negatives ] = 0
  • 1 โˆ’ ๐‘“โˆ’

๐‘™๐‘œ ๐‘› ๐‘™

โ‰ˆ 2โˆ’๐‘™

๐‘ = 1 1 1 1 1 1 1 1

slide-12
SLIDE 12

โ€ฆ โ„Ž๐‘™(๐‘ง) โ„Ž2(๐‘ง)

Bloom Filter

๐‘™๐‘œ ๐‘› ๐‘™๐‘™๐‘œ๐‘œ ๐‘™๐‘œ ๐‘› ๐‘›๐‘› ๐‘™๐‘œ ๐‘› ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› 1 โˆ’ ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› 1 โˆ’ ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› ๐‘™ ๐‘™๐‘™ 1 โˆ’ ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› ๐‘™ ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› ๐‘“๐‘“ ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› โˆ’ โˆ’ 1 โˆ’ ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› ๐‘™ 1 โˆ’ ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› 1๐‘œ items โ†’ Bloom filter with ๐‘›

slots and ๐‘™ hash functions

  • Membership:
  • Pr[ false negatives ] = 0
  • Pr[ false positives ] = 1 โˆ’ ๐‘“โˆ’

๐‘™๐‘œ ๐‘› ๐‘™

โ‰ˆ 2โˆ’๐‘™

๐‘ = 1 1 1 1 1 1 1 1 โ„Ž1(๐‘ง)

slide-13
SLIDE 13

โ€ฆ โ„Ž๐‘™(๐‘ง) โ„Ž2(๐‘ง)

Bloom Filter

โ‰ˆ 2 โˆ’๐‘™ 2 2 โˆ’๐‘™ โˆ’๐‘™๐‘™ 2 โˆ’๐‘™ โ‰ˆ 2 โˆ’๐‘™ 2 2 โˆ’๐‘™ โˆ’๐‘™๐‘™ 2 โˆ’๐‘™ ๐‘™๐‘œ ๐‘› ๐‘™๐‘™๐‘œ๐‘œ ๐‘™๐‘œ ๐‘› ๐‘›๐‘› ๐‘™๐‘œ ๐‘› ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› 1 โˆ’ ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› 1 โˆ’ ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› ๐‘™ ๐‘™๐‘™ 1 โˆ’ ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› ๐‘™ ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› ๐‘“๐‘“ ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› โˆ’ โˆ’ 1 โˆ’ ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› ๐‘™ 1 โˆ’ ๐‘“ โˆ’ ๐‘™๐‘œ ๐‘› 1๐‘œ items โ†’ Bloom filter with ๐‘›

slots and ๐‘™ hash functions

  • Membership:

โ‰ˆ 2โˆ’๐‘™ โ‰ˆ 2โˆ’๐‘™ โ‰ˆ 2โˆ’๐‘™

๐‘ = 1 1 1 1 1 1 1 1 โ„Ž1(๐‘ง)

slide-14
SLIDE 14

Bloom Filter Intersection

  • Bitwise AND ๐ถ๐‘Œ โˆง ๐ถ๐‘

is a Bloom filter for ๐‘Œ โˆฉ ๐‘

1 1 1 1 1 1 1 1 ๐ถ๐‘Œ โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐ถ๐‘ ๐‘Œ = {๐‘, ๐‘} ๐‘ = {๐‘, ๐‘‘}

slide-15
SLIDE 15

Bloom Filter Intersection

  • Bitwise AND ๐ถ๐‘Œ โˆง ๐ถ๐‘

is a Bloom filter for ๐‘Œ โˆฉ ๐‘

1 1 1 1 1 1 1 1 ๐ถ๐‘Œ โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐ถ๐‘ ๐‘Œ = {๐‘, ๐‘} ๐‘ = {๐‘, ๐‘‘} 1 1 ๐Ÿ ๐ถ๐‘Œ โˆง ๐ถ๐‘ โ„Ž๐‘—(๐‘)

slide-16
SLIDE 16

Bloom Filter Protocol

1 1 1 1 โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐ถ๐‘ ๐‘ = {๐‘, ๐‘‘}

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ•

๐’๐’‹ โ† ๐Ÿ, ๐Ÿ ๐€ [DongChenWen13, PinkasSchniederZohner14]

slide-17
SLIDE 17

Bloom Filter Protocol

1 1 1 1 โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐ถ๐‘ ๐‘ = {๐‘, ๐‘‘}

๐‘ƒ๐‘ˆ ๐‘ƒ๐‘ˆ

โ€ฆ

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ•

๐’๐’‹ โ† ๐Ÿ, ๐Ÿ ๐€ [DongChenWen13, PinkasSchniederZohner14]

slide-18
SLIDE 18

Bloom Filter Protocol

1 1 1 1 โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐ถ๐‘ ๐‘ = {๐‘, ๐‘‘}

๐‘ƒ๐‘ˆ ๐‘ƒ๐‘ˆ

โ€ฆ

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ• ๐’๐Ÿ โŠฅ โŠฅ ๐’๐Ÿ’ โŠฅ ๐’๐Ÿ” ๐’๐Ÿ•

Garbled Bloom filter [DongChenWen13, PinkasSchniederZohner14]

slide-19
SLIDE 19

Bloom Filter Protocol

1 1 1 1 โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐ถ๐‘ ๐‘ = {๐‘, ๐‘‘}

๐‘ƒ๐‘ˆ ๐‘ƒ๐‘ˆ

โ€ฆ

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ• ๐’๐Ÿ โŠฅ โŠฅ ๐’๐Ÿ’ โŠฅ ๐’๐Ÿ” ๐’๐Ÿ•

๐‘Œ = {๐‘, ๐‘} 1 1 1 1 ๐ถ๐‘Œ โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘) Garbled Bloom filter [DongChenWen13, PinkasSchniederZohner14]

slide-20
SLIDE 20

Bloom Filter Protocol

1 1 1 1 โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐ถ๐‘ ๐‘ = {๐‘, ๐‘‘}

๐‘ƒ๐‘ˆ ๐‘ƒ๐‘ˆ

โ€ฆ

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ• ๐’๐Ÿ โŠฅ โŠฅ ๐’๐Ÿ’ โŠฅ ๐’๐Ÿ” ๐’๐Ÿ•

๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

๐‘Œ = {๐‘, ๐‘} 1 1 1 1 ๐ถ๐‘Œ โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘) Garbled Bloom filter [DongChenWen13, PinkasSchniederZohner14]

slide-21
SLIDE 21

Bloom Filter Protocol

1 1 1 1 โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐ถ๐‘ ๐‘ = {๐‘, ๐‘‘}

๐‘ƒ๐‘ˆ ๐‘ƒ๐‘ˆ

โ€ฆ

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ• ๐’๐Ÿ โŠฅ โŠฅ ๐’๐Ÿ’ โŠฅ ๐’๐Ÿ” ๐’๐Ÿ•

๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

๐‘Œ = {๐‘, ๐‘} 1 1 1 1 ๐ถ๐‘Œ โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘)

Output the intersection

๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ’ โŠ• ๐’๐Ÿ•

Garbled Bloom filter [DongChenWen13, PinkasSchniederZohner14]

slide-22
SLIDE 22

Semi-Honest Security

[DongChenWen13, PinkasSchniederZohner14]

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ•

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

Output: ๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐‘Œ = {๐‘, ๐‘}

OT

๐’๐Ÿ โŠฅ โŠฅ ๐’๐Ÿ’ โŠฅ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1

Naturally secure against Sender.

  • OT hides select bits
  • Final message sent to Receiver
  • โˆ‰ ๐‘, Receiver learns encoding

e.g. Encode ๐‘งโ€ฒ = ๐‘›3 โŠ• ๐‘›4

  • DCW13 show equivalence to false positive in

standard bloom filter

  • Pr[ false positives ] โ‰ˆ 2โˆ’๐‘™
slide-23
SLIDE 23

Semi-Honest Security

[DongChenWen13, PinkasSchniederZohner14]

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ•

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

Output: ๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐‘Œ = {๐‘, ๐‘}

OT

๐’๐Ÿ โŠฅ โŠฅ ๐’๐Ÿ’ โŠฅ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1

๐‘ง โ€ฒ โˆ‰๐‘๐‘, Receiver learns encoding

Naturally secure against Sender.

  • OT hides select bits
  • Final message sent to Receiver
  • Secure against Receiver
  • Attack: For ๐‘ง โ€ฒ โ€ฒ โ€ฒ โˆ‰ ๐‘, Receiver learns encoding

e.g. Encode ๐‘งโ€ฒ = ๐‘›3 โŠ• ๐‘›4

  • DCW13 show equivalence to false positive in

standard bloom filter

  • Pr[ false positives ] โ‰ˆ 2โˆ’๐‘™
slide-24
SLIDE 24

Semi-Honest Security

[DongChenWen13, PinkasSchniederZohner14]

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ•

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

Output: ๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐‘Œ = {๐‘, ๐‘}

OT

๐’๐Ÿ โŠฅ โŠฅ ๐’๐Ÿ’ โŠฅ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1

e.g. Encode ๐‘งโ€ฒ ๐‘ง๐‘งโ€ฒ ๐‘งโ€ฒ = ๐‘› 3 ๐‘›๐‘› ๐‘› 3 3 ๐‘› 3 โŠ• ๐‘› 4 ๐‘›๐‘› ๐‘› 4 4 ๐‘› 4 ๐‘ง โ€ฒ โˆ‰๐‘๐‘, Receiver learns encoding

Naturally secure against Sender.

  • OT hides select bits
  • Final message sent to Receiver
  • Secure against Receiver

ncode ๐‘งโ€ฒ = ๐‘›3 โŠ• ๐‘›4 e.g. Encode ๐‘งโ€ฒ = ๐‘›3 โŠ• ๐‘›4

  • DCW13 show equivalence to false positive in

standard bloom filter

  • Pr[ false positives ] โ‰ˆ 2โˆ’๐‘™
slide-25
SLIDE 25

Semi-Honest Security

[DongChenWen13, PinkasSchniederZohner14]

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ•

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

Output: ๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐‘Œ = {๐‘, ๐‘}

OT

๐’๐Ÿ โŠฅ โŠฅ ๐’๐Ÿ’ โŠฅ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1

e.g. Encode ๐‘งโ€ฒ ๐‘ง๐‘งโ€ฒ ๐‘งโ€ฒ = ๐‘› 3 ๐‘›๐‘› ๐‘› 3 3 ๐‘› 3 โŠ• ๐‘› 4 ๐‘›๐‘› ๐‘› 4 4 ๐‘› 4 ๐‘ง โ€ฒ โˆ‰๐‘๐‘, Receiver learns encoding

Naturally secure against Sender.

  • OT hides select bits
  • Final message sent to Receiver
  • Secure against Receiver

ncode ๐‘งโ€ฒ = ๐‘›3 โŠ• ๐‘›4 e.g. Encode ๐‘งโ€ฒ = ๐‘›3 โŠ• ๐‘›4

  • DCW13 show equivalence to false positive in

standard bloom filter

  • DCW13 show equivalence to false positive in

standard bloom filter

  • Pr[ false positives ] โ‰ˆ 2โˆ’๐‘™
slide-26
SLIDE 26

Semi-Honest Security

[DongChenWen13, PinkasSchniederZohner14]

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ•

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

Output: ๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐‘Œ = {๐‘, ๐‘}

OT

๐’๐Ÿ โŠฅ โŠฅ ๐’๐Ÿ’ โŠฅ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1

2 โˆ’๐‘™ 2 2 โˆ’๐‘™ โˆ’๐‘™๐‘™ 2 โˆ’๐‘™ e.g. Encode ๐‘งโ€ฒ ๐‘ง๐‘งโ€ฒ ๐‘งโ€ฒ = ๐‘› 3 ๐‘›๐‘› ๐‘› 3 3 ๐‘› 3 โŠ• ๐‘› 4 ๐‘›๐‘› ๐‘› 4 4 ๐‘› 4 ๐‘ง โ€ฒ โˆ‰๐‘๐‘, Receiver learns encoding

Naturally secure against Sender.

  • OT hides select bits
  • Final message sent to Receiver
  • Secure against Receiver

ncode ๐‘งโ€ฒ = ๐‘›3 โŠ• ๐‘›4 e.g. Encode ๐‘งโ€ฒ = ๐‘›3 โŠ• ๐‘›4

  • DCW13 show equivalence to false positive in standard

bloom filter

  • Pr[ false positives ] โ‰ˆ 2โˆ’๐‘™
  • Pr[ false positives ] โ‰ˆ 2โˆ’๐‘™
slide-27
SLIDE 27

Malicious Receiver

Insecure against Receiver

  • Bloom filter
  • Receiver will obtain all ๐‘›๐‘—
  • Can probe for ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ•

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

Output: ๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐‘Œ = {๐‘, ๐‘}

OT

๐’๐Ÿ โŠฅ โŠฅ ๐’๐Ÿ’ โŠฅ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1

slide-28
SLIDE 28

Malicious Receiver

Bloom filter Insecure against Receiver

  • Consider all 1 Bloom filter
  • Receiver will obtain all ๐‘›๐‘—
  • Can probe for ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ•

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

Output: ๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐‘Œ = {๐‘, ๐‘}

OT

๐’๐Ÿ โŠฅ โŠฅ ๐’๐Ÿ’ โŠฅ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1 1 1 1

slide-29
SLIDE 29

Malicious Receiver

Bloom filter Insecure against Receiver

  • Receiver will obtain all ๐‘› ๐‘—
  • ๐‘— ๐‘— ๐‘—
  • Receiver will obtain all ๐‘›๐‘—
  • Can probe for ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ•

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

Output: ๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐‘Œ = {๐‘, ๐‘}

OT

๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1 1 1 1

slide-30
SLIDE 30

Malicious Receiver

๐’ ๐Ÿ’ ๐’๐’ ๐’ ๐Ÿ’ ๐Ÿ’๐Ÿ’ ๐’ ๐Ÿ’

Bloom filter Insecure against Receiver

  • Receiver will obtain all ๐‘› ๐‘—
  • Can probe for ๐’ ๐Ÿ‘ โŠ• ๐Ÿ‘ ๐Ÿ‘ ๐Ÿ‘ โŠ• ๐’๐Ÿ’
  • Receiver will obtain all ๐‘›๐‘—
  • Can probe for ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ•

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

Output: ๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐‘Œ = {๐‘, ๐‘}

OT

๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1 1 1 1 ๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

slide-31
SLIDE 31

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ• ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ•

Warm-Up: The DongChenWen13 Approach

Goal โˆ’ restrict the Receiver to a valid Bloom filter

  • bits contains 1

2 ๐‘› ones

  • Make Receiver prove zero choice bits
  • Sample random key ๐‘ก โ† 0,1 ๐œ†
  • Generate a ๐‘›

2 out of ๐‘› secret sharing of ๐‘ก

  • ๐‘ก1, โ€ฆ , ๐‘ก๐‘›
  • Transmit ๐‘ก๐‘— as the ๐‘—th zero OT message
  • Encrypt summary values with ๐‘ก

1 1 1 1 โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐‘Œ = {๐‘, ๐‘}

OT

1 1 1

Output: ๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

slide-32
SLIDE 32

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ• ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ•

Warm-Up: The DongChenWen13 Approach

1 2 2 1 2 ๐‘›๐‘› ones

Goal โˆ’ restrict the Receiver to a valid

Bloom filter

  • Bloom filter of ๐‘› bits contains 1 2 ๐‘› ones
  • Make Receiver prove zero choice bits
  • Sample random key ๐‘ก โ† 0,1 ๐œ†
  • Generate a ๐‘›

2 out of ๐‘› secret sharing of ๐‘ก

  • ๐‘ก1, โ€ฆ , ๐‘ก๐‘›
  • Transmit ๐‘ก๐‘— as the ๐‘—th zero OT message
  • Encrypt summary values with ๐‘ก

1 1 1 1 โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐‘Œ = {๐‘, ๐‘}

OT

1 1 1

Output: ๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

slide-33
SLIDE 33

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ• ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ•

Warm-Up: The DongChenWen13 Approach

0,1 ๐œ† 0,1 0,1 0,1 0,1 ๐œ† ๐œ†๐œ† 0,1 ๐œ† 1 2 2 1 2 ๐‘›๐‘› ones

Goal โˆ’ restrict the Receiver to a valid Bloom

filter

  • Bloom filter of ๐‘› bits contains 1 2 ๐‘› ones
  • Make Receiver prove zero choice bits
  • Sample random key ๐‘ก โ† 0,1 ๐œ†
  • Sample random key ๐‘ก โ† 0,1 ๐œ†
  • Generate a ๐‘›

2 out of ๐‘› secret sharing of ๐‘ก

  • ๐‘ก1, โ€ฆ , ๐‘ก๐‘›
  • Transmit ๐‘ก๐‘— as the ๐‘—th zero OT message
  • Encrypt summary values with ๐‘ก

1 1 1 1 โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐‘Œ = {๐‘, ๐‘}

OT

1 1 1

Output: ๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

slide-34
SLIDE 34

โŠฅ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ โ‹ฎ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” โŠฅ ๐’๐Ÿ• ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ•

Warm-Up: The DongChenWen13 Approach

๐‘ก 1 ,โ€ฆ, ๐‘ก ๐‘› ๐‘ก๐‘ก ๐‘ก ๐‘› ๐‘›๐‘› ๐‘ก ๐‘› ๐‘› 2 out of ๐‘›๐‘› secret sharing of ๐‘ก๐‘ก 0,1 ๐œ† 0,1 0,1 0,1 0,1 ๐œ† ๐œ†๐œ† 0,1 ๐œ† 1 2 2 1 2 ๐‘›๐‘› ones

Goal โˆ’ restrict the Receiver to a valid Bloom filter

  • Bloom filter of ๐‘› bits contains 1 2 ๐‘› ones
  • Make Receiver prove zero choice bits
  • ๐‘ก 1 1 1 , โ€ฆ , ๐‘ก๐‘›
  • Sample random key ๐‘ก โ† 0,1 ๐œ†
  • Generate a

๐‘› 2 out of ๐‘› secret sharing of ๐‘ก

  • ๐‘ก1, โ€ฆ , ๐‘ก๐‘›
  • Transmit ๐‘ก๐‘— as the ๐‘—th zero OT message
  • Encrypt summary values with ๐‘ก

1 1 1 1 โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐‘Œ = {๐‘, ๐‘}

OT

1 1 1

Output: ๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

slide-35
SLIDE 35

๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ•

Warm-Up: The DongChenWen13 Approach

as the ๐‘—๐‘—th zero OT message ๐‘ก 1 ,โ€ฆ, ๐‘ก ๐‘› ๐‘ก๐‘ก ๐‘ก ๐‘› ๐‘›๐‘› ๐‘ก ๐‘› ๐‘› 2 out of ๐‘›๐‘› secret sharing of ๐‘ก๐‘ก 0,1 ๐œ† 0,1 0,1 0,1 0,1 ๐œ† ๐œ†๐œ† 0,1 ๐œ† 1 2 2 1 2 ๐‘›๐‘› ones

Goal โˆ’ restrict the Receiver to a valid Bloom filter

  • Bloom filter of ๐‘› bits contains 1 2 ๐‘› ones
  • Make Receiver prove zero choice bits
  • ๐‘ก 1 1 1 , โ€ฆ , ๐‘ก๐‘›
  • Transmit ๐‘ก ๐‘— ๐‘— ๐‘— ๐‘— as the ๐‘—th zero OT message
  • Generate a ๐‘›

2 out of ๐‘› secret sharing of ๐‘ก

  • ๐‘ก1, โ€ฆ , ๐‘ก๐‘›
  • Transmit ๐‘ก๐‘— as the ๐‘—th zero OT message
  • Encrypt summary values with ๐‘ก

1 1 1 1 โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐‘Œ = {๐‘, ๐‘}

OT

1 1 1

Output: ๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐’€ = ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ‘ ๐’•๐Ÿ’ ๐’๐Ÿ’ ๐’•๐Ÿ“ ๐’๐Ÿ“ ๐’•๐Ÿ” ๐’๐Ÿ” ๐’•๐Ÿ• ๐’๐Ÿ•

slide-36
SLIDE 36

๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ•

Warm-Up: The DongChenWen13 Approach

as the ๐‘—๐‘—th zero OT message ๐‘ก 1 ,โ€ฆ, ๐‘ก ๐‘› ๐‘ก๐‘ก ๐‘ก ๐‘› ๐‘›๐‘› ๐‘ก ๐‘› ๐‘› 2 out of ๐‘›๐‘› secret sharing of ๐‘ก๐‘ก 0,1 ๐œ† 0,1 0,1 0,1 0,1 ๐œ† ๐œ†๐œ† 0,1 ๐œ† 1 2 2 1 2 ๐‘›๐‘› ones

Goal โˆ’ restrict the Receiver to a valid Bloom filter

  • Bloom filter of ๐‘› bits contains 1 2 ๐‘› ones
  • Make Receiver prove zero choice bits
  • ๐‘ก 1 1 1 , โ€ฆ , ๐‘ก๐‘›
  • Encrypt summary values with ๐‘กGenerate a ๐‘›

2 out of ๐‘› secret

sharing of ๐‘ก

  • ๐‘ก1, โ€ฆ , ๐‘ก๐‘›
  • Transmit ๐‘ก๐‘— as the ๐‘—th zero OT message
  • Encrypt summary values with ๐‘ก

1 1 1 1 โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐‘Œ = {๐‘, ๐‘}

OT

1 1 1

Output: ๐’€ โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ•

๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ‘ ๐’•๐Ÿ’ ๐’๐Ÿ’ ๐’•๐Ÿ“ ๐’๐Ÿ“ ๐’•๐Ÿ” ๐’๐Ÿ” ๐’•๐Ÿ• ๐’๐Ÿ•

๐’€ = ๐”ฝ๐’• ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

slide-37
SLIDE 37

๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ•

Warm-Up: The DongChenWen13 Approach

as the ๐‘—๐‘—th zero OT message ๐‘ก 1 ,โ€ฆ, ๐‘ก ๐‘› ๐‘ก๐‘ก ๐‘ก ๐‘› ๐‘›๐‘› ๐‘ก ๐‘› ๐‘› 2 out of ๐‘›๐‘› secret sharing of ๐‘ก๐‘ก 0,1 ๐œ† 0,1 0,1 0,1 0,1 ๐œ† ๐œ†๐œ† 0,1 ๐œ† 1 2 2 1 2 ๐‘›๐‘› ones

Goal โˆ’ restrict the Receiver to a valid Bloom filter

  • Bloom filter of ๐‘› bits contains 1 2 ๐‘› ones
  • Make Receiver prove zero choice bits
  • ๐‘ก 1 1 1 , โ€ฆ , ๐‘ก๐‘›
  • Encrypt summary values with ๐‘กGenerate a ๐‘›

2 out of ๐‘› secret

sharing of ๐‘ก

  • ๐‘ก1, โ€ฆ , ๐‘ก๐‘›
  • Transmit ๐‘ก๐‘— as the ๐‘—th zero OT message
  • Encrypt summary values with ๐‘ก

1 1 1 1 โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐‘Œ = {๐‘, ๐‘}

OT

1 1 1

Output:

๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ‘ ๐’•๐Ÿ’ ๐’๐Ÿ’ ๐’•๐Ÿ“ ๐’๐Ÿ“ ๐’•๐Ÿ” ๐’๐Ÿ” ๐’•๐Ÿ• ๐’๐Ÿ•

๐’€ = ๐”ฝ๐’• ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

Output: ๐”ผ๐’•( ๐’€) โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ•

slide-38
SLIDE 38

๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ‘ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ•

Warm-Up: The DongChenWen13 Approach

as the ๐‘—๐‘—th zero OT message ๐‘ก 1 ,โ€ฆ, ๐‘ก ๐‘› ๐‘ก๐‘ก ๐‘ก ๐‘› ๐‘›๐‘› ๐‘ก ๐‘› ๐‘› 2 out of ๐‘›๐‘› secret sharing of ๐‘ก๐‘ก 0,1 ๐œ† 0,1 0,1 0,1 0,1 ๐œ† ๐œ†๐œ† 0,1 ๐œ† 1 2 2 1 2 ๐‘›๐‘› ones

Goal โˆ’ restrict the Receiver to a valid Bloom filter

  • Bloom filter of ๐‘› bits contains 1 2 ๐‘› ones
  • Make Receiver prove zero choice bits
  • ๐‘ก 1 1 1 , โ€ฆ , ๐‘ก๐‘›
  • Encrypt summary values with ๐‘กGenerate a ๐‘›

2 out of ๐‘› secret

sharing of ๐‘ก

  • ๐‘ก1, โ€ฆ , ๐‘ก๐‘›
  • Transmit ๐‘ก๐‘— as the ๐‘—th zero OT message
  • Encrypt summary values with ๐‘ก

1 1 1 1 โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐‘Œ = {๐‘, ๐‘}

OT

1 1 1

Output:

๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ‘ ๐’•๐Ÿ’ ๐’๐Ÿ’ ๐’•๐Ÿ“ ๐’๐Ÿ“ ๐’•๐Ÿ” ๐’๐Ÿ” ๐’•๐Ÿ• ๐’๐Ÿ•

๐’€ = ๐”ฝ๐’• ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

Output: ๐”ผ๐’•( ๐’€) โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• 1 1 1

slide-39
SLIDE 39

Warm-Up: The DongChenWen13 Approach

  • Goal โˆ’ restrict the Receiver to a valid

Bloom filter

  • Bloom filter of ๐‘› bits contains 1

2 ๐‘› ones

  • Make Receiver prove zero choice bits
  • Sample random key ๐‘ก โ† 0,1 ๐œ†
  • Generate a ๐‘›

2 out of ๐‘› secret sharing of ๐‘ก

  • ๐‘ก1, โ€ฆ , ๐‘ก๐‘›
  • Transmit ๐‘ก๐‘— as the ๐‘—th zero OT message
  • Encrypt summary values with ๐‘ก

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐‘Œ = {๐‘, ๐‘}

OT

๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ‘ ๐’•๐Ÿ’ ๐’๐Ÿ’ ๐’•๐Ÿ“ ๐’๐Ÿ“ ๐’•๐Ÿ” ๐’๐Ÿ” ๐’•๐Ÿ• ๐’๐Ÿ•

Output:

๐’€ = ๐”ฝ๐’• ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

๐”ผ๐’•( ๐’€) โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ•

๐’๐Ÿ ๐’•๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ’ ๐’•๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1

slide-40
SLIDE 40

Warm-Up: The DongChenWen13 Approach

Is this secure?

  • ๐‘›

2 ones

  • Selective failure attack by the Senderโ€ฆ

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐‘Œ = {๐‘, ๐‘}

OT

๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ‘ ๐’•๐Ÿ’ ๐’๐Ÿ’ ๐’•๐Ÿ“ ๐’๐Ÿ“ ๐’•๐Ÿ” ๐’๐Ÿ” ๐’•๐Ÿ• ๐’๐Ÿ•

Output:

๐’€ = ๐”ฝ๐’• ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

๐”ผ๐’•( ๐’€) โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ•

๐’๐Ÿ ๐’•๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ’ ๐’•๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1 [RindalRosulek17, Lambaek17]

slide-41
SLIDE 41

Warm-Up: The DongChenWen13 Approach

๐‘› 2 ๐‘›๐‘› ๐‘› 2 2 ๐‘› 2 ones

Is this secure?

  • Receiver is forced to use โ‰ค ๐‘›

2 ones

  • Selective failure attack by the Senderโ€ฆ

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐‘Œ = {๐‘, ๐‘}

OT

๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ‘ ๐’•๐Ÿ’ ๐’๐Ÿ’ ๐’•๐Ÿ“ ๐’๐Ÿ“ ๐’•๐Ÿ” ๐’๐Ÿ” ๐’•๐Ÿ• ๐’๐Ÿ•

Output:

๐’€ = ๐”ฝ๐’• ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

๐”ผ๐’•( ๐’€) โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ•

๐’๐Ÿ ๐’•๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ’ ๐’•๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1 [RindalRosulek17, Lambaek17]

slide-42
SLIDE 42

Warm-Up: The DongChenWen13 Approach

๐‘› 2 ๐‘›๐‘› ๐‘› 2 2 ๐‘› 2 ones

Is this secure?

  • Selective failure attack by the Senderโ€ฆ

Selective failure attack by the Senderโ€ฆ โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐‘Œ = {๐‘, ๐‘}

OT

๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ‘ ๐’•๐Ÿ’ ๐’๐Ÿ’ ๐’•๐Ÿ“ ๐’๐Ÿ“ ๐’•๐Ÿ” ๐’๐Ÿ” ๐’•๐Ÿ• ๐’๐Ÿ•

Output:

๐’€ = ๐”ฝ๐’• ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

๐”ผ๐’•( ๐’€) โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ•

๐’๐Ÿ ๐’•๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ’ ๐’•๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1 [RindalRosulek17, Lambaek17]

slide-43
SLIDE 43

๐’๐Ÿ ๐’•๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ’ ๐’•๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1

Warm-Up: The DongChenWen13 Approach

  • Is this secure?
  • Receiver is forced to use โ‰ค ๐‘›

2 ones

  • Selective failure attack by the Senderโ€ฆ
  • Example Attack:
  • replace ๐‘ก4 with random value ๐‘ 

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐‘Œ = {๐‘, ๐‘}

OT

๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ‘ ๐’•๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’•๐Ÿ” ๐’๐Ÿ” ๐’•๐Ÿ• ๐’๐Ÿ•

Output:

๐’€ = ๐”ฝ๐’• ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

๐”ผ๐’•( ๐’€) โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐‘  [RindalRosulek17, Lambaek17]

slide-44
SLIDE 44

๐’๐Ÿ ๐’•๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ’ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1

Warm-Up: The DongChenWen13 Approach

Is this secure?

  • Receiver is forced to use โ‰ค ๐‘›

2 ones

  • Selective failure attack by the Senderโ€ฆ
  • Example Attack:
  • replace ๐‘ก4 with random value ๐‘ 
  • Can not reconstruct ๐‘ก if ๐‘  is picked up
  • โˆ€๐‘ง โˆˆ ๐‘ โˆถ

โ„Ž๐‘— ๐‘ง โ‰  4

  • Can not be simulated!

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐‘Œ = {๐‘, ๐‘}

OT

๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ‘ ๐’•๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’•๐Ÿ” ๐’๐Ÿ” ๐’•๐Ÿ• ๐’๐Ÿ•

Output:

๐’€ = ๐”ฝ๐’• ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

๐”ผ๐’•( ๐’€) โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐‘  ๐‘  [RindalRosulek17, Lambaek17]

slide-45
SLIDE 45

๐’๐Ÿ ๐’•๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ’ ๐’๐Ÿ” ๐’๐Ÿ•

1 1 1 1

Warm-Up: The DongChenWen13 Approach

โˆ€๐‘ง๐‘งโˆˆ๐‘๐‘ : โ„Ž ๐‘— โ„Ž โ„Ž ๐‘— ๐‘—๐‘— โ„Ž ๐‘— ๐‘ง ๐‘ง๐‘ง ๐‘ง โ‰ 4 Is this secure?

  • Receiver is forced to use โ‰ค ๐‘›

2 ones

  • Selective failure attack by the Senderโ€ฆ
  • Example Attack:
  • replace ๐‘ก4 with random value ๐‘ 
  • Can not reconstruct ๐‘ก if ๐‘  is picked up
  • Can not be simulated! Can not be simulated!

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ ๐‘Œ = {๐‘, ๐‘}

OT

๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ ๐’๐Ÿ ๐’•๐Ÿ‘ ๐’๐Ÿ‘ ๐’•๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’•๐Ÿ” ๐’๐Ÿ” ๐’•๐Ÿ• ๐’๐Ÿ•

Output:

๐’€ = ๐”ฝ๐’• ๐’๐Ÿ โŠ• ๐’๐Ÿ”, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

๐”ผ๐’•( ๐’€) โˆฉ ๐’๐Ÿ โŠ• ๐’๐Ÿ”,

๐’๐Ÿ’ โŠ• ๐’๐Ÿ• ๐‘  ๐‘  [RindalRosulek17, Lambaek17]

slide-46
SLIDE 46

Cut and Choose Approach

Make Receiver p

OT

โ€ฆ

OT

1 1 1 Random 1

๐’”๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ’ ๐’”๐Ÿ“ ๐’”๐Ÿ” ๐’”๐Ÿ– ๐’”๐Ÿ— ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ– ๐’๐Ÿ— ๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’”๐Ÿ” ๐’”๐Ÿ– ๐’๐Ÿ—

1

๐’”๐Ÿ‘ ๐’”๐Ÿ• ๐’๐Ÿ‘ ๐’๐Ÿ• ๐’”๐Ÿ‘ ๐’๐Ÿ•

[RindalRosulek17]

slide-47
SLIDE 47

Cut and Choose Approach

Make Receiver p

  • Sender challenges on a subset of OT
  • Receiver must reveal select bits

OT

โ€ฆ

OT

1 1 1 Random 1

๐’”๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ’ ๐’”๐Ÿ“ ๐’”๐Ÿ” ๐’”๐Ÿ– ๐’”๐Ÿ— ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ– ๐’๐Ÿ— ๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’”๐Ÿ” ๐’”๐Ÿ– ๐’๐Ÿ—

1

๐’”๐Ÿ‘ ๐’”๐Ÿ• ๐’๐Ÿ‘ ๐’๐Ÿ• ๐’”๐Ÿ‘ ๐’๐Ÿ•

[RindalRosulek17]

slide-48
SLIDE 48

Cut and Choose Approach

Make Receiver p

  • Sender challenges on a subset of OT
  • Receiver must reveal select bits

OT

โ€ฆ

OT

1 1 1 Random 1

๐’”๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ’ ๐’”๐Ÿ“ ๐’”๐Ÿ” ๐’”๐Ÿ– ๐’”๐Ÿ— ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ– ๐’๐Ÿ— ๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’”๐Ÿ” ๐’”๐Ÿ– ๐’๐Ÿ—

1

๐’”๐Ÿ‘ ๐’”๐Ÿ• ๐’๐Ÿ‘ ๐’๐Ÿ• ๐’”๐Ÿ‘ ๐’๐Ÿ•

[RindalRosulek17]

slide-49
SLIDE 49

Cut and Choose Approach

Make Receiver p 2 zero bits, aborts otherwise

  • Sender challenges on a subset of OT
  • Receiver must reveal select bits
  • Expect to see 1 2 zero bits, aborts otherwise

OT

โ€ฆ

OT

1 1 1 Random 1

๐’”๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ’ ๐’”๐Ÿ“ ๐’”๐Ÿ” ๐’”๐Ÿ– ๐’”๐Ÿ— ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ– ๐’๐Ÿ— ๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’”๐Ÿ” ๐’”๐Ÿ– ๐’๐Ÿ—

1

๐’”๐Ÿ‘ ๐’”๐Ÿ• ๐’๐Ÿ‘ ๐’๐Ÿ• ๐’”๐Ÿ‘ ๐’๐Ÿ• ๐’”๐Ÿ‘ ๐’๐Ÿ•

[RindalRosulek17]

slide-50
SLIDE 50

Cut and Choose Approach

  • Make Receiver prove zero bits in an

input-independent way

  • Receiver uses random OT select bits
  • Sender challenges on a subset of OT
  • Receiver must reveal select bits
  • Expect to see 1

2 zero bits, aborts otherwise

OT

1 Random

๐’”๐Ÿ ๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ’

โ€ฆ 1 1

๐’”๐Ÿ“ ๐’”๐Ÿ” ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’”๐Ÿ” OT

1

๐’”๐Ÿ– ๐’”๐Ÿ— ๐’๐Ÿ– ๐’๐Ÿ— ๐’”๐Ÿ– ๐’๐Ÿ—

[RindalRosulek17]

slide-51
SLIDE 51

Cut and Choose Approach

  • Issue: Remaining OTs do not form valid Bloom

filter

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘} [RindalRosulek17]

OT

1

๐’”๐Ÿ ๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ’

โ€ฆ 1 1

๐’”๐Ÿ“ ๐’”๐Ÿ” ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’”๐Ÿ” OT

1

๐’”๐Ÿ– ๐’”๐Ÿ— ๐’๐Ÿ– ๐’๐Ÿ— ๐’”๐Ÿ– ๐’๐Ÿ—

slide-52
SLIDE 52

Cut and Choose Approach

I

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘} [RindalRosulek17]

OT

1

๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

โ€ฆ 1 1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ” OT

1 1

๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ—

slide-53
SLIDE 53

Cut and Choose Approach

I andom OTs โ†’desired ๐ถ๐บ

  • Randomly permute OTs to form Bloom filter
  • ๐œŒ ๐‘ andom OTs โ†’ desired ๐ถ๐บ

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘} [RindalRosulek17]

OT

1

๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

โ€ฆ 1 1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ” OT

1 1

๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ—

๐œŒ

slide-54
SLIDE 54

๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ

Cut and Choose Approach

  • Issue: Remaining OTs do not form valid Bloom

filter

  • Constructs desired Bloom filter
  • Randomly permute OTs to form Bloom filter
  • ๐œŒ random OTs

โ†’ desired ๐ถ๐บ โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘} [RindalRosulek17]

OT

1 1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

โ€ฆ 1 1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’ ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ” OT

1 1

๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ—

1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“

๐œŒ

slide-55
SLIDE 55

Cut and Choose Approach

  • Issue: Remaining OTs do not form valid Bloom

filter

  • Constructs desired Bloom filter
  • Randomly permute OTs to form Bloom filter
  • ๐œŒ random OTs

โ†’ desired ๐ถ๐บ โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘} [RindalRosulek17]

OT

1 1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

โ€ฆ 1 1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’ ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ” OT

1 1

๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ—

๐œŒ 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ

slide-56
SLIDE 56

Cut and Choose Approach

  • Issue: Remaining OTs do not form valid Bloom

filter

  • Constructs desired Bloom filter
  • Randomly permute OTs to form Bloom filter
  • ๐œŒ random OTs

โ†’ desired ๐ถ๐บ โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘} [RindalRosulek17]

OT

1 1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

โ€ฆ 1 1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’ ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ” OT

1 1 1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ—

๐œŒ 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

slide-57
SLIDE 57

Cut and Choose Approach

  • Issue: Remaining OTs do not form valid Bloom

filter

  • Constructs desired Bloom filter
  • Randomly permute OTs to form Bloom filter
  • ๐œŒ random OTs

โ†’ desired ๐ถ๐บ โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘} [RindalRosulek17]

OT

1 1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

โ€ฆ 1 1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’ ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ” OT

1 ๐œŒ 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1 1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ—

slide-58
SLIDE 58

Cut and Choose Approach

  • Issue: Remaining OTs do not form valid Bloom

filter

  • Constructs desired Bloom filter
  • Randomly permute OTs to form Bloom filter
  • ๐œŒ random OTs

โ†’ desired ๐ถ๐บ โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘} [RindalRosulek17]

OT

1 1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

โ€ฆ 1 1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’ OT

1 ๐œŒ 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1 1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

slide-59
SLIDE 59

Cut and Choose Approach

  • Issue: Remaining OTs do not form valid Bloom

filter

  • Constructs desired Bloom filter
  • Randomly permute OTs to form Bloom filter
  • ๐œŒ random OTs

โ†’ desired ๐ถ๐บ โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘} [RindalRosulek17]

OT

1 โ€ฆ 1 1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’ OT

1 ๐œŒ 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

slide-60
SLIDE 60

Cut and Choose Approach

  • Issue: Remaining OTs do not form valid Bloom

filter

  • Constructs desired Bloom filter
  • Randomly permute OTs to form Bloom filter
  • ๐œŒ random OTs

โ†’ desired ๐ถ๐บ โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘} [RindalRosulek17]

OT

โ€ฆ

OT

๐œŒ 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

slide-61
SLIDE 61

Cut and Choose Approach

  • Issue: Remaining OTs do not form valid Bloom

filter

  • Constructs desired Bloom filter
  • Randomly permute OTs to form Bloom filter
  • ๐œŒ random OTs

โ†’ desired ๐ถ๐บ โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘} [RindalRosulek17]

OT

โ€ฆ

OT

๐œŒ 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

๐’€ = ๐’๐Ÿ“ โŠ• ๐’๐Ÿ, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

Output: ๐’€ โˆฉ ๐’๐Ÿ“ โŠ• ๐’๐Ÿ,

๐’๐Ÿ— โŠ• ๐’๐Ÿ’ 1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

slide-62
SLIDE 62

OT

1

๐’”๐Ÿ– ๐’”๐Ÿ— ๐’๐Ÿ– ๐’๐Ÿ— ๐’”๐Ÿ– ๐’๐Ÿ—

โ€ฆ 1 1

๐’”๐Ÿ’ ๐’”๐Ÿ“ ๐’”๐Ÿ” ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’”๐Ÿ” OT

1

๐’”๐Ÿ ๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’๐Ÿ

Cut and Choose Parameters

[RindalRosulek17] Random

๐’”๐Ÿ‘ ๐’๐Ÿ‘ ๐’”๐Ÿ‘

1

๐’”๐Ÿ• ๐’๐Ÿ• ๐’๐Ÿ•

  • Issue: Random OTs/Cut-and-Choose may not

result in exactly

1 2 zero select bits!

slide-63
SLIDE 63

OT

1

๐’”๐Ÿ– ๐’”๐Ÿ— ๐’๐Ÿ– ๐’๐Ÿ— ๐’”๐Ÿ– ๐’๐Ÿ—

โ€ฆ 1 1

๐’”๐Ÿ’ ๐’”๐Ÿ“ ๐’”๐Ÿ” ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’”๐Ÿ” OT

1

๐’”๐Ÿ ๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’๐Ÿ

Cut and Choose Parameters

[RindalRosulek17] Random

๐’”๐Ÿ‘ ๐’๐Ÿ‘ ๐’”๐Ÿ‘

1

๐’”๐Ÿ• ๐’๐Ÿ• ๐’๐Ÿ• ๐’”๐Ÿ‘ ๐’๐Ÿ•

1

  • Issue: Random OTs/Cut-and-Choose may not

result in exactly

1 2 zero select bits!

slide-64
SLIDE 64

๐’”๐Ÿ‘ ๐’๐Ÿ‘ ๐’”๐Ÿ‘

Cut and Choose Parameters

  • Issue: Random OTs/Cut-and-Choose may not

result in exactly

1 2 zero select bits!

[RindalRosulek17]

OT

โ€ฆ

OT

1 1 Random 1

๐’”๐Ÿ ๐’”๐Ÿ’ ๐’”๐Ÿ“ ๐’”๐Ÿ” ๐’”๐Ÿ– ๐’”๐Ÿ— ๐’๐Ÿ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ– ๐’๐Ÿ— ๐’”๐Ÿ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’”๐Ÿ” ๐’”๐Ÿ– ๐’๐Ÿ—

1

๐’”๐Ÿ• ๐’๐Ÿ• ๐’๐Ÿ• ๐’๐Ÿ•

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1 1

slide-65
SLIDE 65

๐’”๐Ÿ‘ ๐’๐Ÿ‘ ๐’”๐Ÿ‘

Cut and Choose Parameters

  • Issue: Random OTs/Cut-and-Choose may not

result in exactly

1 2 zero select bits!

  • Need robust checking of zero bits

[RindalRosulek17]

OT

โ€ฆ

OT

1 1 Random 1

๐’”๐Ÿ ๐’”๐Ÿ’ ๐’”๐Ÿ“ ๐’”๐Ÿ” ๐’”๐Ÿ– ๐’”๐Ÿ— ๐’๐Ÿ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’๐Ÿ” ๐’๐Ÿ– ๐’๐Ÿ— ๐’”๐Ÿ ๐’๐Ÿ’ ๐’๐Ÿ“ ๐’”๐Ÿ” ๐’”๐Ÿ– ๐’๐Ÿ—

1

๐’”๐Ÿ• ๐’๐Ÿ• ๐’๐Ÿ• ๐’๐Ÿ•

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1 1

slide-66
SLIDE 66

Cut and Choose Parameters

[RindalRosulek17] #๐‘จ๐‘“๐‘ ๐‘๐‘ก seen

๐น[๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง]

Issue: Random OTs/Cut-and-Choose may not result in exactly

1 2 zero select bits!

  • Need robust checking of zero bits
  • Desired properties:
  • Pr ๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘๐‘‘๐‘‘๐‘ฃ๐‘ก๐‘“๐‘’

โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)

  • Sufficient to check 1% of the OTs!

Pr

slide-67
SLIDE 67

Cut and Choose Parameters

[RindalRosulek17] #๐‘จ๐‘“๐‘ ๐‘๐‘ก seen

๐น[๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง]

Abort threshold

Issue: Random OTs/Cut-and-Choose may not result in exactly

1 2 zero select bits!

  • Need robust checking of zero bits
  • Desired properties:
  • Pr ๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘๐‘‘๐‘‘๐‘ฃ๐‘ก๐‘“๐‘’

โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)

  • Sufficient to check 1% of the OTs!

Pr

slide-68
SLIDE 68

Cut and Choose Parameters

[RindalRosulek17] #๐‘จ๐‘“๐‘ ๐‘๐‘ก seen

๐น[๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง]

Abort threshold

Issue: Random OTs/Cut-and-Choose may not result in exactly

1 2 zero select bits!

  • Need robust checking of zero bits
  • Desired properties:
  • Pr ๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘๐‘‘๐‘‘๐‘ฃ๐‘ก๐‘“๐‘’

โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)

  • Sufficient to check 1% of the OTs!

Pr

slide-69
SLIDE 69

Cut and Choose Parameters

[RindalRosulek17] #๐‘จ๐‘“๐‘ ๐‘๐‘ก seen

๐น[๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง]

Abort threshold

Issue: Random OTs/Cut-and-Choose may not result in exactly

1 2 zero select bits!

  • Need robust checking of zero bits
  • Desired properties:
  • Pr ๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘๐‘‘๐‘‘๐‘ฃ๐‘ก๐‘“๐‘’

โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)

  • Use Chernoff Bounds
  • Sufficient to check 1% of the OTs!

Pr

slide-70
SLIDE 70

Cut and Choose Parameters

[RindalRosulek17] #๐‘จ๐‘“๐‘ ๐‘๐‘ก seen

๐น[๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง]

Abort threshold

r Pr ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘“๐‘•(๐œ†) ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข ๐ถ๐ถ๐‘ ๐‘๐‘’๐‘’ ๐‘•๐‘•๐‘ฃ๐‘ฃ๐‘ง๐‘ง ๐‘œ๐‘œ๐‘๐‘๐‘ข๐‘ข ๐‘‘๐‘‘๐‘๐‘๐‘ฃ๐‘ฃ๐‘•๐‘•โ„Ž๐‘ข๐‘ข ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘œ๐‘“ ๐‘“๐‘•๐‘•(๐œ†๐œ†) Pr ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘“๐‘•(๐œ†) Issue: Random OTs/Cut-and-Choose may not

result in exactly

1 2 zero select bits!

  • Need robust checking of zero bits
  • Desired properties:
  • Pr ๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘๐‘‘๐‘‘๐‘ฃ๐‘ก๐‘“๐‘’

โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)

  • ๐‘„r ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)
  • Use Chernoff Bounds
  • Sufficient to check 1% of the OTs!

Pr

slide-71
SLIDE 71

Cut and Choose Parameters

[RindalRosulek17] #๐‘จ๐‘“๐‘ ๐‘๐‘ก seen

๐น[๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง]

Abort threshold

r Pr ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘“๐‘•(๐œ†) ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข ๐ถ๐ถ๐‘ ๐‘๐‘’๐‘’ ๐‘•๐‘•๐‘ฃ๐‘ฃ๐‘ง๐‘ง ๐‘œ๐‘œ๐‘๐‘๐‘ข๐‘ข ๐‘‘๐‘‘๐‘๐‘๐‘ฃ๐‘ฃ๐‘•๐‘•โ„Ž๐‘ข๐‘ข ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘œ๐‘“ ๐‘“๐‘•๐‘•(๐œ†๐œ†) Pr ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘“๐‘•(๐œ†) Issue: Random OTs/Cut-and-Choose may not

result in exactly

1 2 zero select bits!

  • Need robust checking of zero bits
  • Desired properties:
  • Pr ๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘๐‘‘๐‘‘๐‘ฃ๐‘ก๐‘“๐‘’

โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)

  • ๐‘„r ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)
  • Use Chernoff Bounds
  • Sufficient to check 1% of the OTs!

Pr

slide-72
SLIDE 72

Cut and Choose Parameters

[RindalRosulek17] #๐‘จ๐‘“๐‘ ๐‘๐‘ก seen

๐น[๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง]

๐‘ข โ‰ช

Abort threshold

r Pr ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘“๐‘•(๐œ†) ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข ๐ถ๐ถ๐‘ ๐‘๐‘’๐‘’ ๐‘•๐‘•๐‘ฃ๐‘ฃ๐‘ง๐‘ง ๐‘œ๐‘œ๐‘๐‘๐‘ข๐‘ข ๐‘‘๐‘‘๐‘๐‘๐‘ฃ๐‘ฃ๐‘•๐‘•โ„Ž๐‘ข๐‘ข ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘œ๐‘“ ๐‘“๐‘•๐‘•(๐œ†๐œ†) Pr ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘“๐‘•(๐œ†) Issue: Random OTs/Cut-and-Choose may not

result in exactly

1 2 zero select bits!

  • Need robust checking of zero bits
  • Desired properties:
  • Pr ๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘๐‘‘๐‘‘๐‘ฃ๐‘ก๐‘“๐‘’

โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)

  • ๐‘„r ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)
  • Use Chernoff Bounds
  • Sufficient to check 1% of the OTs!

Pr

slide-73
SLIDE 73

Cut and Choose Parameters

[RindalRosulek17] #๐‘จ๐‘“๐‘ ๐‘๐‘ก seen

๐น[๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง]

๐‘ข โ‰ช

Abort threshold

r Pr ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘“๐‘•(๐œ†) ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข ๐ถ๐ถ๐‘ ๐‘๐‘’๐‘’ ๐‘•๐‘•๐‘ฃ๐‘ฃ๐‘ง๐‘ง ๐‘œ๐‘œ๐‘๐‘๐‘ข๐‘ข ๐‘‘๐‘‘๐‘๐‘๐‘ฃ๐‘ฃ๐‘•๐‘•โ„Ž๐‘ข๐‘ข ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘œ๐‘“ ๐‘“๐‘•๐‘•(๐œ†๐œ†) Pr ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘“๐‘•(๐œ†) Issue: Random OTs/Cut-and-Choose may not

result in exactly

1 2 zero select bits!

  • Need robust checking of zero bits
  • Desired properties:
  • Pr ๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘๐‘‘๐‘‘๐‘ฃ๐‘ก๐‘“๐‘’

โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)

  • ๐‘„r ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)
  • Use Chernoff Bounds
  • Sufficient to check 1% of the OTs!

Pr

slide-74
SLIDE 74

Cut and Choose Parameters

[RindalRosulek17] #๐‘จ๐‘“๐‘ ๐‘๐‘ก seen

๐น[๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง]

๐‘ข โ‰ช

Abort threshold

% of the OTs!

r Pr ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘“๐‘•(๐œ†) ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข ๐ถ๐ถ๐‘๐‘๐‘’๐‘’ ๐‘•๐‘•๐‘ฃ

๐‘ฃ๐‘ง๐‘ง ๐‘œ๐‘œ๐‘๐‘๐‘ข๐‘ข ๐‘‘๐‘‘๐‘๐‘๐‘ฃ๐‘ฃ๐‘•๐‘•โ„Ž๐‘ข๐‘ข ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘œ๐‘“๐‘“๐‘•๐‘•(๐œ†๐œ†) Pr ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘“๐‘•(๐œ†) Issue: Random OTs/Cut-and-Choose may not

result in exactly

1 2 zero select bits!

  • Need robust checking of zero bits
  • Desired properties:
  • Pr ๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘๐‘‘๐‘‘๐‘ฃ๐‘ก๐‘“๐‘’

โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)

  • ๐‘„r ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)
  • Sufficient to check 1% of the OTs!
  • Sufficient to check 1% of the OTs!

Pr

slide-75
SLIDE 75

Cut and Choose Parameters

[RindalRosulek17] #๐‘จ๐‘“๐‘ ๐‘๐‘ก seen

๐น[๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง]

๐‘ข โ‰ช

Abort threshold

% of the OTs! % of the OTs! r Pr ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘“๐‘•(๐œ†) ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข ๐ถ๐ถ๐‘๐‘๐‘’๐‘’ ๐‘•๐‘•๐‘ฃ๐‘ฃ๐‘ง๐‘ง ๐‘œ๐‘œ๐‘๐‘๐‘ข

๐‘ข ๐‘‘๐‘‘๐‘๐‘๐‘ฃ๐‘ฃ๐‘•๐‘•โ„Ž๐‘ข๐‘ข ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘œ๐‘“๐‘“๐‘•๐‘•(๐œ†๐œ†) Pr ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค๐‘œ๐‘“๐‘• (๐œ†) Issue: Random OTs/Cut-and-Choose may not result in exactly

1 2 zero select

bits!

  • Need robust checking of zero bits
  • Desired properties:
  • Pr ๐‘•๐‘๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘๐‘‘๐‘‘๐‘ฃ๐‘ก๐‘“๐‘’

โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)

  • ๐‘„r ๐ถ๐‘๐‘’ ๐‘•๐‘ฃ๐‘ง ๐‘œ๐‘๐‘ข ๐‘‘๐‘๐‘ฃ๐‘•โ„Ž๐‘ข โ‰ค ๐‘œ๐‘“๐‘•(๐œ†)
  • Sufficient to check 1% of the OTs!
  • Sufficient to check 1% of the OTs!
  • Sufficient to check 1% of the OTs!

Pr

slide-76
SLIDE 76

Extracting ๐‘ with Random Oracle

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

๐’€ = ๐’๐Ÿ“ โŠ• ๐’๐Ÿ, ๐’๐Ÿ‘ โŠ• ๐’๐Ÿ’

Output: ๐’€ โˆฉ ๐’๐Ÿ“ โŠ• ๐’๐Ÿ,

๐’๐Ÿ— โŠ• ๐’๐Ÿ’ [RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

Simulator must extract the effective input ๐‘

  • ๐บ is not naturally invertible
  • ๐ถ๐บ may be malformedโ€ฆ
  • Solution:
  • Model hash function โ„Ž๐‘—(โ‹…) as Random Oracle
  • Non-programmable RO
slide-77
SLIDE 77

Extracting ๐‘ with Random Oracle

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

Simulator

PSI

๐‘ = {๐‘, ๐‘‘}

๐‘Œ ๐‘Œ โˆฉ ๐‘ = {๐‘}

Simulator must extract the effective input ๐‘

  • ๐บ is not naturally invertible
  • ๐ถ๐บ may be malformedโ€ฆ
  • Solution:
  • Model hash function โ„Ž๐‘—(โ‹…) as Random Oracle
  • Non-programmable RO
slide-78
SLIDE 78

Extracting ๐‘ with Random Oracle

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

Simulator

Simulator must extract the effective input ๐‘

  • ๐บ is not naturally invertible
  • ๐ถ๐บ may be malformedโ€ฆ
  • Solution:
  • Model hash function โ„Ž๐‘—(โ‹…) as Random Oracle
  • Non-programmable RO
slide-79
SLIDE 79

Extracting ๐‘ with Random Oracle

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

Simulator 1 1 1 1 ๐ถ๐บ =

Simulator must extract the effective input ๐‘

  • Can extract OT select bits
  • ๐บ is not naturally invertible
  • ๐ถ๐บ may be malformedโ€ฆ
  • Solution:
  • Model hash function โ„Ž๐‘—(โ‹…) as Random Oracle
  • Non-programmable RO
slide-80
SLIDE 80

Extracting ๐‘ with Random Oracle

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

Simulator 1 1 1 1 ๐ถ๐บ = is not naturally invertible Simulator must extract the effective input ๐‘

  • Can extract OT select bits
  • Issues:
  • ๐ถ๐บ is not naturally invertible
  • ๐ถ๐บ may be malformedโ€ฆ
  • Solution:
  • Model hash function โ„Ž๐‘—(โ‹…) as Random Oracle
  • Non-programmable RO
slide-81
SLIDE 81

Extracting ๐‘ with Random Oracle

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

Simulator 1 1 1 1 ๐ถ๐บ = may be malformedโ€ฆ is not naturally invertible Simulator must extract the effective input ๐‘

  • Can extract OT select bits
  • Issues:
  • ๐ถ๐บ may be malformedโ€ฆ
  • ๐ถ๐บ may be malformedโ€ฆ
  • Solution:
  • Model hash function โ„Ž๐‘—(โ‹…) as Random Oracle
  • Non-programmable RO
slide-82
SLIDE 82

Extracting ๐‘ with Random Oracle

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

Simulator 1 1 1 1 ๐ถ๐บ = โ„Ž ๐‘— ๐‘—๐‘— โ„Ž ๐‘— (โ‹…) as Random Oracle may be malformedโ€ฆ is not naturally invertible Simulator must extract the effective input ๐‘

  • Can extract OT select bits
  • Issues:
  • ๐ถ๐บ may be malformedโ€ฆ
  • Solution:
  • Model hash function โ„Ž ๐‘— (โ‹…) as Random Oracle
  • Solution:
  • Model hash function โ„Ž๐‘—(โ‹…) as Random Oracle
  • Non-programmable RO
slide-83
SLIDE 83

Extracting ๐‘ with Random Oracle

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

Simulator 1 1 1 1 ๐ถ๐บ =

Random Oracle

๐‘, ๐‘‘ โ„Ž ๐‘— ๐‘—๐‘— โ„Ž ๐‘— (โ‹…) as Random Oracle may be malformedโ€ฆ is not naturally invertible Simulator must extract the effective input ๐‘

  • Can extract OT select bits
  • Issues:
  • ๐ถ๐บ may be malformedโ€ฆ
  • Solution:
  • Model hash function โ„Ž ๐‘— (โ‹…) as Random Oracle
  • Solution:
  • Model hash function โ„Ž๐‘—(โ‹…) as Random Oracle
  • Non-programmable RO
slide-84
SLIDE 84

Extracting ๐‘ with Random Oracle

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

Simulator 1 1 1 1

๐‘ = {๐‘, ๐‘‘}

๐ถ๐บ =

Random Oracle

๐‘, ๐‘‘ โ„Ž ๐‘— ๐‘—๐‘— โ„Ž ๐‘— (โ‹…) as Random Oracle may be malformedโ€ฆ is not naturally invertible Simulator must extract the effective input ๐‘

  • Can extract OT select bits
  • Issues:
  • ๐ถ๐บ may be malformedโ€ฆ
  • Solution:
  • Model hash function โ„Ž ๐‘— (โ‹…) as Random Oracle
  • Solution:
  • Model hash function โ„Ž๐‘—(โ‹…) as Random Oracle
  • Non-programmable RO
slide-85
SLIDE 85

Extracting ๐‘ with Random Oracle

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

Simulator 1 1 1 1

๐‘ = {๐‘, ๐‘‘}

๐ถ๐บ =

Random Oracle

๐‘, ๐‘‘ โ„Ž ๐‘— ๐‘—๐‘— โ„Ž ๐‘— (โ‹…) as Random Oracle may be malformedโ€ฆ is not naturally invertible Simulator must extract the effective input ๐‘

  • Can extract OT select bits
  • Issues:
  • ๐ถ๐บ may be malformedโ€ฆ
  • Solution:
  • Model hash function โ„Ž ๐‘— (โ‹…) as Random Oracle
  • Solution:
  • Model hash function โ„Ž๐‘—(โ‹…) as Random Oracle
  • Non-programmable RO

, ๐‘’ โ„Ž๐‘—(๐‘’)

slide-86
SLIDE 86

Extracting ๐‘ with Random Oracle

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

Simulator 1 1 1 1

PSI

๐‘ = {๐‘, ๐‘‘}

๐‘Œ ๐ถ๐บ =

Random Oracle

๐‘, ๐‘‘ โ„Ž ๐‘— ๐‘—๐‘— โ„Ž ๐‘— (โ‹…) as Random Oracle may be malformedโ€ฆ is not naturally invertible Simulator must extract the effective input ๐‘

  • Can extract OT select bits
  • Issues:
  • ๐ถ๐บ may be malformedโ€ฆ
  • Solution:
  • Model hash function โ„Ž ๐‘— (โ‹…) as Random Oracle
  • Solution:
  • Model hash function โ„Ž๐‘—(โ‹…) as Random Oracle
  • Non-programmable RO
slide-87
SLIDE 87

Extracting ๐‘ with Random Oracle

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

Simulator 1 1 1 1

PSI

๐‘ = {๐‘, ๐‘‘}

๐‘Œ ๐‘Œ โˆฉ ๐‘ = {๐‘} ๐ถ๐บ =

Random Oracle

๐‘, ๐‘‘ โ„Ž ๐‘— ๐‘—๐‘— โ„Ž ๐‘— (โ‹…) as Random Oracle may be malformedโ€ฆ is not naturally invertible Simulator must extract the effective input ๐‘

  • Can extract OT select bits
  • Issues:
  • ๐ถ๐บ may be malformedโ€ฆ
  • Solution:
  • Model hash function โ„Ž ๐‘— (โ‹…) as Random Oracle
  • Solution:
  • Model hash function โ„Ž๐‘—(โ‹…) as Random Oracle
  • Non-programmable RO
slide-88
SLIDE 88

Extracting ๐‘ with Random Oracle

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

Simulator 1 1 1 1

PSI

๐‘ = {๐‘, ๐‘‘}

๐‘Œ ๐‘Œ โˆฉ ๐‘ = {๐‘} ๐ถ๐บ =

Random Oracle

๐‘, ๐‘‘ โ„Ž ๐‘— ๐‘—๐‘— โ„Ž ๐‘— (โ‹…) as Random Oracle may be malformedโ€ฆ is not naturally invertible Simulator must extract the effective input ๐‘

  • Can extract OT select bits
  • Issues:
  • ๐ถ๐บ may be malformedโ€ฆ
  • Solution:
  • Non-programmable ROSolution:
  • Model hash function โ„Ž๐‘—(โ‹…) as Random Oracle
  • Non-programmable RO
slide-89
SLIDE 89

Generalized Encodings

Bloom filter of size ~2๐‘œ๐œ† allows a Receiver to insert ๐‘œ items

๐บ(๐‘) = ๐’๐Ÿ“ โŠ• ๐’๐Ÿ ๐บ ๐‘‘ = ๐’๐Ÿ— โŠ• ๐’๐Ÿ’

  • ๐บ( โ‹… )
  • View Bloom filter protocol as an OPRF

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

๐’๐Ÿ“ โŠ• ๐’๐Ÿ, ๐’๐Ÿ— โŠ• ๐’๐Ÿ’

slide-90
SLIDE 90

Generalized Encodings

๐บ ๐บ ๐บ( โ‹… ) Bloom filter of size ~2๐‘œ๐œ† allows a Receiver to insert ๐‘œ items

๐บ(๐‘) = ๐’๐Ÿ“ โŠ• ๐’๐Ÿ ๐บ ๐‘‘ = ๐’๐Ÿ— โŠ• ๐’๐Ÿ’

  • Sender can generate any encoding ๐บ( โ‹… )
  • View Bloom filter protocol as an OPRF

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

๐’๐Ÿ“ โŠ• ๐’๐Ÿ, ๐’๐Ÿ— โŠ• ๐’๐Ÿ’

slide-91
SLIDE 91

Generalized Encodings

๐บ ๐บ ๐บ( โ‹… ) Bloom filter of size ~2๐‘œ๐œ† allows a Receiver to insert ๐‘œ items

๐บ(๐‘) = ๐’๐Ÿ“ โŠ• ๐’๐Ÿ ๐บ ๐‘‘ = ๐’๐Ÿ— โŠ• ๐’๐Ÿ’

  • View Bloom filter protocol as an OPRF
  • View Bloom filter protocol as an OPRF

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

๐’๐Ÿ“ โŠ• ๐’๐Ÿ, ๐’๐Ÿ— โŠ• ๐’๐Ÿ’

OPRF

๐‘ ๐บ ๐‘ง โˆถ ๐‘ง โˆˆ ๐‘ ๐บ

slide-92
SLIDE 92

Generalized Encodings

๐บ ๐บ ๐บ( โ‹… ) Bloom filter of size ~2๐‘œ๐œ† allows a Receiver to insert ๐‘œ items

๐บ(๐‘) = ๐’๐Ÿ“ โŠ• ๐’๐Ÿ ๐บ ๐‘‘ = ๐’๐Ÿ— โŠ• ๐’๐Ÿ’

  • View Bloom filter protocol as an OPRF
  • View Bloom filter protocol as an OPRF

โ„Ž๐‘—(๐‘) โ„Ž๐‘—(๐‘‘) ๐‘ = {๐‘, ๐‘‘}

OT

โ€ฆ

OT

[RindalRosulek17] 1

๐’”๐Ÿ“ ๐’๐Ÿ“ ๐’๐Ÿ“ ๐’”๐Ÿ ๐’๐Ÿ ๐’”๐Ÿ ๐’”๐Ÿ– ๐’๐Ÿ– ๐’”๐Ÿ–

1

๐’”๐Ÿ— ๐’๐Ÿ— ๐’๐Ÿ— ๐’”๐Ÿ” ๐’๐Ÿ” ๐’”๐Ÿ”

1

๐’”๐Ÿ ๐’๐Ÿ ๐’๐Ÿ

1

๐’”๐Ÿ’ ๐’๐Ÿ’ ๐’๐Ÿ’

๐’๐Ÿ“ โŠ• ๐’๐Ÿ, ๐’๐Ÿ— โŠ• ๐’๐Ÿ’

OPRF

๐‘ ๐บ ๐‘ง โˆถ ๐‘ง โˆˆ ๐‘ ๐บ ๐บ ๐‘ฆ โˆถ ๐‘ฆ โˆˆ ๐‘Œ

slide-93
SLIDE 93

0,25 1 4 16 64 256 1024 4096 16384 256 4096 65536 1048576 Running Time (seconds) DCW13 DKT10 RR17

Comparison โ€“ De Cristofaro, Kim, Tsudik10

  • DKT10 - Malicious Diffie-Hellman style approach: ๐‘ฆ๐›ฝ๐›พ = ๐‘ง๐›พ๐›ฝ
slide-94
SLIDE 94

0,25 1 4 16 64 256 1024 4096 16384 256 4096 65536 1048576 Running Time (seconds) DCW13 DKT10 RR17

Comparison โ€“ De Cristofaro, Kim, Tsudik10

  • DKT10 - Malicious Diffie-Hellman style approach: ๐‘ฆ๐›ฝ๐›พ = ๐‘ง๐›พ๐›ฝ

1 4 16 64 256 1024 4096 16384 1 8 64 512 4096 32768

  • Comm. (MB)

Running Time (seconds) DKT10 RR17

slide-95
SLIDE 95

0,25 1 4 16 64 256 1024 4096 16384 256 4096 65536 1048576 Running Time (seconds) DCW13 DKT10 RR17

Comparison โ€“ De Cristofaro, Kim, Tsudik10

  • DKT10 - Malicious Diffie-Hellman style approach: ๐‘ฆ๐›ฝ๐›พ = ๐‘ง๐›พ๐›ฝ

1 4 16 64 256 1024 4096 16384 1 8 64 512 4096 32768

  • Comm. (MB)

Running Time (seconds) DKT10 RR17

38x 23x

slide-96
SLIDE 96

Comparison โ€“ De Cristofaro, Kim, Tsudik10

  • DKT10 - Malicious Diffie-Hellman style approach: ๐‘ฆ๐›ฝ๐›พ = ๐‘ง๐›พ๐›ฝ

0,25 1 4 16 64 256 1024 4096 16384 256 4096 65536 1048576 Running Time (seconds) DCW13 DKT10 RR17 1 4 16 64 256 1024 4096 16384 1 8 64 512 4096 32768

  • Comm. (MB)

Running Time (seconds) DCW13 DKT10 RR17

slide-97
SLIDE 97

Comparison โ€“ De Cristofaro, Kim, Tsudik10

  • DKT10 - Malicious Diffie-Hellman style approach: ๐‘ฆ๐›ฝ๐›พ = ๐‘ง๐›พ๐›ฝ

0,25 1 4 16 64 256 1024 4096 16384 256 4096 65536 1048576 Running Time (seconds) DCW13 DKT10 RR17 1 4 16 64 256 1024 4096 16384 1 8 64 512 4096 32768

  • Comm. (MB)

Running Time (seconds) DCW13 DKT10 RR17

Naรฏve

slide-98
SLIDE 98

Comparison โ€“ De Cristofaro, Kim, Tsudik10

  • DKT10 - Malicious Diffie-Hellman style approach: ๐‘ฆ๐›ฝ๐›พ = ๐‘ง๐›พ๐›ฝ

0,25 1 4 16 64 256 1024 4096 16384 256 4096 65536 1048576 Running Time (seconds) DCW13 DKT10 RR17 1 4 16 64 256 1024 4096 16384 1 8 64 512 4096 32768

  • Comm. (MB)

Running Time (seconds) DCW13 DKT10 RR17

Naรฏve

[KKRT16,PSZ16]

slide-99
SLIDE 99

The End

Peter Rindal

Mike Rosulek