mirror of
https://github.com/arnaucube/keccak256-circom.git
synced 2026-03-22 23:56:38 +01:00
No description
- JavaScript 36.3%
- Go 34.5%
- Circom 29.2%
| .github/workflows | ||
| circuits | ||
| go-keccak256-bits-impl | ||
| test | ||
| .gitignore | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
keccak256-circom 
Keccak256 hash function (ethereum version) implemented in circom. Spec: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf
Warning: WIP, this is an experimental repo.
Status
Initial version works, compatible with Ethereum version of Keccak256.
It needs around 150848 (151k) constraints.
For context: Rapidsnark proof generation time:
- 1.1M constraints -> 7 seconds (8 CPU)
- 128M constraints -> <2min (64 CPU)
Usage
- import the lib in the
package.json:
"dependencies": {
"keccak256-circom": "git+https://github.com/vocdoni/keccak256-circom"
}
- Usage:
pragma circom 2.0.0;
include "../node_modules/keccak256-circom/circuits/keccak.circom";
// for a input & output of 32 bytes:
component main = Keccak(32*8, 32*8);