Skip to main content

ProofFrog logo

ProofFrog

Tests PyPI Python License: MIT

A tool for checking transitions in cryptographic game-hopping proofs.

ProofFrog checks the validity of game hops for cryptographic game-hopping proofs in the reduction-based security paradigm: it checks that the starting and ending games match the security definition, and that each adjacent pair of games is either interchangeable (by code equivalence) or justified by a stated assumption. Proofs are written in FrogLang, a small C/Java-style domain-specific language designed to look like a pen-and-paper proof. ProofFrog can be used from the command line, a browser-based editor, or an MCP server for integration with AI coding assistants. ProofFrog is suitable for introductory-level proofs, but is not as expressive for advanced concepts as other verification tools like EasyCrypt and lacks comparable levels of assurance.

ProofFrog web interface

Installation

Requires Python 3.11+.

From PyPI

python3 -m venv .venv
source .venv/bin/activate
pip install proof_frog

After installing, download the examples repository:

proof_frog download-examples

From source

git clone https://github.com/ProofFrog/ProofFrog
cd ProofFrog
git submodule update --init
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

Documentation

Full documentation is available at prooffrog.github.io, including:

Emacs. An Emacs major mode providing syntax highlighting, indentation, Imenu navigation, and LSP integration (via eglot or lsp-mode) is available in the emacs folder. See its README for installation instructions.

License

ProofFrog is released under the MIT License.

Acknowledgements

ProofFrog was created by Ross Evans and Douglas Stebila, building on the pygamehop tool created by Douglas Stebila and Matthew McKague. For more information about ProofFrog's design, see Ross Evans' master's thesis and eprint 2025/418.

ProofFrog's syntax and approach to modelling is heavily inspired by Mike Rosulek's excellent book The Joy of Cryptography.

We acknowledge the support of the Natural Sciences and Engineering Research Council of Canada (NSERC).

NSERC logo

Includes icons from the vscode-codicons project.

Metadata

Release files for proof_frog 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for proof_frog 0.6.0
File Size Uploaded
proof_frog-0.6.0.tar.gz 2.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for proof_frog 0.6.0
File Interpreter ABI Platform
proof_frog-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.8 MB

Release files / proof_frog-0.6.0.tar.gz

Download URL proof_frog-0.6.0.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
e46fdf46df50ebdd999664d04a8229cbf02a9abf8fbe857556efd6c49b6f22cf
BLAKE2b-256 checksum
How to use checksums
cc7d6f632f3ae045c3da361cd5fd11d275742be6f54c9f40c9cec7bd4ef4e32c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.33.1

Release files / proof_frog-0.6.0-py3-none-any.whl

Download URL proof_frog-0.6.0-py3-none-any.whl
Size 789.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0f99f71facd1a516ad30e65598f7ff58e448744f2eb8af4ae33c8db1019920a7
BLAKE2b-256 checksum
How to use checksums
efcbd919eaf80bc971450cace0479c90169c29d04b50402e1bcf9b6d926693d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.33.1

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page