Two Round Information-Theoretic MPC with Malicious Security
Prabhanjan Ananth Arka Rai Choudhuri Aarushi Goel Abhishek Jain
TPMPC 2019
Two Round Information-Theoretic MPC with Malicious Security - - PowerPoint PPT Presentation
Two Round Information-Theoretic MPC with Malicious Security Prabhanjan Ananth Arka Rai Choudhuri Aarushi Goel Abhishek Jain TPMPC 2019 Adversarial Model Adversarial Model Malicious Adversary Adversarial Model Malicious Adversary
Prabhanjan Ananth Arka Rai Choudhuri Aarushi Goel Abhishek Jain
TPMPC 2019
Malicious Adversary
Malicious Adversary Corrupts < "/2 parties (Honest Majority)
Information-Theoretic security is possible.
[Ben-Or, Goldwasser, Widgerson’88]
Typically UC secure
Simulation proofs are typically straight-line
Round complexity lower bounds for dishonest majority do not apply
4 rounds necessary for dishonest majority in the plain model [Garg- Mukherjee-Pandey-Polychroniadou16]
Clean Constructions
Use lightweight tools such as garbling and secret-sharing
Information-Theoretic security is possible.
[Ben-Or, Goldwasser, Widgerson’88]
Typically UC secure
Simulation proofs are typically straight-line
Round complexity lower bounds for dishonest majority do not apply
4 rounds necessary for dishonest majority in the plain model [Garg- Mukherjee-Pandey-Polychroniadou16]
Clean Constructions
Use lightweight tools such as garbling and secret-sharing
Information-Theoretic security is possible.
[Ben-Or, Goldwasser, Widgerson’88]
Typically UC secure
Simulation proofs are typically straight-line
Round complexity lower bounds for dishonest majority do not apply
4 rounds necessary for dishonest majority in the plain model [Garg- Mukherjee-Pandey-Polychroniadou16]
Clean Constructions
Use lightweight tools such as garbling and secret-sharing
Information-Theoretic security is possible.
[Ben-Or, Goldwasser, Widgerson’88]
Typically UC secure
Simulation proofs are typically straight-line
Round complexity lower bounds for dishonest majority do not apply
4 rounds necessary for dishonest majority in the plain model [Garg- Mukherjee-Pandey-Polychroniadou16]
Clean Constructions
Use lightweight tools such as garbling and secret-sharing
Useful for constructing efficient ZK-protocols.
(Courtesy: Sergey Gorbunov’s talk)
Round Complexity Class of Functions Corruption Threshold Adversary [BGW’88] > # of multiplications P/Poly t<n/2 Malicious [BB’89, IK’00, AIK’06] constant NC1 t<n/2 Malicious [IKP’10] 2 NC1 t<n/3 Malicious [GIS’18, ABT’18] 2 NC1 t<n/2 Semi-honest
Security with selective abort
Round Complexity Class of Functions Corruption Threshold Adversary 2 NC1 t<n/2 Malicious
Security with Abort over Broadcast + P2P Security with Selective Abort over P2P
Round Complexity Class of Functions Corruption Threshold Adversary 2 NC1 t<n/2 Malicious
Security with Abort over Broadcast + P2P Security with Selective Abort over P2P
Concurrent Work [ABT19] Consider security with selective abort.
Round Complexity Class of Functions Corruption Threshold Adversary 2 NC1 t<n/2 Malicious
Security with Abort over Broadcast + P2P Security with Selective Abort over P2P
2 Round IT-MPC (Privacy with Knowledge of Outputs) 2 Round IT-MPC (Security with Abort)
Broadcast + P2P Broadcast + P2P
Constant Round IT-MPC (Security with Abort)
Broadcast + P2P
Round Compression Security Upgrade
Party 1 Party 2 Party 3 Trusted Party !
!1 !2 !3
Party 1 Party 2 Party 3 Trusted Party %
!1 !2 !3
% = '(!1, !2, !3)
Party 1 Party 2 Party 3 Trusted Party '
!1 !2 !3
% = '(!1, !2, !3) %’ = % ,- ⊥
Party 1 Party 2 Party 3 Trusted Party '
!1 !2 !3
% = '(!1, !2, !3) %’ = % ,- ⊥
%’ %’
Party 1 Party 2 Party 3 Trusted Party '
Privacy !2 and !3 remain hidden
$
Privacy !2 and !3 remain hidden Output Correctness Honest Parties either output $ !%, !', !( or ⊥
$
Privacy !2 and !3 remain hidden Output Correctness Honest Parties either output $ !%, !', !( or ⊥
$
2 Round IT-MPC (Privacy with Knowledge of Outputs) 2 Round IT-MPC (Security with Abort)
Broadcast + P2P Broadcast + P2P
Constant Round IT-MPC (Security with Abort)
Broadcast + P2P
Round Compression Security Upgrade
"1 "2 "3
& = ! ("), "+, ",)
#1, &'(, )'(
* = ! (#(, #-, #.)
#-,&'-, )'- #., &'., )'.
(&'(,0( = 1234 (*, )'1)) (&'-,0- = 1234 (*, )'-)) (&'.,0. = 1234 (*, )'.))
!", $%", &%"
', (), $%) , (", $%" , ((+, $%+)
Party 2 Trusted Party
1’
!", $%", &%"
', (), $%) , (", $%" , ((+, $%+)
Party 2 Trusted Party
Accept if all 3 verify
./01-'(', (", $%") ./01-'(', (), $%)) ./01-'(', (+, $%+)
!", $%", &%"
', (), $%) , (", $%" , ((+, $%+)
Party 2 Trusted Party
Accept if all 3 verify
./01-'(', (", $%") ./01-'(', (), $%)) ./01-'(', (+, $%+) Digital signatures require one-way functions
!", $%", &%"
', (), $%) , (", $%" , ((+, $%+)
Party 2 Trusted Party
Accept if all 3 verify
./01-'(', (", $%") ./01-'(', (), $%)) ./01-'(', (+, $%+) Digital signatures require one-way functions MACs are not sufficient
!", $%", &%"
', (), $%) , (", $%" , ((+, $%+)
Party 2 Trusted Party
Accept if all 3 verify
./01-'(', (", $%") ./01-'(', (), $%)) ./01-'(', (+, $%+) Digital signatures require one-way functions How can we do it information theoretically? MACs are not sufficient
!" !# !$ %
! = #. %&'( ), +,, +-, +. +, +- +. )
! ! ! ! = #. %&'( ), +,, +-, +. )
!. #$%&'( (*, ,, -.) !. #$%&'( (*, ,, -0) !. #$%&'( (*, ,, -1)
, , , , = !. 3&45 *, -., -0, -1 *
YES YES YES
!. #$%&'( (*, ,, -.) !. #$%&'( (*, ,, -0) !. #$%&'( (*, ,, -1)
, , , , = !. 3&45 *, -., -0, -1 *
!, "#, "% & = (. *+,- !, "., "#, "% & ".
!, "#, "% & = (. *+,- !, "., "#, "% & ". "# !/, &’
(. 012+34 (!′, &′, "#)
NO
!, "#, "% & = ()*+ !, ",, "#, "% & ", "# !-, &’
.. 012)34 (!′, &′, "#)
NO An adversary cannot output any valid message-signature pair other than the
#1, &'
( = ! (#', #+, #,)
#+, &+ #,, &,
. = /. 1234 ((, &1, &2, &3)
!", $"
%, &
Party 2 Trusted Party
'. )*+,-%(%, &, $")
IF !, # = %′((()*)), ((,, *,), ((-, *-))
(,, *, !, #
Honest Party 2 Trusted Party
(-, *- !, #
Honest Party 3 %′
!. #$%&'(((, +, ,-) !. #$%&'(((, +, ,/ )
0-, ,- (, +
Honest Party 2 Trusted Party
0/, ,/ (, +
Honest Party 3
YES YES
IF (, + = '′((03,3), (0-, ,-), (0/, ,/))
'′
!", $" %, &
Honest Party 2 Trusted Party
!', $' %, &
Honest Party 3
IF %, & ≠ )′((!,$,), (!", $"), (!', $'))
)′
Honest Party 2
!", $" %, &
Honest Party 2 Trusted Party
!', $' %, &
Honest Party 3
NO NO
(. *+,-.%(%, &, $") (. *+,-.%(%, &, $' ) IF %, & ≠ .′((!3$3), (!", $"), (!', $'))
.′
2 Round IT-MPC (Privacy with Knowledge of Outputs) 2 Round IT-MPC (Security with Abort)
Broadcast + P2P Broadcast + P2P
Constant Round IT-MPC (Security with Abort)
Broadcast + P2P
Using Multi-Key MAC
Round Compression Security Upgrade
Security Upgrade
Using Multi-Key MAC
2 Round IT-MPC (Privacy with Knowledge of Outputs) 2 Round IT-MPC (Security with Abort)
Broadcast + P2P Broadcast + P2P
Constant Round IT-MPC (Security with Abort)
Broadcast + P2P
Round Compression
Interactive secure MPC 2 round secure MPC
[GGHR’13]
Indistinguishability Obfuscation
[GLS’15]
Witness Encryption + Garbled circuits
[GS’17]
Bilinear Maps + Garbled circuits
[GS’18, BL’18]
OT + Garbled Circuits
[ACGJ’18]
Garbled circuits
Interactive secure MPC 2 round secure MPC
[GGHR’13]
Indistinguishability Obfuscation
[GLS’15]
Witness Encryption + Garbled circuits
[GS’17]
Bilinear Maps + Garbled circuits
[GS’18, BL’18]
OT + Garbled Circuits
[ACGJ’18]
Garbled circuits
Replace garbled circuits with Information-theoretic garbled circuits (IT-GC)
!"#
$
... Interactive secure MPC 2 round secure MPC !"#
%
!"#
&
Commit Inputs '( !"#
$ , '( !"# % , . .
!"#
$
... Interactive secure MPC 2 round secure MPC !"#
%
!"#
&
Commit Inputs '( !"#
$ , '( !"# % , . .
'( !"#
%
After Round 2
'( !"#
$
'( !"#
%
'( !"#
$
Party 1 Party 2 . . . . . . . . . . . .
!" #$%
&
!" #$%
'
!" #$%
'
Party 1 Party 2
!" #$%
&
!" #$%
'
!" #$%
'
Party 1 Party 2
Statistically secure multi-party helper protocol for OT functionality Wire Labels 1st Message of Party 2 Wire Labels for 1st Message of Party 2
Interactive secure MPC 2 round secure MPC
[GGHR’13]
Indistinguishability Obfuscation
[GLS’15]
Witness Encryption + Garbled circuits
[GS’17]
Bilinear Maps + Garbled circuits
[GS’18, BL’18]
OT + Garbled Circuits
[ACGJ’18]
Garbled circuits
Replace garbled circuits with Information-theoretic garbled circuits (IT-GC) Problem
Size of the input wire labels in IT-GC grows exponentially in the depth of the circuit being garbled.
Interactive secure MPC 2 round secure MPC
[GGHR’13]
Indistinguishability Obfuscation
[GLS’15]
Witness Encryption + Garbled circuits
[GS’17]
Bilinear Maps + Garbled circuits
[GS’18, BL’18]
OT + Garbled Circuits
[ACGJ’18]
Garbled circuits
Replace garbled circuits with Information-theoretic garbled circuits (IT-GC) Problem
Size of the input wire labels in IT-GC grows exponentially in the depth of the circuit being garbled.
generated per-party ≥ |#|
Interactive secure MPC 2 round secure MPC
[GGHR’13]
Indistinguishability Obfuscation
[GLS’15]
Witness Encryption + Garbled circuits
[GS’17]
Bilinear Maps + Garbled circuits
[GS’18, BL’18]
OT + Garbled Circuits
[ACGJ’18]
Garbled circuits
Replace garbled circuits with Information-theoretic garbled circuits (IT-GC) Problem
Size of the input wire labels in IT-GC grows exponentially in the depth of the circuit being garbled.
generated per-party ≥ |#| Size of bottom-most garbled circuits is exp( # )
!" #$%
&
!" #$%
'
!" #$%
'
Party 1 Party 2
Statistically secure multi-party helper protocol for OT functionality Wire Labels 1st Message of Party 2 Wire Labels for 1st Message of Party 2
(&
Inspired by the approach used in [BL’18]
!" #$%
&
!" #$%
'
!" #$%
'
Party 1 Party 2
Statistically secure multi-party helper protocol for OT functionality OT functionality Wire Labels Wire Labels for 1st Message of Party 2
() *', #$%
' *&
*&
Design a 2 round helper protocol for !" #$, &'(
$ #) *+ &'(
)
*+ &'(
$
*+ &'(
$
Party 1 Party 2
Helper Protocol for OT functionality Wire Labels Wire Labels for 1st Message of Party 2
!" #$, &'(
) #)
#)
Statistically secure multi-party helper protocol for OT functionality OT functionality
!" #$, &'(
$ #)
2 Round MPC Template using a 2 Round Helper Protocol
1st round of Helper Protocol (implicitly commits to inputs) 2nd round of Helper Protocol & !" #$%
& , !" #$%( , . .
R 2 R 1
R 1 R 2 Inputs of Adversary Output y
Trusted Party Simulator Adversary
A A
Malicious Security
R 1 R 2 Inputs of Adversary Output y
Trusted Party Outer Simulator Outer Adversary Inner Simulator
A B A
Inner Adversary
B
Malicious Security using helper protocol
R 1 R 2 Inputs of Adversary Output y
Trusted Party Outer Simulator Outer Adversary Inner Simulator
A B A
Inner Adversary
B Need to extract the inputs from inner adversary
Malicious Security using helper protocol
R 1 R 2 Inputs of Adversary Output y
Trusted Party Outer Simulator Outer Adversary Inner Simulator
A B A
Inner Adversary
B Need to extract the inputs from inner adversary
For Malicious Security
How to design a 2 round maliciously secure helper protocol for this functionality?
Properties:
!"#$ is not known in the first round.
Party 1 Party 2 HONEST Nothing beyond the output is leaked Nothing beyond !"#
%('$) is leaked
CORRUPT Simulator can extract '% Simulator can extract !"#
%('$)
A two-round helper MPC protocol for 2 input delayed-function )* '%, !"#
% '$
2 Round IT-MPC (Privacy with Knowledge of Outputs) 2 Round IT-MPC (Security with Abort)
Broadcast + P2P Broadcast + P2P
Constant Round IT-MPC (Security with Abort)
Broadcast + P2P
2 Round IT-MPC (Security with Selective Abort)
P2P
2 Round IT-MPC (Privacy with Knowledge of Outputs) 2 Round IT-MPC (Security with Abort)
Broadcast + P2P Broadcast + P2P
Constant Round IT-MPC (Security with Abort)
Broadcast + P2P
https://eprint.iacr.org/2018/1078 aarushig@cs.jhu.edu