Skip to main content

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

NSERC signature

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

proof_frog-0.2.0.tar.gz (215.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

proof_frog-0.2.0-py3-none-any.whl (175.6 kB view details)

Uploaded Python 3

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

Hashes for proof_frog-0.2.0.tar.gz
Algorithm Hash digest
SHA256 cea544625e4db7595b6263f9d65d21ce5a04cb7c63f318805b6b07433b1ddb20
MD5 2ab5f51dd111c7428c198607fb3e7cb9
BLAKE2b-256 e018f50a9300b167ff7567b0bf2499506959d9128d02ba5acc451478d2eb14ef

See more details on using hashes here.

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

Hashes for proof_frog-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a5dc5e5f9c9dc7481424939ec7abc96842b0a8eef5b18f95461c78e180ebff8b
MD5 15b58cee0763e580c927bcb241372693
BLAKE2b-256 1c989f340ceaf4aac57fbc62438a510bcbe42dbd3d4e352c1d2eaf5026683c63

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page