On the (Im)possibility of Obfuscating Programs
Informally, an obfuscator O is an (efficient, probabilistic) “compiler” that takes as input a program (or circuit) P and produces a new program O ( P ) that has the same functionality as P yet is “unintelligible” in some sense. Obfuscators, if they exist, would have a wide variety of cryptographic a...
Gespeichert in:
Veröffentlicht in: | Journal of the ACM 2012-04, Vol.59 (2), p.1-48 |
---|---|
Hauptverfasser: | , , , , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 48 |
---|---|
container_issue | 2 |
container_start_page | 1 |
container_title | Journal of the ACM |
container_volume | 59 |
creator | BARAK, Boaz GOLDREICH, Oded IMPAGLIAZZO, Russell RUDICH, Steven SAHAI, Amit VADHAN, Salil KE YANG |
description | Informally, an
obfuscator
O
is an (efficient, probabilistic) “compiler” that takes as input a program (or circuit)
P
and produces a new program
O
(
P
) that has the same functionality as
P
yet is “unintelligible” in some sense. Obfuscators, if they exist, would have a wide variety of cryptographic and complexity-theoretic applications, ranging from software protection to homomorphic encryption to complexity-theoretic analogues of Rice's theorem. Most of these applications are based on an interpretation of the “unintelligibility” condition in obfuscation as meaning that
O
(
P
) is a “virtual black box,” in the sense that anything one can efficiently compute given
O
(
P
), one could also efficiently compute given oracle access to
P
.
In this work, we initiate a theoretical investigation of obfuscation. Our main result is that, even under very weak formalizations of the above intuition, obfuscation is impossible. We prove this by constructing a family of efficient programs
P
that are
unobfuscatable
in the sense that (a) given
any
efficient program
P
' that computes the same function as a program
P
∈
p
, the “source code”
P
can be efficiently reconstructed, yet (b) given
oracle access
to a (randomly selected) program
P
∈
p
, no efficient algorithm can reconstruct
P
(or even distinguish a certain bit in the code from random) except with negligible probability.
We extend our impossibility result in a number of ways, including even obfuscators that (a) are not necessarily computable in polynomial time, (b) only approximately preserve the functionality, and (c) only need to work for very restricted models of computation (
TC
0
). We also rule out several potential applications of obfuscators, by constructing “unobfuscatable” signature schemes, encryption schemes, and pseudorandom function families. |
doi_str_mv | 10.1145/2160158.2160159 |
format | Article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_1671561706</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2715082451</sourcerecordid><originalsourceid>FETCH-LOGICAL-c439t-2d0bbc541258cddd45ecbcadc9af08c6a00a5a91992fd8a19ded4b82adb922a73</originalsourceid><addsrcrecordid>eNpdkM1Lw0AQxRdRsFbPXgMi1EPS2U12kz1K8aNQqAcFb2GyHzUlH3U3OfS_d6XBg6fHwO-9mXmE3FJIKM34klEBlBfJSeUZmVHO8zhP-ec5mQFAFvOM0kty5f0-jMAgn5Fk20XDl4kW6_bh0HtfV3VTD8eot9G2sqNXONTdLnpz_c5h66_JhcXGm5tJ5-Tj-el99Rpvti_r1eMmVlkqh5hpqCoV1jFeKK11xo2qFGol0UKhBAIgR0mlZFYXSKU2OqsKhrqSjGGezsnilHtw_fdo_FC2tVemabAz_ehLKnLKBc1BBPTuH7rvR9eF60oKTEgmGBSBWp4o5cKXztjy4OoW3TFA5W9_5dTfpDI47qdcDC001mGnav9nY1wKmTJIfwB0Km3S</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>1026926208</pqid></control><display><type>article</type><title>On the (Im)possibility of Obfuscating Programs</title><source>ACM Digital Library Complete</source><creator>BARAK, Boaz ; GOLDREICH, Oded ; IMPAGLIAZZO, Russell ; RUDICH, Steven ; SAHAI, Amit ; VADHAN, Salil ; KE YANG</creator><creatorcontrib>BARAK, Boaz ; GOLDREICH, Oded ; IMPAGLIAZZO, Russell ; RUDICH, Steven ; SAHAI, Amit ; VADHAN, Salil ; KE YANG</creatorcontrib><description>Informally, an
obfuscator
O
is an (efficient, probabilistic) “compiler” that takes as input a program (or circuit)
P
and produces a new program
O
(
P
) that has the same functionality as
P
yet is “unintelligible” in some sense. Obfuscators, if they exist, would have a wide variety of cryptographic and complexity-theoretic applications, ranging from software protection to homomorphic encryption to complexity-theoretic analogues of Rice's theorem. Most of these applications are based on an interpretation of the “unintelligibility” condition in obfuscation as meaning that
O
(
P
) is a “virtual black box,” in the sense that anything one can efficiently compute given
O
(
P
), one could also efficiently compute given oracle access to
P
.
In this work, we initiate a theoretical investigation of obfuscation. Our main result is that, even under very weak formalizations of the above intuition, obfuscation is impossible. We prove this by constructing a family of efficient programs
P
that are
unobfuscatable
in the sense that (a) given
any
efficient program
P
' that computes the same function as a program
P
∈
p
, the “source code”
P
can be efficiently reconstructed, yet (b) given
oracle access
to a (randomly selected) program
P
∈
p
, no efficient algorithm can reconstruct
P
(or even distinguish a certain bit in the code from random) except with negligible probability.
We extend our impossibility result in a number of ways, including even obfuscators that (a) are not necessarily computable in polynomial time, (b) only approximately preserve the functionality, and (c) only need to work for very restricted models of computation (
TC
0
). We also rule out several potential applications of obfuscators, by constructing “unobfuscatable” signature schemes, encryption schemes, and pseudorandom function families.</description><identifier>ISSN: 0004-5411</identifier><identifier>EISSN: 1557-735X</identifier><identifier>DOI: 10.1145/2160158.2160159</identifier><identifier>CODEN: JACOAH</identifier><language>eng</language><publisher>New York, NY: Association for Computing Machinery</publisher><subject>Algorithmics. Computability. Computer arithmetics ; Applied sciences ; Circuits ; Complexity theory ; Computer programming ; Computer programs ; Computer science; control theory; systems ; Cryptography ; Data encryption ; Encryption ; Exact sciences and technology ; Information, signal and communications theory ; Memory and file management (including protection and security) ; Memory organisation. Data processing ; Probabilistic methods ; Probability theory ; Rice ; Signal and communications theory ; Software ; Studies ; Telecommunications and information theory ; Theoretical computing</subject><ispartof>Journal of the ACM, 2012-04, Vol.59 (2), p.1-48</ispartof><rights>2014 INIST-CNRS</rights><rights>Copyright Association for Computing Machinery Apr 2012</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c439t-2d0bbc541258cddd45ecbcadc9af08c6a00a5a91992fd8a19ded4b82adb922a73</citedby><cites>FETCH-LOGICAL-c439t-2d0bbc541258cddd45ecbcadc9af08c6a00a5a91992fd8a19ded4b82adb922a73</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,776,780,27901,27902</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&idt=25969320$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><creatorcontrib>BARAK, Boaz</creatorcontrib><creatorcontrib>GOLDREICH, Oded</creatorcontrib><creatorcontrib>IMPAGLIAZZO, Russell</creatorcontrib><creatorcontrib>RUDICH, Steven</creatorcontrib><creatorcontrib>SAHAI, Amit</creatorcontrib><creatorcontrib>VADHAN, Salil</creatorcontrib><creatorcontrib>KE YANG</creatorcontrib><title>On the (Im)possibility of Obfuscating Programs</title><title>Journal of the ACM</title><description>Informally, an
obfuscator
O
is an (efficient, probabilistic) “compiler” that takes as input a program (or circuit)
P
and produces a new program
O
(
P
) that has the same functionality as
P
yet is “unintelligible” in some sense. Obfuscators, if they exist, would have a wide variety of cryptographic and complexity-theoretic applications, ranging from software protection to homomorphic encryption to complexity-theoretic analogues of Rice's theorem. Most of these applications are based on an interpretation of the “unintelligibility” condition in obfuscation as meaning that
O
(
P
) is a “virtual black box,” in the sense that anything one can efficiently compute given
O
(
P
), one could also efficiently compute given oracle access to
P
.
In this work, we initiate a theoretical investigation of obfuscation. Our main result is that, even under very weak formalizations of the above intuition, obfuscation is impossible. We prove this by constructing a family of efficient programs
P
that are
unobfuscatable
in the sense that (a) given
any
efficient program
P
' that computes the same function as a program
P
∈
p
, the “source code”
P
can be efficiently reconstructed, yet (b) given
oracle access
to a (randomly selected) program
P
∈
p
, no efficient algorithm can reconstruct
P
(or even distinguish a certain bit in the code from random) except with negligible probability.
We extend our impossibility result in a number of ways, including even obfuscators that (a) are not necessarily computable in polynomial time, (b) only approximately preserve the functionality, and (c) only need to work for very restricted models of computation (
TC
0
). We also rule out several potential applications of obfuscators, by constructing “unobfuscatable” signature schemes, encryption schemes, and pseudorandom function families.</description><subject>Algorithmics. Computability. Computer arithmetics</subject><subject>Applied sciences</subject><subject>Circuits</subject><subject>Complexity theory</subject><subject>Computer programming</subject><subject>Computer programs</subject><subject>Computer science; control theory; systems</subject><subject>Cryptography</subject><subject>Data encryption</subject><subject>Encryption</subject><subject>Exact sciences and technology</subject><subject>Information, signal and communications theory</subject><subject>Memory and file management (including protection and security)</subject><subject>Memory organisation. Data processing</subject><subject>Probabilistic methods</subject><subject>Probability theory</subject><subject>Rice</subject><subject>Signal and communications theory</subject><subject>Software</subject><subject>Studies</subject><subject>Telecommunications and information theory</subject><subject>Theoretical computing</subject><issn>0004-5411</issn><issn>1557-735X</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2012</creationdate><recordtype>article</recordtype><recordid>eNpdkM1Lw0AQxRdRsFbPXgMi1EPS2U12kz1K8aNQqAcFb2GyHzUlH3U3OfS_d6XBg6fHwO-9mXmE3FJIKM34klEBlBfJSeUZmVHO8zhP-ec5mQFAFvOM0kty5f0-jMAgn5Fk20XDl4kW6_bh0HtfV3VTD8eot9G2sqNXONTdLnpz_c5h66_JhcXGm5tJ5-Tj-el99Rpvti_r1eMmVlkqh5hpqCoV1jFeKK11xo2qFGol0UKhBAIgR0mlZFYXSKU2OqsKhrqSjGGezsnilHtw_fdo_FC2tVemabAz_ehLKnLKBc1BBPTuH7rvR9eF60oKTEgmGBSBWp4o5cKXztjy4OoW3TFA5W9_5dTfpDI47qdcDC001mGnav9nY1wKmTJIfwB0Km3S</recordid><startdate>20120401</startdate><enddate>20120401</enddate><creator>BARAK, Boaz</creator><creator>GOLDREICH, Oded</creator><creator>IMPAGLIAZZO, Russell</creator><creator>RUDICH, Steven</creator><creator>SAHAI, Amit</creator><creator>VADHAN, Salil</creator><creator>KE YANG</creator><general>Association for Computing Machinery</general><scope>IQODW</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20120401</creationdate><title>On the (Im)possibility of Obfuscating Programs</title><author>BARAK, Boaz ; GOLDREICH, Oded ; IMPAGLIAZZO, Russell ; RUDICH, Steven ; SAHAI, Amit ; VADHAN, Salil ; KE YANG</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c439t-2d0bbc541258cddd45ecbcadc9af08c6a00a5a91992fd8a19ded4b82adb922a73</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2012</creationdate><topic>Algorithmics. Computability. Computer arithmetics</topic><topic>Applied sciences</topic><topic>Circuits</topic><topic>Complexity theory</topic><topic>Computer programming</topic><topic>Computer programs</topic><topic>Computer science; control theory; systems</topic><topic>Cryptography</topic><topic>Data encryption</topic><topic>Encryption</topic><topic>Exact sciences and technology</topic><topic>Information, signal and communications theory</topic><topic>Memory and file management (including protection and security)</topic><topic>Memory organisation. Data processing</topic><topic>Probabilistic methods</topic><topic>Probability theory</topic><topic>Rice</topic><topic>Signal and communications theory</topic><topic>Software</topic><topic>Studies</topic><topic>Telecommunications and information theory</topic><topic>Theoretical computing</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>BARAK, Boaz</creatorcontrib><creatorcontrib>GOLDREICH, Oded</creatorcontrib><creatorcontrib>IMPAGLIAZZO, Russell</creatorcontrib><creatorcontrib>RUDICH, Steven</creatorcontrib><creatorcontrib>SAHAI, Amit</creatorcontrib><creatorcontrib>VADHAN, Salil</creatorcontrib><creatorcontrib>KE YANG</creatorcontrib><collection>Pascal-Francis</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Journal of the ACM</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>BARAK, Boaz</au><au>GOLDREICH, Oded</au><au>IMPAGLIAZZO, Russell</au><au>RUDICH, Steven</au><au>SAHAI, Amit</au><au>VADHAN, Salil</au><au>KE YANG</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>On the (Im)possibility of Obfuscating Programs</atitle><jtitle>Journal of the ACM</jtitle><date>2012-04-01</date><risdate>2012</risdate><volume>59</volume><issue>2</issue><spage>1</spage><epage>48</epage><pages>1-48</pages><issn>0004-5411</issn><eissn>1557-735X</eissn><coden>JACOAH</coden><abstract>Informally, an
obfuscator
O
is an (efficient, probabilistic) “compiler” that takes as input a program (or circuit)
P
and produces a new program
O
(
P
) that has the same functionality as
P
yet is “unintelligible” in some sense. Obfuscators, if they exist, would have a wide variety of cryptographic and complexity-theoretic applications, ranging from software protection to homomorphic encryption to complexity-theoretic analogues of Rice's theorem. Most of these applications are based on an interpretation of the “unintelligibility” condition in obfuscation as meaning that
O
(
P
) is a “virtual black box,” in the sense that anything one can efficiently compute given
O
(
P
), one could also efficiently compute given oracle access to
P
.
In this work, we initiate a theoretical investigation of obfuscation. Our main result is that, even under very weak formalizations of the above intuition, obfuscation is impossible. We prove this by constructing a family of efficient programs
P
that are
unobfuscatable
in the sense that (a) given
any
efficient program
P
' that computes the same function as a program
P
∈
p
, the “source code”
P
can be efficiently reconstructed, yet (b) given
oracle access
to a (randomly selected) program
P
∈
p
, no efficient algorithm can reconstruct
P
(or even distinguish a certain bit in the code from random) except with negligible probability.
We extend our impossibility result in a number of ways, including even obfuscators that (a) are not necessarily computable in polynomial time, (b) only approximately preserve the functionality, and (c) only need to work for very restricted models of computation (
TC
0
). We also rule out several potential applications of obfuscators, by constructing “unobfuscatable” signature schemes, encryption schemes, and pseudorandom function families.</abstract><cop>New York, NY</cop><pub>Association for Computing Machinery</pub><doi>10.1145/2160158.2160159</doi><tpages>48</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0004-5411 |
ispartof | Journal of the ACM, 2012-04, Vol.59 (2), p.1-48 |
issn | 0004-5411 1557-735X |
language | eng |
recordid | cdi_proquest_miscellaneous_1671561706 |
source | ACM Digital Library Complete |
subjects | Algorithmics. Computability. Computer arithmetics Applied sciences Circuits Complexity theory Computer programming Computer programs Computer science control theory systems Cryptography Data encryption Encryption Exact sciences and technology Information, signal and communications theory Memory and file management (including protection and security) Memory organisation. Data processing Probabilistic methods Probability theory Rice Signal and communications theory Software Studies Telecommunications and information theory Theoretical computing |
title | On the (Im)possibility of Obfuscating Programs |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-10T00%3A25%3A00IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=On%20the%20(Im)possibility%20of%20Obfuscating%20Programs&rft.jtitle=Journal%20of%20the%20ACM&rft.au=BARAK,%20Boaz&rft.date=2012-04-01&rft.volume=59&rft.issue=2&rft.spage=1&rft.epage=48&rft.pages=1-48&rft.issn=0004-5411&rft.eissn=1557-735X&rft.coden=JACOAH&rft_id=info:doi/10.1145/2160158.2160159&rft_dat=%3Cproquest_cross%3E2715082451%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=1026926208&rft_id=info:pmid/&rfr_iscdi=true |