A tool for verifying game-hopping proofs
Project description
ProofFrog
ProofFrog is a work-in-progress tool for verifying cryptographic game-hopping proofs. All security properties in ProofFrog are written via pairs of indistinguishable games. More info can be found on our wiki
Installation:
pip3 install -r requirements.txt
pip3 install -r requirements-dev.txt
Commands:
To use the proof engine: python3 -m proof_frog prove [proof_file]. The examples repo contains a list of examples largely adapated from The Joy of Cryptography. See also our examples page on our wiki.
You can also parse any type of file (scheme, proof, game, or primitive) using python3 -m proof_frog parse [file]. It will read the file, transform it into an internal AST representation, stringify the representation, and print it back out to the screen.
The bash files testParsing.sh ensures that the ANTLR grammar can parse each file in the examples folder. testAST.sh parses each file with proof_frog, strips the whitespace, and diffs it with the original file to ensure that the AST output matches the file input. Finally, testProofs.sh runs both the suite of examples and the pytest unit tests.
Jupyter Notebook
We have a custom kernel that allows a user to interact with proof_frog via a Jupyter notebook. To do so, run the following commands from the base directory.
docker build -f jupyter/Dockerfile -t proof_frog .
docker run -p 8888:8888 proof_frog
The output from the docker run command will contain a localhost:8888 URL containing a token that will allow you to view the jupyter notebook.
Acknowledgements
We acknowledge the support of the Natural Sciences and Engineering Research Council of Canada (NSERC).
Nous remercions le Conseil de recherches en sciences naturelles et en génie du Canada (CRSNG) de son soutien.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file proof_frog-0.2.0.tar.gz.
File metadata
- Download URL: proof_frog-0.2.0.tar.gz
- Upload date:
- Size: 215.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cea544625e4db7595b6263f9d65d21ce5a04cb7c63f318805b6b07433b1ddb20
|
|
| MD5 |
2ab5f51dd111c7428c198607fb3e7cb9
|
|
| BLAKE2b-256 |
e018f50a9300b167ff7567b0bf2499506959d9128d02ba5acc451478d2eb14ef
|
File details
Details for the file proof_frog-0.2.0-py3-none-any.whl.
File metadata
- Download URL: proof_frog-0.2.0-py3-none-any.whl
- Upload date:
- Size: 175.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5dc5e5f9c9dc7481424939ec7abc96842b0a8eef5b18f95461c78e180ebff8b
|
|
| MD5 |
15b58cee0763e580c927bcb241372693
|
|
| BLAKE2b-256 |
1c989f340ceaf4aac57fbc62438a510bcbe42dbd3d4e352c1d2eaf5026683c63
|