Skip to main content Accessibility help

The computational SLR: a logic for reasoning about computational indistinguishability

  • YU ZHANG (a1)


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.



Hide All
Backes, M., Berg, M. and Unruh, D. (2008) A formal language for cryptographic pseudocode. In: 4th Workshop on Formal and Computational Cryptography (FCC 2008).
Barthe, G., Grégoire, B. and Zanella, S. (2009) Formal certification of code-based cryptographic proofs. In: 36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'2009) 90–101.
Bellantoni, S. and Cook, S. (1992) A new recursion-theoretic characterization of the polytime functions. Computational Complexity 2 97110.
Bellare, M. and Rogaway, P. (2004) Code-based game-playing proofs and the security of triple encryption. Cryptology ePrint Archive, Report 2004/331.
Blanchet, B. (2006) A computationally sound mechanized prover for security protocols. In: IEEE Symposium on Security and Privacy (S&P'06) 140–154.
Goldreich, O. (2001) The Foundations of Cryptography: Basic Tools, Cambridge University Press.
Hofmann, M. (1998) A mixed modal/linear lambda calculus with applications to Bellantoni–Cook safe recursion. In: Proceedings of the International Workshop of Computer Science Logic (CSL'97). Springer-Verlag Lecture Notes in Computer Science 1414 275294.
Hofmann, M. (2000) Safe recursion with higher types and BCK-algebra. Annals of Pure and Applied Logic 104 (1–3)113166.
Impagliazzo, R. and Kapron, B. M. (2006) Logics for reasoning about cryptographic constructions. Journal of Computer and System Sciences 72 (2)286320.
Mitchell, J. C., Mitchell, M. and Scedrov, A. (1998) A linguistic characterization of bounded oracle computation and probabilistic polynomial time. In: 39th Annual Symposium on Foundations of Computer Science (FOCS'98) 725–733.
Mitchell, J. C., Ramanathan, A., Scedrov, A. and Teague, V. (2006) A probabilistic polynomial-time process calculus for the analysis of cryptographic protocols. Theoretical Computer Science 353 (1–3)118164.
Moggi, E. (1991) Notions of computation and monads. Information and Computation 93 (1)5592.
Nowak, D. (2008) A framework for game-based security proofs. In: 9th International Conference of Information and Communications Security (ICICS 2007). Springer-Verlag Lecture Notes in Computer Science 4861 319333.
Nowak, D. and Zhang, Y. (2010) A calculus for game-based security proofs. In: Proceedings of 4th International Conference on Provable Security (ProvSec'2010). Springer-Verlag Lecture Notes in Computer Science 6402.
Ramsey, N. and Pfeffer, A. (2002) Stochastic lambda calculus and monads of probability distributions. In: 29th SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'02) 154–165.
Shoup, V. (2004) Sequences of games: a tool for taming complexity in security proofs. Cryptology ePrint Archive, Report 2004/332.

The computational SLR: a logic for reasoning about computational indistinguishability

  • YU ZHANG (a1)


Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed.