mirror of
https://github.com/luxfi/proofs.git
synced 2026-10-30 15:21:05 +00:00
Squashed batch covering:
- lux-adopts-liquidity-protocol.tex: protocol adoption proof artifact
- chronology updates aligning Quasar consensus references to LP-020
- pq-finality-no-bls.tex: Pulsar (Corona-derived lattice threshold)
naming clarification; per-block / per-epoch / per-era cert language
- quasar-cert-soundness.tex: Pulsar (systems-layer composition with
key-era lifecycle, resharing, activation cert, rollback) vs Corona
(signing primitive); math notation and theorems unchanged
- INFRASTRUCTURE-STATUS-2026-04-20.md → INFRASTRUCTURE-STATUS.md
(drop date stamp from filename)
- LP back-refs and chronology integration
quasar-cert-soundness.tex production-publishable depth (March 3 final):
- NEW Section 6 (Pulsar Key-Era Lifecycle Lemmas): formal
definitions for Pulsar share state, GroupKey hash, and Refresh /
Reshare / Reanchor transitions. Four lifecycle lemmas with full
proofs:
Lemma 10 (Generation monotonicity)
Lemma 11 (KeyEraID stability across Reshare)
Lemma 12 (GroupKey byte-identity across Refresh and Reshare)
Lemma 13 (Rollback-lineage forward reconstruction)
Plus Theorem 14 (Activation-certificate soundness): VerifyActivation
accepts iff the new committee shares Lagrange-recombine to the
master secret under the unchanged GroupKey, except with negligible
probability under MLWE/MSIS.
- Lagrange-recombination identity written as a labelled display
equation, citing
Crypto.Threshold.Reshare.reshare_preserves_public_key in
lean/Crypto/Threshold/Reshare.lean for the mechanised companion.
- Bibliography additions: hjky97 (Herzberg--Jarecki--Krawczyk--Yung
proactive secret sharing), desmedtjajodia97 (redistribution),
wongwangwing02 (verifiable redistribution), lp073 (Pulsar paper).
- LP-073 section pointers updated to text-form references that
survive without LP-073 .aux file.
Naming evolution: throughout this work, "Corona" refers to the
lattice signing primitive (Sign1/Sign2/Combine math); "Pulsar" refers
to the Lux production fork at github.com/luxfi/pulsar that wraps it
with key-era lifecycle for permissionless validator-set rotation.
- proofs/fhe/ (NEW): canonical proof bucket for the Lux FHE
dual-runtime stack (LP-167 companion):
correctness.tex — encrypt → evaluate → decrypt correctness.
dual-runtime-equivalence.tex — Lux FHE-Go and Lux FHE-C++ produce
byte-equal output on identical inputs
and parameters; KAT closure witness.
nebula-binding.tex — FHE result roots bind into Nebula /
Quasar transcripts; reduces a forged
binding to hash collision + Pulsar
SUF-CMA forgery.
parameter-security.tex — concrete LWE parameter security under
the Albrecht estimator; ≥128-bit
classical and ≥128-bit quantum for
PN10QP27 / PN11QP54 / PN9QP28_STD128.
Theorem statements + remarks; no proof bodies duplicated in the
companion paper (papers/lux-fhe-runtime/) — the paper cites these.
60 lines
2.5 KiB
TeX
60 lines
2.5 KiB
TeX
%% ============================================================
|
|
%% fhe/parameter-security.tex
|
|
%% ============================================================
|
|
%%
|
|
%% Canonical Lux FHE LWE-parameter security theorem. Papers cite
|
|
%% this; do not redefine.
|
|
%% ============================================================
|
|
|
|
\subsection*{Lux FHE concrete LWE-parameter security}
|
|
|
|
\begin{theorem}[Concrete LWE security under the Albrecht estimator]
|
|
\label{thm:lwe-parameter-security}
|
|
Let $\mathsf{ps} \in \{\mathsf{PN10QP27}, \mathsf{PN11QP54},
|
|
\mathsf{PN9QP28\_STD128}\}$ denote a Lux FHE production parameter set with
|
|
LWE dimension $n = 2^{\log_2 n_{\mathrm{LWE}}(\mathsf{ps})}$, modulus
|
|
$q = q_{\mathrm{LWE}}(\mathsf{ps})$, and noise standard deviation
|
|
$\sigma_e(\mathsf{ps})$ (the latter resolved by the parameter-set keygen
|
|
schedule). Then under the Albrecht-Player-Scott LWE estimator with the
|
|
BKZ block-size cost model and the BDGL sieving cost,
|
|
\[
|
|
\mathrm{Adv}^{\mathsf{LWE}}_{n, q, \sigma_e}(\mathcal{A})
|
|
\;\leq\;
|
|
2^{-\lambda(\mathsf{ps})}
|
|
\]
|
|
with $\lambda(\mathsf{ps}) \geq 128$ classical bits and $\lambda(\mathsf{ps})
|
|
\geq 128$ quantum bits (under Grover speedup) for every shipped
|
|
$\mathsf{ps}$.
|
|
\end{theorem}
|
|
|
|
\begin{remark}[Estimator citation]
|
|
\label{rem:albrecht-cite}
|
|
The estimator is Albrecht, Player, and Scott, "On the concrete hardness
|
|
of Learning with Errors", J.\ Math.\ Cryptology 9(3):169--203, 2015,
|
|
together with Albrecht's open-source \texttt{lwe-estimator} updates as of
|
|
2026-Q1. Concrete numbers per parameter set are reported in
|
|
\texttt{papers/lux-fhe-runtime/07-benchmarks.tex} alongside the
|
|
benchmark hardware.
|
|
\end{remark}
|
|
|
|
\begin{remark}[NIST IR 8214C alignment]
|
|
\label{rem:nist-8214c-alignment}
|
|
The threshold-FHE keygen path (LP-019, LP-076, LP-167 \S Key custody)
|
|
tracks the NIST Threshold Cryptography Project's evaluation framing
|
|
(NIST IR 8214C). Lux FHE parameter-set lambda targets are chosen to
|
|
exceed NIST's category-1 floor under both classical and quantum
|
|
adversaries.
|
|
\end{remark}
|
|
|
|
\begin{remark}[No PQ rollback]
|
|
\label{rem:no-pq-rollback}
|
|
LWE / RLWE security is the post-quantum security ground truth for the
|
|
Lux FHE stack; Lux does not weaken parameters for performance. The CPU
|
|
fallback (\texttt{luxcpp/crypto/fhe/cpp/backends/cpu/}) uses identical
|
|
parameters to the GPU backends. The dual-runtime equivalence theorem
|
|
(\texttt{proofs/fhe/dual-runtime-equivalence.tex},
|
|
Theorem~\ref{thm:fhe-dual-runtime-equivalence}) ensures that whichever
|
|
backend the operator selects, the underlying LWE-hardness assumption
|
|
applies unchanged.
|
|
\end{remark}
|