package cryptoverif
Install
Dune Dependency
Authors
Maintainers
Sources
md5=7932224ec0174c74de9ae3719b2252c9
sha512=fa49e1ed2ff9eb2b6ce327110476984566f0fa3ef2ac972763a3503de2f4e2d6b5140e8d0ffc528f0a9368e3072421eb8569730cb981172757d4d9b6bc0dce08
Description
CryptoVerif is an automatic protocol prover sound in the computational model. It can prove
- secrecy;
- correspondences, which include in particular authentication;
- indistinguishability between two games.
It provides a generic mechanism for specifying the security assumptions on cryptographic primitives, which can handle in particular symmetric encryption, message authentication codes, public-key encryption, signatures, hash functions.
The generated proofs are proofs by sequences of games, as used by cryptographers. These proofs are valid for a number of sessions polynomial in the security parameter, in the presence of an active adversary. CryptoVerif can also evaluate the probability of success of an attack against the protocol as a function of the probability of breaking each cryptographic primitive and of the number of sessions (exact security).
This software is under development; please use it at your own risk. Comments and bug reports welcome.
Published: 23 Jun 2024
README
README.txt
This directory contains examples for the translation from CryptoVerif assumptions to EasyCrypt. - To generate the EasyCrypt files, run `make ec`. The files are put in directory `generated`. - To check the generated files / proofs, you can you run `make test-$x` where $x can take the following values: - common: check the core EasyCrypt files located in common/ - generated: check the generated files located in generated/ - proofs: check the proofs located in proofs/ - proofs-fast: same as `proofs` with the exception of GDH_RSR. (The checking time of this example is very long) - all: common+generated+proofs - all-fast: common+generated+proofs-fast The proofs have been verified with EasyCrypt commit 068fdd9c984c344c1b4a44f9f6455f41ee437a30 [1] that was configured with the 3 following provers: - Alt-Ergo@2.4.2 - Z3@4.12.2 - CVC4@1.6 using Why3@1.7.0 [1] https://github.com/EasyCrypt/easycrypt.git#068fdd9c984c344c1b4a44f9f6455f41ee437a30 To install that version of EasyCrypt, follow the instructions at https://github.com/EasyCrypt/easycrypt using opam with the command: opam pin -yn add easycrypt https://github.com/EasyCrypt/easycrypt.git#068fdd9c984c344c1b4a44f9f6455f41ee437a30