SoundVerification / wireguard

Tamarin Model & Verified Go Implementation of the WireGuard VPN Key Exchange Protocol

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

⚠️ 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

DH & WireGuard Protocol Model Verification DH Code Verification WireGuard Code Verification License: MPL 2.0

This repository provides the following content:

  • Subdirectory wireguard/model contains the Tamarin model together with instructions how to verify it
  • Subdirectory wireguard/implementation contains the verified Go implementation together with instructions how to verify and execute it.
  • The subdirectory dh contains the verified DH protocol model together with a verified Go and Java implementations. Additionally, dh/faulty-go-implementation contains 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-generator contains the sources of our tool to generate I/O specifications for Gobra & VeriFast from a Tamarin model.

About

Tamarin Model & Verified Go Implementation of the WireGuard VPN Key Exchange Protocol

License:Mozilla Public License 2.0


Languages

Language:Haskell 57.0%Language:Go 16.0%Language:Python 13.5%Language:OCaml 4.3%Language:M4 4.1%Language:Makefile 1.1%Language:Tcl 1.1%Language:Java 1.0%Language:JavaScript 0.9%Language:CSS 0.4%Language:Vim Script 0.3%Language:Shell 0.2%Language:Dockerfile 0.2%Language:Emacs Lisp 0.1%Language:Standard ML 0.0%