mirror of
https://github.com/luxfi/p3q.git
synced 2026-11-02 14:41:48 +00:00
10 crates wired in dependency order, all building under cargo build
--workspace --all-targets and 43 unit tests passing.
p3q-core protocol types, error model, profile dispatch
p3q-field Field trait + Goldilocks (p = 2^64 - 2^32 + 1)
p3q-sha3 FIPS 202 / SP 800-185: cSHAKE256, KMAC256, TupleHash256
p3q-merkle cSHAKE256-based binary Merkle tree + path verifier
p3q-challenger cSHAKE256 Fiat-Shamir transcript
p3q-fri FRI low-degree-test trait surface
p3q-stark AIR trait + StarkProof envelope
p3q-recursion STARK-native recursion trait (no curve wrappers)
p3q-verifier panic-free verifier dispatch (typed errors only)
p3q-zchain HIP-0078 epoch circuits (register / rotate / revoke /
committee / DKG / epoch commitment)
Strict-PQ profile enforced by scripts/lint_forbidden.sh + CI:
no bn254, kzg, groth16, plonk_kzg, halo, blake3, poseidon,
monolith, rescue in imports or dependency tables.
Signed-off-by: Lux Industries Inc <[email protected]>
23 lines
583 B
Plaintext
23 lines
583 B
Plaintext
# P3Q strict-PQ forbidden imports — canonical list.
|
|
#
|
|
# Format: one token per line, lowercase, no quotes.
|
|
# `scripts/lint_forbidden.sh` is the enforcer; this file is the spec.
|
|
#
|
|
# Anything on this list is rejected when it appears:
|
|
# * as a Cargo dependency name (e.g. `bn254 = "..."`,
|
|
# `[dependencies.bn254]`)
|
|
# * as a Rust `use` / `extern crate` / `mod` import
|
|
#
|
|
# Documentation prose IS allowed to mention the names by content. The
|
|
# lint distinguishes "mentioned in a comment" from "actually imported".
|
|
|
|
bn254
|
|
kzg
|
|
groth16
|
|
plonk_kzg
|
|
halo
|
|
blake3
|
|
poseidon
|
|
monolith
|
|
rescue
|