More Efficient Oblivious Transfer Extensions with Security for Malicious Adversaries
Gilad Asharov Hebrew University Yehuda Lindell Bar-Ilan University Thomas Schneider Darmstadt Michael Zohner Darmstadt
EUROCRYPT 2015
More Efficient Oblivious Transfer Extensions with Security for - - PowerPoint PPT Presentation
More Efficient Oblivious Transfer Extensions with Security for Malicious Adversaries Gilad Asharov Hebrew University Yehuda Lindell Bar-Ilan University Thomas Schneider Darmstadt Michael Zohner Darmstadt EUROCRYPT 2015 From Theory to
Gilad Asharov Hebrew University Yehuda Lindell Bar-Ilan University Thomas Schneider Darmstadt Michael Zohner Darmstadt
EUROCRYPT 2015
Secure computation becomes practical!
[MNPS04,LP07,LPS08,PSSW09,KSS12,FN13,SS13,LR14,HKK+14, FJN14,NNOB12,LOS14,DZ13,DLT14,DCW13,JKO13]
[Yao82,Yao86,GMW87,BGW88,CCD88,RB89,…]
Receiver Sender
secure computation
1 OT per input
[LP07,LPS08,PSSW09,KSS12,FN13,SS13,LR14,HKK+14,FJN14]
1+ OT per AND-gate TinyOT [NNOB12,LOS14] MiniMac protocols [DZ13,DLT14]
(when evaluated with TinyOT)
(when evaluated with TinyOT)
(cheap) private-key crypto
Small amount of base OTs
(security parameter)
“Extending Oblivious Transfer Efficiently”
[Lar14,NNOB12,HIKN08,Nie07]
adversary, based on IKNP
1Semi-honest
m Many OTs expensive
Few OTs of long strings
k m m Many OTs
Few Short OTs
k k m Many OTs m long messages
k
Few Short OTs
k k
long messages Many OTs m
Implementation: see SCAPI https://github.com/cryptobiu/scapi
ui = G(ki
0)⊕G(ki 1)⊕ r
0,x j 1} j=1 m
r = (r
1,...,r m)
0,yj 1
yj
0 = x j 0 ⊕ H(q j)
yj
1 = x j 1 ⊕ H(q j ⊕ s)
Base OTs
{ki
0,ki 1}i=1 ℓ
s = (s1,...,sℓ)
k1
s1,...,kℓ sℓ
malicious Sender
guarantee that it uses the same value r in these messages
ui = G(ki
0)⊕G(ki 1)⊕ r
0,x j 1} j=1 m
r = (r
1,...,r m)
Base OTs
ui = G(ki
0)⊕G(ki 1)⊕ r
0,yj 1
yj
0 = x j 0 ⊕ H(q j)
yj
1 = x j 1 ⊕ H(q j ⊕ s)
Consistency Check of r
ui = G(ki
0)⊕G(ki 1)⊕ r
u j = G(k j
0)⊕G(k j 1)⊕ r
ui ⊕ u j = ti
0 ⊕ ti 1 ⊕ t j 0 ⊕ t j 1
ui = ti
0 ⊕ ti 1 ⊕ r
u j = t j
0 ⊕ t j 1 ⊕ r
si ⊕ t j sj ? = ti 1−si ⊕ t j 1−sj
si ⊕ t j sj ) ? = H(ti 1−si ⊕ t j 1−sj )
ui = G(ki
0)⊕G(ki 1)⊕ r
u j = G(k j
0)⊕G(k j 1)⊕ r
hi, j
1−si,1−sj ? = H(ui ⊕ u j ⊕ ti si ⊕ t j sj )
hi, j
si,sj ? = H(ti si ⊕ t j sj )
Alice checks that every pair (i,j):
hi, j
0,0 = H(ti 0 ⊕ t j 0)
hi, j
0,1 = H(ti 0 ⊕ t j 1)
hi, j
1,0 = H(ti 1 ⊕ t j 0)
hi, j
1,1 = H(ti 1 ⊕ t j 1)
For every pair (i,j)
0,0,hi, j 0,1,hi, j 1,0,hi, j 1,1}i, j
it has to guess either si or sj
Do we really need this huge amount of checks?
k k
r1 r12 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11
r1 r12 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11
r r r r r r r7 r r r10 r r3
r r r r r r r7 r r r10 r r3
r r r r r r r7 r r r10 r r3
The needed property: For any “large enough" set of bad vertices (> p=40 ), there exists p-matching with the good vertices
r1 r12 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11
r1 r r2 r r4 r r r r r r r
r1 r r2 r r4 r r r r r r r
(for appropriate set of parameters)
checks! The needed property: For any “large enough" set of bad vertices (> p=40 ), there exists p-matching with the good vertices
protocols need some stronger properties of H, and so it is assumed to be a Random-Oracle
assumption than random-oracle
to be Min-Entropy Correlation Robustness
Two servers in the same room
(network with low latency and high bandwidth)
12 sec (190 base OTs, 380 checks)
Two servers in different continents
(network with high latency and low bandwidth)
64 sec (174 base OTs, 696 checks)
protocols for MPC
adversary