Skip to content

Commit 7014330

Browse files
committed
xmss security analysis: fix 8. of Alex H. review (leanEthereum/leanVM-b#10 (comment))
1 parent ac0924c commit 7014330

1 file changed

Lines changed: 4 additions & 5 deletions

File tree

doc/xmss/main.tex

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
\newcommand{\Sig}{\mathsf{Sig}}
2727
\newcommand{\Ver}{\mathsf{Ver}}
2828
\newcommand{\SIG}{\mathsf{SIG}}
29-
\newcommand{\Forge}{\mathsf{Forge}}
3029
\newcommand{\Chain}{\mathsf{Chain}}
3130
\newcommand{\hash}{\mathsf{H}}
3231
\newcommand{\LE}{\mathsf{LE}}
@@ -241,17 +240,17 @@ \subsection{Classical security}
241240
\item or it did, but the signer's answer was not $\sigma^*$.
242241
\end{itemize}
243242

244-
For $q \geq 1$, let $\Forge_{\SIG}(q)$ be the maximum winning probability of any adversary for which the total number of random-oracle queries made in the experiment, including during key generation, signing, and the final verification of the claimed forgery, is at most $q$. We say that $\SIG$ has $x$ bits of classical strong unforgeability in the ROM if
243+
Call $\mathcal A$ $q$-bounded if the experiment makes at most $q$ random-oracle queries on every execution, counting those of key generation, signing, and the final verification of the claimed forgery. We say that $\SIG$ has $x$ bits of classical strong unforgeability in the ROM if every $q\geq1$ and every $q$-bounded $\mathcal A$ satisfy
245244
\[
246-
\max_{q \geq 1}\frac{\Forge_{\SIG}(q)}{q}\leq 2^{-x}.
245+
\Pr[\mathcal A\text{ wins}]\leq\frac{q}{2^{x}}.
247246
\]
248247
\end{definition}
249248

250249
\begin{theorem}[XMSS security]
251250
The XMSS specified above has 127 bits of classical strong unforgeability in the ROM.
252251
\end{theorem}
253252

254-
A formal Lean4 proof of this theorem, using the VCVio framework \cite{VCVio}, can be found in \texttt{./formal/xmss/XmssSecurity/Statement.lean}. The theorem depends only on Lean's three standard axioms.
253+
A formal Lean4 proof of this theorem, using the VCVio framework \cite{VCVio}, can be found in \texttt{./formal/xmss/}. The claim is stated in \texttt{XmssSecurity/Statement.lean}, discharged at the root in \texttt{XmssSecurity.lean}, and derived under \texttt{XmssSecurity/Proof/}. The theorem depends only on Lean's three standard axioms.
255254

256255
\begin{proof}[Proof sketch]
257256
TODO
@@ -260,7 +259,7 @@ \subsection{Classical security}
260259
\subsection{Quantum security}
261260
\label{sec:quantum}
262261

263-
Only the classical bound of Section~\ref{sec:security} is proved. We expect $\approx64$ quantum bits, NIST category~1, which FIPS~205 assigns to the SLH-DSA parameter sets with a 128-bit digest~\cite{FIPS205}. The XMSS layers of SPHINCS+ have a QROM bound against an adversary that does not choose the signed messages~\cite{HK22}, and hash-then-sign reduces chosen messages to random ones~\cite{GHHM21}. This remains a conjecture: the first bound is proved for the WOTS+ encoding rather than for a target sum, and the second reduction induces a small loss of arround 1.5 bits.
262+
Only the classical bound of Section~\ref{sec:security} is proved. We expect $\approx64$ quantum bits, NIST category~1, which FIPS~205 assigns to the SLH-DSA parameter sets with a 128-bit digest~\cite{FIPS205}. The XMSS layers of SPHINCS+ have a QROM bound against an adversary that does not choose the signed messages~\cite{HK22}, and hash-then-sign reduces chosen messages to random ones~\cite{GHHM21}. This remains a conjecture: the first bound is proved for the WOTS+ encoding rather than for a target sum, and the second reduction induces a small loss of around 1.5 bits.
264263

265264
\section{Completeness}
266265

0 commit comments

Comments
 (0)