mirror of
https://github.com/arnaucube/testudo.git
synced 2026-01-18 19:31:28 +01:00
* first version of the sqrt PST without the MIPP * snarkpack integration * snarkpack integration * adding mipp as submodule directly * snarkpack integration * finalizing * snarkpack integration * update mipp with latestest optimisations and add preliminary documentation * improve codebase documentation * remove unused imports and apply cargo fix changes * passing v0.4 * adding gh action * correct workflow item * correct working dir and msrv * remove unnecessary stuff * wip * wip * remove circuit in fq as it's not needed now * done for tonight * wip * wip * sip * prallelise commitment and groth16 verification * finalise comments for mipp * wip * finalise comments * wip * compiling but test failing * putting back non random blinds * using absorb when we can * absorbing scalar * with bls12-381 * stuff * trying to bring ark-blst to testudo * correcting random implementation * with square in place * works with blst * works with blst * fix: don't require nightly Rust With removing the `test` feature, it can also be built with a stable Rust release and don't require a nightly Rust version. * using ark-blst main branch * started cleanup and added testudo benchmark * add testudo snark and nizk in separate files * rename functions that perform setups and add comments * prototyping * explain testudo-nizk * add support for odd case in sqrt_pst * add missing constraints and correct proof size for benchmarks * add support for odd case in sqrt_pst * fix typo in comment * Documentation #31 * fix typo in comment * Fix Cargo.toml and add benchmark for sqrt pst (#34) * add benchmark for sqrt pst * fix typo in comment * add README * comment from readme not executing --------- Co-authored-by: Mara Mihali <maramihali@google.com> Co-authored-by: Mara Mihali <mihalimara22@gmail.com> Co-authored-by: Volker Mische <volker.mische@gmail.com>
85 lines
3.0 KiB
TOML
85 lines
3.0 KiB
TOML
[package]
|
|
name = "testudo"
|
|
version = "0.1.0"
|
|
authors = ["Mara Mihali <mara.mihali@protocol.ai>","Srinath Setty <srinath@microsoft.com>" ]
|
|
edition = "2021"
|
|
description = "Spartan + Groth16 fast prover fast verifier SNARK"
|
|
readme = "README.md"
|
|
repository = "https://github.com/maramihali/Spartan"
|
|
license-file = "LICENSE"
|
|
keywords = ["SNARKs", "cryptography", "proofs"]
|
|
|
|
[dependencies]
|
|
merlin = "3.0.0"
|
|
digest = "0.8.1"
|
|
sha3 = "0.8.2"
|
|
rayon = { version = "1.3.0", optional = true }
|
|
itertools = "0.10.0"
|
|
colored = "2.0.0"
|
|
thiserror = "1.0"
|
|
json = "0.12.4"
|
|
ark-ff = { version = "0.4.0", default-features = false }
|
|
ark-ec = { version = "0.4.0", default-features = false }
|
|
ark-std = { version = "0.4.0"}
|
|
ark-bls12-377 = { version = "0.4.0", features = ["r1cs","curve"] }
|
|
ark-bls12-381 = { version = "0.4.0", features = ["curve"] }
|
|
ark-blst = { git = "https://github.com/nikkolasg/ark-blst" }
|
|
ark-serialize = { version = "0.4.0", features = ["derive"] }
|
|
ark-crypto-primitives = {version = "0.4.0", features = ["sponge","r1cs","snark"] }
|
|
ark-r1cs-std = { version = "0.4.0", default-features = false }
|
|
ark-relations = { version = "0.4.0", default-features = false, optional = true }
|
|
ark-snark = { version = "0.4.0", default-features = false }
|
|
ark-groth16 = { version = "0.3.0" }
|
|
ark-bw6-761 = { version = "0.4.0" }
|
|
ark-poly-commit = { version = "0.4.0" }
|
|
ark-poly = {version = "0.4.0"}
|
|
|
|
poseidon-paramgen = { git = "https://github.com/nikkolasg/poseidon377", branch = "feat/v0.4" }
|
|
poseidon-parameters = { git = "https://github.com/nikkolasg/poseidon377", branch = "feat/v0.4" }
|
|
# Needed for ark-blst
|
|
blstrs = { version = "^0.6.1", features = ["__private_bench"] }
|
|
|
|
lazy_static = "1.4.0"
|
|
rand = { version = "0.8", features = [ "std", "std_rng" ] }
|
|
|
|
tracing = { version = "0.1", default-features = false, features = [ "attributes" ] }
|
|
tracing-subscriber = { version = "0.2" }
|
|
|
|
|
|
[dev-dependencies]
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
csv = "1.1.5"
|
|
criterion = "0.3.6"
|
|
|
|
[lib]
|
|
name = "libtestudo"
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "testudo"
|
|
path = "profiler/testudo.rs"
|
|
|
|
[[bench]]
|
|
name = "testudo"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "pst"
|
|
harness = false
|
|
|
|
[features]
|
|
multicore = ["rayon"]
|
|
profile = []
|
|
default = ["asm","parallel", "std", "multicore"]
|
|
asm = ["ark-ff/asm"]
|
|
parallel = [ "std", "ark-ff/parallel", "ark-std/parallel", "ark-ec/parallel", "ark-poly/parallel", "rayon"]
|
|
std = ["ark-ff/std", "ark-ec/std", "ark-std/std", "ark-relations/std", "ark-serialize/std"]
|
|
|
|
[patch.crates-io]
|
|
ark-poly-commit = {git = "https://github.com/cryptonetlab/ark-polycommit", branch="feat/variable-crs"}
|
|
ark-groth16 = { git = "https://github.com/arkworks-rs/groth16" }
|
|
blstrs = { git = "https://github.com/nikkolasg/blstrs", branch = "feat/arkwork" }
|
|
ark-ec = { git = "https://github.com/vmx/algebra", branch="affine-repr-xy-owned" }
|
|
ark-ff = { git = "https://github.com/vmx/algebra", branch="affine-repr-xy-owned" }
|
|
ark-poly = { git = "https://github.com/vmx/algebra", branch="affine-repr-xy-owned" }
|
|
ark-serialize = { git = "https://github.com/vmx/algebra", branch="affine-repr-xy-owned" } |