mirror of
https://github.com/lux-apps/papers.git
synced 2026-11-03 05:07:46 +00:00
Bylines, paper authorship, correspondence addresses and the founder blurb under each post named an individual. They name the organisation that published the work instead: the brand on posts and pages, the research byline on papers, and research@ in place of a personal address. Both are what these repositories already used elsewhere — nothing new was coined. Co-authors are untouched. Where a paper named someone else alongside, they stay named; only the one byline changed. Bibliography entries, running heads, PDF metadata and affiliations move with it, so a citation still resolves to whoever the cited paper names. Sample and fixture data uses the placeholder name these tests already use elsewhere, so no assertion changed meaning.
87 lines
2.7 KiB
TeX
87 lines
2.7 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}
|
|
\usepackage{tikz}
|
|
\usetikzlibrary{arrows.meta,positioning}
|
|
|
|
\newtheorem{theorem}{Theorem}
|
|
\newtheorem{lemma}[theorem]{Lemma}
|
|
\newtheorem{proposition}[theorem]{Proposition}
|
|
\newtheorem{definition}{Definition}
|
|
\newtheorem{corollary}[theorem]{Corollary}
|
|
\newtheorem{remark}{Remark}
|
|
\newtheorem{example}{Example}
|
|
|
|
\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{Lattice Cryptography from First Principles:\\A Builder's Guide}
|
|
\author{
|
|
Lux Research \\
|
|
Lux Industries, Inc.\thanks{Corresponding author: [email protected]}\\
|
|
\texttt{[email protected]}
|
|
}
|
|
\date{2025}
|
|
|
|
\begin{document}
|
|
|
|
\luxcoverpage
|
|
|
|
\begin{abstract}
|
|
Lattice-based cryptography is the foundation of post-quantum security: ML-DSA
|
|
for signatures, ML-KEM for key encapsulation, and Pulsar for threshold schemes
|
|
all build on the hardness of lattice problems. This paper teaches lattice cryptography
|
|
from the ground up---not as a survey of results, but as a builder's guide for engineers
|
|
implementing these schemes. We cover: lattices and their geometry, the Learning With Errors
|
|
(LWE) problem and why it is hard, Ring-LWE and Module-LWE for practical efficiency, the
|
|
Number Theoretic Transform (NTT) for polynomial arithmetic, how ML-DSA and ML-KEM work
|
|
step by step, and how Pulsar extends these to threshold operations. We include Go code
|
|
for every non-trivial algorithm and explain every design decision in terms of the
|
|
security/performance tradeoff it represents. This is the paper we wish existed when we
|
|
started implementing post-quantum cryptography for Lux Network.
|
|
\end{abstract}
|
|
|
|
\tableofcontents
|
|
\newpage
|
|
|
|
%% ============================================================
|
|
|
|
\input{sections/01-what-is-a-lattice}
|
|
\input{sections/02-learning-with-errors-lwe}
|
|
\input{sections/03-ring-lwe-and-module-lwe}
|
|
\input{sections/04-the-number-theoretic-transform}
|
|
\input{sections/05-how-ml-kem-kyber-works}
|
|
\input{sections/06-how-ml-dsa-dilithium-works}
|
|
\input{sections/07-corona-threshold-lattice-signatures}
|
|
\input{sections/08-our-go-implementation}
|
|
\input{sections/09-security-parameters-and-concrete-hardnes}
|
|
\input{sections/10-common-implementation-pitfalls}
|
|
\input{sections/99-conclusion}
|
|
|
|
\end{document}
|