Chapter 1
Introduction
1.1 Applications of ProVerif
1.2 Scope of this manual
1.3 Support
1.4 Installation
1.4.1 Linux/Mac installation
1.4.2 Windows installtion
1.4.3 Emacs
1.5 Copyright
Chapter 2
Getting started
Chapter 3
Using ProVerif
3.1 Modeling protocols
3.1.1 Declarations
3.1.2 Example:Declaring cryptographic primitives for the handshake protocol
3.1.3 Process macros
3.1.4 Process
3.1.5 Example: handshake protocol
3.2 Security properties
3.2.1 Reachability and secrecy
3.2.2 Correspondence assertions,events,and authentications
3.2.3 Example: Secrecy and authentication in the handshake protocol
3.3 Understanding ProVerif output
3.3.1 Results
3.3.2 Example: ProVerif output for the handshake protocol
Chapter 4
Language features
4.1 Primitives and modeling features
4.1.1 Constants
4.1.2 Data constructors and type conversion
4.1.3 Enriched terms
4.1.4 Tables and key distribution
4.1.5 Phases
4.1.6 Synchronization
4.2 Further cryptographic operators
4.2.1 Extended destructions
4.2.2 Equations
4.2.3 Function macros
4.2.4 Process macros with fail
4.2.5 Suitable formalizations of cryptographic primitives
4.3 Further security properties
4.3.1 Complex correspondence assertions,secrecy,and events
Chapter 5
Needham-Schroeder public key protocol:Case Study
5.1 Simplified Needham-Schroeder protocol
5.1.1 Basic encoding
5.1.2 Security properties
5.2 Full Needham-Schroeder protocol