A New Approach to Practical Active-Secure Two-Party Computation
1
1
Jesper Buus Nielsen , Peter Sebastian Nordholt , Claudio 1
Orlandi , Sai Sheshank Burra
1 Aarhus 2 Indian
2
University, Denmark
Institute of Technology Guwahati
August 21, 2012
1 / 19
Active-Secure Two-Party Computation (2PC)
y
x
C
z
2 / 19
Active-Secure Two-Party Computation (2PC)
x
y
z
z
2 / 19
Active-Secure Two-Party Computation (2PC)
x
y
z
z
I Correctness: C (x , y )
=z
2 / 19
Active-Secure Two-Party Computation (2PC)
x
y
z
z
I Correctness: C (x , y )
=z
I Privacy: Inputs are kept private.
2 / 19
Active-Secure Two-Party Computation (2PC)
x
y
z
z
I Correctness: C (x , y )
=z
I Privacy: Inputs are kept private.
2 / 19
Active-Secure Two-Party Computation (2PC)
x
y
z
z
I Correctness: C (x , y )
=z
I Privacy: Inputs are kept private. I Practical: Runs in reasonable time for reasonable size circuits. 2 / 19
Motivation for this Work
I Solving real-world problems. E.g. computing outcome of auctions [BCD+09].
3 / 19
Motivation for this Work
I Solving real-world problems. E.g. computing outcome of auctions [BCD+09].
I Lack of diversity in practical 2PC. In fact all previous practical approaches uses Yao's Garbled Circuits technique.
3 / 19
Our approach
Building blocks
I Passive-secure 2PC: The protocol of [GMW87] heavily utilizing Oblivious Transfer (OT).
4 / 19
Our approach
Building blocks
I Passive-secure 2PC: The protocol of [GMW87] heavily utilizing Oblivious Transfer (OT).
I Information theoretic MACs: To ensure active security.
4 / 19
Our approach
Building blocks
I Passive-secure 2PC: The protocol of [GMW87] heavily utilizing Oblivious Transfer (OT).
I Information theoretic MACs: To ensure active security. I OT-extension: A huge amount of OT at low amortized cost from the passive-secure protocol of [IKNP03].
4 / 19
Our Results
I New OT-extension technique with active security:
5 / 19
Our Results
I New OT-extension technique with active security: I Only a factor 2 slower than the passive-secure protocol of
[IKNP03]. (No asymptotic improvement).
5 / 19
Our Results
I New OT-extension technique with active security: I Only a factor 2 slower than the passive-secure protocol of
[IKNP03]. (No asymptotic improvement). I Implements
∼ 500.000
OT/sec pr. core (vs.
∼ 1000
OT/sec
without extension).
5 / 19
Our Results
I New OT-extension technique with active security: I Only a factor 2 slower than the passive-secure protocol of
[IKNP03]. (No asymptotic improvement). I Implements
∼ 500.000
OT/sec pr. core (vs.
∼ 1000
OT/sec
without extension).
I New practical 2PC protocol:
5 / 19
Our Results
I New OT-extension technique with active security: I Only a factor 2 slower than the passive-secure protocol of
[IKNP03]. (No asymptotic improvement). I Implements
∼ 500.000
OT/sec pr. core (vs.
∼ 1000
OT/sec
without extension).
I New practical 2PC protocol: I UC secure against an active and static adversary in the
Random Oracle model.
5 / 19
Our Results
I New OT-extension technique with active security: I Only a factor 2 slower than the passive-secure protocol of
[IKNP03]. (No asymptotic improvement). I Implements
∼ 500.000
OT/sec pr. core (vs.
∼ 1000
OT/sec
without extension).
I New practical 2PC protocol: I UC secure against an active and static adversary in the
Random Oracle model.
.
I Implements 20 000 gates/sec (online
∼ 1.000.000
gates/sec).
5 / 19
Our Results
I New OT-extension technique with active security: I Only a factor 2 slower than the passive-secure protocol of
[IKNP03]. (No asymptotic improvement). I Implements
∼ 500.000
OT/sec pr. core (vs.
∼ 1000
OT/sec
without extension).
I New practical 2PC protocol: I UC secure against an active and static adversary in the
Random Oracle model.
.
I Implements 20 000 gates/sec (online
∼ 1.000.000
gates/sec).
I Faster than all implementations based on Garbled Circuits
. . . except for [KsS12].
5 / 19
Overview
Protocol Overview
MACs
Concluding
6 / 19
Passive-Secure 2PC [GMW87]
y
x
z
7 / 19
Passive-Secure 2PC [GMW87]
xA , yA
x
= xA ⊕ xB
y
= yA ⊕ yB
xB , yB
z
7 / 19
Passive-Secure 2PC [GMW87]
xA , yA
x
= xA ⊕ xB
y
= yA ⊕ yB
xB , yB
w
z
7 / 19
Passive-Secure 2PC [GMW87]
xA , yA
wA
x
= xA ⊕ xB
y
w
= yA ⊕ yB
= wA ⊕ wB
xB , yB
wB
z
7 / 19
Passive-Secure 2PC [GMW87]
xA , yA
x
= xA ⊕ xB
wA
zA
y
w
z
= yA ⊕ yB
= wA ⊕ wB
= zA ⊕ zB
xB , yB
wB
zB
7 / 19
Passive-Secure 2PC [GMW87]
xA , yA
x
= xA ⊕ xB
wA
zA
y
w
z
= yA ⊕ yB
= wA ⊕ wB
= zA ⊕ zB
xB , yB
wB
zB
zB
7 / 19
Active-Secure 2PC
xA , yA
wA
zA
y
x
w
z
xB , yB
wB
zB
zB
8 / 19
Active-Secure 2PC
xA , yA
y
x
MxA , MyA wA , MwA
zA , MzA
xB , yB MxB , MyB
w
z
wB , MwB
zB , MzB
zB , MzB Add message authentication codes (MACs) 8 / 19
The Preprocessing model
Preprocessing:
9 / 19
The Preprocessing model
Preprocessing:
I Prepare random authenticated messages:
9 / 19
The Preprocessing model
Preprocessing:
I Prepare random authenticated messages: I 1 per Input-gate.
9 / 19
The Preprocessing model
Preprocessing:
I Prepare random authenticated messages: I 1 per Input-gate.
B
I 16
per AND-gate, for security
∼ 2−B log(|C |) .
9 / 19
The Preprocessing model
Preprocessing:
I Prepare random authenticated messages: I 1 per Input-gate.
B
I 16
per AND-gate, for security
∼ 2−B log(|C |) .
I Prove correlations between authenticated messages (think multiplication-triples).
9 / 19
The Preprocessing model
Preprocessing:
I Prepare random authenticated messages: I 1 per Input-gate.
B
I 16
per AND-gate, for security
∼ 2−B log(|C |) .
I Prove correlations between authenticated messages (think multiplication-triples). Online:
9 / 19
The Preprocessing model
Preprocessing:
I Prepare random authenticated messages: I 1 per Input-gate.
B
I 16
per AND-gate, for security
∼ 2−B log(|C |) .
I Prove correlations between authenticated messages (think multiplication-triples). Online:
I Use preprocessed values and simple (non-crypto) protocols to evaluate circuit on actual input.
9 / 19
The Preprocessing model
Preprocessing:
I Prepare random authenticated messages: I 1 per Input-gate.
B
I 16
per AND-gate, for security
∼ 2−B log(|C |) .
I Prove correlations between authenticated messages (think multiplication-triples). Online:
I Use preprocessed values and simple (non-crypto) protocols to evaluate circuit on actual input.
9 / 19
Overview
Protocol Overview
MACs
Concluding
10 / 19
Information Theoretic MACs
∈R {0, 1} = K ⊕ x∆
Message x MAC M
Global key Local key
∆ ∈R {0, 1}n n K ∈R {0, 1}
11 / 19
Information Theoretic MACs
∈R {0, 1} = K ⊕ x∆
Message x MAC M
Global key Local key
∆ ∈R {0, 1}n n K ∈R {0, 1}
Unforgeability:
11 / 19
Information Theoretic MACs
∈R {0, 1} = K ⊕ x∆
Message x MAC M
Global key Local key
∆ ∈R {0, 1}n n K ∈R {0, 1}
Unforgeability:
I M
= K ⊕ x∆
does not give information on
∆.
11 / 19
Information Theoretic MACs
∈R {0, 1} = K ⊕ x∆
Message x MAC M
Global key Local key
∆ ∈R {0, 1}n n K ∈R {0, 1}
Unforgeability:
I M
= K ⊕ x∆
I Let M0
does not give information on
= K ⊕ 0∆ = K
and M1
∆.
= K ⊕ 1 ∆ = K ⊕ ∆.
11 / 19
Information Theoretic MACs
∈R {0, 1} = K ⊕ x∆
Message x MAC M
Global key Local key
∆ ∈R {0, 1}n n K ∈R {0, 1}
Unforgeability:
I M
= K ⊕ x∆
I Let M0 I M0
does not give information on
= K ⊕ 0∆ = K
and M1
∆.
= K ⊕ 1 ∆ = K ⊕ ∆.
⊕ M1 = ∆.
11 / 19
Obtaining MACs: The Functionality
K, ∆
x M
= K ⊕ x∆
aBit
12 / 19
Obtaining MACs: Protocol Steps
I Step 1: Obtain a few, long MACs on Alice's random bits. I Step 2: Turn into many, short MACs on Bob's random bits.
13 / 19
Step 1: Long MACs for Alice
n
To authenticate bits x1 , x2 , . . . , x :
S0 , S1 ∈ {0, 1}T
c ∈ {0, 1} Sc
OT
14 / 19
Step 1: Long MACs for Alice
n
To authenticate bits x1 , x2 , . . . , x :
Ki , Ki ⊕ ∆
xi K i ⊕ xi ∆ = M i
OT
n
14 / 19
Step 1: Long MACs for Alice
n
To authenticate bits x1 , x2 , . . . , x :
Ki , Ki ⊕ ∆
xi K i ⊕ xi ∆ = M i
OT
I Problem: Bob must use same
n
2
∆
in every OT.
14 / 19
Step 1: Long MACs for Alice
n
To authenticate bits x1 , x2 , . . . , x :
Ki , Ki ⊕ ∆
xi K i ⊕ xi ∆ = M i
OT
I Problem: Bob must use same I Solution: I Do 2
n
2
∆
in every OT.
n OTs.
14 / 19
Step 1: Long MACs for Alice
n
To authenticate bits x1 , x2 , . . . , x :
Ki , Ki ⊕ ∆
xi K i ⊕ xi ∆ = M i
OT
I Problem: Bob must use same I Solution: I Do 2
n
2
∆
in every OT.
n OTs.
I Force Bob to use consistent
∆,
using a cut-n-chose-like
technique.
14 / 19
Step 1: Long MACs for Alice
n
To authenticate bits x1 , x2 , . . . , x :
Ki , Ki ⊕ ∆
xi K i ⊕ xi ∆ = M i
OT
I Problem: Bob must use same I Solution: I Do 2
n
2
∆
in every OT.
n OTs.
I Force Bob to use consistent
∆,
using a cut-n-chose-like
technique. I Sacrice half of the authenticated messages.
14 / 19
Step 2: Short MACs For Bob
M1 M2
...
Mn = K1 K2
...
Kn ⊕ x1 ∆ x2 ∆
...
xn ∆
15 / 19
Step 2: Short MACs For Bob
K1 K2
...
Kn = M1 M2
...
M n ⊕ x1 ∆ x2 ∆
...
xn ∆
15 / 19
Step 2: Short MACs For Bob (K1,1 , . . . , K1,n ) (K2,1 , . . . , K2,n )
. . .
(KT ,1 , . . . , KT ,n )
(M1,1 , . . . , M1,n ) (M2,1 , . . . , M2,n )
=
. . .
(MT ,1 , . . . , MT ,n )
(x1 , . . . , xn )∆1 (x1 , . . . , xn )∆2
⊕
. . .
(x1 , . . . , xn )∆T
16 / 19
Step 2: Short MACs For Bob
N1 N2
. . .
NT
(x1 , . . . , xn )∆1 (x1 , . . . , xn )∆2
L1 L2
=
. . .
LT
⊕
. . .
(x1 , . . . , xn )∆T
16 / 19
Step 2: Short MACs For Bob
N1 N2
. . .
NT
L1 L2
=
. . .
LT
Γ∆1 Γ∆2
⊕
. . .
Γ∆T
16 / 19
Step 2: Short MACs For Bob
N1 N2
. . .
=
= Li ⊕ yi Γ,
⊕
. . .
. . .
ΓyT
LT
NT I Ni
Γy1 Γy2
L1 L2
i
i.e. N
i
is a MAC on y
i , Γ.
w. keys L
16 / 19
Obtaining MACs: Summary
OT OT OT OT OT OT
I A few (2n) OTs with long messages (T
= poly(n)
bits).
17 / 19
Obtaining MACs: Summary
OT OT OT OT OT OT
aBit aBit aBit
I A few (2n) OTs with long messages (T
= poly(n)
bits).
I A few (n) long (T bits) MACs for Alice.
17 / 19
Obtaining MACs: Summary
OT OT OT OT OT OT
aBit aBit aBit
aBit aBit aBit aBit aBit aBit aBit aBit aBit aBit aBit aBit aBit aBit aBit aBit
I A few (2n) OTs with long messages (T
= poly(n)
bits).
I A few (n) long (T bits) MACs for Alice. I Many (T ) short (n bits) MACs for Bob.
17 / 19
Obtaining MACs: Summary
OT OT OT OT OT OT
OT OT OT OT OT OT
aBit aBit aBit
aBit aBit aBit aBit aBit aBit aBit aBit aBit aBit aBit aBit aBit aBit aBit aBit
I A few (2n) OTs with long messages (T
= poly(n)
bits).
I A few (n) long (T bits) MACs for Alice. I Many (T ) short (n bits) MACs for Bob. I Note 1: Can get long OTs from short OT using a PRG.
17 / 19
Obtaining MACs: Summary
OT OT OT OT OT OT
OT OT OT OT OT OT
aBit aBit aBit
aBit OT aBit OT aBit OT aBit OT aBit OT aBit OT aBit OT aBit OT aBit OT aBit OT aBit OT aBit OT aBit OT aBit OT aBit OT aBit OT
I A few (2n) OTs with long messages (T
= poly(n)
bits).
I A few (n) long (T bits) MACs for Alice. I Many (T ) short (n bits) MACs for Bob. I Note 1: Can get long OTs from short OT using a PRG. I Note 2: Can get short OT from short aBit (i.e. OT-extension).
17 / 19
Overview
Protocol Overview
MACs
Concluding
18 / 19
Concluding . . .
Take away:
I Finally a non-Garbled Circuits approach do practical 2PC!
19 / 19
Concluding . . .
Take away:
I Finally a non-Garbled Circuits approach do practical 2PC! I It's based on GMW and OT-extension.
19 / 19
Concluding . . .
Take away:
I Finally a non-Garbled Circuits approach do practical 2PC! I It's based on GMW and OT-extension. I It's really fast!
19 / 19
Concluding . . .
Take away:
I Finally a non-Garbled Circuits approach do practical 2PC! I It's based on GMW and OT-extension. I It's really fast! I . . . So if you're implementing a 2PC protocol, why not give this a try?
19 / 19
Concluding . . .
Take away:
I Finally a non-Garbled Circuits approach do practical 2PC! I It's based on GMW and OT-extension. I It's really fast! I . . . So if you're implementing a 2PC protocol, why not give this a try? Thank you.
19 / 19