The Squirrel Prover is a proof assistant dedicated to cryptographic protocols. It relies on a higher-order logic following the computationnally complete symbolic attacker approach. It thus provides guarantees in the computational model.
Getting started
A 13 minutes introduction to the basic concepts and core ideas of the Squirrel Prover can be found here.
A README provides installation instructions.
A basic tutorial and some commented examples allow to start discovering it. A more complete tutorial has been prepared on the occasion of the Cyber in Nancy summer school; see below.
The technical details are inside the research papers:
- the computationnally complete symbolic attacker was proposed in [1];
- the tool Squirrel was introduced in [2] as a proof assistant for a meta-logic on top of the logic of [1];
- the meta-logic was later adapted to support protocols with mutable state [3];
- a post-quantum sound variant of the logic, meta-logic and tool have been given in [4];
- recently, the meta-logic approach has been abandonned in favor of a self-contained higher-order logic [5].
Event: Cyber in Nancy
Slides are available here.
The school featured a Squirrel tutorial, consisting of a series of exercises of increasing difficulty, covering:
- the basic logical constructs and tactics manipulating them,
- several cryptographic assumptions,
- accessibility properties (authentication, injective authentication),
- equivalence properties (unlinkability),
- stateful protocol, and
- protocol composition.
As support material to go through the exercises, we provide syntax documentation here, and tactics documentation there.
The files of the tutorial are now part of the official Squirrel
distribution, under the examples/tutorial/ directory. They
are also accessible directly below:
- 0-logic
- 1-crypto-hash
- 2-crypto-enc
- 3-hash-lock-auth
- 4-hash-lock-unlink
- 5-stateful
- 6-key-establishment
Event: MOVEP
Slides are available here.
Examples used for the presentation are here.
Team
- David Baelde, ENS Rennes, Univ Rennes, CNRS, IRISA
- Stéphanie Delaune, Univ Rennes, CNRS, IRISA
- Caroline Fontaine, Université Paris-Saclay, CNRS, LMF
- Charlie Jacomme, Inria Paris
- Adrien Koutsos, Inria Paris
- Joseph Lallemand, Univ Rennes, CNRS, IRISA
- Thomas Rubiano, Univ Rennes, CNRS, IRISA
- Clément Herouard, Univ Rennes, CNRS, IRISA
- Justine Sauvage, Inria Paris
Former members:
- Tito Nguyen, formerly IRISA, now at ENS Lyon
- Solène Moreau, formerly IRISA, now at AdaCore
Source code
Squirrel is an open source project, licensed under the GNU General Public License v3.0. All source code is available here.