1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
//! Soundness analysis for STARK protocols.
//!
//! Decomposition is by error source, not by commitment scheme.
//!
//! A protocol's parameter type lives in its own crate.
//!
//! This crate supplies the error-bit math and the regime mirrors.
//!
//! The protocol assembles the regime and picks which error terms apply.
//!
//! It then composes them by union bound with [`ErrorBits::sum`], or by minimum with [`ErrorBits::min`].
//!
//! The AIR, DEEP and low-degree-test composite goes through [`stark::proven_security`].
//!
//! # Layering
//!
//! ```text
//! protocol crate (p3-fri, p3-whir, …)
//! │
//! ▼
//! p3-security ── p3-air, p3-field, p3-util, libm
//! ```
//!
//! Each regime mirrors the security-relevant subset of a runtime configuration.
//!
//! It also carries instance-shape metadata the runtime configuration does not hold.
//!
//! Trace length and opening counts are the usual examples.
//!
//! No conversion from the runtime configuration exists, and that is deliberate.
//!
//! Only the protocol crate can see both sides, so it assembles the regime explicitly.
//!
//! # References
//! - ethSTARK ([2021/582](https://eprint.iacr.org/2021/582))
//! - Proximity Gaps for Reed–Solomon Codes ([2020/654](https://eprint.iacr.org/2020/654))
//! - On the Security of STARKs with FRI ([2024/1553](https://eprint.iacr.org/2024/1553))
//! - On the Distribution of the Distances of Random Words ([2025/2010](https://eprint.iacr.org/2025/2010))
//! - BCHKS25 — Improved LDR proximity gaps ([2025/2055](https://eprint.iacr.org/2025/2055))
//! - DKT26 — Johnson-regime line MCA (Theorem 5.12, Appendix B.1–B.2)
//! ([2026/2056](https://eprint.iacr.org/2026/2056))
//! - HVZK-WHIR ([2026/391](https://eprint.iacr.org/2026/391))
extern crate alloc;
pub use SecurityAssumption;
pub use ErrorBits;
pub use GrindingSites;
pub use LowDegreeTest;
pub use ;
pub use ;
pub use ;