proverif

AuthorBruno Blanchet <bruno.blanchet@inria.fr>, Vincent Cheval <vincent.cheval@icloud.com>, Ben Smyth <research@bensmyth.com>, Marc Sylvestre <marc.sylvestre@inria.fr>
LicenseGNU General Public License
Homepagehttp://proverif.inria.fr/
Issue Trackerbruno.blanchet@inria.fr
MaintainerBruno Blanchet <bruno.blanchet@inria.fr>, Marc Sylvestre <marc.sylvestre@inria.fr>
Dependencies
&ocamlbuild
ocamlfind
PublishedJul 12, 2017
Source [http] http://proverif.inria.fr/proverif1.97.tar.gz
7cc9cefde0178e75e1e69c2c146b5e3a
StatisticsInstalled once last month.
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/proverif/proverif.1.97/opam

ProVerif: Cryptographic protocol verifier in the symbolic model

ProVerif is an automatic cryptographic protocol verifier, in the formal model (so called Dolev-Yao model). This protocol verifier is based on a representation of the protocol by Horn clauses. Its main features are:

  • It can handle many different cryptographic primitives, including shared- and public-key cryptography (encryption and signatures), hash functions, and Diffie-Hellman key agreements, specified both as rewrite rules or as equations.

  • It can handle an unbounded number of sessions of the protocol (even in parallel) and an unbounded message space. This result has been obtained thanks to some well-chosen approximations. This means that the verifier can give false attacks, but if it claims that the protocol satisfies some property, then the property is actually satisfied.

This verifier can prove the following properties:

  • secrecy (the adversary cannot obtain the secret, CSFW'01)
  • authentication and more generally correspondence properties (Journal of Computer Security, 17(4):363-434, 2009)
  • strong secrecy (the adversary does not see the difference when the value of the secret changes, IEEE S&P'04)
  • equivalences between processes that differ only by terms (Journal of Logic and Algebraic Programming, 75(1):3-51, 2008 with Martín Abadi and Cédric Fournet)
No package is dependent