package cryptoverif
Install
Dune Dependency
Authors
Maintainers
Sources
md5=b3b6aecc359e333ee14c66aca0f39b73
sha512=b461dacddfc4b72b5967246c5b47ceceb9d80c3afdebb82e498a0f53a87bb96431c49038f1eff2a1e74ec61cf2c04ab241b2353289880e25247c19010f470f6a
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: 29 Sep 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