//! The zk profile (envelope profile 2, scheme `veil`): the succinct
//! profile's statements with secret inputs, the witness hidden.
//!
//! The statement binds the program, the public inputs, the outputs and the
//! cost; secret inputs and every intermediate value stay with the prover.
//! The protocol is SuperSpartan over Fp3 on the statement's relation plus
//! masking rows (`pad`), both sumchecks masked with Libra polynomials
//! (`libra`), and every committed value — the free witness half and the
//! two masks — under one hiding Reed–Solomon tensor commitment with a
//! zero-knowledge linear test (`hiding`). `protocol` has the transcript.
//!
//! Property proven (`specs/soundness.md` § zk profile): honest-verifier
//! statistical zero knowledge of the interactive protocol with the Merkle
//! leaves modelled as a random oracle, distance at most
//! `ε_v + ε_ρ + q_H·2^-256` with `ε_v = types·log m / p` (the masking rows'
//! weights, `pad`), `ε_ρ = 2/|Fp3|`; the Fiat–Shamir transform of the
//! public-coin protocol with salted leaves is then zero knowledge in the
//! random-oracle model (Ben-Sasson, Chiesa, Spooner, "Interactive Oracle
//! Proofs", TCC 2016-B, eprint 2016/116: the BCS transformation preserves
//! honest-verifier zero knowledge when leaves are salted). Knowledge
//! soundness is the succinct profile's argument with the masks folded in;
//! the ledger counts every term. The prover is not constant time.
//!
//! Coins (`coins`): every uniform value the prover draws — masking-row
//! fill, both Libra masks, row padding, the three masking rows of the
//! commitment, the column salts — is one labelled stream of a counter-mode
//! PRF on hemera's constant-time permutation, keyed by `derive_key` of 32
//! bytes of OS entropy. The zero-knowledge distance above is stated for
//! uniform coins; with the PRF it grows by the PRF's distinguishing
//! advantage (`audit/veil-coins-2026-10.md`).
pub
pub
pub use HidingParams;
pub use testing;
pub use ;
pub use ;
pub use MIN_SECURITY_BITS;
pub use ;
use VerifyingKey;
use PrivateStatement;
use crate;
use Coins;
use Goldilocks;
use Setup;
use Parsed;
/// The shape and proven bits of a zk proof for one statement.
/// The report for a private statement under `params`.
/// Identifies the zk scheme inside an artifact.
pub const FORMAT: &str = "zheng-nox-veil-execution-v1";
/// Opaque proof bytes; parsed by the verifier against the relation it
/// derives, never by shape fields of its own.
/// Prove the exact supplied relation and public coordinates (`(0, 1)` is
/// added) with fresh OS randomness — the interface of `zk::prove`.
pub
/// Verify against a relation and public coordinates the caller derived.
/// Run `program` on public `input` and `secret` input within `budget` and
/// prove the execution in zero knowledge. The statement carries the public
/// values only; the transcript absorbs the verifying key's digest and the
/// statement's bytes.
/// [`prove`] with the statement bytes chosen by the caller (`bind`), e.g.
/// with a context; the verifying key's digest is prefixed.
/// Verify an execution proof; see [`verify_with`].
/// Verify an execution proof with an optional cached key (rejected unless
/// derived for this statement's program key).
/// Verify against caller-chosen statement bytes (see [`prove_bound`]).
Homonyms
cyb/evy/forks/naga/src/back/hlsl/mod.rs
struct Baz { m: mat3x2, } struct Baz { float2 m_0; float2 m_1; float2 m_2; }; float3x2 GetMatmOnBaz(Baz obj) { return float3x2(obj.m_0, obj.m_1, obj.m_2); }