to securely compute f
play

to securely compute f ? Mike Rosulek | | CRYPTO 2012 . B : B X is an - PowerPoint PPT Presentation

Q: Must you know the code of f to securely compute f ? Mike Rosulek | | CRYPTO 2012 . B : B X is an algorithm for Y Black-box: Non-black-box: Algorithm for Y depends on code of algorithm for X . Pervasive question since [ImpagliazzoRudich89] : .


  1. Q: Must you know the code of f to securely compute f ? Mike Rosulek | | CRYPTO 2012 .

  2. B : B X is an algorithm for Y Black-box: Non-black-box: Algorithm for Y depends on code of algorithm for X . Pervasive question since [ImpagliazzoRudich89] : . . . When do black-box constructions exist? . . . . . Black-box constructions tend to be more practical (efficient & modular). black-box reductions . Reduction . . . X has an algorithm ⇒ Y has an algorithm . . . . . .

  3. . Pervasive question since [ImpagliazzoRudich89] : . . . When do black-box constructions exist? . . . . . Black-box constructions tend to be more practical (efficient & modular). black-box reductions . Reduction . . . X has an algorithm ⇒ Y has an algorithm Black-box: ∃ B : B X is an algorithm for Y Non-black-box: Algorithm for Y depends on code of algorithm for X . . . . . .

  4. Black-box constructions tend to be more practical (efficient & modular). black-box reductions . Reduction . . . X has an algorithm ⇒ Y has an algorithm Black-box: ∃ B : B X is an algorithm for Y Non-black-box: Algorithm for Y depends on code of algorithm for X . . . . . . Pervasive question since [ImpagliazzoRudich89] : . . . When do black-box constructions exist? . . . . . .

  5. black-box reductions . Reduction . . . X has an algorithm ⇒ Y has an algorithm Black-box: ∃ B : B X is an algorithm for Y Non-black-box: Algorithm for Y depends on code of algorithm for X . . . . . . Pervasive question since [ImpagliazzoRudich89] : . . . When do black-box constructions exist? . . . . . Black-box constructions tend to be more practical (efficient & modular). .

  6. secure computation. . . Several parties wish to carry out an agreed-upon computation. ◮ Parties have individual inputs / output ◮ Security guarantees: ◮ Privacy (learn no more than your prescribed output) ◮ Input independence ◮ Output consistency, etc.. ◮ Parties are mutually distrusting, some possibly malicious .

  7. . BB . BB ? . trapdoor function . . secure protocol for evaluating f f . Protocol can be black-box in its usage of underlying primitives! [Ishai+06, LindellPinkas07, Haitner08, IshaiPrabhakaranSahai08, Choi+09, PassWee09, ..] What about usage of f? Typical approach (since [Yao86,GMW87] ): Express f as a circuit, and evaluate it gate-by-gate — non-black-box! black-box secure computation . Typical theorem statement: . . . If trapdoor functions exist, then for every f , there is a secure (in some model) protocol for evaluating f . . . . . . .

  8. BB . . BB ? Protocol can be black-box in its usage of underlying primitives! [Ishai+06, LindellPinkas07, Haitner08, IshaiPrabhakaranSahai08, Choi+09, PassWee09, ..] What about usage of f? Typical approach (since [Yao86,GMW87] ): Express f as a circuit, and evaluate it gate-by-gate — non-black-box! black-box secure computation . Typical theorem statement: . . . If trapdoor functions exist, then for every f , there is a secure (in some model) protocol for evaluating f . . . . . . . trapdoor function . . secure protocol for evaluating f f . .

  9. BB ? . What about usage of f? Typical approach (since [Yao86,GMW87] ): Express f as a circuit, and evaluate it gate-by-gate — non-black-box! black-box secure computation . Typical theorem statement: . . . If trapdoor functions exist, then for every f , there is a secure (in some model) protocol for evaluating f . . . . . . . . BB � trapdoor function . . secure protocol for evaluating f f . Protocol can be black-box in its usage of underlying primitives! ◮ [Ishai+06, LindellPinkas07, Haitner08, IshaiPrabhakaranSahai08, Choi+09, PassWee09, ..] .

  10. black-box secure computation . Typical theorem statement: . . . If trapdoor functions exist, then for every f , there is a secure (in some model) protocol for evaluating f . . . . . . . . BB � trapdoor function . . secure protocol for evaluating f f . . BB ? Protocol can be black-box in its usage of underlying primitives! ◮ [Ishai+06, LindellPinkas07, Haitner08, IshaiPrabhakaranSahai08, Choi+09, PassWee09, ..] What about usage of f? Typical approach (since [Yao86,GMW87] ): ◮ Express f as a circuit, and evaluate it gate-by-gate — non-black-box! .

  11. the model .

  12. If protocol uses trusted setup, then same setup for all f ! FBB secure evaluation of is trivial if: (protocol could “know” code of f ) is exactly learnable via oracle queries (learn code of f , then proceed in non-black-box way) the model (2-party SFE) Let C be a class of 2-input functions. . Definition . . . Functionality-black-box (FBB) secure evaluation of C means: ◮ ∃ oracle machines π A , π B : ◮ ∀ f ∈ C : ◮ π f A ( x ) ⇄ π f B ( y ) is a secure protocol for evaluating f ( x , y ) . . . . . .

  13. FBB secure evaluation of is trivial if: (protocol could “know” code of f ) is exactly learnable via oracle queries (learn code of f , then proceed in non-black-box way) the model (2-party SFE) Let C be a class of 2-input functions. . Definition . . . Functionality-black-box (FBB) secure evaluation of C means: ◮ ∃ oracle machines π A , π B : ◮ ∀ f ∈ C : ◮ π f A ( x ) ⇄ π f B ( y ) is a secure protocol for evaluating f ( x , y ) If protocol uses trusted setup, then same setup for all f ∈ C ! . . . . . .

  14. the model (2-party SFE) Let C be a class of 2-input functions. . Definition . . . Functionality-black-box (FBB) secure evaluation of C means: ◮ ∃ oracle machines π A , π B : ◮ ∀ f ∈ C : ◮ π f A ( x ) ⇄ π f B ( y ) is a secure protocol for evaluating f ( x , y ) If protocol uses trusted setup, then same setup for all f ∈ C ! . . . . . FBB secure evaluation of C is trivial if: ◮ |C| = 1 (protocol could “know” code of f ) ◮ C is exactly learnable via oracle queries (learn code of f , then proceed in non-black-box way) .

  15. autoreducibility .

  16. . Basic Definition . . . L is autoreducible if there exists efficient M : 1. M L x L x 2. M doesn’t simply query its oracle on x . . . . . autoreducibility How much “structure” does a set/function L have? .

  17. autoreducibility How much “structure” does a set/function L have? . Basic Definition . . . L is autoreducible if there exists efficient M : 1. M L ( x ) = L ( x ) 2. M doesn’t simply query its oracle on x . . . . . .

  18. dlog g x : // find d such that g d x ord g . 1. Choose a n , where n g a 2. Output: dlog g x a (mod n) . “Instance-hiding” autoreducible [BeaverFeigenbaum90] . . . Oracle queries of M L x distributed independent of x . . . . . . autoreducibility examples Discrete log problem in � g � is autoreducible: .

  19. . “Instance-hiding” autoreducible [BeaverFeigenbaum90] . . . Oracle queries of M L x distributed independent of x . . . . . . autoreducibility examples Discrete log problem in � g � is autoreducible: dlog g ( x ) : // find d such that g d = x 1. Choose a ← Z n , where n = ord ( g ) . 2. Output: dlog g ( x · g a ) − a (mod n) .

  20. . “Instance-hiding” autoreducible [BeaverFeigenbaum90] . . . Oracle queries of M L x distributed independent of x . . . . . . autoreducibility examples Discrete log problem in � g � is autoreducible: dlog g ( x ) : // find d such that g d = x 1. Choose a ← Z n , where n = ord ( g ) . 2. Output: dlog g ( x · g a ) − a (mod n) .

  21. autoreducibility examples Discrete log problem in � g � is instance-hiding autoreducible: dlog g ( x ) : // find d such that g d = x 1. Choose a ← Z n , where n = ord ( g ) . 2. Output: dlog g ( x · g a ) − a (mod n) . “Instance-hiding” autoreducible [BeaverFeigenbaum90] . . . Oracle queries of M L ( x ) distributed independent of x . . . . . . .

  22. semi-honest adversaries .

  23. 2. M ’s queries to left oracle “don’t depend on” y 3. M ’s queries to right oracle “don’t depend on” x Discussion: Same M must work for every f . Distinction between x and y . . Theorem . . . FBB secure computation of is possible in ot -hybrid (against semi-honest adversaries) if and only if is 2-hiding autoreducible . . . . . characterization . Definition . . . A class C is 2-hiding autoreducible if there exists efficient M : 1. M f , f ( x , y ) = f ( x , y ) , for all f ∈ C . . . . . .

  24. Discussion: Same M must work for every f . Distinction between x and y . . Theorem . . . FBB secure computation of is possible in ot -hybrid (against semi-honest adversaries) if and only if is 2-hiding autoreducible . . . . . characterization . Definition . . . A class C is 2-hiding autoreducible if there exists efficient M : 1. M f , f ( x , y ) = f ( x , y ) , for all f ∈ C 2. M ’s queries to left oracle “don’t depend on” y 3. M ’s queries to right oracle “don’t depend on” x . . . . . .

  25. . Theorem . . . FBB secure computation of is possible in ot -hybrid (against semi-honest adversaries) if and only if is 2-hiding autoreducible . . . . . characterization . Definition . . . A class C is 2-hiding autoreducible if there exists efficient M : 1. M f , f ( x , y ) = f ( x , y ) , for all f ∈ C 2. M ’s queries to left oracle “don’t depend on” y 3. M ’s queries to right oracle “don’t depend on” x . . . . . Discussion: ◮ Same M must work for every f ∈ C . ◮ Distinction between x and y . .

Recommend


More recommend