Hig igh-Throughput Secure Three-Party Computation for Mali licious Adversaries and an Honest Majority
Jun Furukawa*, Yehuda Lindell**, Ariel Nof** and Or Weinstein**
**Bar-Ilan University, Israel *NEC corporation, Israel
Computation for Mali licious Adversaries and an Honest Majority Jun - - PowerPoint PPT Presentation
Hig igh-Throughput Secure Three-Party Computation for Mali licious Adversaries and an Honest Majority Jun Furukawa*, Yehuda Lindell**, Ariel Nof** and Or Weinstein** *NEC corporation, Israel **Bar-Ilan University, Israel Eurocrypt 2017
**Bar-Ilan University, Israel *NEC corporation, Israel
by a Boolean circuit
f π’π‘π’ππ π’ π’πππ
How much time it takes to compute a function?
f π’π‘π’ππ π’ π’πππ
How much time it takes to compute a function?
f π’π‘π’ππ π’ π’πππ
How much time it takes to compute a function?
f 1 π‘ππ f f f f f f f f
How many functions can we compute in one sec?
f π’π‘π’ππ π’ π’πππ
How much time it takes to compute a function?
f 1 π‘ππ f f f f f f f f
How many functions can we compute in one sec?
communication
π
1
π2
βthe garbled-circuit approachβ
communication
π
1
π2 π
1
π2
βthe garbled-circuit approachβ βthe secret-sharing approachβ
communication
π
1
π2 π
1
π2
βthe garbled-circuit approachβ βthe secret-sharing approachβ
How to force the corrupted party to share its inputs βcorrectlyβ? How to verify AND gates were computed correctly? How to verify that the output was reconstructed correctly?
How to force the corrupted party to share its inputs βcorrectlyβ? How to verify AND gates were computed correctly? How to verify that the output was reconstructed correctly?
A βmultiplication tripleβ is a triple of shares π , π , π such that π = π β π
A βmultiplication tripleβ is a triple of shares π , π , π such that π = π β π
Let π¦ , π§ , π¨ be a triple generated by computing an AND gate Let π , π , π be a random triple
A βmultiplication tripleβ is a triple of shares π , π , π such that π = π β π
Let π¦ , π§ , π¨ be a triple generated by computing an AND gate Let π , π , π be a random triple
A βmultiplication tripleβ is a triple of shares π , π , π such that π = π β π
Let π¦ , π§ , π¨ be a triple generated by computing an AND gate Let π , π , π be a random triple If π , π , π is a βvalidβ triple, then we can use π , π , π to detect cheating in π¦ , π§ , π¨ with probability 1.
A βmultiplication tripleβ is a triple of shares π , π , π such that π = π β π
Let π¦ , π§ , π¨ be a triple generated by computing an AND gate Let π , π , π be a random triple If π , π , π is a βvalidβ triple, then we can use π , π , π to detect cheating in π¦ , π§ , π¨ with probability 1.
Sub-protocol βtriple verification without openingβ
Communication: 2 bits per each party
On-line protocol
protocol
3 bits per AND gate
On-line protocol
protocol
Output πΆ triples
3 bits per AND gate
On-line protocol
protocol
Pre-processing protocol
Output πΆ triples
3 bits per AND gate
On-line protocol
protocol
Pre-processing protocol
Output πΆ triples
3 bits per AND gate
1 bit of communication!
1 bit of communication!
Random permutation
Random permutation Open C triples
Random permutation Open C triples
If one of the
incorrect, the honest parties will detect it and abort
Random permutation Open C triples
Random permutation Open C triples
. . .
Split into N buckets of equal size πΆ1 πΆ2 πΆπ πΎ π’π πππππ‘ πΎ π’π πππππ‘ πΎ π’π πππππ‘
Random permutation Open C triples
. . .
Split into N buckets of equal size πΆ1 πΆ2 πΆπ πΎ π’π πππππ‘ πΎ π’π πππππ‘ πΎ π’π πππππ‘ Verify the first triple in each bucket using πΈ β π triples
. . .
Random permutation Open C triples
. . .
Split into N buckets of equal size πΆ1 πΆ2 πΆπ πΎ π’π πππππ‘ πΎ π’π πππππ‘ πΎ π’π πππππ‘ Verify the first triple in each bucket using πΈ β π triples
. . . If one of the buckets is βmixedβ, the honest parties will detect it and abort
Random permutation Open C triples
. . .
Split into N buckets of equal size πΆ1 πΆ2 πΆπ πΎ π’π πππππ‘ πΎ π’π πππππ‘ πΎ π’π πππππ‘ Verify the first triple in each bucket using πΈ β π triples
. . .
Random permutation Open C triples
. . .
Split into N buckets of equal size πΆ1 πΆ2 πΆπ πΎ π’π πππππ‘ πΎ π’π πππππ‘ πΎ π’π πππππ‘ Verify the first triple in each bucket using πΈ β π triples
. . .
Random permutation Open C triples
. . .
Split into N buckets of equal size πΆ1 πΆ2 πΆπ πΎ π’π πππππ‘ πΎ π’π πππππ‘ πΎ π’π πππππ‘ Verify the first triple in each bucket using πΈ β π triples
. . .
Random permutation Open C triples
. . .
Split into N buckets of equal size πΆ1 πΆ2 πΆπ πΎ π’π πππππ‘ πΎ π’π πππππ‘ πΎ π’π πππππ‘ Verify the first triple in each bucket using πΈ β π triples
. . .
Random permutation Open C triples
. . .
Split into N buckets of equal size πΆ1 πΆ2 πΆπ πΎ π’π πππππ‘ πΎ π’π πππππ‘ πΎ π’π πππππ‘ Verify the first triple in each bucket using πΈ β π triples
. . .
Cost of the pre-processing: πΆ ππΈ β π + ππ«
π·π·), πΆπΆππ, , π΅π΅π»πππ(π(π΅, π, πΆ, π·)
bad or good 1.
Cost of the pre-processing: πΆ ππΈ β π + ππ«
π·π· balls, where each ball can be bad or good 1. The adversary π΅ chooses ππΎ + π· balls, where each ball can be bad or good 2. chooses ππΎ + π· balls, where each ball can be bad or good 1.
Cost of the pre-processing: πΆ ππΈ β π + ππ«
π·π· balls, where each ball can be bad or good
1.
Cost of the pre-processing: πΆ ππΈ β π + ππ«
Cost of the pre-processing: πΆ ππΈ β π + ππ«
Cost of the pre-processing: πΆ ππΈ β π + ππ«
On-line protocol
protocol
Pre-processing protocol
triples to verify one triple
Output πΆ triples
Parameters: π = 220, πΎ = 3, π· = 3 7 bits per AND gate 3 bits per AND gate
Communication (bits) Number of AES Computations MRZ[15] 85N 3N Our protocol 10N N/5
Communication (bits) Number of AES Computations MRZ[15] 85N 3N Our protocol 10N N/5
Three-party with honest majority at the cost of semi-honest Yao
(instead of 3)