This repository contains an implementation of AES-GCM in Circom. We have used circomkit to generate and test witnesses in the test files. We have also used to related rust code in the src
generate test vectors from official cryptography libraries. The Circuits and circomkit tests are in the circuits
directory.
To use this repo, you need to install the just
command runner:
cargo install just
# or use cargo binstall for fast install:
cargo binstall -y just
# install dependencies
just install
Test witnesses are validated by circomkits tests. These can be run with:
just circom-test
Example commands for using circom-kit
just circom-test # test all circom tests
just circom-testg TESTNAME # test a named test
# also see:
`npx circomkit`: circomkit commands
`npx circomkit compile <circuit>`: equiv to `circom --wasm ...`
`npx circomkit witness <circuit> <witness.json>`: equiv to call generate_witness.js
Licensed under the Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
We welcome contributions to our open-source projects. If you want to contribute or follow along with contributor discussions, join our main Telegram channel to chat about Pluto's development.
Our contributor guidelines can be found in CONTRIBUTING.md. A good starting point is issues labelled 'bounty' in our repositories.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.