On the Impossibility of Approximate Obfuscation

Download Report

Transcript On the Impossibility of Approximate Obfuscation

Nir Bitansky and Omer Paneth

Program Obfuscation

๐‘ฅ Compute ๐‘“ ๐‘ ๐‘˜ (๐‘ฅ) ๐‘ฆ = ๐‘“ ๐‘ ๐‘˜ (๐‘ฅ)

Program Obfuscation

๐‘ฅ ๐‘ฆ = ๐‘“ ๐‘ ๐‘˜ (๐‘ฅ)

Program Obfuscation

๐‘ฅ If ๐‘ฅ Sign email ๐‘ฅ with ๐‘ ๐‘˜ starts with โ€œomer@bu.eduโ€ ๐‘ฆ = ๐œŽ(๐‘ฅ) /โŠฅ

Virtual Black-Box

[ Barak-Goldreich-Impagliazzo-Rudich-Sahai-Vadhan-Yang 01] ๐’ช ๐‘ ๐‘˜ is an obfuscation of ๐‘“ ๐‘ ๐‘˜ : - Functionality: โˆ€๐‘ฅ, ๐’ช ๐‘ ๐‘˜ ๐‘ฅ = ๐‘“ ๐‘ ๐‘˜ ๐‘ฅ - Security: ๐‘“ ๐‘ ๐‘˜ ๐’ช ๐‘ ๐‘˜ ๐ด โ‰ˆ ๐‘†

Impossibility of Obfuscation There exist families of functions that cannot be obfuscated [Barak-Goldreich-Impagliazzo-Rudich-Sahai-Vadhan-Yang 01]

Relaxed Security

[Barak et al. 01, Goldwasser-Rothblum07, Hofheinz-Malone-Lee-Stam07, Hohenberger-Rothblum-Shelat-Vaikuntanathan07, Bitansky-Canetti10] - Functionality: โˆ€๐‘ฅ, ๐’ช ๐‘ ๐‘˜ ๐‘ฅ = ๐‘“ ๐‘ ๐‘˜ ๐‘ฅ - Security: ๐‘“ ๐‘ ๐‘˜ ๐’ช ๐‘ ๐‘˜ ๐ด โ‰ˆ ๐‘†

Relaxed Functionality?

- Functionality: โˆ€๐‘ฅ, ๐’ช ๐‘ ๐‘˜ ๐‘ฅ = ๐‘“ ๐‘ ๐‘˜ ๐‘ฅ - Security: ๐‘“ ๐‘ ๐‘˜ ๐’ช ๐‘ ๐‘˜ ๐ด โ‰ˆ ๐‘†

Approximate Obfuscation [ Barak-Goldreich-Impagliazzo-Rudich-Sahai-Vadhan-Yang 01] ๐’ช ๐‘ ๐‘˜ is an approximate obfuscation of ๐‘“ ๐‘ ๐‘˜ : - Functionality: Pr ๐‘ฅโ†๐‘ˆ - Security: ๐’ช ๐‘ ๐‘˜ ๐‘ฅ = ๐‘“ ๐‘ ๐‘˜ ๐‘ฅ ๐‘“ ๐‘ ๐‘˜ ๐’ช ๐‘ ๐‘˜ ๐ด โ‰ˆ ๐‘† > 0.9

Main Result Assuming trapdoor permutations, there exist families of functions that cannot be approximately obfuscated Motivation?

Positive applications

From Impossibility to Applications Impossibility of approximate obfuscation Non-black-box extraction ๐‘ ๐‘˜ Zero-knowledge with ๐‘ฅ ๐ด ๐‘ ๐‘˜ resettable security Worst-case ๐‘“ ๐‘ ๐‘˜ (๐‘ฅ) extractable signatures

Plan

[BGIRSVY 01]: Impossibility of Obfuscation This work: Impossibility of Approximate Obfuscation Unobfuscatable Functions Robust Unobfuscatable Functions Applications

Unobfuscatable Functions From Barak et al.

๐‘“ ๐‘ ๐‘˜ 1. Black-box unlearnability: โˆ€ efficient ๐ด, ๐‘ ๐‘˜ โ† ๐‘ˆ : ๐ด 2. Extraction: โˆƒ efficient ๐ธ, โˆ€๐’ช, ๐‘ ๐‘˜: ๐‘ ๐‘˜ Pr ๐‘ฅโ†๐‘ˆ ๐’ช ๐‘ฅ = ๐‘“ ๐‘ ๐‘˜ ๐‘ฅ = 1 โ‡’ ๐’ช ๐ธ ๐‘ ๐‘˜

Robust Unobfuscatable Functions ๐‘“ ๐‘ ๐‘˜ 1. Black-box unlearnability: โˆ€ efficient ๐ด, ๐‘ ๐‘˜ โ† ๐‘ˆ : ๐ด ๐‘ ๐‘˜ 2. Robust extraction: โˆƒ efficient ๐ธ, โˆ€๐’ช, ๐‘ ๐‘˜: Pr ๐‘ฅโ†๐‘ˆ ๐’ช ๐‘ฅ = ๐‘“ ๐‘ ๐‘˜ ๐‘ฅ > 0.9

โ‡’ ๐’ช ๐ธ ๐‘ ๐‘˜

Robust Unobfuscatable Functions ๐’ช 90% โ‰ˆ ๐‘“ ๐‘ ๐‘˜ ๐’ช ๐ธ ๐ด ๐‘ ๐‘˜ โ‰ˆ ๐‘† ๐‘“ ๐‘ ๐‘˜ ๐‘ ๐‘˜

RUFs Construction

Unobfuscatable Functions Construction of Barak et al. (using FHE for simplicity) ๐‘“ ๐‘Ž,๐‘,๐‘ ๐‘˜ ๐‘ฅ : ๐‘Ž, ๐‘ ๐‘ ๐‘˜ โ€“ two ๐‘› -bit strings - secret key for FHE

Unobfuscatable Functions 0 ๐‘› ๐‘“ ๐ธ๐‘›๐‘ ๐‘Ž ๐‘Ž ๐ธ๐‘›๐‘ b ๐‘“ ๐‘ ๐‘“ ๐‘“ ๐‘Ž,๐‘,๐‘ ๐‘˜ (๐‘ฅ) = ๐‘ Enc ๐‘ ๐‘˜ (๐‘Ž) ๐‘ โŠฅ ๐‘ฅ = ๐‘Ž ๐‘ฅ = 0 ๐‘› Dec ๐‘ ๐‘˜ (๐‘ฅ) = ๐‘ o.w.

Black-Box Unlearnability 0 ๐‘› ๐‘“ ๐ธ๐‘›๐‘ ๐‘Ž ๐‘Ž ๐ธ๐‘›๐‘ b ๐‘“ ๐‘ ๐‘“ ๐‘“ ๐ด ๐‘

Extraction 0 ๐‘› ๐ถ ๐ธ๐‘›๐‘ ๐‘Ž ๐‘Ž ๐ธ๐‘ฃ๐‘Ž๐‘™(๐ถ) ๐ธ๐‘›๐‘ b ๐ถ ๐‘ ๐ถ โ‰ก ๐‘“ ๐ธ ๐‘

Robust Extraction?

0 ๐‘› ๐ธ๐‘›๐‘ ๐‘Ž ๐ถ โˆ— ๐ธ๐‘›๐‘ b ๐ถ โˆ— ๐‘Ž ๐‘ ๐ถ โˆ— ๐ธ ๐‘ ๐ถ โˆ— (๐‘ฅ) = โŠฅ ๐ธ๐‘›๐‘ ๐‘ ๐‘˜ (๐‘Ž) ๐‘ โŠฅ ๐‘ฅ = ๐‘Ž ๐‘ฅ = 0 ๐‘› ๐ท๐‘’๐‘ ๐‘ ๐‘˜ (๐‘ฅ) = ๐‘ ๐‘œ. ๐‘ค.

A Taste of the Construction ๐‘“ ๐‘Ž,๐‘ (๐‘ฅ) = ๐‘ โŠฅ ๐‘ฅ = ๐‘Ž ๐‘œ. ๐‘ค.

Q: Find ๐‘” such that: ๐‘” with 10% errors Randomly reduce ๐‘“ to ๐‘” ๐‘“ a,b

Getting Robustness

๐‘“ ๐‘Ž,๐‘ (๐‘ฅ) = ๐‘ โŠฅ ๐‘ฅ = ๐‘Ž ๐‘œ. ๐‘ค.

๐‘” ๐‘Ž,๐‘,๐‘˜ ๐‘ฅ = ๐‘ โŠ• PRF ๐‘˜ ๐‘ฅ โ„Ž ๐‘Ž,๐‘,๐‘˜ ๐‘ฅ = PRF ๐‘˜ ๐‘Ž โŠ• ๐‘ฅ

๐‘Ž ๐‘Ÿ โ† ๐‘ˆ ๐‘Ÿ ๐‘Ž โŠ• ๐‘Ÿ ๐‘” โ„Ž ๐‘ โŠ• PRF(๐‘Ÿ) PRF(๐‘Ÿ) โŠ• ๐‘“ ๐‘ (๐‘ค. ๐‘. 0.8) ๐‘”, โ„Ž with 10% errors ๐‘“ a,b ๐‘” ๐‘Ž,๐‘,๐‘˜ ๐‘ฅ = ๐‘ โŠ• PRF ๐‘˜ ๐‘ฅ โ„Ž ๐‘Ž,๐‘,๐‘˜ ๐‘ฅ = PRF ๐‘˜ ๐‘Ž โŠ• ๐‘ฅ

๐ด ๐‘”, โ„Ž ๐‘ queries ๐‘” queries โ„Ž on ๐‘ฅ and on ๐‘Ž โŠ• ๐‘ฅ ๐‘Ž ๐‘”, โ„Ž ๐‘“ a,b ๐‘” ๐‘Ž,๐‘,๐‘˜ ๐‘ฅ = ๐‘ โŠ• PRF ๐‘˜ ๐‘ฅ โ„Ž ๐‘Ž,๐‘,๐‘˜ ๐‘ฅ = PRF ๐‘˜ ๐‘Ž โŠ• ๐‘ฅ

Construction of RUFs

๐‘“ ๐‘Ž,๐‘,๐‘ ๐‘˜ (๐‘ฅ) = ๐‘ ๐ธ๐‘›๐‘ ๐‘ ๐‘˜ (๐‘Ž) ๐‘ โŠฅ ๐‘ฅ = ๐‘Ž ๐‘ฅ = 0 ๐‘› ๐ท๐‘’๐‘ ๐‘ ๐‘˜ (๐‘ฅ) = ๐‘ ๐‘œ. ๐‘ค.

Assumptions

โ€ข RUFs from trapdoor permutations. โ€ข Weak RUFs from OWF only: โˆ€๐‘ฅ: ๐’ช ๐‘ฅ โˆˆ ๐‘“ ๐‘ ๐‘˜ ๐‘ฅ , โŠฅ ๐’ช ๐ธ ๐‘ ๐‘˜

Applications

Publicly-Verifiable RUOFs ๐‘ ๐‘˜, ๐‘ฃ๐‘˜ โ† Gen() Ver ๐‘ฃ๐‘˜ ๐‘ฅ, ๐‘ฆ = 1 iff ๐‘ฆ = ๐‘“ ๐‘ ๐‘˜ (๐‘ฅ) ๐‘ฃ๐‘˜ ๐‘“ ๐‘ ๐‘˜ ๐ด ๐‘ ๐‘˜, ๐‘ฃ๐‘˜ โ† Gen() ๐‘ ๐‘˜ ๐‘ฃ๐‘˜ ๐’ช ๐ธ ๐‘ ๐‘˜ Pr ๐‘ฅโ†๐‘ˆ Ver ๐‘ฃ๐‘˜ ๐‘ฅ, ๐’ช ๐‘ฅ = 1 > 1 poly(๐‘›)

Resettably-Sound ZK

[Micali-Reyzin 01, Barak-Goldreich-Goldwasser-Lindell 01] ๐‘ฅ โˆˆ โ„’?

Standard ZK ๐’ซ ๐’ฑ Resettable Soundness

Resettable Soundness

[Micali-Reyzin 01, Barak-Goldreich-Goldwasser-Lindell 01] ๐‘ฅ โˆ‰ โ„’ ๐’ซ โˆ— ๐’ฑ

Resettable Soundness

[Micali-Reyzin 01, Barak-Goldreich-Goldwasser-Lindell 01] ๐’ซ โˆ— ๐’ฑ ๐‘ฅ โˆ‰ โ„’ ๐’ฑ

No Black-Box Simulator

[Barak-Goldreich-Goldwasser-Lindell 01] Resettable soundness Zero-knowledge (black-box simulator) ๐’ฑ โˆ— ๐’ซ โˆ— ๐’ฑ ๐’ฑ ๐’ฎ

Resettably-Sound ZK

[Barak-Goldreich-Goldwasser-Lindell 01, BP 12, Chung-Pass-Seth 13] Resettable soundness Zero-knowledge (non-black-box simulator) ๐’ซ โˆ— ๐’ฑ ๐’ฑ ๐’ฑ โˆ— ๐’ฎ

Resettably-Sound ZK

๐‘ฃ๐‘˜ ๐‘ฅ โ† ๐‘ˆ ๐‘“ ๐‘ ๐‘˜ (๐‘ฅ) ๐’ซ ๐‘ ๐‘˜, ๐‘ฃ๐‘˜ ๐’ฑ Witness indistinguishable proof: ๐‘ฅ โˆˆ โ„’

or

๐’ซ โ€œknowsโ€ ๐‘ ๐‘˜

Resettably-Sound ZK

๐‘ฃ๐‘˜ ๐‘ฅ ๐‘“ ๐‘ ๐‘˜ (๐‘ฅ) ๐’ซ ๐‘ ๐‘˜, ๐‘ฃ๐‘˜ ๐’ฑ Witness indistinguishable proof: ๐‘ฅ โˆˆ โ„’

or

๐’ซ โ€œknowsโ€ ๐‘ ๐‘˜

Analysis

Resettable soundness ๐’ซ โˆ— ๐‘“ ๐‘ ๐‘˜ ๐‘ฅ ๐‘“ ๐‘ ๐‘˜ (๐‘ฅ) ๐’ฑ ๐‘ ๐‘˜ Zero-knowledge ๐’ฑ โˆ— โ‰ˆ ๐‘“ ๐‘ ๐‘˜ ๐’ฑ โˆ— 1 p ๐‘› ๐ธ ๐‘ ๐‘˜

More Resettable Crypto

โ€ข Resettably-sound ZK from OWFs (Different approach from Chung-Pass-Seth 13) โ€ข Simultaneously-resettable ZK from OWFs (using srWI by Chung-Ostrovsky-Pass-Visconti 13) โ€ข 4-message resettably-sound ZK โ€ข 3-message simultaneously-resettable WI proof of knowledge

Worst-Case Extractable Signatures Digital Signatures: โˆ€๐‘ ๐‘˜, ๐‘ฃ๐‘˜ Sign ๐‘ ๐‘˜ ๐‘ฃ๐‘˜ Sign ๐‘ ๐‘˜ ๐ด ๐‘š, ๐œŽ ๐‘š , ๐‘š โˆ‰ ๐‘š ๐‘–

Worst-Case Extractable Signatures For every ๐‘ ๐‘˜, ๐‘ฃ๐‘˜: ๐ด ๐ด breaks security for ๐‘ ๐‘˜, ๐‘ฃ๐‘˜ โŸน ๐ธ ๐‘ ๐‘˜

}

Thank You.

๏‚– #define _ -F<00||--F-OO--; int F=00,OO=00;main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO(){

_-_-_-_ _-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_ _-_-_-_

IOCCC 88