You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
arnaucube af3e89816b Different nBits for keccak input&output 3 years ago
.github/workflows Organize circuits & tests 3 years ago
circuits Different nBits for keccak input&output 3 years ago
go-keccak256-bits-impl Organize circuits & tests 3 years ago
test Different nBits for keccak input&output 3 years ago
.gitignore Add circuit test utils 3 years ago
LICENSE Initial commit 3 years ago
README.md Different nBits for keccak input&output 3 years ago
package.json Update package.json author to Vocdoni & readme links 3 years ago

README.md

keccak256-circom Test

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);