Notions of computation and monads
Information and Computation
A new recursion-theoretic characterization of the polytime functions
Computational Complexity
Stochastic lambda calculus and monads of probability distributions
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Foundations of Cryptography: Basic Tools
Foundations of Cryptography: Basic Tools
A Mixed Modal/Linear Lambda Calculus with Applications to Bellantoni-Cook Safe Recursion
CSL '97 Selected Papers from the11th International Workshop on Computer Science Logic
A Linguistic Characterization of Bounded Oracle Computation and Probabilistic Polynomial Time
FOCS '98 Proceedings of the 39th Annual Symposium on Foundations of Computer Science
A Computationally Sound Mechanized Prover for Security Protocols
SP '06 Proceedings of the 2006 IEEE Symposium on Security and Privacy
A probabilistic polynomial-time process calculus for the analysis of cryptographic protocols
Theoretical Computer Science
Logics for reasoning about cryptographic constructions
Journal of Computer and System Sciences - Special issue on FOCS 2003
Formal certification of code-based cryptographic proofs
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Formal Language for Cryptographic Pseudocode
LPAR '08 Proceedings of the 15th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning
A framework for game-based security proofs
ICICS'07 Proceedings of the 9th international conference on Information and communications security
A calculus for game-based security proofs
ProvSec'10 Proceedings of the 4th international conference on Provable security
A formalization of polytime functions
ITP'11 Proceedings of the Second international conference on Interactive theorem proving
A higher-order characterization of probabilistic polynomial time
FOPARA'11 Proceedings of the Second international conference on Foundational and Practical Aspects of Resource Analysis
Hi-index | 0.00 |
Computational indistinguishability is a notion in complexity-theoretic cryptography and is used to define many security criteria. However, in traditional cryptography, proving computational indistinguishability is usually informal and becomes error-prone when cryptographic constructions are complex. This paper presents a formal proof system based on an extension of Hofmann's SLR language, which can capture probabilistic polynomial-time computations through typing and is sufficient for expressing cryptographic constructions. In particular, we define rules that directly justify the computational indistinguishability between programs, and then prove that these rules are sound with respect to the set-theoretic semantics, and thus the standard definition of security. We also show that it is applicable in cryptography by verifying, in our proof system, Goldreich and Micali's construction of a pseudorandom generator, and the equivalence between next-bit unpredictability and pseudorandomness.