Files
papers/lux-protocol-verification-tamarin/lux-protocol-verification-tamarin.tex
zeekay dd93cb41f7 papers: cover-consistency + build pass on Lux Tier-2/3 catalogue
Sweep across the non-Tier-1 paper catalogue (Tier-1 owned by parallel
agent and excluded). All 113 processed papers already had luxcover
wired up; this commit fixes 14 build breakers and produces fresh
PDFs across the catalogue.

Fixes:
- lux-blockchain-scaling-laws: em-dash inside lstlisting -> --
- lux-corona-pq: stale \input pointing at 03-the-corona-scheme renamed
  to 03-the-corona-scheme (file already renamed on disk)
- lux-lattice-cryptography-primer: same Corona->Corona rename
- lux-formal-verification-lean4: Lean source uses unicode (×, ∀, ∃, ∈,
  ∧, ∨, ∩, ≠, ⟨, ⟩, ·, ¬) inside lstlistings. Added a literate map
  so listings render the math glyphs without UTF-8 fault.
- lux-id-did-specification: ✓/✗ in tabular replaced with \ding{51}
  / \ding{55} (pifont). Added pifont package.
- lux-ntt-simd-implementation: middle-dot in Go assembly listings;
  added literate {·}{\textperiodcentered}.
- lux-ntt-transform: μ, ×, –, — in regular text (no T1 fontenc).
  Replaced with $\mu$/$\times$/--/--- via unicode->latex sweep.
- lux-perpetuals-derivatives, lux-quantum-consensus,
  lux-quasar-consensus, lux-tee-computing-mesh: same unicode->latex
  sweep across body text. Also fixed broken math segment
  `$L_{avg} = 10$\times$$` -> `$L_{avg} = 10\times$`.
- lux-zchain: emoji glyphs in roadmap table replaced with
  parenthetical text.
- lux-triple-proof-consensus: dropped duplicate \usepackage{geometry}
  that clashed with luxcover (geometry option clash).
- pq: defined missing \Rq macro.

PDFs rebuilt for the full Tier-2/3 set.

Excluded (Tier-1, parallel agent): lp-073-pulsar, lp-stricte2epq,
dag-evm-formal, lp-010-quasar-stm-{3,4}, lp-020-quasar-consensus,
lux-institutional-custody, lux-nist-mptc-submission, pqsafe-il5,
pq-rns, plus shared/ and lps/.
2026-05-13 01:27:59 -07:00

90 lines
2.8 KiB
TeX

\documentclass[11pt,a4paper]{article}
\usepackage{../shared/luxcover}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amsfonts,amsthm}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{listings}
\input{../shared/lstlang}
\usepackage{xcolor}
\usepackage{enumitem}
\usepackage{float}
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{definition}{Definition}
\newtheorem{remark}{Remark}
\lstdefinelanguage{Tamarin}{
morekeywords={theory,begin,end,rule,lemma,builtins,functions,equations,
restriction,axiom,In,Out,Fr,K,All,Ex,not,let,in,if,then,else,
diffie_hellman,symmetric_encryption,asymmetric_encryption,hashing,
signing,multiset},
morecomment=[l]{//},
morecomment=[s]{/*}{*/},
morestring=[b]",
sensitive=true,
}
\lstset{
basicstyle=\small\ttfamily,
keywordstyle=\color{blue}\bfseries,
commentstyle=\color{gray},
stringstyle=\color{red},
breaklines=true,
frame=single,
numbers=left,
numberstyle=\tiny\color{gray}
}
\hypersetup{
colorlinks=true,
linkcolor=blue,
citecolor=blue,
urlcolor=blue
}
\title{Security Protocol Verification with Tamarin Prover}
\author{
Zach Kelling \\
Lux Industries, Inc.\thanks{Corresponding author: [email protected]}\\
\texttt{[email protected]}
}
\date{2025}
\begin{document}
\luxcoverpage
\begin{abstract}
Tamarin Prover is a tool for the symbolic analysis of security protocols. It can prove
that a protocol satisfies security properties (authentication, secrecy, forward secrecy)
for \emph{all} possible adversary strategies, not just those a tester thought to try.
This paper teaches Tamarin from first principles: the Dolev-Yao adversary model,
multiset rewriting rules, lemma specification, and proof strategies. We then present
Tamarin models of two Lux Network protocols: the MPC bridge signing protocol (FROST-BLS
threshold signatures over a network adversary) and the hybrid post-quantum TLS handshake
(combining ML-KEM with X25519 for quantum resistance). For each, we verify authentication,
secrecy, and agreement properties, and we show how Tamarin's attack finding mode uncovered
a reflection attack in an early version of the MPC protocol. The reader will learn to
model protocols, specify security properties, run Tamarin, and interpret its output.
\end{abstract}
\tableofcontents
\newpage
%% ============================================================
\input{sections/01-what-is-protocol-verification}
\input{sections/02-tamarin-fundamentals}
\input{sections/03-modeling-the-mpc-bridge-protocol}
\input{sections/04-modeling-the-hybrid-pq-handshake}
\input{sections/05-running-tamarin}
\input{sections/06-common-pitfalls}
\input{sections/07-tamarin-vs-proverif}
\input{sections/99-conclusion}
\end{document}