@@ -16,6 +16,34 @@ This crate is generic over `PairingGroup` from `jolt-crypto` and implements `Com
16162 . ** Open** (Gemini reduction) — fold the multilinear polynomial ` ℓ-1 ` times producing intermediate commitments, derive challenge ` r ` , batch KZG open at ` [r, -r, r²] ` .
17173 . ** Verify** — evaluation consistency check, then batch KZG pairing check.
1818
19+ With the ` zk ` feature, HyperKZG uses commitment blinding plus KZG proof
20+ randomization: ZK hints carry one scalar blind, hidden evaluations are group
21+ commitments, and the verifier checks Gemini over group elements without seeing
22+ raw evaluations.
23+
24+ ## SRS Generation and Import
25+
26+ HyperKZG uses a ** structured** reference string with a KZG trapdoor ` beta ` .
27+ Production provers/verifiers should import an SRS generated by a separate trusted
28+ setup ceremony, rather than generating ` beta ` in the live proving process.
29+
30+ The canonical prover SRS filename is:
31+
32+ ``` text
33+ hyperkzg_{k}.srs
34+ ```
35+
36+ Here ` k ` is the exponent for the supported polynomial size: ` hyperkzg_20.srs `
37+ supports multilinear polynomials with up to ` 2^20 ` evaluations. The serialized
38+ prover setup stores one additional G1 power internally, following the KZG SRS
39+ convention used by this crate.
40+
41+ SRS files use a versioned envelope with a ` Plain ` /` Zk ` discriminant so loaders do
42+ not silently accept the wrong ceremony output. ` HyperKZGScheme::setup ` and
43+ ` HyperKZGScheme::setup_from_secret ` are intended for tests or trusted setup
44+ tooling only. The runtime import path is ` HyperKZGScheme::read_srs_file(path) `
45+ or ` HyperKZGScheme::read_srs_from_dir(dir, k) ` .
46+
1947## Public API
2048
2149- ** ` HyperKZGScheme<P> ` ** — Main entry point. Implements ` CommitmentScheme ` and ` AdditivelyHomomorphic ` .
@@ -42,7 +70,8 @@ Used by `jolt-zkvm`.
4270
4371## Feature Flags
4472
45- This crate has no feature flags.
73+ - ** ` zk ` ** — Enables ZK HyperKZG surface area. Transparent HyperKZG remains the
74+ default path.
4675
4776## License
4877
0 commit comments