Files
papers/lux-mchain-mpc/sections/05-dual-signature-quantum-security.tex
zooqueen a1f77cacc9 papers: retire boschini2024corona key -> ringtail (third-party prior art); fix Pulsar/Corona/Ringtail provenance + lattice labels
Ringtail (Boschini et al., ePrint 2024/1113) is third-party prior art; Lux's
Corona (Ring-LWE = Module-LWE rank-1) builds on it; Pulsar is Module-LWE rank-k.
Retired the conflated boschini2024corona/corona2024/coronago/... bib keys to the
single canonical ringtail/corona/pulsar/magnetar keys, rewrote \cite + \bibitem
by context, and fixed 'Pulsar (Ring-LWE)' mislabels (Corona where corona.metal/
single-ring/Ringtail-derived; Pulsar where Module-LWE rank-k/ML-DSA). Cryptographer-led.
2026-06-19 22:33:10 -07:00

86 lines
2.3 KiB
TeX

\section{Dual-Signature Quantum Security}
M-Chain implements a phased approach to quantum resistance through dual signatures.
\subsection{DualSigTx Transaction Type}
\begin{algorithmic}[1]
\State \textbf{struct} DualSigTx:
\State \quad $SwapID$: X-Chain transaction ID
\State \quad $AssetID$: Asset identifier
\State \quad $ClassicalSig$: CGG21/MuSig2 signature
\State \quad $ClassicalBitmap$: Classical signers
\State \quad $QuantumSig$: Corona signature
\State \quad $QuantumBitmap$: Quantum signers
\State \quad $ProofHash$: Combined proof hash
\end{algorithmic}
\subsection{Phase Transition}
\begin{table}[h]
\centering
\begin{tabular}{@{}llll@{}}
\toprule
\textbf{Phase} & \textbf{Classical Sig} & \textbf{Quantum Sig} & \textbf{Validity} \\
\midrule
Phase 0 & Required & Not generated & Classical only \\
Phase 1 & Required & Generated & Classical validates \\
Phase 2 & Required & Required & Both validate \\
Phase 3 & Optional & Required & Quantum primary \\
\bottomrule
\end{tabular}
\label{tab:quantum-phases}
\end{table}
\begin{algorithmic}[1]
\State \textbf{function} \textsc{ValidateDualSig}($tx, state$)
\State $phase \gets state.QuantumPhase$
\State
\If{$phase \geq 1$}
\State \textbf{Verify classical signature}
\State $validClassical \gets \text{VerifyCGG21}(tx.ClassicalSig, \ldots)$
\If{not $validClassical$}
\State \Return $\texttt{INVALID\_CLASSICAL}$
\EndIf
\EndIf
\State
\If{$phase \geq 2$}
\State \textbf{Verify quantum signature}
\State $validQuantum \gets \text{VerifyCorona}(tx.QuantumSig, \ldots)$
\If{not $validQuantum$}
\State \Return $\texttt{INVALID\_QUANTUM}$
\EndIf
\EndIf
\State
\State \Return $\texttt{VALID}$
\State \textbf{end function}
\end{algorithmic}
\subsection{Security Analysis}
\begin{table}[h]
\centering
\begin{tabular}{@{}lll@{}}
\toprule
\textbf{Adversary Type} & \textbf{Classical Sig} & \textbf{Result} \\
\midrule
Classical attacker & Secure (128-bit) & Safe \\
Quantum attacker (Phase 0) & Vulnerable & Vulnerable \\
Quantum attacker (Phase 1) & Vulnerable & Safe (redundancy) \\
Quantum attacker (Phase 2+) & Vulnerable & Safe (required) \\
Both compromised & Compromised & Unsafe \\
\bottomrule
\end{tabular}
\label{tab:dual-sig-security}
\end{table}