⚠️ This repository has permanently moved to viperproject/protocol-verification-refinement
Tamarin Model & Verified Go Implementation of the WireGuard VPN Key Exchange Protocol and Diffie-Hellman
This repository provides the following content:
- Subdirectory
wireguard/modelcontains the Tamarin model together with instructions how to verify it - Subdirectory
wireguard/implementationcontains the verified Go implementation together with instructions how to verify and execute it. - The subdirectory
dhcontains the verified DH protocol model together with a verified Go and Java implementations. Additionally,dh/faulty-go-implementationcontains a Go implementation that tries to send the DH private key in plaintext for which verification fails because the IO specification does not permit such a send operation. - The subdirectory
specification-generatorcontains the sources of our tool to generate I/O specifications for Gobra & VeriFast from a Tamarin model.