How to construct random functions
Journal of the ACM (JACM)
The knowledge complexity of interactive proof-systems
STOC '85 Proceedings of the seventeenth annual ACM symposium on Theory of computing
On the Composition of Zero-Knowledge Proof Systems
SIAM Journal on Computing
Software protection and simulation on oblivious RAMs
Journal of the ACM (JACM)
Modern Cryptography, Probabilistic Proofs, and Pseudorandomness
Modern Cryptography, Probabilistic Proofs, and Pseudorandomness
Introduction To Automata Theory, Languages, And Computation
Introduction To Automata Theory, Languages, And Computation
On the Existence of 3-Round Zero-Knowledge Protocols
CRYPTO '98 Proceedings of the 18th Annual International Cryptology Conference on Advances in Cryptology
FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
SFCS '86 Proceedings of the 27th Annual Symposium on Foundations of Computer Science
On the cunning power of cheating verifiers: Some observations about zero knowledge proofs
SFCS '87 Proceedings of the 28th Annual Symposium on Foundations of Computer Science
DISSECT: DIStribution for SECurity Tool
ISC '01 Proceedings of the 4th International Conference on Information Security
On the Impossibility of Obfuscation with Auxiliary Input
FOCS '05 Proceedings of the 46th Annual IEEE Symposium on Foundations of Computer Science
CCA-Secure Proxy Re-encryption without Pairings
Irvine Proceedings of the 12th International Conference on Practice and Theory in Public Key Cryptography: PKC '09
Towards Security Notions for White-Box Cryptography
ISC '09 Proceedings of the 12th International Conference on Information Security
Remote software-based attestation for wireless sensors
ESAS'05 Proceedings of the Second European conference on Security and Privacy in Ad-Hoc and Sensor Networks
On the (im)possibility of obfuscating programs
Journal of the ACM (JACM)
Secure obfuscation for encrypted signatures
EUROCRYPT'10 Proceedings of the 29th Annual international conference on Theory and Applications of Cryptographic Techniques
A note on (im)possibilities of obfuscating programs of zero-knowledge proofs of knowledge
CANS'11 Proceedings of the 10th international conference on Cryptology and Network Security
On the concept of software obfuscation in computer security
ISC'07 Proceedings of the 10th international conference on Information Security
Hi-index | 0.00 |
In this paper, we investigate the gap between auxiliary-input zero-knowledge (AIZK) and blackbox-simulation zero-knowledge (BSZK). It is an interesting open problem whether or not there exists a protocol which achieves AIZK, but not BSZK. We show that the existence of such a protocol is closely related to the existence of secure code obfuscators. A code obfuscator is used to convert a code into an equivalent one that is difficult to reverse-engineer. This paper provides security definitions of code obfuscation. By their definitions, it is easy to see that the existence of the gap implies the existence of a cheating verifier such that it is impossible to obfuscate any code of it. Intuitively, this means that it is possible to reverse-engineer any code of such a cheating verifier. Furthermore, we consider the actual behavior of such a cheating verifier. In order to do so, we focus on two special cases in which the gap exists: (1) there exists a constant round public-coin AIZK interactive argument for a language outside of BPP. (2) there exists a 3-round secret-coin AIZK interactive argument for a language outside of BPP. In the former case, we show that it is impossible to securely obfuscate a code of a cheating verifier behaving as a pseudorandom function. A similar result is shown also in the latter case. Our results imply that any construction of constant round public-coin or 3-round secret-coin AIZK arguments for non-trivial languages essentially requires a computational assumption with a reverse-engineering property.