flâneur — a map of the web's best reading

Indistinguishability obfuscation

en.wikipedia.org · 2,728 words · saved by 1 readers

In cryptography, indistinguishability obfuscation (abbreviated IO or iO) is a type of software obfuscation with the defining property that obfuscating any two programs that compute the same mathematical function results in programs that cannot be distinguished from each other. Informally, such obfuscation hides the implementation of a program while still allowing users to run it. Formally, IO satisfies the property that obfuscations of two circuits of the same size which implement the same function are computationally indistinguishable.Indistinguishability obfuscation has several interesting theoretical properties. Firstly, iO is the "best-possible" obfuscation (in the sense that any secret about a program that can be hidden by any obfuscator at all can also be hidden by iO). Secondly, iO can be used to construct nearly the entire gamut of cryptographic primitives, including both mundane ones such as public-key cryptography and more exotic ones such as deniable encryption and functional encryption (which are types of cryptography that no-one previously knew how to construct), but with the notable exception of collision-resistant hash function families. For this reason, it has been referred to as "crypto-complete". Lastly, unlike many other kinds of cryptography, indistinguishability obfuscation continues to exist even if P=NP (though it would have to be constructed differently in this case), though this does not necessarily imply that iO exists unconditionally.

Indistinguishability obfuscation - Wikipedia Jump to content From Wikipedia, the free encyclopedia Type of cryptographic software obfuscation This article may be too technical for most readers to understand . Please help improve it to make it understandable to non-experts , without removing the technical details. ( May 2021 ) ( Learn how and when to remove this message ) In cryptography , indistinguishability obfuscation (abbreviated IO or iO ) is a type of software obfuscation with the defining property that obfuscating any two programs that compute the same mathematical function results in p

Explore this link on the map →

related reading