\documentclass{beamer} % for themes, etc. \mode { \usetheme{boadilla} } \useoutertheme[subsection=false]{} \setbeamertemplate{navigation symbols}{} \colorlet{lightblue}{blue!5!white} \colorlet{mygreen}{green!50!black} \setbeamertemplate{background canvas}[vertical shading][top=lightblue,bottom=white] \setbeamersize{text margin left=1.5 cm, text margin right=1.5 cm} \setbeamercovered{transparent} \usepackage{times,color} % fonts are up to you \usepackage{graphicx,multirow} \usepackage{amsthm,amsmath} \usepackage{appendixnumberbeamer} \def\Tiny{\fontsize{5pt}{5pt}\selectfont} \def\nodiv{\mbox{$ {\not |\, } $}} \newcommand{\Fp}{\mathbb{F}_p} % these will be used later in the title page \title[Isogenies and Quantum Computing]{Isogenies in Elliptic Curve Cryptography} \author[D. Moody]{Dustin Moody} \institute[NIST]{ Computer Security Division\\ National Institute of Standards and Technology\\[1ex] \texttt{dustin.moody@nist.gov} } \date[Jan. 25, 2013]{January 25, 2013} \begin{document} % this prints title, author etc. info from above %\begin{frame} %\titlepage %\end{frame} \begin{frame} \frametitle{Outline} \begin{itemize} \item Background on Isogenies \vspace{10 pt} \item Rostovstev and Stolbunov's cryposystem \vspace{10 pt} \item "Constructing elliptic curve isogenies in quantum subexponential time," (Childs, Jao, Soukharev) 2011 \vspace{10 pt} \item "Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies," (Jao, de Feo) 2011 \end{itemize} \end{frame} \begin{frame}{Elliptic Curve} Let $K$ be a field. An elliptic curve $E$ is a nonsingular curve of genus 1 with at least one $K$-rational point. \begin{itemize} \item Weierstrass form $$E: y^2+a_1 xy + a_3 xy=x^3+a_2x^2+a_4x+a_6.$$ \item Short Weierstrass form {\small (char($K)\neq 2,3)$}: $$E:y^2=x^3+ax+b.$$ \end{itemize} \begin{figure} \includegraphics[width = 2 in]{ellipticcurve.jpg} \end{figure} \end{frame} \section{Isogenies} \begin{frame}{Isogenies} \begin{itemize} \item An isogeny $\phi$ is a non-constant homomorphism between elliptic curves given by rational maps. \item Examples: \begin{itemize} \item Let $\phi:E \to E$ be defined by $\phi(P)=P+P+...+P=[n]P$, for some integer $n$. \item Let $E$ be defined over $\mathbb{F}_p$. Let $\pi:E \to E$ where $\pi(x,y)=(x^p,y^p).$ The isogeny $\pi$ is known as the \emph{Frobenius}. \end{itemize} \item Given a finite subgroup $F$ of $E(K)$, there is an isogeny $\phi:E \to E/F$ such that ker$(\phi)=F$. \item If $|F|=\ell$, then the degree of $\phi$ is $\ell$, and $\phi$ is an $\ell$-isogeny. \end{itemize} \end{frame} \begin{frame}{V\'elu's formula} \begin{itemize} \item Let $E$ be an elliptic curve with finite subgroup $F$. Then there is an isogeny $\phi$ from $E$ with kernel $F$. \item For $P=(x_P,y_P) \notin F$, let $$\phi(P)=\Bigg(x_P+\sum_{\substack{Q \in F, \\Q \neq \infty}} (x_{P+Q}-x_Q),y_P+\sum_{\substack{Q \in F, \\Q \neq \infty}} (y_{P+Q}-y_Q) \Bigg).$$ \item If $|F|=\ell$, then $\phi$ is known as an $\ell$-isogeny. \end{itemize} \end{frame} \begin{frame}{V\'elu's formula - alternate version} \begin{itemize} \item Let $\phi$ be an $\ell$-isogeny, with $\ell$ odd. \item Let $$\aligned D(x)&=\prod_{\infty \neq Q \in F, } (x-x_Q) \\&=x^{\ell-1}-\sigma x^{\ell-2}+\dots \\&=g(x)^2. \endaligned$$ \item Then $\phi(x,y)=(R(x),yR'(x))$, with $$R(x)=\ell x-\sigma-(3x^2+a)\frac{D'(x)}{D(x)}-2(x^3+ax+b)\Big(\frac{D'(x)}{D(x)} \Big)'.$$ \item So $\phi$ is completely determined by $D(x)=g(x)^2$. \item $g(x)$ is known as the \emph{kernel polynomial} \end{itemize} \end{frame} \begin{frame}{Applications} \begin{itemize} \item SEA algorithm - count number of points on an elliptic curve over finite field \item Distortion maps - needed for pairing-based crypto \item Efficient point multiplication - key operation in ECC \item Avoid ZVP attack \item Random number generator \item Isogeny volcanoes \item Security - isogenies transfer Discrete Log Problem between curves \item Public key cryptosystems \end{itemize} \end{frame} \begin{frame}{Ordinary and Supersingular} \begin{itemize} \item Let $K=\mathbb{F}_p$ \item Then $\#(E(\mathbb{F}_p))=p+1-t$, for some $t \leq 2\sqrt{p}$. \item If $p|t$, then $E$ is \emph{supersingular}, otherwise $E$ is \emph{ordinary} \item Most elliptic curves are ordinary \item Supersingular curves have more special properties \end{itemize} \end{frame} \begin{frame}{Hard Problem} \begin{itemize} \item Tate's Theorem: $E_1$ is $\Fp$-isogenous to $E_2$ if and only if $\#(E_1(\Fp))=\#(E_2(\Fp))$. \vspace{10 pt} \item Hard Problem: Given $\#(E_1(\Fp))=\#(E_2(\Fp))$, find an isogeny from $E_1$ to $E_2$. \end{itemize} \begin{figure} \includegraphics[width = 3 in]{hardproblem.jpg} \end{figure} \end{frame} \begin{frame}{Isogeny Graphs} \begin{itemize} \item Fact: $E_1$ and $E_2$ are isomorphic if and only if $j(E_1)=j(E_2)$, $$j(E)=\frac{4a^3}{4a^3+27b^2}.$$ \item $\ell$-Isogeny Graph \begin{itemize} \item Vertices: $j$-invariants of elliptic curves \item Edges: Connect $E_1$ and $E_2$ if they are $\ell$-isogenous \end{itemize} \end{itemize} \begin{figure} \includegraphics[width = 2 in]{volcano.jpg} \end{figure} \end{frame} \begin{frame}{Isogeny Stars} \begin{itemize} \item Let $E$ be an ordinary elliptic curve with $\#(E(\Fp))=p+1-t$. \item Let $D=t^2-4p$. Let $\ell$ be a prime such that $D$ is a square mod $\ell$. \item Choose parameters so that number of vertices is prime. \item Then the $\ell$-isogeny graph containing $E$ is a cycle. \item Example: Over $\mathbb{F}_{83}$, there are 7 curves with $t=9$. \end{itemize} \begin{figure} \includegraphics[width = 3in]{star.jpg} \end{figure} \end{frame} \begin{frame}{Routes} \begin{figure} \includegraphics[width = 3in]{stardirection.jpg} \end{figure} \begin{itemize} \item There is a way to fix a direction on an isogeny star. \item Let $R^{\ell}_{i}$ denote walking $i$ steps on $\ell$-star \item Key observation: $R^{\ell}_i R^{\ell '}_j = R^{\ell '}_j R^{\ell}_i$ \item Example: \begin{itemize} \item Start at 34, with $i=4$, $j=3$. \end{itemize} \item A step on a route is computing an isogeny. \end{itemize} \end{frame} \begin{frame}{Rostovtsev and Stolbunov's cryptosystem} \begin{itemize} \item Encryption: \begin{itemize} \item Agree on all parameters ($\Fp, \ell, \ell', t,$ etc...) \item Private key: route $R_{priv}$ \item Public key: curve $E$, and curve $E_{pub}=R_{priv}(E)$ \item To send $m$, Bob picks random route $R_{enc}$ and computes $E_{enc}=R_{enc}(E_{pub})$. \item Bob sends $(s,E')$ to Alice, where $s=m\cdot j(E_{enc})$ and $E'=R_{enc}(E)$. \item Alice decrypts by computing $j=j(R_{priv}(E')$, and $m=s/j$. \end{itemize} \item Diffie-Hellman-ish key exchange: \begin{itemize} \item $E$ is fixed. Alice sends $E_1=R_1(E)$ to Bob. Bob sends $E_2=R_2(E)$ to Alice. \item They can both compute $E_{key}=R_1(E_2)=R_2(E_1)$. \end{itemize} \end{itemize} \end{frame} \begin{frame}{Security} \begin{itemize} \item To break the system, given $E_1$ and $E_2$, need to find a route $R(E_1)=E_2$. -- That is, compute an isogeny between $E_1$ and $E_2$. \item Timings: For 128 bit security, $\approx$229 seconds to encrypt/decrypt. (normal CPU) \item The graph isn't computable \item Best attack is a meet-in-the-middle attack: Galbraith's algorithm, $O(\sqrt[4]{p})$. \item Mainly of theoretical interest. \item Possible post-quantum cryptosystem. \end{itemize} \end{frame} \begin{frame} \begin{figure} \includegraphics[width = 3.5 in]{table.jpg} \end{figure} \end{frame} \begin{frame}{Childs, Jao, Soukharev} \begin{itemize} \item Quantum, subexponential algorithm to compute (horizontal) isogenies. \item Algorithm is $L_p(\frac{1}{2},\frac{\sqrt{3}}{2}+\sqrt{2})$, with polynomial space \item Assumes Generalized Riemann Hypothesis \item Key Idea: reduce to Hidden Shift Problem \end{itemize} \end{frame} \begin{frame}{Hidden Shift Problem} \begin{itemize} \item Let $A$ be a finite abelian group, and $S$ a finite set. \item Let $f_0,f_1:A \to S$ be injective functions. \item There is a \emph{hidden shift} if $$f_1(x)=f_0(xs)$$ for some $s \in A$. \begin{block}{Hidden Shift Problem (HSP)} Given $A,S$ and $f_0,f_1$ with a hidden shift, find $s$. \end{block} \end{itemize} \end{frame} \begin{frame}{Representing Isogenies} \begin{itemize} \item Let $\phi:E \to E'$ be an isogeny over $\Fp$. \item Recall $\#(E(\Fp))=\#(E'(\Fp))=p+1-t$. Let $D=t^2-4p <0$. \item Fact: When $E$ is ordinary, End($E$) is an order $\mathcal{O}$ in $K=\mathbb{Q}(\sqrt{D})$. \item The isogeny $\phi$ is determined by $E$ and ker$(\phi)$ (up to isomorphism). \item ker$(\phi)$ can be represented as an ideal $\mathfrak{b}$ in $\mathcal{O}$. \end{itemize} \vspace{20 pt} $$\phi:E \to E_\mathfrak{b} \longleftrightarrow \mbox{ker}(\phi) \longleftrightarrow \mathfrak{b} \subseteq \mathcal{O}_K$$ \end{frame} \begin{frame}{Isogenies and Class Groups} $$\phi:E \to E_\mathfrak{b} \longleftrightarrow \mbox{ker}(\phi) \longleftrightarrow \mathfrak{b} \subseteq \mathcal{O}_K$$ \begin{itemize} \item Principal ideals $(\mathfrak{a})$ correspond to isomorphisms. \item Thus, the class group acts on ordinary, isogenous curves with the same endomorphism ring. \item This defines an operator $*$ $$[\mathfrak{b}] * j(E) \to j(E_\mathfrak{b}),$$ where $[\mathfrak{b}]$ is the ideal class of $\mathfrak{b}$. \end{itemize} \end{frame} \begin{frame}{Reducing Isogenies to HSP} \begin{itemize} \item Let $\phi:E_0 \to E_1$ be an isogeny. \item Let $\mathfrak{b}$ be the ideal corresponding to $\phi$. \item Let $f_i([x]) \to [x] * j(E_i)$, for $i=0,1$. \item Then $$\begin{aligned} f_1([x])&=[x] * j(E_1)\\ &=[x] * \left([\mathfrak{b}] * j(E_0)\right)\\ &=([x][\mathfrak{b}]) * j(E_0)\\ &=f_0([x][\mathfrak{b}]). \end{aligned}$$ \item Thus the isogeny problem reduces to the Hidden Shift Problem. \end{itemize} \end{frame} \begin{frame}{Solving the HSP} \begin{itemize} \item Evaluating $f_0$ and $f_1$ \begin{itemize} \item Childs, Jao, and Soukharev -- compute $*$ operator in subexponential time \end{itemize} \item Solving HSP (using quantum computer) \begin{itemize} \item Kuperberg's algorithm -- faster running time, superpolynomial space \item Regev's algorithm -- slower, but polynomial space \item Childs, Jao, Soukharev -- fill in the gaps \end{itemize} \end{itemize} \end{frame} \begin{frame}{Conclusions} \begin{itemize} \item Assuming GRH, there is a subexpontial quantum algorithm to compute isogenies. \item With classical computers, isogeny problem is "easier" $(p^{1/4}$ to $p^{1/2}$) than discrete log, but situation is reversed with quantum computers. \item Actually, input to algorithm is End($E$), or $\mathcal{O}$. \begin{itemize} \item This is part of public parameters for all proposed isogeny based cryptosystems. \end{itemize} \item For arbitrary, ordinary curves, there is a subexponential (quantum) algorithm to compute End($E$), assuming the GRH. \end{itemize} \end{frame} \begin{frame}{Last words?} \begin{itemize} \item {\footnotesize Authors conclude: "Since isogeny-based cryptosystems already perform poorly at moderate security levels, any improved attacks such as ours would seem to disqualify such systems from consideration in a post-quantum world."} \item {\footnotesize Stolbunov: "First of all, it is not clear whether the superpolynomial quantum attack of Childs, Jao and Soukharev will pose a realistic threat. The attack requires $O(2^{6\sqrt {s \log(s)}})$ quantum gates. Physicists are in doubt about the possibility of large-scale quantum computations, because of errors introduced by the quantum decoherence. If no key length adjustment will be needed to protect against the named attack, then the isogeny-based schemes will offer, in general, shorter keys and more efficient bandwidth usage, as compared to other quantum-resistant hard problems. But this will come at a cost of lower operational speeds."} \end{itemize} \end{frame} \begin{frame}{The Second Paper (Jao, de Feo)} \begin{itemize} \item Flaws of previous system: \begin{itemize} \item Not very efficient (229s for 128 bit security) \item Subexponential attack \end{itemize} \vspace{20 pt} \item New supersingular isogeny-based cryptosytem \begin{itemize} \item Way more efficient (60ms for 128 bit security) \item No subexponential attack known \end{itemize} \end{itemize} \end{frame} \begin{frame}{Supersingular Curves} \begin{itemize} \item Recall $E$ is supersingular if $\#(E(\Fp))=p+1-t$, and $p|t$. \item Supersingular curves are rare. \item Endomorphism ring of $E$ is an order in quaternion algebra. \item In particular, End($E$) is not commutative. \item All supersingular curves can be defined over $\mathbb{F}_{p^2}$. \item Can represent ker$(\phi)$ efficiently over $\mathbb{F}_{p^2}$. This is not possible for ordinary curves. \begin{itemize} \item This fact leads to increase in speed. \end{itemize} \end{itemize} \end{frame} \begin{frame}{Supersingular Graphs} \begin{itemize} \item $\ell$-isogeny graph is $\ell+1$-regular (assuming $\ell \nodiv p$). \item The graph is an expander graph, or Ramanujan graph. \item Supersingular isogeny graph used for Charles, Goren, Lauter's hash function. \vspace{10 pt} \item Let $p=\ell_A^{e_A} \ell_B^{e_B}f \pm 1$ be prime, for small primes $\ell_A, \ell_B$. \item Usually this is bad, but we don't need discrete log to be hard. \end{itemize} \end{frame} \begin{frame}{Key Exchange} \begin{figure} \includegraphics[width = 3.5 in]{commisog.pdf} \end{figure} \vspace{-15 pt} \begin{itemize} \item Let $P_A,Q_A$ be generators of $E[\ell_A^{e_a}]$, and analogously for $P_B,Q_B$. \item Alice chooses random $m_A,n_A$ and computes $\phi_A:E \to E_A$ with kernel $m_AP_A+n_AQ_A$. \item Alice sends $E_A$,$\phi_A(P_B)$ and $\phi_A(Q_B)$ to Bob. Bob does similarly. \item Alice computes $\phi'_A:E_B \to E_{AB}$ with kernel $m_A\phi_B(P_A)+n_A\phi_B(Q_A)$. Bob does similarly. \item The key is $j(E_{AB})$. \end{itemize} \end{frame} \begin{frame}{Speed and Security} \begin{itemize} \item (We skip description of encryption system) \item Best general algorithm to compute isogenies between supersingular curves is $O\left(\sqrt{p} \log^2{p}\right)$. \item There is a classical "claw" attack with $O\left( \sqrt[4]{p}\right)$, and a quantum "claw" attack with $O\left( \sqrt[6]{p}\right)$ \item Benchmarks (on desktop): \end{itemize} \vspace{5 pt} \begin{center} \begin{tabular}{ |l | c | c | c |} \hline Security & 85 bits & 128 bits & 170 bits \\ \hline Time (ms) & 28 & 66& 122 \\ \hline \end{tabular} \end{center} \end{frame} \begin{frame}{Summary} \begin{itemize} \item Isogeny-based cryptosystems. \item Subexponential attack on isogenies between elliptic curves. \item Jao, de Feo propose new supersingular cryptosytem \begin{itemize} \item No quantum attacks known (yet) \item Efficient \end{itemize} \vspace{5 pt} \item Conclusion: wait and see. \end{itemize} \end{frame} \end{document}