楕円曲線暗号
離散対数問題を効率的に解くことのできるショアのアルゴリズムは、楕円曲線暗号の解読にも利用できる。256ビットの法を持つ楕円曲線暗号(128ビット安全)を破るためには、2330量子ビット、1,260億トフォリゲートのリソースを持つ量子コンピュータが必要であると見積もられている。 一方、アメリカ国立標準技術研究所の勧告(NIST SP 800-57)によりこれと同等のセキュリティレベルとされる3072ビット鍵のRSA暗号を破るためには、6146量子ビット、18.6兆トフォリゲートが必要であり、量子コンピュータにとっては、RSA暗号に比べ楕円曲線暗号は攻撃しやすいといえる。いずれにせよ、これらのリソースは現在実存する量子コンピュータのリソースをはるかに超えており、このようなコンピュータの構築は10年以上先になると見られている。
同種写像暗号は、楕円曲線の同種写像を用いた暗号方式であり、量子コンピュータに対して耐性がある(耐量子)と考えられている。同種写像暗号の例としてディフィー・ヘルマン鍵共有と同様に鍵共有を行うSIDHがある。従来の楕円曲線暗号と同じ体の演算を多く使用し、必要な計算量や通信量は現在使用されている多くの公開鍵システムと同程度である。
スカラー倍算(Scalar Multiplication)は楕円曲線上における掛け算である。楕円曲線上の点と点を掛けるのではなく、点に整数(スカラー)を掛けることに注意。
暗号化・復号の過程において、 Q = d P {\displaystyle Q=dP} ( P , Q {\displaystyle P,\,Q} は楕円曲線上の点)という演算を行う。 ナイーヴな実装としては Q = ( ⋯ ( ( P + P ) + P ) + ⋯ ) + P {\displaystyle Q=(\cdots ((P+P)+P)+\cdots )+P} というように Pを ( d − 1 ) {\displaystyle (d-1)} 回加算(1回目は2倍算となる)するが、これでは効率が悪い。
スカラー倍算はRSA暗号などにおけるべき乗剰余演算とリンクしており、これの高速化手法もそれから流用できるものが多い。例えば、そのひとつとして有名なBinary法では、dを2進数表記し、dの各ビット d i {\displaystyle d_{i}} が "0" の場合は2倍算のみを行い、"1" の場合は2倍算と加算を行うことにより、ナイーブな実装と同じ計算をより高速に行なっている。この計算手法では、2倍算はべき乗剰余演算における自乗算、加算は掛け算にそれぞれ対応している。
この演算は楕円曲線暗号の根幹を成している部分であり、楕円曲線暗号を利用する際の時間の大半を占めている。ゆえに、ICカードなどハードウェア上に演算回路を実装する場合はサイドチャネル攻撃(特にSPA、DPA)のターゲットとなる箇所なので工夫が必要となる。