Improved Private Set Intersection
against
Malicious Adversaries
Peter Rindal
Mike Rosulek
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
Peter Rindal
Mike Rosulek
Private Set Intersection (PSI)
๐ ๐ ๐ โฉ ๐
Private Set Intersection (PSI)
๐ ๐ ๐ โฉ ๐ PSI
โSenderโ โReceiverโ
App: Contact discovery Users
Contacts
๐ โฉ ๐ PSI
Oblivious Transfer (OT)
๐๐
Alice ๐0, ๐1 โ 0,1 ๐ Bob ๐ โ {0,1} ๐๐
Bloom Filter
Plain text data structure similar to hash table
, โ๐ ๐ =
โ๐(๐ฆ) 1
Bloom Filter
Plain ๐ (๐ฆ) =1 , โ๐ ext data structure similar to hash table
, โ๐ ๐ = โฆ โ1(๐ฆ) 1 โ2(๐ฆ) 1
โ1(๐จ) โ๐(๐จ) 1 โ2(๐จ) 1
Bloom Filter
Plain ๐ (๐ฆ) =1 , โ๐ ext data structure similar to hash table
, โ๐ ๐ = โฆ 1 1 1 1 1 1
Bloom Filter
, โ๐
๐ = 1 1 1 1 1 1 1 1
Bloom Filter
, โ๐
๐ = โฆ โ1(๐ฆ) โ๐(๐ฆ) โ2(๐ฆ) 1 1 1 1 1 1 1 1
โฆ โ1(๐ฆ) โ๐(๐ฆ) โ2(๐ฆ)
Bloom Filter
๐ items โ Bloom filter with ๐ slots and ๐ hash functions
๐๐ ๐ ๐
โ 2โ๐
๐ = 1 1 1 1 1 1 1 1
โฆ โ๐(๐ง) โ2(๐ง)
Bloom Filter
๐๐ ๐ ๐๐๐๐ ๐๐ ๐ ๐๐ ๐๐ ๐ ๐ โ ๐๐ ๐ 1 โ ๐ โ ๐๐ ๐ 1 โ ๐ โ ๐๐ ๐ ๐ ๐๐ 1 โ ๐ โ ๐๐ ๐ ๐ ๐ โ ๐๐ ๐ ๐๐ ๐ โ ๐๐ ๐ โ โ 1 โ ๐ โ ๐๐ ๐ ๐ 1 โ ๐ โ ๐๐ ๐ 1๐ items โ Bloom filter with ๐
slots and ๐ hash functions
๐๐ ๐ ๐
โ 2โ๐
๐ = 1 1 1 1 1 1 1 1 โ1(๐ง)
โฆ โ๐(๐ง) โ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
โ 2โ๐ โ 2โ๐ โ 2โ๐
๐ = 1 1 1 1 1 1 1 1 โ1(๐ง)
Bloom Filter Intersection
is a Bloom filter for ๐ โฉ ๐
1 1 1 1 1 1 1 1 ๐ถ๐ โ๐(๐) โ๐(๐) โ๐(๐) โ๐(๐) ๐ถ๐ ๐ = {๐, ๐} ๐ = {๐, ๐}
Bloom Filter Intersection
is a Bloom filter for ๐ โฉ ๐
1 1 1 1 1 1 1 1 ๐ถ๐ โ๐(๐) โ๐(๐) โ๐(๐) โ๐(๐) ๐ถ๐ ๐ = {๐, ๐} ๐ = {๐, ๐} 1 1 ๐ ๐ถ๐ โง ๐ถ๐ โ๐(๐)
Bloom Filter Protocol
1 1 1 1 โ๐(๐) โ๐(๐) ๐ถ๐ ๐ = {๐, ๐}
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐
๐๐ โ ๐, ๐ ๐ [DongChenWen13, PinkasSchniederZohner14]
Bloom Filter Protocol
1 1 1 1 โ๐(๐) โ๐(๐) ๐ถ๐ ๐ = {๐, ๐}
๐๐ ๐๐
โฆ
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐
๐๐ โ ๐, ๐ ๐ [DongChenWen13, PinkasSchniederZohner14]
Bloom Filter Protocol
1 1 1 1 โ๐(๐) โ๐(๐) ๐ถ๐ ๐ = {๐, ๐}
๐๐ ๐๐
โฆ
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐ ๐๐ โฅ โฅ ๐๐ โฅ ๐๐ ๐๐
Garbled Bloom filter [DongChenWen13, PinkasSchniederZohner14]
Bloom Filter Protocol
1 1 1 1 โ๐(๐) โ๐(๐) ๐ถ๐ ๐ = {๐, ๐}
๐๐ ๐๐
โฆ
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐ ๐๐ โฅ โฅ ๐๐ โฅ ๐๐ ๐๐
๐ = {๐, ๐} 1 1 1 1 ๐ถ๐ โ๐(๐) โ๐(๐) Garbled Bloom filter [DongChenWen13, PinkasSchniederZohner14]
Bloom Filter Protocol
1 1 1 1 โ๐(๐) โ๐(๐) ๐ถ๐ ๐ = {๐, ๐}
๐๐ ๐๐
โฆ
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐ ๐๐ โฅ โฅ ๐๐ โฅ ๐๐ ๐๐
๐ = ๐๐ โ ๐๐, ๐๐ โ ๐๐
๐ = {๐, ๐} 1 1 1 1 ๐ถ๐ โ๐(๐) โ๐(๐) Garbled Bloom filter [DongChenWen13, PinkasSchniederZohner14]
Bloom Filter Protocol
1 1 1 1 โ๐(๐) โ๐(๐) ๐ถ๐ ๐ = {๐, ๐}
๐๐ ๐๐
โฆ
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐ ๐๐ โฅ โฅ ๐๐ โฅ ๐๐ ๐๐
๐ = ๐๐ โ ๐๐, ๐๐ โ ๐๐
๐ = {๐, ๐} 1 1 1 1 ๐ถ๐ โ๐(๐) โ๐(๐)
Output the intersection
๐ โฉ ๐๐ โ ๐๐, ๐๐ โ ๐๐
Garbled Bloom filter [DongChenWen13, PinkasSchniederZohner14]
Semi-Honest Security
[DongChenWen13, PinkasSchniederZohner14]
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = ๐๐ โ ๐๐, ๐๐ โ ๐๐
Output: ๐ โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ ๐ = {๐, ๐}
OT
๐๐ โฅ โฅ ๐๐ โฅ ๐๐ ๐๐
1 1 1 1
Naturally secure against Sender.
e.g. Encode ๐งโฒ = ๐3 โ ๐4
standard bloom filter
Semi-Honest Security
[DongChenWen13, PinkasSchniederZohner14]
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = ๐๐ โ ๐๐, ๐๐ โ ๐๐
Output: ๐ โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ ๐ = {๐, ๐}
OT
๐๐ โฅ โฅ ๐๐ โฅ ๐๐ ๐๐
1 1 1 1
๐ง โฒ โ๐๐, Receiver learns encoding
Naturally secure against Sender.
e.g. Encode ๐งโฒ = ๐3 โ ๐4
standard bloom filter
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.
ncode ๐งโฒ = ๐3 โ ๐4 e.g. Encode ๐งโฒ = ๐3 โ ๐4
standard bloom filter
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.
ncode ๐งโฒ = ๐3 โ ๐4 e.g. Encode ๐งโฒ = ๐3 โ ๐4
standard bloom filter
standard bloom filter
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.
ncode ๐งโฒ = ๐3 โ ๐4 e.g. Encode ๐งโฒ = ๐3 โ ๐4
bloom filter
Malicious Receiver
Insecure against Receiver
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = ๐๐ โ ๐๐, ๐๐ โ ๐๐
Output: ๐ โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ ๐ = {๐, ๐}
OT
๐๐ โฅ โฅ ๐๐ โฅ ๐๐ ๐๐
1 1 1 1
Malicious Receiver
Bloom filter Insecure against Receiver
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = ๐๐ โ ๐๐, ๐๐ โ ๐๐
Output: ๐ โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ ๐ = {๐, ๐}
OT
๐๐ โฅ โฅ ๐๐ โฅ ๐๐ ๐๐
1 1 1 1 1 1 1
Malicious Receiver
Bloom filter Insecure against Receiver
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = ๐๐ โ ๐๐, ๐๐ โ ๐๐
Output: ๐ โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ ๐ = {๐, ๐}
OT
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1 1 1 1 1 1 1
Malicious Receiver
๐ ๐ ๐๐ ๐ ๐ ๐๐ ๐ ๐
Bloom filter Insecure against Receiver
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ
Output: ๐ โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ ๐ = {๐, ๐}
OT
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1 1 1 1 1 1 1 ๐ = ๐๐ โ ๐๐, ๐๐ โ ๐๐
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
Warm-Up: The DongChenWen13 Approach
Goal โ restrict the Receiver to a valid Bloom filter
2 ๐ ones
2 out of ๐ secret sharing of ๐ก
1 1 1 1 โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = {๐, ๐}
OT
1 1 1
Output: ๐ โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ ๐ = ๐๐ โ ๐๐, ๐๐ โ ๐๐
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
Warm-Up: The DongChenWen13 Approach
1 2 2 1 2 ๐๐ ones
Goal โ restrict the Receiver to a valid
Bloom filter
2 out of ๐ secret sharing of ๐ก
1 1 1 1 โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = {๐, ๐}
OT
1 1 1
Output: ๐ โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ ๐ = ๐๐ โ ๐๐, ๐๐ โ ๐๐
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
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
2 out of ๐ secret sharing of ๐ก
1 1 1 1 โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = {๐, ๐}
OT
1 1 1
Output: ๐ โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ ๐ = ๐๐ โ ๐๐, ๐๐ โ ๐๐
โฅ ๐๐ ๐๐ ๐๐ โฎ ๐๐ ๐๐ ๐๐ โฅ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
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
๐ 2 out of ๐ secret sharing of ๐ก
1 1 1 1 โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = {๐, ๐}
OT
1 1 1
Output: ๐ โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ ๐ = ๐๐ โ ๐๐, ๐๐ โ ๐๐
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
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
2 out of ๐ secret sharing of ๐ก
1 1 1 1 โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = {๐, ๐}
OT
1 1 1
Output: ๐ โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ ๐ = ๐๐ โ ๐๐, ๐๐ โ ๐๐
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
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
2 out of ๐ secret
sharing of ๐ก
1 1 1 1 โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = {๐, ๐}
OT
1 1 1
Output: ๐ โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
๐ = ๐ฝ๐ ๐๐ โ ๐๐, ๐๐ โ ๐๐
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
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
2 out of ๐ secret
sharing of ๐ก
1 1 1 1 โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = {๐, ๐}
OT
1 1 1
Output:
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
๐ = ๐ฝ๐ ๐๐ โ ๐๐, ๐๐ โ ๐๐
Output: ๐ผ๐( ๐) โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
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
2 out of ๐ secret
sharing of ๐ก
1 1 1 1 โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = {๐, ๐}
OT
1 1 1
Output:
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
๐ = ๐ฝ๐ ๐๐ โ ๐๐, ๐๐ โ ๐๐
Output: ๐ผ๐( ๐) โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ 1 1 1
Warm-Up: The DongChenWen13 Approach
Bloom filter
2 ๐ ones
2 out of ๐ secret sharing of ๐ก
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = {๐, ๐}
OT
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
Output:
๐ = ๐ฝ๐ ๐๐ โ ๐๐, ๐๐ โ ๐๐
๐ผ๐( ๐) โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1 1 1 1
Warm-Up: The DongChenWen13 Approach
Is this secure?
2 ones
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = {๐, ๐}
OT
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
Output:
๐ = ๐ฝ๐ ๐๐ โ ๐๐, ๐๐ โ ๐๐
๐ผ๐( ๐) โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1 1 1 1 [RindalRosulek17, Lambaek17]
Warm-Up: The DongChenWen13 Approach
๐ 2 ๐๐ ๐ 2 2 ๐ 2 ones
Is this secure?
2 ones
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = {๐, ๐}
OT
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
Output:
๐ = ๐ฝ๐ ๐๐ โ ๐๐, ๐๐ โ ๐๐
๐ผ๐( ๐) โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1 1 1 1 [RindalRosulek17, Lambaek17]
Warm-Up: The DongChenWen13 Approach
๐ 2 ๐๐ ๐ 2 2 ๐ 2 ones
Is this secure?
Selective failure attack by the Senderโฆ โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = {๐, ๐}
OT
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
Output:
๐ = ๐ฝ๐ ๐๐ โ ๐๐, ๐๐ โ ๐๐
๐ผ๐( ๐) โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1 1 1 1 [RindalRosulek17, Lambaek17]
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1 1 1 1
Warm-Up: The DongChenWen13 Approach
2 ones
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = {๐, ๐}
OT
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
Output:
๐ = ๐ฝ๐ ๐๐ โ ๐๐, ๐๐ โ ๐๐
๐ผ๐( ๐) โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ ๐ [RindalRosulek17, Lambaek17]
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1 1 1 1
Warm-Up: The DongChenWen13 Approach
Is this secure?
2 ones
โ๐ ๐ง โ 4
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = {๐, ๐}
OT
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
Output:
๐ = ๐ฝ๐ ๐๐ โ ๐๐, ๐๐ โ ๐๐
๐ผ๐( ๐) โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ ๐ ๐ [RindalRosulek17, Lambaek17]
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1 1 1 1
Warm-Up: The DongChenWen13 Approach
โ๐ง๐งโ๐๐ : โ ๐ โ โ ๐ ๐๐ โ ๐ ๐ง ๐ง๐ง ๐ง โ 4 Is this secure?
2 ones
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ ๐ = {๐, ๐}
OT
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
Output:
๐ = ๐ฝ๐ ๐๐ โ ๐๐, ๐๐ โ ๐๐
๐ผ๐( ๐) โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ ๐ ๐ [RindalRosulek17, Lambaek17]
Cut and Choose Approach
Make Receiver p
OT
โฆ
OT
1 1 1 Random 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
[RindalRosulek17]
Cut and Choose Approach
Make Receiver p
OT
โฆ
OT
1 1 1 Random 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
[RindalRosulek17]
Cut and Choose Approach
Make Receiver p
OT
โฆ
OT
1 1 1 Random 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
[RindalRosulek17]
Cut and Choose Approach
Make Receiver p 2 zero bits, aborts otherwise
OT
โฆ
OT
1 1 1 Random 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
[RindalRosulek17]
Cut and Choose Approach
input-independent way
2 zero bits, aborts otherwise
OT
1 Random
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
โฆ 1 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ OT
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
[RindalRosulek17]
Cut and Choose Approach
filter
โ๐(๐) โ๐(๐) ๐ = {๐, ๐} [RindalRosulek17]
OT
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
โฆ 1 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ OT
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
Cut and Choose Approach
I
โ๐(๐) โ๐(๐) ๐ = {๐, ๐} [RindalRosulek17]
OT
1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
โฆ 1 1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ OT
1 1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
Cut and Choose Approach
I andom OTs โdesired ๐ถ๐บ
โ๐(๐) โ๐(๐) ๐ = {๐, ๐} [RindalRosulek17]
OT
1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
โฆ 1 1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ OT
1 1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
๐
๐๐ ๐๐ ๐๐
Cut and Choose Approach
filter
โ desired ๐ถ๐บ โ๐(๐) โ๐(๐) ๐ = {๐, ๐} [RindalRosulek17]
OT
1 1
๐๐ ๐๐ ๐๐
โฆ 1 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ OT
1 1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
๐
Cut and Choose Approach
filter
โ desired ๐ถ๐บ โ๐(๐) โ๐(๐) ๐ = {๐, ๐} [RindalRosulek17]
OT
1 1
๐๐ ๐๐ ๐๐
โฆ 1 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ OT
1 1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
๐ 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
Cut and Choose Approach
filter
โ desired ๐ถ๐บ โ๐(๐) โ๐(๐) ๐ = {๐, ๐} [RindalRosulek17]
OT
1 1
๐๐ ๐๐ ๐๐
โฆ 1 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ OT
1 1 1
๐๐ ๐๐ ๐๐
๐ 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
Cut and Choose Approach
filter
โ desired ๐ถ๐บ โ๐(๐) โ๐(๐) ๐ = {๐, ๐} [RindalRosulek17]
OT
1 1
๐๐ ๐๐ ๐๐
โฆ 1 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ OT
1 ๐ 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1 1
๐๐ ๐๐ ๐๐
Cut and Choose Approach
filter
โ desired ๐ถ๐บ โ๐(๐) โ๐(๐) ๐ = {๐, ๐} [RindalRosulek17]
OT
1 1
๐๐ ๐๐ ๐๐
โฆ 1 1
๐๐ ๐๐ ๐๐ OT
1 ๐ 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
Cut and Choose Approach
filter
โ desired ๐ถ๐บ โ๐(๐) โ๐(๐) ๐ = {๐, ๐} [RindalRosulek17]
OT
1 โฆ 1 1
๐๐ ๐๐ ๐๐ OT
1 ๐ 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
1
Cut and Choose Approach
filter
โ desired ๐ถ๐บ โ๐(๐) โ๐(๐) ๐ = {๐, ๐} [RindalRosulek17]
OT
โฆ
OT
๐ 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
Cut and Choose Approach
filter
โ desired ๐ถ๐บ โ๐(๐) โ๐(๐) ๐ = {๐, ๐} [RindalRosulek17]
OT
โฆ
OT
๐ 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
๐ = ๐๐ โ ๐๐, ๐๐ โ ๐๐
Output: ๐ โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ 1
๐๐ ๐๐ ๐๐
OT
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
โฆ 1 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ OT
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
Cut and Choose Parameters
[RindalRosulek17] Random
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
result in exactly
1 2 zero select bits!
OT
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
โฆ 1 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ OT
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
Cut and Choose Parameters
[RindalRosulek17] Random
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
result in exactly
1 2 zero select bits!
๐๐ ๐๐ ๐๐
Cut and Choose Parameters
result in exactly
1 2 zero select bits!
[RindalRosulek17]
OT
โฆ
OT
1 1 Random 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐
1 1
๐๐ ๐๐ ๐๐
Cut and Choose Parameters
result in exactly
1 2 zero select bits!
[RindalRosulek17]
OT
โฆ
OT
1 1 Random 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐
1 1
Cut and Choose Parameters
[RindalRosulek17] #๐จ๐๐ ๐๐ก seen
๐น[๐๐๐๐ ๐๐ฃ๐ง]
Issue: Random OTs/Cut-and-Choose may not result in exactly
1 2 zero select bits!
โค ๐๐๐(๐)
Pr
Cut and Choose Parameters
[RindalRosulek17] #๐จ๐๐ ๐๐ก seen
๐น[๐๐๐๐ ๐๐ฃ๐ง]
Abort threshold
Issue: Random OTs/Cut-and-Choose may not result in exactly
1 2 zero select bits!
โค ๐๐๐(๐)
Pr
Cut and Choose Parameters
[RindalRosulek17] #๐จ๐๐ ๐๐ก seen
๐น[๐๐๐๐ ๐๐ฃ๐ง]
Abort threshold
Issue: Random OTs/Cut-and-Choose may not result in exactly
1 2 zero select bits!
โค ๐๐๐(๐)
Pr
Cut and Choose Parameters
[RindalRosulek17] #๐จ๐๐ ๐๐ก seen
๐น[๐๐๐๐ ๐๐ฃ๐ง]
Abort threshold
Issue: Random OTs/Cut-and-Choose may not result in exactly
1 2 zero select bits!
โค ๐๐๐(๐)
Pr
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!
โค ๐๐๐(๐)
Pr
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!
โค ๐๐๐(๐)
Pr
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!
โค ๐๐๐(๐)
Pr
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!
โค ๐๐๐(๐)
Pr
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!
โค ๐๐๐(๐)
Pr
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!
โค ๐๐๐(๐)
Pr
Extracting ๐ with Random Oracle
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ
OT
๐ = ๐๐ โ ๐๐, ๐๐ โ ๐๐
Output: ๐ โฉ ๐๐ โ ๐๐,
๐๐ โ ๐๐ [RindalRosulek17] 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
Simulator must extract the effective input ๐
Extracting ๐ with Random Oracle
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ
OT
[RindalRosulek17] 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
Simulator
PSI
๐ = {๐, ๐}
๐ ๐ โฉ ๐ = {๐}
Simulator must extract the effective input ๐
Extracting ๐ with Random Oracle
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ
OT
[RindalRosulek17] 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
Simulator
Simulator must extract the effective input ๐
Extracting ๐ with Random Oracle
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ
OT
[RindalRosulek17] 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
Simulator 1 1 1 1 ๐ถ๐บ =
Simulator must extract the effective input ๐
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 ๐
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 ๐
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 ๐
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 ๐
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 ๐
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 ๐
, ๐ โ๐(๐)
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 ๐
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 ๐
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 ๐
Generalized Encodings
Bloom filter of size ~2๐๐ allows a Receiver to insert ๐ items
๐บ(๐) = ๐๐ โ ๐๐ ๐บ ๐ = ๐๐ โ ๐๐
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ
OT
[RindalRosulek17] 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
๐๐ โ ๐๐, ๐๐ โ ๐๐
Generalized Encodings
๐บ ๐บ ๐บ( โ ) Bloom filter of size ~2๐๐ allows a Receiver to insert ๐ items
๐บ(๐) = ๐๐ โ ๐๐ ๐บ ๐ = ๐๐ โ ๐๐
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ
OT
[RindalRosulek17] 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
๐๐ โ ๐๐, ๐๐ โ ๐๐
Generalized Encodings
๐บ ๐บ ๐บ( โ ) Bloom filter of size ~2๐๐ allows a Receiver to insert ๐ items
๐บ(๐) = ๐๐ โ ๐๐ ๐บ ๐ = ๐๐ โ ๐๐
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ
OT
[RindalRosulek17] 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
๐๐ โ ๐๐, ๐๐ โ ๐๐
OPRF
๐ ๐บ ๐ง โถ ๐ง โ ๐ ๐บ
Generalized Encodings
๐บ ๐บ ๐บ( โ ) Bloom filter of size ~2๐๐ allows a Receiver to insert ๐ items
๐บ(๐) = ๐๐ โ ๐๐ ๐บ ๐ = ๐๐ โ ๐๐
โ๐(๐) โ๐(๐) ๐ = {๐, ๐}
OT
โฆ
OT
[RindalRosulek17] 1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐ ๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
1
๐๐ ๐๐ ๐๐
๐๐ โ ๐๐, ๐๐ โ ๐๐
OPRF
๐ ๐บ ๐ง โถ ๐ง โ ๐ ๐บ ๐บ ๐ฆ โถ ๐ฆ โ ๐
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
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
1 4 16 64 256 1024 4096 16384 1 8 64 512 4096 32768
Running Time (seconds) DKT10 RR17
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
1 4 16 64 256 1024 4096 16384 1 8 64 512 4096 32768
Running Time (seconds) DKT10 RR17
38x 23x
Comparison โ De Cristofaro, Kim, Tsudik10
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
Running Time (seconds) DCW13 DKT10 RR17
Comparison โ De Cristofaro, Kim, Tsudik10
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
Running Time (seconds) DCW13 DKT10 RR17
Naรฏve
Comparison โ De Cristofaro, Kim, Tsudik10
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
Running Time (seconds) DCW13 DKT10 RR17
Naรฏve
[KKRT16,PSZ16]
Peter Rindal
Mike Rosulek