\documentclass{beamer} \usefonttheme[onlymath]{serif} \mode { \usetheme{Frankfurt} \usecolortheme{dove} %% grey scale \useinnertheme{circles} % \setbeamercovered{transparent} } \hypersetup{ colorlinks, citecolor=black, filecolor=black, linkcolor=black, urlcolor=blue } \usepackage{graphicx} \usepackage{color} \usepackage{xcolor} \usepackage{changepage} % for adjustwidth \usepackage{xcolor} \usepackage[most]{tcolorbox} \usepackage{pgf-umlsd} % diagrams \usepackage{tikz} \usetikzlibrary{positioning,arrows.meta} \usepackage{comment} \graphicspath{ {./imgs-lattices} } \setbeamertemplate{itemize}{$\circ$} \setbeamertemplate{itemize items}{$\circ$} \beamertemplatenavigationsymbolsempty %% no navigation bar \setbeamertemplate{footline}{\hspace*{.1cm}\scriptsize{ \hspace*{50pt} \hfill\insertframenumber/\inserttotalframenumber\hspace*{.1cm}\vspace*{.1cm}}} % paint red background to slides that I may end up removing \newenvironment{mayberm}[1][red!20] {\setbeamercolor{background canvas}{bg=#1}} {} \setbeamertemplate{caption}[numbered] \setbeamerfont{caption}{size=\tiny} \newtheoremstyle{customstyle} {18pt} % Space above {0pt} % Space below {} % Body font {} % Indent {\bfseries} % Head font {.} % Punctuation after head { } % Space after head {} % Head spec \theoremstyle{customstyle} \newtheorem{thm}{Theorem}[section] \let\lemma\relax \let\endlemma\relax \newtheorem{lemma}[thm]{Lemma} \newtheorem{prop}[thm]{Proposition} \newtheorem{cor}[thm]{Corollary} \newtheorem{defn}[thm]{Definition} \newtheorem{remark}[thm]{Remark} \newcommand{\Rr}{\mathbb{R}} \newcommand{\Zz}{\mathbb{Z}} \newcommand{\Ll}{\mathcal{L}} \title{Introduction to lattice based cryptography} \author{ \scriptsize{September 2026, Barcelona} } \date{ \scriptsize{ \href{https://arnaucube.com}{arnaucube.com}\\ \href{https://x.com/arnaucube}{$@$arnaucube} } } \begin{document} \frame{\titlepage} \section[Motivation]{Motivation} % - Motivation % - till now we've been mostly using RSA & E.C. cryptography % - they are susceptible to quantum computers based attacks. Shor's algorithm, etc % - post-quantum cryptography context: hash-based (starks), lattices, isogenesis % - historical timeline of papers (XMMS SPHINCHS (+), Falcon, etc (exclude isogenesis) % - hash vs lattices: hash had more engineering effort, it's currently more performant. Lattice have more algebraic structure, interesting properties. % - Lattices math % - lattice hard problems are based on the hardness of finding short vectors. SVP, CVP, SIS, etc % TODO: why lattices are post quantum % [done] Lattices are already used in browsers: explain how, hybrid signautres, etc % clarify L^\perp notation, is it q-ary? \begin{frame}{Motivation} \begin{itemize} \item till now most cryptography relied on hardness of finding prime factors or finding the discrete logarithm, ie. RSA, Elliptic Curves, etc \item Shor's algorithm suggests that factorization can be done in polynomial time (on quantum computers).\\ \small{ $\rightarrow$ given an odd composite $n \in \Zz$, find $d \in \Zz$, such that $1< d =Latex, % every node/.style={font=\scriptsize}, % ] % % % ========================================================= % % Headers % % \node[anchor=west] at (0,0) % {\textbf{Signer / Prover}}; % % \node[anchor=west] at (8.3,0) % {\textbf{Verifier}}; % % % ========================================================= % % Keys % % \node[anchor=west, align=left] at (0,-0.8) { % $s_1 \leftarrow S^\ell,~ s_2 \leftarrow S^k$ % \\[1mm] % Public:\\ % $A \leftarrow R_q^{k\times\ell},~ t = As_1+s_2$ % }; % % \node[anchor=west, align=left] at (8.3,-1.4) { % Public key:\\ % $(A,t)$ % }; % % \draw[->] % (4.9,-1.5) % -- % node[above] {$pk=(A,t)$} % (8.0,-1.5); % % % ========================================================= % % Commitment % % \node[anchor=west, align=left] at (0,-2.35) { % Sample short vectors:\\ % $y_1\leftarrow Y^\ell,~ % y_2\leftarrow Y^k$ % \\[1mm] % Compute:\\ % $w = Ay_1+y_2$ % }; % % \draw[->] % (4.9,-3.05) % -- % node[above] {$w$} % (8.0,-3.05); % % % ========================================================= % % Challenge % % \node[anchor=west, align=left] at (8.3,-3.25) { % $c\leftarrow C$\\ % \scriptsize{ % (in practice, $c = H(M ||w)$) % } % }; % % \draw[<-] % (4.9,-3.9) % -- % node[above] {$c$} % (8.0,-3.9); % % % ========================================================= % % Response % % \node[anchor=west, align=left] at (0,-4.45) { % Compute:\\ % $z_1=y_1+cs_1,~ % z_2=y_2+cs_2$ % \\[1mm] % Reject if $z_1,z_2$ are not short. % }; % % \draw[->] % (4.9,-5.55) % -- % node[above] {$z_1,z_2$} % (8.0,-5.55); % % % ========================================================= % % Verification % % \node[anchor=west, align=left] at (8.3,-6.0) { % Reconstruct:\\[1mm] % $\begin{aligned} % w' % &= Az_1+z_2-ct \\ % &= A(y_1+cs_1)+(y_2+cs_2) \\ % &\qquad-c(As_1+s_2) \\ % &= Ay_1+y_2 \stackrel{?}{=} w % \end{aligned}$ % \\[1mm] % Accept if $z_1,z_2$ are short. % }; % % \end{tikzpicture} % % % %%% % % \end{frame} \begin{comment} \begin{mayberm} \begin{frame}{Falcon signatures} \end{frame} \begin{frame}{LaBRADOR SNARK} \end{frame} \end{mayberm} \end{comment} \begin{frame}{Benchmarks} % TODO review benchmarks \centering % \small{ \setlength{\tabcolsep}{4pt} \renewcommand{\arraystretch}{1.10} \textbf{Digital signatures} \vspace{0.05cm} \resizebox{0.88\textwidth}{!}{% \begin{tabular}{llll} \toprule \textbf{Scheme} & \textbf{Assumption} & \textbf{Public key size} & \textbf{Signature size} \\ \midrule ECDSA-secp256k1 & elliptic curves & $33$ B & $64$ B \\ Falcon-512 & NTRU lattice & $897$ B & $666$ B \\ ML-DSA-44 & Module-LWE / Module-SIS & $1.31$ KB & $2.42$ KB \\ XMSS-SHA2-10-256 & hash based, stateful* & $64$ B & $2.50$ KB \\ SLH-DSA-128s (SPHINCS+) & hash based, stateless & $32$ B & $7.86$ KB \\ \bottomrule \end{tabular}% } \vspace{0.20cm} \textbf{SNARKs / STARKs} \vspace{0.05cm} \resizebox{0.87\textwidth}{!}{% \begin{tabular}{lll} \toprule \textbf{Scheme} & \textbf{Assumption / technique} & \textbf{Proof size} \\ \midrule Groth16 & pairings / elliptic curves & $128$ B \\ LaBRADOR & Module-SIS & $50$--$60$ KB \\ Flock & binary fields + coding theory & $200$--$400$ KiB \\ Binius64 & binary fields + sumcheck & $200$--$500$ KiB \\ Plonky2 & Plonk + FRI & $40$--$200$ KB \\ Plonky3 / FRI-STARK & polynomial IOP + FRI & $1$--$3$ MiB \\ \bottomrule \end{tabular} } \vspace*{0.5cm} \tiny{\emph{*stateful: signer needs to keep a state, keeping track of the leaves already used. Fine for validator nodes, potential trouble for wallets.}} \end{frame} \section[Takeaways]{Takeaways} { % \setbeamersize{text margin left=0.1cm,text margin right=0.1cm} \setlength{\leftmargini}{0.2em} \setlength{\leftmarginii}{1.2em} \begin{frame}{} \small % \vspace*{-0.2cm} \begin{itemize} \item quantum thread forces us to prepare for it. Most companies are already preparing for migration to post-quantum \item no tool (scheme) for all use cases (eg. Ethereum validators vs wallets) \item lattice-based cryptography: \scriptsize{ \begin{itemize} \item not a single assumption on all schemes: NTRU, R-SIS, M-SIS, R-LWE \item actual operations (implementation) are over polynomial rings % \item smaller proofs and keys than hash-based \item often significantly smaller signatures/proofs than hash-based alternatives, at the cost of more algebraic complexity \item often we're interested in 'short' values $\longrightarrow$ typical trick: decompose bigger values before operate on them \end{itemize} } \small \pause \item what to read from here \begin{itemize} \item \emph{A Decade of Lattice Cryptography}, Chris Peikert \href{https://eprint.iacr.org/2015/939}{https://eprint.iacr.org/2015/939} \item \emph{A gentle introduction to lattice-based cryptography}, Alfred Menezes \href{https://eprint.iacr.org/2026/1098}{https://eprint.iacr.org/2026/1098} \end{itemize} \end{itemize} \vspace{0.4cm} \centering % -\\ \href{https://arnaucube.com}{arnaucube.com}\\ \href{https://x.com/arnaucube}{$@$arnaucube} \end{frame} } \end{document}