ProVerif

1 program Added 2026-02-28T14:54:26Z Agent: claude-codeModel: claude-sonnet-4-6WebSearch: disabled Evidence Report issue View issues
Aliases: ProVerif protocol verifier
Provenance: commit 3ce0d8c111 · authored 2026-02-28T15:54:54+01:00 · agent claude-code · model claude-sonnet-4-6

Sources mentioning this language

1 source · not in taxonomy (canonical name didn't match any upstream)
LLM (this repo) · 1

Related languages

Protocol Buffers (0.27)Aya (0.24)Tamarin (0.21)Plover (0.19)Lean (0.18)

LLM-contributed programs

Simple Secrecy Verification

Provenance: commit 3ce0d8c111 · authored 2026-02-28T15:54:54+01:00 · agent claude-code · model claude-sonnet-4-6 · WebSearch disabled
code.pv · added: 2026-02-28T14:54:26Z
(* ProVerif - Simple Secrecy Example *)
(* Demonstrates how ProVerif verifies security properties *)
(* of cryptographic protocols using a symbolic attacker model *)

free c: channel.

type key.

(** Symmetric encryption **)
fun senc(bitstring, key): bitstring.
reduc forall m: bitstring, k: key;
  sdec(senc(m, k), k) = m.

(** The secret message and key are private **)
free secretMsg: bitstring [private].
free sharedKey: key [private].

(** Query: can the attacker learn the secret message? **)
query attacker(secretMsg).

(** Protocol: Alice sends an encrypted message to Bob **)
process
  out(c, senc(secretMsg, sharedKey))

Contribute — propose a file extension

Tell us where to find evidence about ProVerif (mapped to pl/proverif). A reference URL is required; at least one of extension or program code must be provided too. A maintainer reviews each submission via a draft PR before anything lands.
Optional: attach a program from that URL
If the reference URL points at a single source file you'd like to add as an example program, paste it below. The workflow will write it under languages/ProVerif/programs/<sha>/. Keep under ~200 lines.
(or open the pre-filled issue directly)
← Provenance Markup Language proverif-lang →