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 . .

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend