Files
zeekay ca327f37cb papers: lock PQ threshold-sig stack to dealerless canon (Pulsar Mithril RSS + hyperball, dual-leg Module-LWE)
Pulsar (LP-073, LP-223): the dealer is DEAD AT BOTH ENDS.
- Keygen: dealerless via Mithril short replicated secret sharing (Celi-del
  Pino-Espitau-Niot-Prest, ia.cr/2026/013, USENIX Sec 2026) -- the published
  escape from the naive-additive-S_eta wall; group key signs under the STOCK
  FIPS-204 verifier (compatibility PROVEN), per-subset mod-q reduction
  unblocks large committees (n=16,t=14). Replaces the old 'key generation
  stays trusted-dealer / provably unreachable' claim everywhere.
- Signing: no-reconstruct hyperball 3-round signer (z_j=y_j+c*s1_(j); no
  party forms s1/s2/seed/sk; mask y never serialised), verifies under stock
  ML-DSA. CI invariant forbids trusted-dealer keygen in production files.
- Claim discipline: (A) standard-FIPS-204-verifier-COMPATIBLE = PROVEN vs
  (B) full FIPS-204 KeyGen-distribution-EQUIVALENCE = labeled open residual;
  malicious-HARDENED != fully-malicious-secure-PROVEN. Versions -> pulsar
  v1.7.1, threshold v1.10.2, consensus v1.29.1, mlwe shared base.
- Fixed pre-pivot staleness: Pulsar sig is byte-equal ML-DSA-65 (~3.3KB),
  not the ~33KB 48-bit (c,z,Delta) shared kernel; q=8380417 production.

Corona (LP-220): Module-LWE (Ringtail/Raccoon, M=8 N=7, q=0x1000000004A01),
natively dealerless (Pedersen-VSS noise-flooded), no-reconstruct signing,
consumes shared luxfi/mlwe. Both lattice legs now dealerless -> Corona is
defence-in-depth, NOT the sole permissionless-public carrier. P3Q kind-0x02
dispatch still abiFalse, but the library landed + dedicated 0x012206 wired.

Dual-leg diversity (LP-020, LP-220, LP-magnetar): Corona + Pulsar BOTH
Module-LWE -> distinct schemes/params, adversary must break BOTH, strictly
stronger than either; NOT hardness-disjoint -- assumption-disjoint leg is
hash-based Magnetar (SLH-DSA). Cite Mithril ia.cr/2026/013.

Scan targets: lp-020 (Ring-LWE->Module-LWE, versions, residual B),
lp-stricte2epq (canonical-status note: byte-equal FIPS-204, sampled small
committees n=8/t=7/m=12/r=8 not single n=64; sig sizes), lp-magnetar
(Corona Ring-LWE->Module-LWE).

All 6 PDFs rebuilt clean (pdflatex+bibtex+pdflatex x2): lp-073 59pp,
lp-220 8pp, lp-223 5pp, lp-020 32pp, lp-stricte2epq 47pp, lp-magnetar 13pp.
2026-06-28 13:37:54 -07:00

448 lines
21 KiB
TeX

\section{Security}
\label{sec:security}
This section states the four production-grade security claims of Pulsar
and points to the canonical proof artefact for each. Proof bodies live
exactly once in \texttt{proofs/quasar-cert-soundness.tex}
\cite{quasarcertsoundness} and the Lean tree under
\texttt{proofs/lean/Crypto/} \cite{leancrypto}; this paper cites them
verbatim and does not duplicate the bodies.
\subsection{Security games}
\label{sec:security:games}
We adopt the standard \emph{existential unforgeability under chosen
message attack} (EUF-CMA) and \emph{strong unforgeability under chosen
message attack} (SUF-CMA) games for threshold signatures. Throughout,
$\lambda$ is the security parameter, $\mathcal{A}$ is a non-uniform
PPT adversary (classical, $\mathcal{A}_C$, or quantum, $\mathcal{A}_Q$),
$\mathcal{O}_{\mathrm{Sign}}$ is the threshold signing oracle, and
$\mathcal{O}_H$ is the random oracle (programmable in QROM hybrids,
following App.~C of \cite{quasarcertsoundness}). The full validator
set is $\mathcal{V}$ with $|\mathcal{V}| = n$, threshold $t$, and stake
distribution $\mathrm{stk}: \mathcal{V} \to \mathbb{N}$.
\begin{definition}[Threshold EUF-CMA / SUF-CMA games]
\label{def:tuf-cma}
The game $\mathsf{Game}^{\mathrm{tEUF-CMA}}_{\Pi}(\mathcal{A}, \lambda)$
proceeds as follows.
\begin{enumerate}[nosep, leftmargin=2em]
\item \textbf{Setup.} The challenger runs $\mathsf{Gen}(1^\lambda) \to
(\mathsf{GK}, \{\mathbf{s}_v\}_{v \in \mathcal{V}})$, where
$\mathsf{GK} = (\mathbf{A}, \tilde{\mathbf{b}})$ is the public
group key and $\mathbf{s}_v$ the share for $v$. $\mathsf{GK}$
is given to $\mathcal{A}$.
\item \textbf{Corruption.} $\mathcal{A}$ commits to a corrupt set
$F \subseteq \mathcal{V}$ with stake $\mathrm{stk}(F) < t$ and
receives $\{\mathbf{s}_v : v \in F\}$. (Static model. Adaptive
is treated by App.~C of \cite{quasarcertsoundness} via
Fischlin's transform with $O(n \cdot Q_H)$ loss.)
\item \textbf{Queries.} $\mathcal{A}$ may invoke
$\mathcal{O}_{\mathrm{Sign}}(\mu_i)$ for messages
$\mu_1, \ldots, \mu_{Q_S}$ chosen adaptively; each query returns
a Pulsar signature $\sigma_i$ produced by an honest threshold
protocol over a quorum the challenger selects.
$\mathcal{A}$ may invoke $\mathcal{O}_H$ up to $Q_H$ times.
\item \textbf{Forgery.} $\mathcal{A}$ outputs
$(\mu^\star, \sigma^\star)$.
$\mathcal{A}$ \emph{wins} the EUF-CMA game iff
$\mathsf{Verify}(\mathsf{GK}, \mu^\star, \sigma^\star) = 1$ and
$\mu^\star \notin \{\mu_1, \ldots, \mu_{Q_S}\}$.
$\mathcal{A}$ wins the SUF-CMA game iff
$\mathsf{Verify}(\mathsf{GK}, \mu^\star, \sigma^\star) = 1$ and
$(\mu^\star, \sigma^\star) \notin \{(\mu_i, \sigma_i)\}_{i=1}^{Q_S}$.
\end{enumerate}
The advantages are
\[
\mathsf{Adv}^{\mathrm{tEUF-CMA}}_{\Pi, \mathcal{A}}(\lambda)
= \Pr\bigl[\mathcal{A} \text{ wins EUF-CMA}\bigr],
\qquad
\mathsf{Adv}^{\mathrm{tSUF-CMA}}_{\Pi, \mathcal{A}}(\lambda)
= \Pr\bigl[\mathcal{A} \text{ wins SUF-CMA}\bigr].
\]
$\Pi$ is $(\mathcal{Q}, \epsilon)$-tEUF-CMA secure if
$\mathsf{Adv}^{\mathrm{tEUF-CMA}}_{\Pi, \mathcal{A}} \leq \epsilon$ for
every $\mathcal{A}$ running within budget $\mathcal{Q} = (Q_S, Q_H, T)$.
\end{definition}
For the lifecycle layer we additionally consider the
\emph{key-era unforgeability} game, in which $\mathcal{A}$ may also
invoke $\mathcal{O}_{\mathrm{Reshare}}, \mathcal{O}_{\mathrm{Refresh}},
\mathcal{O}_{\mathrm{Reanchor}}$ subject to corruption-budget bounds at
each transition.
\begin{definition}[Key-era unforgeability]
\label{def:keyera-uf}
The game $\mathsf{Game}^{\mathrm{KE-UF}}_{\Pi}(\mathcal{A}, \lambda)$
extends Definition~\ref{def:tuf-cma} with three lifecycle oracles. At
each transition, $\mathcal{A}$ commits to the corrupt subset of the
post-state validator set with $\mathrm{stk}(F) < t$. $\mathcal{A}$
\emph{wins} iff it produces a forgery $(\mu^\star, \sigma^\star)$ on
\emph{any} live key era's GroupKey for an unsigned $\mu^\star$.
\end{definition}
\subsection{Theorem 5.1: Pulsar SUF-CMA under MLWE / MSIS}
\label{sec:security:thm51}
\begin{theorem}[Pulsar threshold SUF-CMA, MAC-bound Round 1]
\label{thm:pulsar-suf-cma}
Let $\Pi_{\mathrm{Pulsar}}$ be the LP-073 protocol of
\S\ref{sec:protocol} at the parameter set of \S\ref{sec:parameters}.
Under the Module-LWE assumption
$\mathsf{MLWE}_{q, m_{\mathrm{pk}}, n_{\mathrm{vec}}, \chi_E}$ on
$R_q = \mathbb{Z}_q[X]/(X^{256}+1)$ with $q \approx 2^{48}$ and
secret/error distribution $\chi_E = \mathcal{D}(\sigma_E)$,
$\sigma_E \approx 6.108$, and the Module-SIS assumption
$\mathsf{MSIS}_{q, m_{\mathrm{pk}}, \beta}$ at norm bound
$\beta = B \approx 2^{48.61}$, in the random-oracle model on
$\mathsf{BLAKE3}$ and the PRF assumption on the BLAKE3-keyed MAC,
\[
\mathsf{Adv}^{\mathrm{tSUF-CMA}}_{\Pi_{\mathrm{Pulsar}}, \mathcal{A}}(\lambda)
\;\leq\;
\epsilon_{\mathrm{MLWE}}(\lambda)
+ \epsilon_{\mathrm{MSIS}}(\lambda)
+ \frac{Q_H + Q_S}{2^{256}}
+ Q_S \cdot 2^{-128}
+ \frac{Q_M}{2^{256}},
\]
where $Q_H, Q_S, Q_M$ are random-oracle, signing, and MAC queries
respectively. The first two terms are negligible at the LP-073 \S2
parameters (App.~E of \cite{quasarcertsoundness}); the third bounds
challenge collisions on the 256-bit transcript hash; the fourth bounds
the rejection-sampling slack at $\eta_\varepsilon = 2.650104$ over
$Q_S$ signing transcripts at the $80$-bit statistical-distance margin
\cite{dilithium}; the fifth bounds MAC forgery on Round 1 broadcasts.
\end{theorem}
\begin{proof}[Proof reference]
The two-round lattice-threshold kernel SUF-CMA reduction is the standard
Fiat--Shamir-with-aborts argument, instantiated at the parameter set of
\S\ref{sec:parameters}. The Pulsar wrapper adds (i) the Round 1 MAC layer
and (ii) the lifecycle compatibility (Lemmas~10--13 of
\cite{quasarcertsoundness}, ``Pulsar Key-Era Lifecycle Lemmas''
section). The Lean specification
\texttt{Crypto.Pulsar.pulsar\_pq\_unforgeability} in
\texttt{proofs/lean/Crypto/Pulsar/} \cite{leancrypto} encodes the
unforgeability axiom against quantum adversaries with $\mathrm{compromised}
< t$. The detailed bound derivation, including App.~E parameter analysis
and the BDGL/Grover cost equations, is in \cite{quasarcertsoundness}
Theorem~5 (classical soundness, lattice-threshold lane case) and App.~E.
\end{proof}
\paragraph{Byte-equal ML-DSA mode (TALUS) and its proof posture.} The
claims of this section are stated for the two-round lattice-threshold
\emph{kernel} of \S\ref{sec:protocol} (the $(c, z, \Delta)$ output, shared
with Corona). Pulsar's \emph{byte-equal ML-DSA} construction, \textbf{TALUS}
(\S\ref{sec:protocol:bcc}), additionally proves
Theorem~\ref{thm:bcc-byte-equal} (byte-equality): a boundary-clear
threshold signature verifies byte-for-byte under the \emph{unmodified}
FIPS~204 $\mathsf{ML\text{-}DSA.Verify}$ at ML-DSA-65 / ML-DSA-87
(\texttt{cloudflare/circl} and \texttt{pq-crystals}), the correspondence
machine-checked in Lean. At \texttt{v1.7.1} the construction is
\emph{dealerless at both ends}: keygen via Mithril RSS
(Theorem~\ref{thm:mithril-rss-keygen}) and signing via the no-reconstruct
hyperball signer, so no party forms $\mathbf{s}_1$, $\mathbf{s}_2$, the key
seed, or the full $\mathbf{w}$. Two residuals are stated honestly under the
$(A)$-vs-$(B)$ claim discipline (\S\ref{sec:protocol:bcc:status}):
\textbf{(A)} the signer is malicious-hardened (single-use nonces,
identifiable abort, mandatory stock-FIPS-204 $\mathsf{ReleaseGate}$ bound a
malicious party to abort/retry, never a forge or leak), but a \emph{fully}
malicious-secure proof and a networked (non-simulation) MPC deployment are
open; and \textbf{(B)} standard-FIPS-204-\emph{verifier} compatibility of
the dealerless key is \emph{proven}, while full FIPS-204 \emph{KeyGen
distribution-equivalence} is the labeled open residual --- so the threshold
SUF-CMA reduction below is stated for the kernel and carries over to the
byte-equal mode \emph{conditional} on (B). The Corona leg composes
alongside Pulsar as defence-in-depth.
\paragraph{Round 1 MAC subgame.} A network attacker that observes
Round 1 broadcasts cannot replace any party's $D_i$ with a malicious
$D_i'$ unless it forges the corresponding $\textsc{MAC}_{i \to j}$. The
MAC is BLAKE3 \cite{blake3} truncated to 256 bits over a payload that
includes the symmetric pairwise key $\textsc{MACKeys}[i][j]$. Under the
PRF assumption on BLAKE3, the attacker's MAC-forgery advantage is
$Q_M / 2^{256}$ where $Q_M$ is the number of MAC queries observed; at
$Q_M \leq 2^{30}$ over an epoch lifetime, this is below $2^{-220}$.
The attack class of \cite{drijvers2019} (sub-exponential forgery on
unauthenticated concurrent commitment broadcast) is closed by the
combination of MAC authentication and per-party PRNG seeding from
$\textsc{BLAKE3}(\textsc{WriteTo}(\mathrm{sk}_i))$
(\texttt{sign.go:103}).
\paragraph{Full-rank subgame.} \textsc{SignRound2Preprocess} performs a
per-coefficient full-rank check on $D_\Sigma$ after dropping column 0
(\texttt{sign.go:348}). This rules out residual malicious commitments
that pass the MAC layer (e.g., $D_i' = D_i + V$ where $V$ has
rank-deficient slot $k$) but admit a re-opening attack. The check costs
$\varphi$ Gaussian eliminations on $m_{\mathrm{pk}} \times \bar D = 8
\times 48$ matrices over $\mathbb{F}_q$.
\paragraph{$L_2$ acceptance.} The verifier accepts iff the squared
$L_2$ norm of $(\Delta, z)$ over signed coefficients in $(-q/2, q/2]$
is at most $B^2 = 184\,960\,669\,042\,442\,604\,975\,662\,780\,477$.
The slack reservation $\eta_\varepsilon \cdot \sigma_*$ in $r^*$
ensures honest signers pass with probability $> 1 - 2^{-128}$ at the
canonical parameters; a forger cannot inflate $\Delta$ to compensate
for an arbitrary $c$ without exceeding the bound, by SIS hardness on
$[\mathbf{A}\,|\,\mathbf{I}]$ at norm $\beta = B$.
\subsection{Theorem 5.2: Activation-certificate circuit-breaker}
\label{sec:security:thm52}
\begin{theorem}[Activation-certificate soundness]
\label{thm:pulsar-activation}
Let $\Pi$ be a pre-activation Pulsar state at $(\eta, g)$ and $\Pi'$
the proposed post-activation state at $(\eta, g+1)$. Define
$\mathsf{VerifyActivation}(\Pi, \Pi', \sigma) = 1$ iff $\sigma$ is a
valid Pulsar threshold signature on the activation message
$\mathsf{ActivationMsg}_{\eta, g+1}$ of \S\ref{sec:lifecycle:activation}
that verifies under the \emph{unchanged} GroupKey
$\mathsf{GK}(\Pi) = (\mathbf{A}, \tilde{\mathbf{b}})$. Then under
MLWE/MSIS at the LP-073 \S2 parameters,
\[
\Pr\bigl[
\mathsf{VerifyActivation}(\Pi, \Pi', \sigma) = 1
\;\wedge\;
\Pi' \text{ does not Lagrange-recombine to } \mathbf{s}
\bigr]
\;\leq\;
\mathsf{Adv}^{\mathrm{tSUF-CMA}}_{\Pi_{\mathrm{Pulsar}}, \mathcal{A}}(\lambda)
\;=\; \mathsf{negl}(\lambda).
\]
Equivalently: \textsf{VerifyActivation} accepts iff the new committee
shares can sign under the unchanged GroupKey, except with negligible
probability.
\end{theorem}
\begin{proof}[Proof reference]
This is Theorem~14 of \cite{quasarcertsoundness} (``Activation-
certificate soundness''). The proof reduces acceptance under the
unchanged GroupKey to a Pulsar SUF-CMA challenge: a malformed
$\Pi'$ that nonetheless produces an accepting $\sigma$ would yield a
fresh MLWE/MSIS instance breaking Theorem~\ref{thm:pulsar-suf-cma}
above. The forward direction follows from the Lagrange-recombination
identity~(see Theorem~5.3 below).
\end{proof}
\subsection{Theorem 5.3: Resharing preserves master secret}
\label{sec:security:thm53}
\begin{theorem}[Lagrange-recombination identity]
\label{thm:pulsar-reshare}
Let $f(x) \in R_q[X]$ be the old-set sharing polynomial of degree
$t_{\mathrm{old}} - 1$ with $f(0) = \mathbf{s}$ and
$f(\alpha_v) = \mathbf{s}_v$ for $v \in V$. After
$\mathrm{Reshare}(V', t')$ with qualified subset
$Q \subseteq V$, $|Q| \geq t_{\mathrm{old}}$, where each $i \in Q$
samples $g_i(x)$ of degree $t' - 1$ with $g_i(0) = \mathbf{s}_i$, the
new sharing polynomial
\[
G(x) = \sum_{i \in Q} \lambda^Q_i(0) \cdot g_i(x)
\]
satisfies
\begin{align}
G(0)
\;&=\; \sum_{i \in Q} \lambda^Q_i(0) \cdot g_i(0)
\;=\; \sum_{i \in Q} \lambda^Q_i(0) \cdot \mathbf{s}_i
\nonumber \\
\;&=\; \sum_{i \in Q} \lambda^Q_i(0) \cdot f(\alpha_i)
\;=\; f(0)
\;=\; \mathbf{s},
\label{eq:pulsar-lagrange}
\end{align}
where the penultimate equality is the standard Lagrange interpolation
identity over $R_q$. Consequently,
$(\mathbf{A}, \mathbf{s}, \mathbf{e})$ is preserved across Reshare,
$\tilde{\mathbf{b}} = \lfloor \mathbf{A} \mathbf{s} +
\mathbf{e} \rceil_\xi$ is byte-preserved, and
$\mathsf{GKH}(\Pi) = \mathsf{GKH}(\Pi')$.
\end{theorem}
\begin{proof}[Proof reference]
This is Lemma~12 of \cite{quasarcertsoundness} (``GroupKey
byte-identity across Refresh and Reshare''), proved via
equation~\eqref{eq:pulsar-lagrange}. The Lean encoding is
\texttt{Crypto.Threshold.Reshare.reshare\_preserves\_public\_key} in
\texttt{proofs/lean/Crypto/Threshold/Reshare.lean} \cite{leancrypto},
which derives $\mathsf{pubkey\_from\_shares}(\mathsf{newShares}, t')
= \mathsf{pubkey}(\mathsf{key})$ from the underlying axiom
\texttt{reshare\_same\_secret}.
\end{proof}
For Refresh (HJKY97), an analogous identity applies with $z_i(x)$ a
zero-polynomial of degree $t-1$ \cite{hjky97}: the constant term
contributes nothing to $G(0)$, so $\mathbf{s}, \mathbf{e},
\tilde{\mathbf{b}}$ are byte-preserved. Verifiability of each
contribution under lattice Pedersen commits is per
Wong--Wang--Wing \cite{wongwangwing02} (LP-073
\S\ref{sec:lifecycle:dkg}); the binding/hiding properties hold under
MSIS on $[\mathbf{A}\,|\,\mathbf{B}]$ and MLWE on $\mathbf{B}$
respectively.
\subsection{Theorem 5.4: Lineage unforgeability}
\label{sec:security:thm54}
\begin{theorem}[KeyEraID and Generation lineage unforgeability]
\label{thm:pulsar-lineage}
Let $\mathcal{C} = (\eta_i, g_i, r_i)_{i=0}^{N}$ be the on-chain
lineage record across an arbitrary execution of Pulsar lifecycle
transitions. Under the activation-cert soundness theorem
(Theorem~\ref{thm:pulsar-activation} above) and the collision
resistance of $\mathsf{BLAKE3}$, no PPT adversary $\mathcal{A}$ can
produce
$\mathcal{C}^\star \neq \mathcal{C}$ that the chain accepts as a valid
lineage on the same epoch sequence, except with probability
$\mathsf{Adv}^{\mathrm{tSUF-CMA}} + Q_H / 2^{256}$.
\end{theorem}
\begin{proof}[Proof reference]
The lifecycle record is enforced by chain-state transitions that each
require a valid activation cert (Theorem~\ref{thm:pulsar-activation}
above). By Lemmas~10--13 of \cite{quasarcertsoundness} (Generation
monotonicity, KeyEraID stability, GroupKey byte-identity, Rollback-
lineage forward reconstruction), the triple $(\eta, g, r)$ uniquely
determines the lineage chain up to permutation of forward-then-rolled-
back branches; these are unambiguously labelled by $r > 0$. Forging a
different valid $\mathcal{C}^\star$ requires either (a)~forging an
activation cert (reduces to Theorem~\ref{thm:pulsar-activation}) or
(b)~finding a BLAKE3 collision on $\mathsf{ActivationMsg}$
($Q_H / 2^{256}$). The detailed reverse-walk construction that
recovers the canonical forward path appears in the proof of
Lemma~13 of \cite{quasarcertsoundness}.
\end{proof}
\subsection{Concrete parameter analysis}
\label{sec:security:concrete}
The classical and post-quantum cost analysis for the Pulsar parameter
set lives in App.~E of \cite{quasarcertsoundness} and is summarised
here for the bound substitutions in Theorems~5.1--5.4.
\paragraph{Lattice dimension.} Module-LWE underlying Pulsar has
$d = m_{\mathrm{pk}} \cdot \varphi = 8 \cdot 256 = 2048$ over
$\mathbb{Z}_q$ with $\log_2 q \approx 48$.
\paragraph{Classical cost (BDGL primal sieving).} For
$d = 2048, q \approx 2^{48}, \sigma_E \approx 6.108$, the optimal BKZ
block size is $\beta \approx 430$. Under the Becker--Ducas--Gama--
Laarhoven exponent $0.292$ \cite{bdgl2016},
\[
T_{\mathrm{classical}}
\;=\; 2^{0.292\beta + c_0}
\;\approx\; 2^{0.292 \cdot 430 + 16.4}
\;=\; 2^{142}.
\]
\paragraph{Quantum cost (Grover-amplified sieving).} Under the
Laarhoven--BDGL exponent $0.265$ for Grover-amplified
sieving \cite{laarhoven2015,bdgl2016},
\[
T_{\mathrm{quantum}}
\;=\; 2^{0.265 \beta + c_0}
\;\approx\; 2^{0.265 \cdot 430 + 16.4}
\;=\; 2^{130.35}.
\]
This is the substitution in Theorem~\ref{thm:pulsar-suf-cma}'s
$\epsilon_{\mathrm{MLWE}}, \epsilon_{\mathrm{MSIS}}$ at
$\lambda = 128$: the bound saturates the NIST Cat.~3 quantum target
with $\geq 2^{130}$ headroom.
\paragraph{MSIS bound.} The verifier accepts at $L_2$-norm bound
$\beta = B \approx 2^{48.61}$. SIS at $(\mathbf{A}, \beta)$ on the
$2048$-dimensional module is hard at the same BKZ block size; the
honest forger must find $(\Delta, z)$ within $\beta$ that satisfies the
$Az - bc$ identity, which by linear-algebra reduces to a
short-vector search on a coset of the SIS lattice. The cost
matches the MLWE estimate above to within $O(1)$ in the exponent.
\paragraph{Substitution into Theorem~5.1.} At $\lambda = 128$ and
$Q_S, Q_H \leq 2^{60}$ (a generous epoch-lifetime bound):
\begin{align*}
\mathsf{Adv}^{\mathrm{tSUF-CMA}}_{\Pi_{\mathrm{Pulsar}}, \mathcal{A}_C}
&\;\leq\; 2^{-142} + 2^{-142} + 2^{-196} + 2^{-68} + 2^{-196}
\;\leq\; 2^{-67}, \\
\mathsf{Adv}^{\mathrm{tSUF-CMA}}_{\Pi_{\mathrm{Pulsar}}, \mathcal{A}_Q}
&\;\leq\; 2^{-130} + 2^{-130} + 2^{-196} + 2^{-68} + 2^{-196}
\;\leq\; 2^{-67}.
\end{align*}
The dominant term is the rejection-sampling slack
$Q_S \cdot 2^{-128}$; the lattice term is far below the budget. To
shrink the slack one shrinks $Q_S$ by limiting per-epoch signing or
by adopting the tighter slack of $2^{-256}$ at the cost of one extra
$\sigma_E$-deviation in the Gaussian sampler. Lux production accepts
$2^{-67}$ as the operative bound at the LP-073 parameters; raising the
slack tier is tracked as a live parameter knob.
\subsection{Side-channel posture}
\label{sec:security:sidechannel}
Lattigo's \texttt{MRed} and \texttt{MRedLazy} \cite{lattigov7} are
constant-time on a 64-bit \texttt{bits.Mul64} substrate (Go and C++ on
x86/ARM 64). The Ziggurat \cite{ziggurat} and ternary samplers contain
rejection-sampling loops whose iteration count depends on the random
bytes consumed; the PRNG seed is independent of the secret in every
call site except $\textsc{PRNGKey}(\mathrm{sk}_i)$
(\texttt{primitives/hash.go:19}), where the BLAKE3 hashing is
constant-time and the resulting $k_{\mathrm{sk}}$ is used only as a
seed for the per-session PRNG. The dependence between secret-derived
seed and observable PRNG output is bounded by BLAKE3 collision
resistance (PRF-secure for $Q_H \leq 2^{128}$).
\subsection{Nonce-uniqueness invariant}
\label{sec:security:nonce}
The per-session PRNG is seeded deterministically from
$\textsc{BLAKE3}(\textsc{WriteTo}(\mathrm{sk}_i))$, which means the
same $(\mathrm{sk}_i, \mathit{sid}, \mu)$ triple produces the same
$R_i$ sequence. This is safe iff $\mathit{sid}$ is unique per signing
session. In Lux Quasar deployment (LP-020 \cite{lp020}), $\mathit{sid}$
is the (chain id, block height) pair, whose monotonicity is enforced by
P-Chain consensus; this provides session-id uniqueness as a chain
invariant rather than a runtime obligation. Under
Theorem~\ref{thm:pulsar-suf-cma} a session-id collision would
manifest as a transcript-hash collision and reduce to BLAKE3
collision-resistance, but the chain rules out the collision before the
PRNG is reseeded.
\subsection{Identifiable abort posture}
\label{sec:security:identabort}
Pulsar identifies misbehaviour at two layers:
\begin{itemize}[nosep]
\item \textbf{Round 1 MAC layer.} A failed MAC verification names
the sender (the verifier can identify which $i$'s broadcast
was tampered with). This is per-party identifiable abort by
construction.
\item \textbf{Round 2 share layer.} \textsc{Verify} can run per-share:
$z_j$ verifies independently against
$(D_j, \lambda_j, c, \tilde b)$ via the same $A z_j - b \cdot
\lambda_j c$ identity restricted to share $j$. The first
failing index identifies the corrupt $z_j$ and is recorded as
slashing-evidence material on chain. The chain's safety and
liveness do not depend on this attribution; per
\S\ref{sec:lifecycle:rollback}, a failed activation
triggers rollback rather than slashing.
\end{itemize}
\subsection{Composition with Quasar Horizon}
\label{sec:security:horizon}
Pulsar is one of three lanes in QuasarCert
\cite{quasarcertsoundness}. The composed soundness theorem
(Theorem~5 of \cite{quasarcertsoundness}) bounds the
adversary advantage by the minimum of three per-lane advantages
(BLS, Pulsar, ML-DSA-via-Groth16); under quantum adversary the BLS lane
is broken by Shor and the standalone-PQ predicate
$\mathsf{VerifyPQ} = \mathsf{RT.Verify} \land \mathsf{ZK.Verify}$
remains sound, with Pulsar's contribution bounded by
Theorem~\ref{thm:pulsar-suf-cma} above
(Theorem~8 of \cite{quasarcertsoundness}, ``post-quantum
safety''). Subject-binding
replay protection across epochs is per
Theorem~9 of \cite{quasarcertsoundness} (``subject-binding replay
protection''): every Pulsar
pulse hashes the certificate subject including
$(\mathsf{chain\_id}, \mathsf{epoch}, \mathsf{round}, \mathsf{KeyEraID},
\mathsf{Generation})$, so cross-epoch replay reduces to BLAKE3
collision resistance.