On Best-Possible Obfuscation

An obfuscator is a compiler that transforms any program (which we will view in this work as a boolean circuit) into an obfuscated program (also a circuit) that has the same input-output functionality as the original program, but is “unintelligible”. Obfuscation has applications for cryptography and...

Full description

Bibliographic Details
Main Authors: Goldwasser, Shafrira, Rothblum, Guy N.
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:English
Published: Springer Science and Business Media LLC 2021
Online Access:https://hdl.handle.net/1721.1/129413
_version_ 1826215221931278336
author Goldwasser, Shafrira
Rothblum, Guy N.
author2 Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
author_facet Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Goldwasser, Shafrira
Rothblum, Guy N.
author_sort Goldwasser, Shafrira
collection MIT
description An obfuscator is a compiler that transforms any program (which we will view in this work as a boolean circuit) into an obfuscated program (also a circuit) that has the same input-output functionality as the original program, but is “unintelligible”. Obfuscation has applications for cryptography and for software protection. Barak et al. (CRYPTO 2001, pp. 1–18, 2001) initiated a theoretical study of obfuscation, which focused on black-box obfuscation, where the obfuscated circuit should leak no information except for its (black-box) input-output functionality. A family of functionalities that cannot be obfuscated was demonstrated. Subsequent research has showed further negative results as well as positive results for obfuscating very specific families of circuits, all with respect to black box obfuscation. This work is a study of a new notion of obfuscation, which we call best-possible obfuscation. Best possible obfuscation makes the relaxed requirement that the obfuscated program leaks as little information as any other program with the same functionality (and of similar size). In particular, this definition allows the program to leak information that cannot be obtained from a black box. Best-possible obfuscation guarantees that any information that is not hidden by the obfuscated program is also not hidden by any other similar-size program computing the same functionality, and thus the obfuscation is (literally) the best possible. In this work we study best-possible obfuscation and its relationship to previously studied definitions. Our main results are: (1) A separation between black-box and best-possible obfuscation. We show a natural obfuscation task that can be achieved under the best-possible definition, but cannot be achieved under the black-box definition. (2) A hardness result for best-possible obfuscation, showing that strong (information-theoretic) best-possible obfuscation implies a collapse in the Polynomial-Time Hierarchy. (3) An impossibility result for efficient best-possible (and black-box) obfuscation in the presence of random oracles. This impossibility result uses a random oracle to construct hard-to-obfuscate circuits, and thus it does not imply impossibility in the standard model.
first_indexed 2024-09-23T16:19:21Z
format Article
id mit-1721.1/129413
institution Massachusetts Institute of Technology
language English
last_indexed 2024-09-23T16:19:21Z
publishDate 2021
publisher Springer Science and Business Media LLC
record_format dspace
spelling mit-1721.1/1294132022-10-02T07:43:50Z On Best-Possible Obfuscation Goldwasser, Shafrira Rothblum, Guy N. Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory An obfuscator is a compiler that transforms any program (which we will view in this work as a boolean circuit) into an obfuscated program (also a circuit) that has the same input-output functionality as the original program, but is “unintelligible”. Obfuscation has applications for cryptography and for software protection. Barak et al. (CRYPTO 2001, pp. 1–18, 2001) initiated a theoretical study of obfuscation, which focused on black-box obfuscation, where the obfuscated circuit should leak no information except for its (black-box) input-output functionality. A family of functionalities that cannot be obfuscated was demonstrated. Subsequent research has showed further negative results as well as positive results for obfuscating very specific families of circuits, all with respect to black box obfuscation. This work is a study of a new notion of obfuscation, which we call best-possible obfuscation. Best possible obfuscation makes the relaxed requirement that the obfuscated program leaks as little information as any other program with the same functionality (and of similar size). In particular, this definition allows the program to leak information that cannot be obtained from a black box. Best-possible obfuscation guarantees that any information that is not hidden by the obfuscated program is also not hidden by any other similar-size program computing the same functionality, and thus the obfuscation is (literally) the best possible. In this work we study best-possible obfuscation and its relationship to previously studied definitions. Our main results are: (1) A separation between black-box and best-possible obfuscation. We show a natural obfuscation task that can be achieved under the best-possible definition, but cannot be achieved under the black-box definition. (2) A hardness result for best-possible obfuscation, showing that strong (information-theoretic) best-possible obfuscation implies a collapse in the Polynomial-Time Hierarchy. (3) An impossibility result for efficient best-possible (and black-box) obfuscation in the presence of random oracles. This impossibility result uses a random oracle to construct hard-to-obfuscate circuits, and thus it does not imply impossibility in the standard model. NSF (Grants CNS-0430450, CFF-0635297) 2021-01-13T21:14:53Z 2021-01-13T21:14:53Z 2013-05 2007-07 2019-05-29T15:10:37Z Article http://purl.org/eprint/type/JournalArticle 0933-2790 1432-1378 https://hdl.handle.net/1721.1/129413 Goldwasser, Shafi and Guy N. Rothblum. "On Best-Possible Obfuscation." Journal of Cryptology 27, 3 (July 2014): 480–505 © 2013 International Association for Cryptologic Research en http://dx.doi.org/10.1007/s00145-013-9151-z Journal of Cryptology Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf Springer Science and Business Media LLC Other repository
spellingShingle Goldwasser, Shafrira
Rothblum, Guy N.
On Best-Possible Obfuscation
title On Best-Possible Obfuscation
title_full On Best-Possible Obfuscation
title_fullStr On Best-Possible Obfuscation
title_full_unstemmed On Best-Possible Obfuscation
title_short On Best-Possible Obfuscation
title_sort on best possible obfuscation
url https://hdl.handle.net/1721.1/129413
work_keys_str_mv AT goldwassershafrira onbestpossibleobfuscation
AT rothblumguyn onbestpossibleobfuscation