package cryptoverif
Install
Dune Dependency
Authors
Maintainers
Sources
md5=f80330d6232a532ae385fbdb42bee897
sha512=e863d219d887cbb03d8f954339a9b49e3578b4f3c234561eb44da551b9641a84af95b5bd3ff32851cb654659915586c10f28b5499f1314a70f84560ea934cb03
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: 16 May 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