Ir al contenido


Automation and modularity of cryptographic proofs in the computational model

  • Autores: Juan Manuel Crespo
  • Directores de la Tesis: Gilles Barthe (dir. tes.)
  • Lectura: En la Universidad Politécnica de Madrid ( España ) en 2016
  • Idioma: español
  • Materias:
  • Enlaces
  • Resumen
    • Cryptography is a small but crucial part of information security. The design of secure cryptographic primitives and protocols is an extremely difficult task and the rigorous analysis of such constructions is of paramount importance. In order to reduce the complexity of the analysis of such constructions and to provide structure to proofs of security, cryptographers have advocated for describing the probabilistic experiments representing the security properties and the underlying assumptions as programs (games) in a probabilistic language, and structuring the proofs as sequence of such programs. More recently, this methodology drew attention of the programming language and program verification community and relying on standard methods well-known in these communities, interactive tools were built to support this kind of reasoning. Among these, CertiCrypt and EasyCrypt were developed. The core component of these tools is a set of program logics that, in combination, allow to justify the validity of each transition in the sequence of games. This approach was widely applied and classical results of cryptography were reproduced and validated using the tools. However, while this approach is indeed attractive in many aspects and drew the attention of part of the community, its adoption remained limited. From our point of view, there are two factors that have hindered the adoption: - Overhead: the effort required to obtain a machine-checked proof in these tools is significantly larger than the one invested in a pen-and-paper proof. Essentially the whole proof needs to be worked out to a much higher level of detail and transitions deemed trivial when performing a semi-formal argument sometimes become tedious. - Learning curve: the background required to carry-out these machine-checked proofs does not necessarily match the one of the intended users, namely, cryptographers. Deep understanding of how the program logics work, experience in program verification and in interactive theorem are fundamental to be able to complete these proofs. In this thesis, we explore two complementary approaches that can mitigate the overhead of machine checked cryptography proofs, and to make their construction and development more accesible to cryptographers: fully automated analysis and modularity of cryptography proofs in the computational model. We propose a novel combination of symbolic and computational methods to achieve automated analysis of classes of constructions, without sacrificing the rigor of the code-based approach, and enabling for the first time the use of program synthesis in cryptographic design with computational guarantees. We develop a generic proof of one-round authenticated key exchange protocols that can be applied to a large set of protocols and we performed a fine-grained analysis that allows to obtain proofs under weaker assumptions. The initial cost of developing the proof is justified by its multiple applications and it constitutes a cost-effective way of developing such proofs.

Fundación Dialnet

Dialnet Plus

  • Más información sobre Dialnet Plus

Opciones de compartir

Opciones de entorno