210 likes | 562 Views
2. Motivation. The notion of computing with encrypted data [RAD78]Bob encrypts and publishes his dataAlice performs the computationSingle encrypted message from Alice to BobBob decrypts to get the resultEquated with doubly homomorphic encryption, which we don't have!. 3. Model for Computing with Doubly Homomorphic Encryption.
E N D
1. 1 Two Party Computing With Encrypted Data
2. 2 Motivation The notion of computing with encrypted data [RAD78]
Bob encrypts and publishes his data
Alice performs the computation
Single encrypted message from Alice to Bob
Bob decrypts to get the result
Equated with doubly homomorphic encryption, which we dont have! Rivest, Adleman, Dertouzos (1978) : On Data Banks and Privacy Homomorphisms
Rivest, Adleman, Dertouzos (1978) : On Data Banks and Privacy Homomorphisms
3. 3 Model for Computing with Doubly Homomorphic Encryption Offline
Bob publishes her public key
Anybody can encrypt data
Online: Given a circuit C
Alice performs the computation
Alice sends the encrypted output to Bob
Bob decrypts to get the result
4. 4 Our Model for Two Party Computing with Encrypted Data Offline
Alice and Bob publish their public keys
Anybody can encrypt data
Online: Given a circuit C
Alice performs the computation
Alice sends the encrypted message (garbled circuit) to Bob
Bob computes the circuit to get the result
5. 5 Road map Yaos Garbled Circuit
Conditional Exposure primitive (CODE)
Our Garbled Circuit
The Malicious Case
6. 6 Yaos Garbled Circuit
7. 7
8. 8
9. 9 Conditional Oblivious Decryption Exposure (CODE) CODE Specification
CODE( E(m1), E(m2), E(m3) )
If (m1 == m2) ? m3
If (m1 ? m2) ? random
10. 10 Where to Use CODE Replace OT(b, (m0,m1)) with CODE(E(b), E(0), E(m0)) CODE(E(b), E(1), E(m1))
Connect output of one gate to possible inputs of another gate
Non interactive: Alice sends one message to Bob, Bob completes the computation
11. 11 Garbled Gate (1)
12. 12 Garbled Gate (2)
13. 13 Garbled Gate (using CODE)
14. 14 Computing CODE c1 =(a,b) = ( gr1 ,m1yr1 ) c2 =(g,d) = ( gr2 ,m2yr2 ) c3 =(l,m) = ( gr3 ,m3yr3 )
15. 15 Garbling a Circuit Shuffled and Encrypted truth tables
CODE at the input level
Matching entry in truth table reveals encrypted output value and two secret keys
CODE transcripts that connect the matching output value to the next gate are encrypted with the secret keys
Garbled circuit is one message
Compute gate by gate
16. 16 Advantages of CODE Input separability: circuit can be built from anyones encrypted inputs
Non interactive: one message to open all CODEs
Suitable to adding efficient ZK proofs on top of it
17. 17 2PC Malicious Case Malicious party may.. What can a malicious party do?
Change her input (we cant avoid that)
Bias the random choices she has to make during the protocol
Send messages that do not follow the protocol
Stop cooperating at some point
===
Change her inputs, before computation starts (we cant avoid that)
Change her inputs, depending on the other partys inputs
Stop cooperating after computation starts
Have the honest party compute a different circuit than agreed
Cause abort if the honest partys input has some property
What can a malicious party do?
Change her input (we cant avoid that)
Bias the random choices she has to make during the protocol
Send messages that do not follow the protocol
Stop cooperating at some point
===
Change her inputs, before computation starts (we cant avoid that)
Change her inputs, depending on the other partys inputs
Stop cooperating after computation starts
Have the honest party compute a different circuit than agreed
Cause abort if the honest partys input has some property
18. 18 Previous Works - 2PC with Malicious Adversaries [LP07] cut and choose technique
[JS07] computing on encrypted data
[KH07] Running two copies of Yao in parallel (P1 generates the circuits)
P2 -> P1: OT step 1, for all his inputs, 2s times
P1 -> P2:
1. send 2s garbled circuits
2. commit to 2s copies of inputs
3. complete OT step 2, for the 2s copies
4. Coin Tossing step 1
P2 -> P1: Coin Tossing step 2. Decide on s circuits to decommit.
P1 -> P2:
1. Decommit s circuits
2. Send random values for P1s inputs(P1 generates the circuits)
P2 -> P1: OT step 1, for all his inputs, 2s times
P1 -> P2:
1. send 2s garbled circuits
2. commit to 2s copies of inputs
3. complete OT step 2, for the 2s copies
4. Coin Tossing step 1
P2 -> P1: Coin Tossing step 2. Decide on s circuits to decommit.
P1 -> P2:
1. Decommit s circuits
2. Send random values for P1s inputs
19. 19 Malicious CODE Alice can sent malformed messages
20. 20 Our Protocol Malicious Case Protect against possible attacks of a malicious adversary, using non-interactive ZK proofs
Parties prove their public keys were chosen correctly
Input contributors commit to inputs, prove they know the plaintext
Alice proves the shuffled truth tables are equal to the original ones
Alice proves each CODE transcript is valid All parties commit to inputs, prove they know the plaintext (why? Otherwise they can choose ciphertexts that combines with the other, committed, ciphertexts, in a way that )
Which ZK PoK we use? Here it depends on the model CRS/ROM, and the number of rounds changes between each model? Should remain the same, no?
Alice proves the shuffled truth tables are equal to the original ones (otherwise, she can send a different circuit altogether with different truth tables, or affect the computation arbitrarily)
Alice proves each gate is valid (otherwise, this can cause halting the execution only if some gate is reached, which gives Alice information on the inputs of Bob)
All parties commit to inputs, prove they know the plaintext (why? Otherwise they can choose ciphertexts that combines with the other, committed, ciphertexts, in a way that )
Which ZK PoK we use? Here it depends on the model CRS/ROM, and the number of rounds changes between each model? Should remain the same, no?
Alice proves the shuffled truth tables are equal to the original ones (otherwise, she can send a different circuit altogether with different truth tables, or affect the computation arbitrarily)
Alice proves each gate is valid (otherwise, this can cause halting the execution only if some gate is reached, which gives Alice information on the inputs of Bob)
21. 21 Our Results Input separability: anybody can contribute inputs
Off-line/On-line model
On-line stage only one message from Alice to Bob as in the Computing with Encrypted Data model
Computing Servers can compute many on-line sessions after a single off-line stage lower amortized round complexity
Computing with Encrypted Data with both parties public keys loses the strong relation to doubly homomorphic encryption!
22. 22 THE END