CRYPTREC 暗号技術ガイドライン (耐量子計算機暗号)2024 年度版 2025 年 3 月 CRYPTREC 暗号技術調査ワーキンググループ(耐量子計算機暗号) 目次 第1章 はじめに 1 1.1 暗号の安全性に影響のある量子コンピュータの開発状況 . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.1 量子コンピュータの分類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.2 ハードウェアの進展とロードマップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 耐量子計算機暗号(PQC) の必要性について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.1 量子コンピュータの影響による現代暗号の危殆化予測 . . . . . . . . . . . . . . . . . . . . . . 5 1.2.2 量子コンピュータによる素因数分解・離散対数問題計算の現状 . . . . . . . . . . . . . . . . . 5 1.3 PQC の研究及び標準化等に関する動向 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.1 米国 NIST における標準化の動向 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.2 米国以外での動向 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4 本調査で対象とした PQC の種類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.5 耐量子計算機暗号調査報告書執筆者リスト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 第2章 PQC の活用方法 21 2.1 公開鍵暗号の利用形態 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.1.1 署名用途での公開鍵暗号の利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.1.2 守秘用途での公開鍵暗号の利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.1.3 鍵共有用途での公開鍵暗号の利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2 PQC の導入における課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2.1 署名用途での課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2.2 守秘用途での課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2.3 鍵共有用途での課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3 PQC 導入へのアプローチ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3.1 プライオリティ設定の重要性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.3.2 クリプトグラフィック・アジリティの重要性 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.3.3 既存暗号方式とのハイブリッド構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.3.4 署名用途固有の対策 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.3.5 守秘及び鍵共有用途固有の対策 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4 PQC の活用にむけて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 第3章 格子に基づく暗号技術 33 3.1 格子に基づく暗号技術の安全性の根拠となる問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 i 3.1.1 LWE 問題の紹介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.1.2 NTRU 問題の紹介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.1.3 格子問題の公開チャレンジの求解状況 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2 格子に基づく代表的な暗号方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.2.1 Hash-and-Sign に基づく署名方式の格子問題への拡張 . . . . . . . . . . . . . . . . . . . . . . 35 3.2.2 Fiat-Shamir 署名方式の格子問題への拡張 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.3 格子に基づく主要な暗号方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.1 FIPS 203:Module-Lattice-Based Key-Encapsulation Mechanism Standard (ML-KEM) . 37 3.3.1.1 ML-KEM における数論変換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.3.1.2 ML-KEM の基本構成と処理概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.3.1.3 暗号パラメータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.3.2 FIPS 204: Module-Lattice-Based Digital Signature Standard(ML-DSA) . . . . . . . . . 42 3.3.2.1 ML-DSA における数論変換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.3.2.2 ML-DSA の構成と処理概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.3.2.3 暗号パラメータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.3.2.4 CRYSTALS-Dilithium との違い . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.3.3 FALCON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.4 格子に基づく暗号技術に関するまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 第4章 符号に基づく暗号技術 61 4.1 符号に基づく暗号技術の安全性の根拠となる問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.1.1 SD 問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.1.2 SD 問題に対する評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.1.3 LPN 問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.1.4 LPN 問題に対する評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.2 符号に基づく代表的な暗号方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.2.1 McEliece 公開鍵暗号方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.2.2 Niederreiter 公開鍵暗号方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.3 符号に基づく主要な暗号方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.3.1 Classic McEliece . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.3.2 BIKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.3.3 HQC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.4 符号に基づく暗号技術に関するまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 第5章 多変数多項式に基づく暗号技術 77 5.1 多変数多項式に基づく暗号技術の安全性の根拠となる問題 . . . . . . . . . . . . . . . . . . . . . . . . 77 5.1.1 MP 問題(MQ 問題) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.1.2 MinRank 問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.1.3 IP 問題,EIP 問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.2 多変数多項式に基づく代表的な暗号方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 ii 5.2.1 双極型システム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.2.2 署名方式 UOV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.2.2.1 UOV の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.2.2.2 UOV の公開鍵長の削減 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.2.3 MPC-in-the-Head による署名方式の構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.2.3.1 秘匿マルチパーティ計算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.2.3.2 ゼロ知識証明への変換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3 多変数多項式に基づく主要な暗号方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.3.1 署名方式 UOV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.3.1.1 UOV の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.3.1.2 UOV のパラメータ選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.3.2 署名方式 QR-UOV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.3.2.1 QR-UOV の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.3.2.2 QR-UOV のパラメータ選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.3.3 署名方式 MAYO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.3.3.1 MAYO の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.3.3.2 MAYO のパラメータ選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.3.4 署名方式 MQOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.3.4.1 MQOM の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.3.4.2 MQOM のパラメータ選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.3.5 署名方式 MiRitH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.3.5.1 MiRitH の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.3.5.2 MiRitH のパラメータ選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.4 多変数多項式に基づく暗号技術に関するまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 第6章 同種写像に基づく暗号技術 99 6.1 同種写像に基づく暗号技術の安全性の根拠となる問題 . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.1.1 同種写像問題の一般形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.1.2 自己準同型環計算問題と SQIsign 署名方式の安全性に関する計算問題 . . . . . . . . . . . . . . 101 6.1.2.1 自己準同型環計算問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.1.2.2 SQIsign 署名方式の安全性に関する計算問題 . . . . . . . . . . . . . . . . . . . . . . 102 6.2 同種写像に基づく代表的な暗号方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.2.1 GPS 署名方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.3 同種写像に基づく主要な暗号方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.3.1 SQIsign 署名方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.3.1.1 KLPT アルゴリズムに基づく SQIsign 署名方式 . . . . . . . . . . . . . . . . . . . . 105 6.3.1.2 SQIsign2D 署名方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 6.4 同種写像に基づく暗号技術に関するまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 第7章 ハッシュ関数に基づく署名技術 113 iii 7.1 ハッシュ関数に基づく署名技術の安全性の根拠となる問題 . . . . . . . . . . . . . . . . . . . . . . . . 113 7.2 ハッシュ関数に基づく代表的な署名方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 7.2.1 Winternitz One-Time Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 7.2.2 マークル木を用いた署名方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 7.2.3 マークル木の階層構造による署名方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 7.2.4 プレフィクスとビットマスク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 7.3 ハッシュ関数に基づく主要な署名方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 7.3.1 XMSS: eXtended Merkle Signature Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . 117 7.3.1.1 WOTS+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 7.3.1.2 XMSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 7.3.1.3 XMSSM T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 7.3.1.4 パラメータの設定と安全性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 7.3.2 SLH-DSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 7.3.2.1 WOTS+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 7.3.2.2 XMSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 7.3.2.3 Hypertree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 7.3.2.4 FORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 7.3.2.5 SLH-DSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 7.3.2.6 パラメータの設定と安全性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 7.3.2.7 ハッシュ関数の実現法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 7.4 ハッシュ関数に基づく署名技術に関するまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 iv 第1章 はじめに 暗号は情報を保護するための基礎的な手段である。基本的な暗号の分類として共通鍵暗号と公開鍵暗号があり,さら に公開鍵暗号の下位分類として通信相手の認証などを目的とした署名方式,情報の守秘を目的とした公開鍵暗号方式*1 , 秘密鍵の共有を目的とした鍵共有が存在する*2 。これらを含めた基本的な暗号方式を部品(プリミティブ)とした高 機能暗号 [6] が数多く提案されている。2025 年現在,署名目的で DSA,ECDSA 等,情報の守秘目的で RSA-OAEP 等,秘密鍵共有の目的では DH,ECDH 等*3 が国際的な標準暗号方式 [72] として用いられており,日本においても電 子政府推奨暗号 [110] とされている。 これらの暗号方式の安全性と深く関わる計算問題として,素因数分解問題や楕円曲線上の離散対数問題があり,古 典コンピュータ*4 を用いる限りでは効率的に解くことが困難であると信じられている。このことから,RSA 暗号や ECDSA 署名はある程度の大きさの鍵長 [109] を用いることで安全性が保てると考えられている。一方で,Shor の量 子アルゴリズム [92, 93] はこれらの計算問題を効率的に解くため,量子コンピュータの高性能化が情報セキュリティに 影響を及ぼすとされている。古典コンピュータ上での効率的な実装が可能であり,かつ古典・量子双方のコンピュータ を用いた攻撃に対しても安全性を確保できる暗号方式が必要とされている。 量子コンピュータによる攻撃への耐性は耐量子計算機性と呼ばれ,耐量子計算機性を持つ一連の暗号が耐量子計算機 暗号(Post-Quantum Cryptography: PQC)と呼ばれる。耐量子計算機性の定式化はそれぞれの暗号技術の定式化を 踏まえて行われており,一義的な意味で用いられる単語ではないことに注意が必要である。共通するのは古典計算機に よる実装が可能であるという点であり,これを以て,情報を量子状態に乗せて伝達することで安全性を保証する量子暗 号・量子鍵共有と分別される(例えば [62, p. 3] を参照)。 本ガイドライン内では特に断りのない場合,耐量子計算機暗号(PQC)の言葉を,古典アルゴリズムの組み合わせ により定式化され,かつ耐量子計算機性を持つことが安全性証明や計算量評価のように技術的に判断可能な暗号方式と する。 なお,公開鍵暗号以外の方式でも Grover の量子検索アルゴリズム [44] を用いることで共通鍵暗号方式の安全性の低 下 [21] や暗号学的ハッシュ関数の衝突発見の高速化 [22] が知られており,これらのトピックに関しても多くの調査報 告書が出版されている。例えば近年の量子コンピュータによる共通鍵暗号方式の安全性への影響を調査した報告書とし て,CRYPTREC による [114],日本銀行金融研究所による [121] が存在する。Grover アルゴリズムの最適性 [107] か *1 本報告書の中では公開鍵暗号を Public-Key Cryptography の意味で用い,その下位分類としての Public-Key Encryption を公開鍵暗号 方式と表記する。 *2 基本的な暗号方式の定義と性質に関しては,例えば教科書 [115, 1.3 節] などを参照。 *3 これらの方式には多くの解説記事があるが,DH,DSA に関しては例えば [130] を,ECDH,ECDSA に関しては [113] がある。 *4 理論的には決定的チューリングマシンを物理的に実装した計算機で,狭義においては CMOS 半導体を用いた論理回路による計算機を指す。 現在普及しているコンピュータとほぼ同義である。 1 図 1.1: 2024 年度 CRYPTREC 体制図 ら,量子コンピュータによる共通鍵暗号方式,暗号学的ハッシュ関数の攻撃計算量は鍵長の指数関数であり,公開鍵暗 号と比べて影響は限定的と考えられている [114, 37]。 本報告書の背景および調査内容 近年の世界的な量子コンピュータの開発と商用マシンの普及と並行して,PQC に関 する研究及びその標準化に向けた活動も世界各国の組織で進んでおり(1.3 節を参照) ,国内でも PQC の研究動向を把 握する必要性がある。2020 年度第 2 回暗号技術検討会において,2021 年度から暗号技術評価委員会の活動計画として 2 年をかけて PQC の研究動向を調査し,ガイドラインを作成することが決定された。暗号技術評価委員会は暗号技術 調査ワーキンググループ(耐量子計算機暗号)を設置し,ワーキンググループにおいて 2022 年 9 月 30 日までの調査結 果をガイドライン [5] と調査報告書 [3] としてまとめ,出版した。その後,2022 年度第 2 回暗号技術検討会において, さらに 2 年間の研究動向調査活動を継続し新たなガイドラインと調査報告書を作成することが決定され,暗号技術評価 委員会は暗号技術調査ワーキンググループ(耐量子計算機暗号)を設置した(図 1.1)。 本ワーキンググループでは PQC の代表的な候補である 5 種類の分類(格子に基づく暗号技術,符号に基づく暗号技 術,多変数多項式に基づく暗号技術,同種写像に基づく暗号技術,ハッシュ関数に基づく署名技術)について調査し, 原則 2024 年 9 月 30 日までの調査結果をガイドラインと調査報告書にまとめた。本ガイドラインの中で「現在」と表 記する場合,特に断りがなければ 2024 年 9 月 30 日時点での情報を指すものとする。 ガイドラインは暗号初学者を対象としており,調査報告書は暗号についての知見のある技術者や専門家を対象として いる。第 1 章ではガイドラインと調査報告書の概要,PQC を必要とする背景,研究及び標準化に関する動向,調査対 象とした PQC の種類についてまとめている。第 2 章では PQC の活用方法と移行に関する内容,特に守秘・鍵共有・ 署名のための PQC の利用などについて記載している。第 3 章以降では暗号技術に携わる研究者及び技術者を読者と して想定し,PQC の代表的な候補である 5 種類の分類をまとめた。ただし,これらの章ではガイドラインの記載内容 は調査報告書の簡略版となっており,ガイドラインでは専門的な内容を省略し,暗号初学者が代表的な PQC 方式を把 握するために最小限の内容のみを記載した。 2 1.1 暗号の安全性に影響のある量子コンピュータの開発状況 1.1.1 量子コンピュータの分類 量子コンピュータは重ね合わせ・エンタングルメント等の量子的な物理現象を用いて計算を行うコンピュータの総称 である([117, 第 2 章],[116] 等を参照)。基本的な計算操作と物理的操作の対応関係を表すモデルにより,量子回路型 計算,測定型量子計算,断熱型量子計算,アナログ量子シミュレーション,トポロジカル量子計算,ホロノミック量子 計算等に分類できる*5 。 量子回路型および測定型量子計算モデルで計算を行う量子コンピュータは超伝導量子ビット,冷却原子(中性原子), イオントラップ,シリコン量子,光量子,カラーセンター等多くの種類の物理的実装で開発が進められている。Shor の アルゴリズムをはじめとする暗号に影響のある主要なアルゴリズムは量子回路を用いて記述されていることから,この タイプのコンピュータの大規模化が現代暗号に大きな影響を与えると考えられる。1.2.2 節に述べるように,多くの素 因数分解実験が量子回路型計算のフレームワークで行われている。 断熱型量子計算と量子アニーリング 断熱型量子計算の下位分類である量子アニーリング(Quantum Annealing: QA)*6 はクラウドサービスを通じた商用コンピュータが提供されていることから注目を集めている。量子アニーリン グを用いた素因数分解実験も数多く行われている。 量子回路型計算を超伝導量子ビット,イオントラップにより実現したコンピュータ,断熱型量子計算の中でも量子ア ニーリングを超伝導磁束量子ビットにより実現したコンピュータは物理的なハードウェアの進化とプログラミング環境 の進化により商用利用が進んでいる。これらは量子ハードウェアを専門としない技術者でもクラウドを通じて容易に利 用可能であることから注目を集めていることを踏まえ,量子回路型コンピュータと量子アニーリング型コンピュータを 指してそれぞれ量子ゲート型と量子アニーリング型という名称で分類し対比することもある [117, 第 2 章, p. 11]。 アナログ量子シミュレータ 近年,中性原子や光格子を用いた様々な実装が急速に進展している計算フレームワークで ある。人工的な量子系を用いて別の量子系をシミュレーションするコンピュータの総称であり [127],古典コンピュー タを用いて量子回路や量子アニーリングの出力をシミュレーションする技術とは異なる。リュードベリ原子を用いたア ナログ量子シミュレータによる素因数分解実験が報告されている。 規模と性能による分類 NISQ(Noisy Intermediate-Scale Quantum)デバイス [51] は,搭載される物理量子ビット が数十から数百程度で,実行時のノイズが大きい量子デバイスを指す。量子誤り訂正や大規模な計算を行うには不十 分な性能とされる。2025 年現在,全ての量子コンピュータは NISQ デバイスであると考えられる。反対に,FTQC (Fault-Tolerant Quantum Computation)デバイスは,ノイズやデコヒーレンスの影響を量子誤り訂正等を用いて低 減し,大規模かつ長時間の計算を可能としたデバイスを指す。実際の暗号に用いられる大きさの素因数分解問題,離散 対数問題の計算を行うためにはこの規模のコンピュータが必要と考えられている。 実際には NISQ から FTQC への発展途上でも有用な計算が可能となると期待されており,中間的な性能を指す様々な 概念が提案されている。特に暗号に関係する概念として CRQC(Cryptographically Relevant Quantum Computer) があり,古典コンピュータでは解くことが困難な暗号学的問題を解くことのできる量子コンピュータとして定義されて いる [9]。 *5 分類に関しては [116, 103, 39] および [52, Sect 1.6] を参照。 *6 断熱型量子計算は基底状態が簡単に用意できる初期ハミルトニアンから,組み合わせ最適化問題の解が基底状態に対応するようなハミルトニ アンへとゆっくりと変化させることで解を得る計算フレームワーク [13, Def. 1] である。量子アニーリングはこの条件を開放系,有限時間に 緩め,ハミルトニアンをイジングモデルに制限した計算フレームワークを指すものと見なされている [123, § 3]。 3 1.1.2 ハードウェアの進展とロードマップ 前節の量子コンピュータの分類を踏まえ現在の量子コンピュータの開発状況と各組織のロードマップを概観する。よ り詳細な記述は調査報告書 [4] を参照。以下では,物理量子 bit は搭載されている物理的な量子ビット数を表し,論理 量子 bit は量子誤り訂正などを行った後の論理レベルでの量子 bit 数を表すものとする。 量子回路型コンピュータの開発は米国の民間企業を中心に 2010 年代以降急速に発展しており,特に超伝導量子ビッ トによる実装 [40] と中性原子による実装 [30] が 1000 物理量子 bit を超えるプロセッサを実現している。日本国内で は 2023 年 3 月に富士通と理化学研究所を中心としたチームが超伝導量子ビットを用いた 64 物理量子 bit の量子コン ピュータ叡を開発,現在までに 3 台がリリースされクラウドを通じて利用されている [122, 128]。 量子アニーリングマシンの開発も超伝導磁束量子ビット型を中心に進んでおり,2020 年 9 月にリリースされた D-Wave Advantage は約 5000 物理量子 bit を搭載していた [59]。2024 年 6 月に発表された D-Wave Advantage 2 プ ロトタイプは約 1200 物理量子 bit を搭載 [33],将来的に 7000 物理量子 bit 規模のアニーリングマシンを提供する予定 であるとしている [32]。 しかしながら,調査の範囲で確認された量子コンピュータは総じて NISQ デバイスに留まっており,現在の暗号に対 して影響を及ぼす CRQC レベルのものは確認されていない。一方で,量子回路型計算において数年前までは誤り訂正 処理を行うことで逆にノイズが蓄積しエラーレートが悪化する状態であったものが,2023 年には誤り訂正後のエラー レートが下回るという結果が報告されており [94, 71, 108, 29],FTQC に向け安定な論理量子ビットの構築が進んでい る。また,近年では多くのコンピュータが実験室レベルではなく,商用として開発されクラウドサービスを通じて公開 されている [47, 14, 99]。 世界的に FTQC の開発を目指して研究が進められており,大きな枠組みでは例えば以下の目標が掲げられている。 2020 年 1 月に決定された日本のムーンショット目標 6 では,様々な実装による量子コンピュータの開発を行い,2050 年までの FTQC 実現を目指している [118]。欧州の European Quantum Flagship が 2024 年 2 月に公表したロード マップでは,2020 年代後半に様々な実装での 1000 物理量子 bit,2030 年までに 99% 以上の忠実度*7 をもつ 1000 論理 量子 bit デバイスの実現を目標として掲げている [39]。 IBM は 2023 年 12 月にロードマップを発表し,2029 年までに実行可能ゲート数を 1 億に増やし,2033 年には実行可 能ゲート数 10 億,論理量子ビットを 1000 まで上げるとしている [48]。富士通では 2024 年 5 月にロードマップ [119] を公開し,2025 年中に 256 物理量子ビットを実現し,2026 年度以降に 1000 物理量子ビットを達成するとしている。 なお,量子コンピュータの性能を十分に引き出す強力なアルゴリズムを実現するためには量子ビット数の増加のみで はなく,ゲート操作の忠実度の向上,コヒーレント時間の向上などの課題を克服し,量子誤り訂正,量子ランダムアク セスメモリ等の 2025 年現在では完全には実用化されていない技術を用いる必要がある。それらの開発スピードの予測 困難性が,量子コンピュータが暗号に与える影響の将来予測を困難なものとしている。 1.2 耐量子計算機暗号(PQC) の必要性について 本節では,量子コンピュータによる現代暗号への影響と PQC の必要性についてまとめる。調査の範囲では既存の量 子コンピュータの性能が古典コンピュータの暗号解読性能を超えたという報告,および実社会で用いられている大きさ のパラメータを持つ暗号方式が解かれたという報告は知られておらず,現代暗号に対する量子コンピュータの直接的な *7 ここでは量子ゲート操作の忠実度(gate fidelity)を指す。厳密な定義は決まっていないものの,大まかに量子デバイスの出力が理想的な計 算結果とどの程度一致しているかを測る指標である。 4 脅威は現時点では生じていないと考えられる。 一方で,各機関が発表しているロードマップが予定通りに達成されると仮定すると,今後数十年で RSA,ECDSA を はじめとする素因数分解問題や離散対数問題の計算困難性に基づいた暗号の解読を可能とする規模の量子計算を実行可 能な量子コンピュータが開発される。暗号方式の提案から社会的な普及までは RSA 暗号・楕円曲線暗号で 20 年ほど の期間が必要とされたことから,PQC の場合でも同程度の期間が必要と想定されるため,長期間の移行スケジュール を策定し,準備を行う必要がある。 なお,2048bits の合成数を公開鍵に用いた RSA 暗号(以下,RSA-2048 と表記)は古典で 112-bit 安全性を持つと されており [109],暗号に影響のある量子コンピュータの開発が仮に実現しなかった場合でも,古典コンピュータの性 能の伸びにより長期的には危殆化すると考えられている。このことから,将来的な鍵長の変更もしくは新たな暗号方式 への移行は量子コンピュータの大規模化とは独立した課題として準備を進める必要があることは長年議論されてきた [109, 18, 90] ことを指摘しておく。 1.2.1 量子コンピュータの影響による現代暗号の危殆化予測 Shor による素因数分解問題と離散対数問題に対する量子多項式時間アルゴリズム [93] が発表されて以降,RSA-2048 を危殆化させる量子コンピュータの規模の見積もり [41, 43, 126, 42] と実現時期の予測 [23, 16, 56, 66, 67] に関する研 究が進められている。 量子コンピュータによる RSA-2048 の危殆化時期に関して,様々な予測が存在する。定量的な予測に基づいたもの では 2039 年以降 [23],2050 年前後 [16] と少なくとも 20 年程度は実現に時間がかかるとされている。 セキュリティ・量子分野の専門家の予測では,Mariantoni が PQCrypto2014 の招待講演 [56] で調査に 5 年,開発 に 10 年程度で 15 年後(2029 年)としたもの,Mosca が Workshop on Cybersecurity in a Post-Quantum World (2015 年開催)で 2026 年から 2031 年 [66] と予測したものが有名である。近年では国際会議 RSA Conference 2023 内で開かれた暗号専門家によるパネルディスカッションの中で,Shamir が RSA,DH,ECDH に影響を及ぼす 30 年 か 40 年で開発される可能性があると発言している [98]。 個人ではなく,多くの専門家へのアンケートを集計した結果が 2019 年から毎年 Global Risk Institute により Quantum Threat Timeline として発行されている。2023 年に行われたアンケートを基にした予測レポート [67] では 24 時間で RSA-2048 を解読可能な量子コンピュータが 15 年以内に出現する可能性が 33% から 54% 程度であると分 析している。日本国内の専門家へのアンケート調査では,2019 年に行われた文部科学省科学技術・学術政策研究所 (NISTEP)による科学技術予測調査 [124, (II-4)p. 48, 52] がある。この中ではある程度コヒーレンス時間の長い数百 物理量子 bit 規模の量子回路コンピュータの登場を 2033 年頃と予測しているため,現代暗号に対して脅威となる量子 コンピュータが出現するのはそれ以降と解釈できる。 ムーンショット目標 6 では 2050 年頃までに FTQC を実現するとしている [118] ことから,予測が実現されるのであ れば現代暗号の量子コンピュータによる危殆化もその付近で起こると考えられる。 1.2.2 量子コンピュータによる素因数分解・離散対数問題計算の現状 Shor のアルゴリズムの実機実験 量子回路型コンピュータ実機を用いた実験は,CRYPTREC 外部調査報告書「Shor のアルゴリズム実装動向調査」[120] に挙げられているもの及びその後の [97, 95, 104] を含めて 15,21,35 の素因数分 解実験および離散対数問題 2z ≡ 1(mod 3)の離散対数の計算実験を行ったもののみしか知られていない。[101, 102] をはじめとする Shor のアルゴリズムを用いた初期の報告は N = 15 の素因数分解回路の量子フーリエ変換部分を除い 5 た部分回路を実装する予備実験的なもの,位数や N の情報を用いて過度な簡略化を行ったものが多かった。しかし, その後 2020 年前後 IBM Quantum を用いて教科書的な簡略回路ではあるがほぼ完全な実装による実験報告 [60] や離 散対数問題の実装実験報告 [16] が出版されるなど,実際に問題のインスタンスサイズには表れない量子回路規模の拡 大は着実に続いていると考えられる。 Shor のアルゴリズムに関する理論の進展 1.1.2 節に紹介した量子コンピュータの性能進化がターゲットとなる数の 目に見える伸びに繋がらない理由が量子コンピュータ実機の性能と Shor のアルゴリズムの性質双方の観点から検証さ れ,明らかになりつつある。 Ichikawa らによる量子コンピュータ実機実験に関するサーベイ論文 [49] によると,実験に用いられた量子ビット数 の中央値が 2016 年から 2022 年の間に 5 から 6 に増えたのみでありほぼ横ばいとなっている。量子ノイズ,デコヒー レンス等の影響により,デバイスに搭載されている物理量子ビット数と,実際に安定して動作し測定可能な物理量子 ビット数の間には大きな差があり,実際に動作する回路サイズが伸び悩んでいることがわかる。また,2024 年には Cai により Shor のアルゴリズムが量子ノイズに弱い事の理論的な証明 [24] が与えられている。より大きな規模で Shor の アルゴリズムを実行するためには量子ビット数の増加だけではなく,量子ノイズの影響を下げる必要があることが理論 的に示された形となる。 以上をまとめると,より大きな数の素因数分解を Shor のアルゴリズムを用いて行うためには十分にノイズが小さく, 安定に動作する量子ビットを搭載した量子コンピュータが必要であると考えられる。また,Shor のアルゴリズムを用 いて現在より大きな数の素因数分解を行うためには,これまでの実験のように入力インスタンスに合わせ簡略化した量 子回路ではなく,汎用の剰余加算・乗算回路による構成を行う必要があるが最低でも数万ゲートの操作を必要とすると いう山口らの評価 [126] から,現在の量子コンピュータでは実行不可能であると考えられる。 一方,2023 年 8 月に Regev[85] により Shor のアルゴリズムよりも量子ビット数が多い代わりに量子ゲート数の少 ないアルゴリズムが提案された。多くのフォロー論文 [84, 36] が発表されているものの,量子コンピュータ実機を用い た実験は確認されていない。 量子アニーリングによる実験 Shor のアルゴリズム以外の素因数分解の計算手法のうち代表的なものとして,2 進数乗 算の筆算形式で式展開したものを,組み合わせ最適化問題(Quadratic Unconstrained Binary Optimization: QUBO) として定式化したものがある。QUBO とイジングモデルは自明な変換が知られていることから,量子アニーリングを 中心とした断熱量子型計算を用いた実験が多数報告されている。 2000 年代後半の初期の実験 [82] ではハミルトニアンに合わせて有機化合物を合成し,最適化問題の変数に対応する 原子のスピンを核磁気共鳴(Nuclear Magnetic Resonance: NMR)を用いた分析により結果を取り出すという手法で 計算を行っていたためスケーリングが困難であったが,D-Wave 社の量子アニーリングマシンがオンライン上で比較 的手軽に利用可能になって以降は実験報告が相次いでいる [125, 105]。素因数分解のターゲットとなる数は着実に大型 化しており,現時点での最大は 2023 年に D-wave Advantage 4.1 を用いた 23 ビットの 8219999=32749×251 [35] で ある。 その他の素因数分解手法 Shor のアルゴリズム,量子アニーリング以外の手法でも様々な素因数分解の実験が行われて いる。アニーリングと同様の QUBO を Quantum Approximate Optimization Algorithm (QAOA)を用いて解く 実験 [83](143,291311 を分解),Variational Quantum Eigensolver (VQE)を用いて解く実験 [96](251 を分解), Digitized adiabatic quantum computation を用いて解く実験 [45](2479 を分解)の報告がある。これらの実験はい ずれも IBM Quantum を用いて行われている。 量子回路型コンピュータ上で QAOA を用いた素因数分解問題へのアプローチとして,Schnorr アルゴリズム [89] の 部分的な量子化の研究が存在する。Schnorr アルゴリズムは数体篩法の関係探索を係数制限付きの近似最近ベクトル問 6 題に変換して行うが,[106] ではこれをさらに最適化問題に落とし込み,QAOA を 10 量子ビット回路上で実行するこ とで 48bits の数の素因数分解実験結果を報告している。 また,中性原子による実装の一種として,リュードベリ原子によるアナログ量子シミュレータを用いてグラフの最 大独立集合問題を解くための枠組みが整理されており,これを用いた素因数分解の実験も行われている。[81] では 6,15,35 の素因数分解のインスタンスを SAT を経由して最大独立集合問題に変換して実験を行っている。 1.3 PQC の研究及び標準化等に関する動向 現在 PQC として扱われている暗号のほとんどは 1994 年に Shor のアルゴリズム [92] が発表される以前から効率性 および理論的側面から研究が行われており [58, 54, 57],2000 年代以降に耐量子計算機性が注目されたものである。 現在,PQC に関する研究成果は暗号の国際会議で主に発表されている。特に Crypto,Eurocrypt,Asiacrypt 等の 暗号全般を扱う会議で取り扱われることも多いが,その他 PQC を専門に扱う国際会議として PQCrypto が 2006 年か ら開催され,2024 年までに 15 回が開催されている。 以下,各国における標準化の動向を述べる。米国立標準技術研究所(NIST)は PQC の標準化活動を初期から大規 模に行っており世界への影響力が大きいため,まず米国の状況について述べてその後に各国の状況について述べる。 1.3.1 米国 NIST における標準化の動向 2015 年 8 月国家安全保障局(NSA)が PQC への移行計画 [8] を発表したことを受け,標準化活動が NIST により開 始された。2016 年 2 月には福岡で開催された国際会議 PQCrypto 2016 において NIST の Moody により NIST PQC 標準化プロジェクトに関する講演 [63] が行われ,選定基準に関する意見募集を経て 12 月に Call for Proposals [77] が正式公開された。 2017 年 11 月 30 日の公募締め切りまでに世界中から耐量子計算機暗号の候補 82 方式が提案され,公募条件を満 たした 69 方式が標準化プロジェクト第 1 ラウンド候補として公開されたが,5 方式は公開後に取り下げられている。 2019 年 1 月 30 日には,第 2 ラウンドへ進む 26 方式が発表され,その後 2020 年 7 月 22 日には,第 3 ラウンドへ進 む Finalists の 7 方式と Alternate Candidates の 8 方式が発表された [65]。 2022 年 7 月 5 日に NIST から標準化方式として公開鍵暗号 1 方式と電子署名 3 方式が発表された [12]。これら 4 方 式のうち,格子に基づく公開鍵暗号方式 CRYSTALS-Kyber は FIPS 203 (ML-KEM)[74] として,格子に基づく署 名方式 CRYSTALS-Dilithium は FIPS 204 (ML-DSA)[73] として,ハッシュ関数に基づく署名方式 SPHINCS+ は FIPS 205 (SLH-DSA)[76] として 2024 年 8 月にそれぞれ標準化されている。また,格子に基づく署名方式 FALCON についてもアルゴリズムの微修正を経た後に FIPS 206 (FN-DSA)として標準化される予定である [20]。 標準化の 4 方式が決定されると同時に,第 3 ラウンド候補の中から第 4 ラウンドへと進む公開鍵暗号方式の 4 方式が 発表され,さらに追加の署名方式が再公募されることが周知された [88]。第 4 ラウンドに進んだ 4 方式のうち,BIKE, Classic McEliece,HQC の 3 方式が符号に基づく公開鍵暗号方式,SIKE が同種写像に基づく公開鍵暗号方式であっ た*8 。2022 年 8 月に SIKE に対する古典多項式時間による鍵復元攻撃が発表され [25],致命的であることが確認され たことから提案チームにより候補から取り下げられた。 署名方式の追加公募 第 4 ラウンドの発表と並行して,NIST は 2022 年 9 月から正式に追加の NIST PQC 標準化 プロジェクト追加署名(Additional Digital Signature Schemes)の募集を開始した。締切の 2023 年 6 月 1 日までに *8 2025 年 3 月に HQC が標準化方式として選ばれたことが発表されている [91]。 7 50 方式の応募があり,翌 7 月に公募条件を満たした 40 方式が発表された。公募の事前情報として,2022 年 7 月に pqc-forum に投稿された文書 [61] では NIST が署名長と検証時間の小さい方式を求めているとし,一例として多変数 多項式に基づく署名方式の一種である UOV 方式が挙げられている。また,Module 格子のような構造化格子に基づく 署名方式は既に CRYSTALS-Dilithium と FALCON が標準化に決まっていることから,構造化格子に基づく手法以 外が望ましいとしており,後半の内容は募集要項にも明記された [75, p. 2]。結果として格子に基づく署名は 7 方式, UOV 型の多変数多項式に基づく署名では 7 方式の応募があった。 2022 年の署名方式公募後,NIST は選考の第 1 ラウンド候補を分類ごとに発表したが,その中に 2016 年の標準化に は存在しなかったカテゴリ MPC-in-the-Head が新たに登場している。これはマルチパーティ計算から構成したゼロ知 識証明プロトコルに Fiat-Shamir 変換を適用することで署名方式を得る構成フレームワークであり,格子,符号のよう に安全性の根拠となる計算問題の種類を表すものではない。MPC-in-the-Head に分類されているそれぞれの方式の安 全性は実際には符号問題,多変数方程式問題,共通鍵暗号方式の平文復元問題の困難性などに帰着されている。 2024 年 10 月には第 2 ラウンドの候補となる 14 方式 [87] が発表された。格子に基づく署名方式は格子同型性判定問 題を安全性の根拠とした HAWK の 1 方式,多変数多項式に基づく UOV 型署名が 4 方式,MPC-in-the-Head 型の構 成を行った署名が 5 方式であった。選定に関わるレポートは [11] で公開されている。 PQC への移行 2015 年に Mosca の提案した暗号の危殆化に関わる不等式 [66] では,X (情報を保護する期間)+Y (システム移行期間)と Z (CRQC 開発までの期間)の大小関係によりシステム移行の準備期間を設定する必要がある としている。一方で,暗号化データを保存し,将来的にコンピュータの性能が上がってから解読するハーベスト攻撃 (2.2.2 節も参照)を想定すると,CRQC 開発までの年数によらず,現在の暗号利用にはリスクがあるとも考えられてい る(例えば [64, Sec. 1] を参照。 )以上の背景のもと,2022 年 5 月公表された国家安全保障覚書 NSM-10[68] では 2035 年を目処に暗号システムで使用する暗号を PQC に移行することを目標としている。同様に,2022 年 9 月に発表され た商用国家安全保障アルゴリズムのリスト 2.0[7] では 2035 年までにシステムに耐量子計算機性をもたせることを目標 としたタイムラインを掲載している。 現在使われている暗号から PQC への移行を推進するため,NIST 内の NCCoE(National Cybersecurity Center of Excellence)を中心にコンソーシアムが設立された [38]。組織における暗号のユースケース,相互運用性やリスク評価 を含めた移行計画の策定に関する包括的な技術文書が NIST SP 1800-38A から 38C として発行される予定であり,現 在は Initial Preliminary Draft[70] が公開されている。 安全性レベル NIST PQC 標準化プロジェクトにおいて,暗号方式の安全性はレベル 1 から 5 で定義されており,提案 者は応募時にパラメータと達成される安全性レベルを示す必要があった。レベル 1, 3, 5 はそれぞれ AES128, AES192, AES256 などの 128, 192, 256bits の秘密鍵を持つブロック暗号の鍵復元の困難性と同等かそれ以上の計算量であり, レベル 2 と 4 はそれぞれ SHA256/SHA3-256 と SHA384/SHA3-384 などの 256bits と 384bits の暗号学的ハッシュ 関数の衝突探索の困難性と同等かそれ以上の古典もしくは量子計算量とされている。レベル 1 から 5 の具体的な計算 量は表 1.1 で与えられる [75]。古典コンピュータによる攻撃者に対しては古典論理回路のゲート数が,量子コンピュー タを利用可能な攻撃者に対しては量子回路のゲート数と最大深さの積が与えられている。計算量評価において,公開鍵 暗号方式では,IND-CCA2 安全性を考える際には 264 個以下の選択暗号文を復号オラクルに古典的にクエリできると し,署名方式では,EUF-CMA 安全性を考える際には 264 個以下のメッセージを署名オラクルに古典的にクエリでき るとしている。 また,レベル 1,3,5 の量子回路計算量で 2157 , 2221 , 2285 とされている部分は 2016 年の Call for proposals[77, 4.A.5 節 ] では 2170 , 2233 , 2298 であった。つまり,2016 年の PQC 候補でレベル 1,3,5 とされているものは 2022 年の定義で もレベル 1,3,5 の基準を満たすことになる。この更新は AES を解読する量子回路の改良により,量子計算量が改善さ 8 れたことによる。 表 1.1: 2022 年に公表された NIST PQC 標準化プロジェクト追加署名 Call for proposals [77] における安全性レベル と計算量の対応表。各レベルは古典,量子のどちらか一方の基準を満たすものとして定義されている。 レベル 量子回路の(最大深さ)×(ゲート数) *9 古典論理ゲート数 157 レベル 1 2 2143 レベル 2 – 2146 レベル 3 2221 2207 レベル 4 – 2210 レベル 5 2285 2272 1.3.2 米国以外での動向 米国以外でも世界各国の機関が調査活動を行い,調査レポートの出版 [17, 69],各国における PQC 標準方式または 推奨暗号の選定 [7, 27, 15, 90, 26, 28, 78, 100] を進めている。国際的な機関では ISO/IEC[50],IETF[46] 等で移行, 標準化の議論が進められている。 各国の政府機関から PQC の標準暗号リスト,推奨暗号リストが公表されている。代表的なものを表 1.2 にまとめ る。多くの国が NIST PQC の標準化方式を用いているが,FrodoKEM のように NIST PQC 標準化プロジェクトの第 3 ラウンド以降の選考に漏れた方式,Classic McEliece のように第 4 ラウンド選考中の状態で選ばれた例も存在する。 また,多くの機関が NIST 標準方式の単独利用ではなく古典的安全性がよく知られている RSA や ECDSA とのハイブ リッドを推奨していること,レベル 3 以上のパラメータ利用を推奨していることも特徴的である。国家による標準暗号 以外でも Streamlined NTRU Prime[19] のように OpenSSH の実装 [80] を通じて実用化されている方式も存在する。 韓国では量子耐性暗号研究団の主催する KpqC プロジェクト [129] が耐量子計算機性を持つ公開鍵暗号方式と署名方 式の公募を 2022 年に開始している。2022 年 10 月の締切までに公開鍵暗号・鍵共有が 8 方式,署名が 9 方式応募され た。2022 年 11 月に第 1 ラウンドを開始,2023 年 12 月に第 2 ラウンドの選考が開始され,2025 年 1 月に共通鍵暗号 に基づく MPC-in-the-Head パラダイムの署名方式 AIMer,および格子に基づく公開鍵暗号方式 NTRU+,署名方式 HAETAE,鍵交換方式 SMAUG-T の 4 方式が最終方式として選ばれたことがアナウンスされた。 中国では中国暗号学会(CACR)が中心となり PQC の公募を行っている [111]。2018 年 6 月の募集要項に従い 2019 年 2 月の締切までに公開鍵暗号 38 方式と共通鍵暗号 22 方式が応募されている。2019 年 9 月の第 2 ラウンドの時点で 公開鍵暗号 14 方式と共通鍵暗号 10 方式に絞られ,最終的には 2020 年 1 月に一等,二等,三等としてランク付けが発 表された [112]。一等として公開鍵暗号方式 LAC.PKE,Aigis-enc,署名 Aigis-sig,共通鍵暗号方式 uBlock,Ballet が挙げられている。 日本では CRYPTREC の暗号技術調査ワーキンググループにおいて 2014 年度に PQC の代表的な候補である格子 に基づく暗号技術について調査を行い,報告書「格子問題等の困難性に関する調査」を公開している [1]。さらに 2017 年度から 2018 年度にかけて,PQC の代表的な候補である 4 種類の分類(格子に基づく暗号技術,符号に基づく暗号 技術,多変数多項式に基づく暗号技術,同種写像に基づく暗号技術)について調査し,報告書にまとめた [2]。また, 2021 年度から 2022 年度にかけて,ハッシュ関数に基づく署名技術を加えた 5 種類の技術について調査を行い,報告書 [3] およびガイドライン [5] としてまとめている。 9 表 1.2: 世界各国の標準暗号,推奨暗号リストの状況。表中の勧告,推奨,許容等はそれぞれのレポートからの翻訳で あるため,厳密に同じ意味ではない。許容されているバージョン,安全性レベルなど,詳細は引用先のレポートを参照 のこと。 NIST PQC CNSA 2.0 NCSC ANSSI BSI NCSC NÚKIB TRAFICOM 方式の名称 (米) (米) (英) (仏) (独) (蘭) (チェコ)(フィンランド) [7] [27] [15] [90] [26, 28] [78] [100] a c d ef h ML-KEM 標準化 勧告 推奨 許容 推奨 推奨 推奨 暗号要件 k (CRYSTALS-Kyber) (FIPS 203 [74]) FrodoKEM Round 3 – – 許容 d 推奨 e 許容 許容 i – Classic McEliece Round 4 – – – 推奨 e 許容 許容 i – ML-DSA 標準化 勧告 a 推奨 c 許容 d 推奨 ef 推奨/許容 g 推奨 h 暗号要件 k (CRYSTALS-Dilithium) (FIPS 204 [73]) FN-DSA 標準化中 – – 許容 d – 推奨/許容 g 推奨 i – (FALCON) XMSS/LMS 標準化 勧告 b 推奨 許容 d 推奨 推奨/許容 g 推奨 j – (NIST SP 800-208) SLH-DSA 標準化 – 推奨 c 許容 d 推奨 ef 推奨/許容 g 推奨 i 暗号要件 k SPHINCS+ (FIPS 205 [76]) 注釈一覧 a 汎用的な耐量子アルゴリズムとしてレベル 5 パラメータの使用を勧告 b ソフトウェア・ファームウェアに対する署名のための使用を勧告 c 標準化の最終文書を元に堅牢な実装がされたものの利用を推奨 d メインストリームの PQC として適切だが,可能な限りパラメータを大きく取ること e 古典的な安全性が確保された方式とのハイブリッドのみを推奨 f NIST 標準化の安全性レベル 3,5 を推奨パラメータとする意向 g 緊急性のシナリオによって推奨と許容の方式が異なる h 単独利用は安全性レベル 5 のみ,他は古典の推奨暗号とのハイブリッド利用とする i 古典の推奨暗号とのハイブリッド利用とする j ファームウェア・ソフトウェアの保護目的での単独利用を推奨 k 古典の推奨暗号とのハイブリッド利用を推奨 1.4 本調査で対象とした PQC の種類 本調査報告書では PQC の調査を格子に基づく暗号技術,符号に基づく暗号技術,多変数多項式に基づく暗号技術, 同種写像に基づく暗号技術,ハッシュ関数に基づく署名技術の 5 分類で行った。この分類は,安全性の根拠となる数学 的な計算問題の種類に基づいて行われている。 例えば,教科書的な RSA 暗号では 2 つの異なる大きな素数 p, q と指数 d を秘密鍵,積 N = pq と指数 e を公開鍵と している。鍵復元の困難性と素因数分解問題の困難性は確率的多項式時間等価であるため [86],RSA 暗号の鍵復元の 安全性は素因数分解問題の困難性に基づくものと考えることができ,素因数分解に基づく暗号に分類できる。同様に, 楕円曲線暗号の場合も例えば楕円曲線上の ElGamal 暗号のように安全性が楕円曲線上の離散対数問題の困難性に基づ くため,離散対数問題に基づく暗号に分類できる。 本ガイドライン・報告書で扱う代表的な 5 種類の PQC (格子に基づく暗号技術,符号に基づく暗号技術,多変数多 10 項式に基づく暗号技術, 同種写像に基づく暗号技術,ハッシュ関数に基づく署名技術) も RSA 暗号等と同様に,暗号 の安全性がそれぞれ格子問題の困難性,符号復号問題の困難性,多変数代数方程式の求解困難性,同種写像上の計算問 題の困難性,ハッシュ関数の衝突発見困難性に基づいている。そして,これらの問題を量子コンピュータを利用して効 率よく解くアルゴリズムはまだ発見されていないことから,上に示した暗号技術は PQC であると期待されている。暗 号方式と数学的な計算問題の具体的な関係は各章の第 1 節に記載されている。 これらの 5 種類を選んだ理由は主に研究期間の長さ,研究コミュニティの大きさによる。より細かい歴史的な背景は 各章の第 4 節に記載されている。 格子に基づく暗号技術は 1997 年の Ajtai と Dwork による論文 [10] から 25 年以上の歴史を持ち,解読技術である 格子アルゴリズムに関しても 50 年の歴史を持つ [34, 53, 55]。符号に基づく暗号技術は McEliece による 1978 年の論 文 [58] から 40 年以上の歴史を持ち,解読技術は通信における符号の復号技術であり符号理論として 70 年以上研究 が行われている。多変数多項式に基づく暗号技術は Ong と Schnorr による 1983 年の論文 [79] を源流*10 とし,1988 年の Matsumoto-Imai 暗号 [57] を経て 40 年以上の研究が続けられている。同種写像の計算問題に基づく暗号技術 も Couveignes による 1997 年の提案 [31] から 25 年以上研究が続けられている。ハッシュ関数に基づく署名方式は Lamport による 1979 年の論文 [54] から 40 年以上の研究が行われている。 *10 ただし Ong と Schnorr による方式の安全性は素因数分解問題に基づくため耐量子計算機性を持たないことに注意。 11 1.5 耐量子計算機暗号調査報告書執筆者リスト 主査 國廣 昇 筑波大学 委員 青木 和麻呂 文教大学 委員 伊藤 忠彦 セコム株式会社 委員 下山 武司 国立情報学研究所 委員 高木 剛 東京大学 委員 高島 克幸 早稲田大学 委員 成定 真太郎 KDDI 総合研究所 委員 廣瀬 勝一 福井大学 委員 安田 貴徳 岡山理科大学 委員 安田 雅哉 立教大学 事務局 篠原 直行 情報通信研究機構 事務局 五十部 孝典 情報通信研究機構 事務局 伊藤 竜馬 情報通信研究機構 事務局 大久保 美也子 情報通信研究機構 事務局 大東 俊博 情報通信研究機構 事務局 小川 一人 情報通信研究機構 事務局 金森 祥子 情報通信研究機構 事務局 黒川 貴司 情報通信研究機構 事務局 高安 敦 情報通信研究機構 事務局 横山 和弘 情報通信研究機構 事務局 吉田 真紀 情報通信研究機構 事務局 青野 良範 情報通信研究機構 12 第 1 章の参照文献 [1] CRYPTREC 暗号技術調査 WG (暗号解析評価). 格子問題等の困難性に関する調査. CRYPTREC EX-2404- 2014, https://www.cryptrec.go.jp/exreport/cryptrec-ex-2404-2014.pdf. 2015-03. [2] CRYPTREC 暗号技術調査 WG (暗号解析評価). 耐量子計算機暗号の研究動向調査報告書. CRYPTREC TR-2001-2018, https://www.cryptrec.go.jp/report/cryptrec-tr-2001-2018.pdf. 2019-04. [3] CRYPTREC 暗号技術調査 WG (耐量子計算機暗号). CRYPTREC 耐量子計算機暗号の研究動向調査報告 書. CRYPTREC TR-2001-2022, https://www.cryptrec.go.jp/report/cryptrec-tr-2001-2022.pdf. 2023-03. [4] CRYPTREC 暗号技術調査 WG (耐量子計算機暗号). CRYPTREC 耐量子計算機暗号の研究動向調査報告 書. CRYPTREC TR-2001-2024, https://www.cryptrec.go.jp/report/cryptrec-tr-2001-2024.pdf. 2025-03. [5] CRYPTREC 暗号技術調査 WG (耐量子計算機暗号). CRYPTREC 暗号技術ガイドライン (耐量子計算機暗 号). CRYPTREC GL-2004-2022, https://www.cryptrec.go.jp/report/cryptrec-gl-2004-2022.pdf. 2023-03. [6] CRYPTREC 暗号技術調査 WG (高機能暗号). CRYPTREC 暗号技術ガイドライン (高機能暗号). CRYP- TREC GL-2005-2022, https://www.cryptrec.go.jp/report/cryptrec-gl-2005-2022.pdf. 2023-03. [7] National Security Agency. Announcing the Commercial National Security Algorithm Suite 2.0. https: //media.defense.gov/2022/Sep/07/2003071834/-1/-1/0/CSA_CNSA_2.0_ALGORITHMS_.PDF. 2022-09. (2024-12-06 閲覧). [8] National Security Agency. Cryptography Today. https://web.archive.org/web/20150815072948/ https : / / www . nsa . gov / ia / programs / suiteb _ cryptography / index . shtml. 2015-08. (2024-12-05 Internet Archive 版を確認). [9] National Security Agency. Frequently Asked Questions, Quantum Computing and Post-Quantum Cryp- tography. https://media.defense.gov/2021/Aug/04/2002821837/-1/-1/1/Quantum_FAQs_20210804. PDF. 2021-08. (2024-12-01 閲覧). [10] M. Ajtai, Cynthia Dwork. A Public-Key Cryptosystem with Worst-Case/Average-Case Equivalence. STOC. ACM, 1997, pp. 284–293. [11] G. Alagic et al. Status Report on the First Round of the Additional Digital Signature Schemes for the NIST Post-Quantum Cryptography Standardization Process. NIST IR 8528, https://nvlpubs.nist. gov/nistpubs/ir/2024/NIST.IR.8528.pdf. 2024-10. 13 [12] G. Alagic et al. Status Report on the Third Round of the NIST Post-Quantum Cryptography Standardiza- tion Process. NIST IR 8413, https://nvlpubs.nist.gov/nistpubs/ir/2022/NIST.IR.8413-upd1.pdf. 2022-07. [13] T. Albash, D. A. Lidar. Adiabatic quantum computation. Rev. Mod. Phys. Vol. 90, Iss. 1 (2018), p. 015002. [14] Amazon Braket 量子コンピュータ. https://aws.amazon.com/jp/braket/quantum-computers/. [15] ANSSI. ANSSI views on the Post-Quantum Cryptography transition (2023 follow up). https://cyber. gouv . fr / sites / default / files / document / follow _ up _ position _ paper _ on _ post _ quantum _ cryptography.pdf. 2023-12. (2024-12-06 閲覧). [16] Y. Aono, S. Liu, T. Tanaka, S. Uno, R. Van Meter, N. Shinohara, R. Nojima. The Present and Fu- ture of Discrete Logarithm Problems on Noisy Quantum Computers. IEEE Transactions on Quantum Engineering. Vol. 3 (2022), pp. 1–21. [17] GSM Association. Post Quantum Cryptography – Guidelines for Telecom Use Cases. https : / / www . gsma.com/newsroom/wp- content/uploads/PQ.03- Post- Quantum- Cryptography- Guidelines- for- Telecom-Use-v1.0.pdf. 2024-02. (2024-12-06 閲覧). [18] E. Barker. Recommendation for Key Management: Part 1 – General. NIST SP 800-57 Part 1 Rev. 5, https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt1r5.pdf. 2020-05. [19] D. J. Bernstein et al. NTRU Prime. https://ntruprime.cr.yp.to/. (2024-12-06 閲覧). [20] C. Boutin. NIST Releases First 3 Finalized Post-Quantum Encryption Standards. https://www.nist. gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption- standards. 2023-08. (2024-12-06 閲覧). [21] G. Brassard. Searching a Quantum Phone Book. Science. Vol. 275, Num. 5300 (1997), pp. 627–628. [22] G. Brassard, P. Høyer and A. Tapp. Quantum Cryptanalysis of Hash and Claw-Free Functions. LATIN. Vol. 1380. Lecture Notes in Computer Science. Springer, 1998, pp. 163–169. [23] J. Sevilla and C. J. Riedel. Forecasting timelines of quantum computing. (2020). arXiv: 2009.05045. [24] J.-Y. Cai. Shor’s algorithm does not factor large integers in the presence of noise. Science China Infor- mation Sciences. Vol. 67, Num. 7 (2024). [25] W. Castryck, T. Decru. An Efficient Key Recovery Attack on SIDH. EUROCRYPT (5). Vol. 14008. Lecture Notes in Computer Science. Springer, 2023, pp. 423–447. [26] National Cyber Security Centre. Guidelines for quantum-safe transport-layer encryption. https://www. ncsc.nl/documenten/publicaties/2022/juli/guidelines-for-quantum-safe-transport-layer- encryption/guidelines-for-quantum-safe-transport-layer-encryption. 2022-07. (2024-12-06 閲 覧). [27] National Cyber Security Centre. Next steps in preparing for post-quantum cryptography. https://www. ncsc .gov. uk / pdfs / whitepaper / next - steps - preparing - for - post - quantum - cryptography . pdf. 2024-08. (2024-12-06 閲覧). [28] National Cyber Security Centre. The PQC Migration Handbook, Guidelines for migrating to post-quantum cryptography (Version 2). https://publications.tno.nl/publication/34641918/oicFLj/attema- 2023-pqc.pdf. 2023-12. (2024-12-06 閲覧). 14 [29] Google Quantum AI and Collaborators. Quantum error correction below the surface code threshold. Nature. Vol. 616, Num. 7955 (2024). [30] Atom Computing. Quantum startup Atom Computing first to exceed 1,000 qubits. https : / / atom - computing . com / quantum - startup - atom - computing - first - to - exceed - 1000 - qubits/. 2023-10. (2024-12-01 閲覧). [31] J.-M. Couveignes. Hard Homogeneous Spaces. Cryptology ePrint Archive, Paper 2006/291. 2006. https: //eprint.iacr.org/2006/291. [32] D-Wave. Ahead of the Game: D-Wave Delivers Prototype of Next-Generation Advantage2 Annealing Quantum Computer. https://www.dwavesys.com/company/newsroom/press- release/ahead- of- the- game- d- wave- delivers- prototype- of- next- generation- advantage2- annealing- quantum- computer/. 2022-06. (2024-12-01 閲覧). [33] D-Wave. The Most Connected and Powerful Quantum Computer Built for Business. https : / / www . dwavesys.com/solutions-and-products/systems/. (2024-12-01 閲覧). [34] U. Dieter. How to calculate shortest vectors in a lattice. Mathematics of Computation. Vol. 29 (1975), pp. 827–833. [35] J. Ding, G. Spallitta, R. Sebastiani. Experimenting with D-Wave quantum annealers on prime factorization problems. Frontiers Comput. Sci. Vol. 6 (2024). [36] M. Ekerå, J. Gärtner. Extending Regev’s Factoring Algorithm to Compute Discrete Logarithms. PQCrypto (2). Vol. 14772. Lecture Notes in Computer Science. Springer, 2024, pp. 211–242. [37] ETSI. Quantum-Safe Cryptography (QSC); Limits to quantum computing applied to symmetric key sizes. https://www.etsi.org/deliver/etsi_gr/QSC/001_099/006/01.01.01_60/gr_QSC006v010101p.pdf. 2017-02. (2024-12-01 閲覧). [38] National Cybersecurity Center of Excellence. Migration to Post-Quantum Cryptography. https://www. nccoe . nist . gov / crypto - agility - considerations - migrating - post - quantum - cryptographic - algorithms. [39] European Quantum Flagship. Strategic Research and Industry Agenda. https://qt.eu/media/pdf/ Strategic-Reseach-and-Industry-Agenda-2030.pdf. 2024-02. [40] J. Gambetta. The hardware and software for the era of quantum utility is here. https://jila.colorado. edu/qip2019/qip2019_posters_monday.pdf. 2023-12. (2024-12-01 閲覧). [41] C. Gidney, M. Ekerå. How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits. Quantum. Vol. 5 (2021), p. 433. [42] É. Gouzien, D. Ruiz, F.-M. Le Régent, J. Guillaud, N. Sangouard. Performance Analysis of a Repetition Cat Code Architecture: Computing 256-bit Elliptic Curve Logarithm in 9 Hours with 126 133 Cat Qubits. Phys. Rev. Lett. Vol. 131, Iss. 4 (2023), p. 040602. [43] É. Gouzien, N. Sangouard. Factoring 2048-bit RSA Integers in 177 Days with 13 436 Qubits and a Multimode Memory. Phys. Rev. Lett. Vol. 127, Iss. 14 (2021), p. 140503. [44] L. K. Grover. A fast quantum mechanical algorithm for database search. STOC. ACM, 1996, pp. 212–219. [45] N. N. Hegade, K. Paul, F. Albarrán-Arriagada, X. Chen, E. Solano. Digitized adiabatic quantum factor- ization. Phys. Rev. A. Vol. 104, Iss. 5 (2021), p. L050403. 15 [46] P. E. Hoffman, S. Celi. Post-Quantum Use In Protocols (pquip). https://datatracker.ietf.org/wg/ pquip/about/. (2024-12-06 閲覧). [47] IBM Quantum Platform. https://quantum.ibm.com/. [48] IBM、次世代量子プロセッサーおよび IBM Quantum System Two を発表するとともに、 実用的な量子コン ピューティングの時代の前進に向けロードマップを拡張. https://jp.newsroom.ibm.com/2023- 12- 05- IBM-Debuts-Next-Generation-Quantum-Processor-IBM-Quantum-System-Two,-Extends-Roadmap- to-Advance-Era-of-Quantum-Utility. 2023-12. (2024-12-01 閲覧). [49] T. Ichikawa et al. Current numbers of qubits and their uses. Nature Reviews Physics. Vol. 6, Num. 6 (2024), pp. 345–347. [50] ISO. PQCRYPTO Post-quantum cryptography for long-term security. https : / / www . iso . org / organization/5984715.html. (2024-12-06 閲覧). [51] P. John. Quantum Computing in the NISQ era and beyond. Quantum. Vol. 2 (2018), p. 79. [52] S. P. Jordan. Quantum Computation Beyond the Circuit Model. 2008. arXiv: 0809.2307. [53] R. Kannan. Improved Algorithms for Integer Programming and Related Lattice Problems. STOC. ACM, 1983, pp. 193–206. [54] L. Lamport. Constructing digital signatures from a one-way function. SRI International Technical Report, CSL-98. 1979-10. [55] A. K. Lenstra, H. W. Lenstra, L. Lovász. Factoring polynomials with rational coefficients. Mathematische Annalen. Vol. 261, Num. 4 (1982), pp. 515–534. [56] M. Mariantoni. Building a superconducting quantum computer (Invited Talk). PQCrypto 2014. 2024-10. (2024-12-01 閲覧) 暗号危殆化の予測については動画 https://www.youtube.com/watch?v=wWHAs--HA1c の 49:30 で述べられている. [57] T. Matsumoto, H. Imai. Public Quadratic Polynominal-Tuples for Efficient Signature-Verification and Message-Encryption. EUROCRYPT. Vol. 330. Lecture Notes in Computer Science. Springer, 1988, pp. 419–453. [58] R. J. McEliece. A Public-Key Cryptosystem Based On Algebraic Coding Theory. Deep Space Network Progress Report. Vol. 44 (1978), pp. 114–116. [59] C. McGeoch, P. Farre. D-Wave Advantage システム: 概要. https://dwavejapan.com/app/uploads/ 2020/12/14-1049A-A_J-The_D-Wave_Advantage_System_An_Overview_0-.pdf. 2020-12. (2024-12-01 閲覧). [60] A. Mirko, Z. H. Saleem, K. Muir. Experimental study of Shor’s factoring algorithm using the IBM Q Experience. Physical Review A. Vol. 100, Iss. 1 (2019), p. 012305. [61] D. Moody. Announcement: The End of the 3rd Round – the First PQC Algorithms to be Standardized. https://groups.google.com/a/list.nist.gov/g/pqc- forum/c/G0DoD7lkGPk/m/f3Hl0sh3AgAJ. 2022-07. (2024-12-06 閲覧). [62] D. Moody. Are we there yet? An Update on the NIST PQC Standardization Project. https://csrc. nist.gov/csrc/media/Presentations/2024/update-on-the-nist-pqc-standardization-project/ images-media/moody-are-we-there-yet-pqc-pqc2024.pdf. 2024-04. (2024-12-01 閲覧). [63] D. Moody. Post-Quantum Cryptography: NIST’s Plan for the Future. https://pqcrypto2016.jp/data/ pqc2016_nist_announcement.pdf. 2016-02. (2024-12-06 閲覧). 16 [64] D. Moody, R. Perlner, A. Regenscheid, A. Robinson, D. Cooper. Transition to Post-Quantum Cryptog- raphy Standards. NIST IR 8547 (initial public draft), https://nvlpubs.nist.gov/nistpubs/ir/2024/ NIST.IR.8547.ipd.pdf. 2024-11. (2025-02-17 閲覧). [65] D. Moody et al. Status Report on the Second Round of the NIST Post-Quantum Cryptography Standard- ization Process. NIST IR 8309, https://nvlpubs.nist.gov/nistpubs/ir/2020/NIST.IR.8309.pdf. 2020-07. [66] M. Mosca. Cybersecurity in a quantum world: will we be ready? Workshop on Cybersecurity in a Post- Quantum World. Session 8. 2015-04. (2024-02-29 閲覧). [67] M. Mosca, M. Piani. 2023 Quantum Threat Timeline Report. https://globalriskinstitute.org/ publication/2023-quantum-threat-timeline-report/. 2023-12. (2024-12-02 閲覧). [68] National Security Memorandum on Promoting United States Leadership in Quantum Computing While Mitigating Risks to Vulnerable Cryptographic Systems. https : / / www . whitehouse . gov / briefing - room / statements - releases / 2022 / 05 / 04 / national - security - memorandum - on - promoting - united- states- leadership- in- quantum- computing- while- mitigating- risks- to- vulnerable- cryptographic-systems/. 2022-05. (2025-01-11 閲覧). [69] NCSA. Guidelines for Post – Quantum Readiness. https://www.navy.mi.th/storage/frontend/ article/23852/file/th/Quantum%20Readiness.pdf. 2023-12. (2024-12-06 閲覧). [70] W. Newhouse et al. Migration to Post-Quantum Cryptography: Preparation for Considering the Imple- mentation and Adoption of Quantum Safe Cryptography. NIST SP 1800-38 (initial preliminary draft), https://csrc.nist.gov/pubs/sp/1800/38/iprd-(1). 2023-12. (2025-02-17 閲覧). [71] Z. Ni et al. Beating the break-even point with a discrete-variable-encoded logical qubit. Nature. Vol. 616, Num. 7955 (2023), pp. 56–60. [72] NIST. Digital Signature Standard (DSS). NIST FIPS 186-5, https://nvlpubs.nist.gov/nistpubs/ FIPS/NIST.FIPS.186-5.pdf. 2023-02. [73] NIST. Module-Lattice-Based Digital Signature Standard. NIST FIPS 204, https://nvlpubs.nist.gov/ nistpubs/FIPS/NIST.FIPS.204.pdf. 2024-08. [74] NIST. Module-Lattice-Based Key-Encapsulation Mechanism Standard. NIST FIPS 203, https : / / nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.pdf. 2024-08. [75] NIST. Standardization of additional digital signature schemes, call for proposals. https://csrc.nist. gov/csrc/media/Projects/pqc-dig-sig/documents/call-for-proposals-dig-sig-sept-2022.pdf. 2022-10. (2024-03-05 閲覧). [76] NIST. Stateless Hash-Based Digital Signature Standard. NIST FIPS 205, https://nvlpubs.nist.gov/ nistpubs/FIPS/NIST.FIPS.205.pdf. 2024-08. [77] NIST. Submission requirements and evaluation criteria for the post-quantum cryptography standardization process. https://csrc.nist.gov/CSRC/media/Projects/Post- Quantum- Cryptography/documents/ call-for-proposals-final-dec-2016.pdf. 2016-12. (2024-03-05 閲覧). [78] NÚKIB. Minimum requirements for cryptographic algorithms – Cryptographic security recommendations. https://nukib.gov.cz/download/publications_en/Minimum_Requirements_for_Cryptographic_ Algorithms_final.pdf. 2023-11. (2024-12-06 閲覧). 17 [79] H. Ong, C. P. Schnorr. Signatures through Approximate Representation by Quadratic Forms. CRYPTO. Plenum Press, New York, 1983, pp. 117–131. [80] OpenSSH 9.0 was released. https://www.openssh.com/txt/release- 9.0. 2022-04. (2024-12-06 閲覧) Streamlined NTRU Prime と X25519 を組み合わせたハイブリッド鍵交換は 8.5 で試験的に実装され,9.0 か らはデフォルトで利用される仕様となっている. [81] J. Park et al. Rydberg-atom experiment for the integer factorization problem. Physical Review Research. Vol. 6, Iss. 2 (2024), p. 023241. [82] X. Peng, Z. Liao, N. Xu, G. Qin, X. Zhou, D. Suter, J. Du. Quantum Adiabatic Algorithm for Factorization and Its Experimental Implementation. Physical Review Letters. Vol. 101, Iss. 22 (2008), p. 220405. [83] L. Qiu, M. Alam, A. Ash-Saki, S. Ghosh. Resiliency analysis and improvement of variational quantum factoring in superconducting qubit. ISLPED. ACM, 2020, pp. 229–234. [84] S. Ragavan, V. Vaikuntanathan. Space-Efficient and Noise-Robust Quantum Factoring. CRYPTO (6). Vol. 14925. Lecture Notes in Computer Science. Springer, 2024, pp. 107–140. [85] O. Regev. An Efficient Quantum Factoring Algorithm. arXiv: 2308.06572. [86] R. L. Rivest, A. Shamir, L. M. Adleman. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Commun. ACM. Vol. 21, Num. 2 (1978), pp. 120–126. [87] Round 2 Additional Signatures. https : / / csrc . nist . gov / projects / pqc - dig - sig / round - 2 - additional-signatures. 2024-10. (2024-12-06 閲覧). [88] Round 4 Submissions. https://csrc.nist.gov/Projects/post- quantum- cryptography/round- 4- submissions. 2022-07. (2024-12-06 閲覧). [89] C. P. Schnorr. Fast Factoring Integers by SVP Algorithms, corrected. Cryptology ePrint Archive, Paper 2021/933. 2021. https://eprint.iacr.org/2021/933. [90] Federal office for information security. Cryptographic mechanisms: recommendations and key lengths version: 2024-1. https : / / www . bsi . bund . de / SharedDocs / Downloads / EN / BSI / Publications / TechGuidelines/TG02102/BSI-TR-02102-1.html. 2024-02. (2024-12-05 閲覧). [91] Selected Algorithms. 2025-03. https : / / csrc . nist . gov / Projects / post - quantum - cryptography / selected-algorithms. (2025-03-30 閲覧). [92] P. W. Shor. Algorithms for Quantum Computation: Discrete Logarithms and Factoring. FOCS. IEEE Computer Society, 1994, pp. 124–134. [93] P. W. Shor. Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. SIAM J. Comput. Vol. 26, Num. 5 (1997), pp. 1484–1509. [94] V. V. Sivak et al. Real-time quantum error correction beyond break-even. Nature. Vol. 616, Num. 7955 (2023), pp. 50–55. [95] U. Skosana, M. Tame. Demonstration of Shor’s factoring algorithm for N = 21 on IBM quantum processors. Scientific Reports. Vol. 11, Num. 16599 (2021). [96] M. Sobhani, Y. Chai, T. Hartung, K. Jansen. Variational Quantum Eigensolver Approach to Prime Factorization on IBM’s Noisy Intermediate Scale Quantum Computer. arXiv: 2410.01935. [97] E. G. Johansen and T. Simula. Prime number factorization using a spinor Bose-Einstein condensate- inspired topological quantum computer. Quantum Inf. Process. Vol. 21, Num. 1 (2022), p. 31. 18 [98] The Cryptographers’ Panel. https://www.rsaconference.com/library/presentation/usa/2023/the% 20cryptographers%20panel. 2023-04. RSA Conference 2023 (2024-12-05 閲覧). [99] The Leap quantum cloud service. https : / / www . dwavesys . com / solutions - and - products / cloud - platform/. [100] TRAFICOM. Kryptografiset vahvuusvaatimukset luottamuksellisuuden suojaamiseen – kansalliset tur- vallisuusluokat. https : / / www . kyberturvallisuuskeskus . fi / sites / default / files / media / file / Kryptografiset_vahvuusvaatimukset_- _kansalliset_turvallisuusluokat_0.pdf. 2024-09. (2024- 12-06 閲覧). [101] L. M. K. Vandersypen, M. Steffen, G. Breyta, C. S. Yannoni, R. Cleve, I. L. Chuang. Experimental Realization of an Order-Finding Algorithm with an NMR Quantum Computer. Phys. Rev. Lett. Vol. 85, Iss. 25 (2000), pp. 5452–5455. [102] L. M. K. Vandersypen, M. Steffen, G. Breyta, C. S. Yannoni, M. H. Sherwood, I. L. Chuang. Experimental realization of Shor’s quantum factoring algorithm using nuclear magnetic resonance. Nature. Vol. 414, Num. 6866 (2001), pp. 883–887. [103] D.-S. Wang. A comparative study of universal quantum computing models: Toward a physical unification. Quantum Eng. Vol. 3, Num. 4 (2021). [104] W. Wang, Z. You, S. Wang, Z. Tang, H. Ian. Computing Shor’s algorithmic steps with classical light beams. Scientific Reports. Vol. 12, Num. 21157 (2022). [105] D. Willsch, P. Hanussek, G. Hoever, M. Willsch, F. Jin, H. De Raedt, K. Michielsen. The State of Factoring on Quantum Computers. 2024. arXiv: 2410.14397. [106] B. Yan et al. Factoring integers with sublinear resources on a superconducting quantum processor. arXiv: 2212.12372. [107] C. Zalka. Grover’s quantum searching algorithm is optimal. Phys. Rev. A. Vol. 60, Iss. 4 (1999), pp. 2746– 2751. [108] J. Zander. Advancing science: Microsoft and Quantinuum demonstrate the most reliable logical qubits on record with an error rate 800x better than physical qubits. https://blogs.microsoft.com/blog/ 2024/04/03/advancing- science- microsoft- and- quantinuum- demonstrate- the- most- reliable- logical-qubits-on-record-with-an-error-rate-800x-better-than-physical-qubits/. 2024-04. (2024-12-01 閲覧). [109] デジタル庁, 総務省, 経済産業省. 暗号強度要件(アルゴリズム及び鍵長選択)に関する設定基準. CRYPTREC LS-0003-2022r1, https://www.cryptrec.go.jp/list/cryptrec-ls-0003-2022r1.pdf. 2022-03. [110] デジタル庁, 総務省, 経済産業省. 電子政府における調達のために参照すべき暗号のリスト(CRYPTREC 暗 号リスト). CRYPTREC LS-0001-2022r1, https://www.cryptrec.go.jp/list/cryptrec- ls- 0001- 2022r1.pdf. 2024-05. [111] 中国密码学会. 全国密码算法设计竞赛通知. https://sfjs.cacrnet.org.cn/site/content/309.html. 2018-06. (2025-01-11 閲覧). [112] 中国密码学会. 关于全国密码算法设计竞赛算法评选结果的公示. https://sfjs.cacrnet.org.cn/site/ content/854.html. 2020-01. (2025-01-11 閲覧). [113] 宮地 充子. 楕円曲線の理論的及び実用的可能性. IEICE FUNDAMENTALS REVIEW. Vol. 14, Num. 4 (2021), pp. 329–336. 19 [114] 細山田 光倫. 量子コンピュータが共通鍵暗号の安全性に及ぼす影響の調査及び評価. CRYPTREC EX-2901- 2019, https://www.cryptrec.go.jp/exreport/cryptrec-ex-2901-2019.pdf. 2020-01. [115] 縫田 光司. 耐量子計算機暗号. 森北出版, 2020. [116] 伊藤 公平. 量子計算. 2010-02. https://www.ieice- hbkb.org/files/ad_base/view_pdf.html?p= /files/S2/S2gun_05hen_03.pdf. 電子情報通信学会 知識ベース 知識の森 S2 群(ナノ・量子・バイオ)5 編 (量子通信と量子計算)3 章. [117] 国立国会図書館調査及び立法考査局. 量子情報技術:科学技術に関する調査プロジェクト報告書. 2022-03. https://www.ndl.go.jp/jp/diet/publication/document/2022/index.html. [118] 国立研究開発法人科学技術振興機構. 目標 6 2050 年までに、経済・産業・安全保障を飛躍的に発展させる誤 り耐性型汎用量子コンピュータを実現. https://www.jst.go.jp/moonshot/program/goal6/index.html. (2024-12-01 閲覧). [119] 富士通. 量子コンピュータの誤り耐性量子計算を解説!エラー訂正とエラー緩和の最新トレンドを紐解 く. https : / / activate . fujitsu / ja / key - technologies - article / ta - fault - tolerant - quantum - computation-20240515. 2024-05. (2024-12-01 閲覧). [120] 高安 敦. Shor のアルゴリズム実装動向調査. CRYPTREC EX-2005-2020, https://www.cryptrec.go.jp/ exreport/cryptrec-ex-3005-2020.pdf. 2021-06. [121] 清藤 武暢, 四方 順司. 量子コンピュータが共通鍵暗号の安全性に与える影響. 金融研究. Vol. 38, Num. 1 (2019), pp. 45–72. https://cir.nii.ac.jp/crid/1523106604811659392. [122] 理化学研究所. 量子コンピュータを利用できる「量子計算クラウドサービス」開始 -国産超伝導量子コンピュー タ初号機の公開-. https://www.riken.jp/pr/news/2023/20230324_1/. 2023-03. (2024-12-01 閲覧). [123] 大関 真之. 量子アニーリングが拓く機械学習と計算技術の新時代 (量子システム推定の数理). 数理解析研究所 講究録. Vol. 2059 (2017), pp. 13–23. https://cir.nii.ac.jp/crid/1050564288163922560. [124] 文部科学省 科学技術・学術政策研究所科学技術予測センター. 第 11 回科学技術予測調査 デルファイ調査. https://nistep.repo.nii.ac.jp/?action=repository_uri&item_id=6692&file_id=13&file_no=3. 2020-06. (2024-12-05 閲覧). [125] 山口 純平, 伊豆 哲也. イジング計算を用いた暗号解析について. オペレーションズ・リサーチ:経営の科学. Vol. 67, Num. 6 (2022), pp. 290–296. https://cir.nii.ac.jp/crid/1520011030559130112. [126] 山口 純平, 伊豆 哲也, 國廣 昇. 素因数分解問題に対する Shor アルゴリズムの実装と量子計算機シミュレータ を用いた実験. 暗号と情報セキュリティシンポジウム (SCIS 2023). 2023-01, 4A2–3. [127] 大塩 耕平. アナログ量子シミュレータの開発動向と応用. https://www.mizuho-rt.co.jp/publication/ others/pdf/mhrt003_01.pdf. 2024-03. (2024-12-06 閲覧). [128] 大阪大学 量子情報・量子生命研究センター. 【プレスリリース】大阪大学に設置した超伝導量子コンピュータ国 産3号機の クラウドサービスを開始. https://qiqb.osaka-u.ac.jp/20231220pr/. 2023-12. (2024-12-01 閲覧). [129] 量子耐性暗号研究団. KpqC. https://kpqc.or.kr/. (2024-12-06 閲覧). [130] 満保 雅浩. 公開鍵暗号. 映像情報メディア学会誌. Vol. 69, Num. 9 (2015), pp. 714–720. 20 第2章 PQC の活用方法 将来,一定以上の能力を持つ量子コンピュータが登場した場合には,既存の公開鍵暗号が解読される(破られる)と いう脅威が指摘されている [1, 20]。本章では,現在,標準的に用いられている公開鍵暗号の解読が可能となる水準の量 子コンピュータを Cryptographically Relevant Quantum Computer(CRQC)と記載し,CRQC を用いた攻撃に対 しても安全な性質を「耐量子計算機性」と記載する。また,耐量子計算機暗号(Post-Quantum Cryptography: PQC) とは,耐量子計算機性を持つ暗号アルゴリズムを意味し,本稿の対象である公開鍵暗号アルゴリズム以外にも,共通鍵 暗号やハッシュ関数も含まれるものとする [1]。加えて, 「耐量子計算機性を持つ情報システム」とは,CRQC を用いた 攻撃に対しても安全な情報システムを示すものとする。 ある情報システムが,既存の公開鍵暗号を利用していた場合,その情報システムは,将来における CRQC を用いた 攻撃の脅威に晒されることになる。そのような脅威への対応方法としては,情報システム内の(耐量子計算機性を持た ない)既存の公開鍵暗号方式部分を,耐量子計算機性を持つ公開鍵暗号方式に置き換えることで,その情報システムに 耐量子計算機性を持たせることが考えられる。 なお,耐量子計算機性を持たせるためには異なるアプローチも考えられる。例えば,今まで公開鍵暗号を利用してい た情報システムを,公開鍵暗号を利用しない仕組みに置き換えるアプローチである。具体的には,信頼できる特使等の 別の情報共有手段を利用し,通信相手と共通鍵の事前共有を行う方法である。しかし,このアプローチでは,情報シス テムの「スケーラビリティ」*1 が損なわれることが予想され,場合によっては実現不可能なコストが発生する。 現在,普及している情報システムの中には,公開鍵暗号を利用することにより,そのサービスのスケーラビリティを 維持しているものも多い。インターネットはその代表例であり,通信相手を認証する用途等で公開鍵暗号を利用するこ とにより,大規模な通信ネットワークの構築及び維持を実現している [4, 11, 14, 18]。このような大規模情報システム において,仮に,耐量子計算機性を持たせるために公開鍵暗号の利用を取りやめた場合,スケーラビリティが損なわ れ,その結果,維持・運用コストが大きく上昇してシステムの維持も困難となる。このため,公開鍵暗号を利用した情 報システムの現在及び将来においてスケーラビリティ上の懸念が発生しないという見通しがない限り,耐量子計算機性 の実現のためのアプローチとしては,耐量子計算機性を持つ公開鍵暗号を利用することが望ましい。 以下では,より具体的に,耐量子計算機性を持たせるためのアプローチについて紹介する。公開鍵暗号によって暗号 化(守秘・鍵共有)を行う情報システムに対して,耐量子計算機性を持たせるアプローチには,表 2.1 に示す手法及び その組み合わせが存在するが,一般に下段のアプローチになるほどスケーラビリティが低下する。ここで,最もスケー *1 スケーラビリティとは,要求される処理量等の変化に応じてそのシステムの対処能力を柔軟に増減させることができる能力である。 https://www.gartner.com/en/information-technology/glossary/scalability 本章では,情報システムの規模(ステークホルダ数,利用者数,処理量等)が増減した場合でも,その情報システムが消費するリソース(計 算量,通信量,人の手間等)が極端に増加しない,又は,減少させることができる能力の意味で利用する。 21 表 2.1: 公開鍵暗号による暗号化(守秘・鍵共有)を行う情報システムに対して耐量子計算機性を持たせるためのアプ ローチ アプローチ 概要 1. 削除・匿名化 情報システムが,漏洩しても問題ない情報以外は保管しない/扱わないようにする。又は,保 管する/扱う情報を加工することによって,漏洩しても問題ないように変形する。この方式 は,スケーラビリティが最も高いが,可用性が大きく低下することが考えられ,選択できな いことも多い。 2. 耐量子計算機 最も一般的な解決策であり,スケーラビリティを確保できる。現代暗号の利点を維持するア 性を持つ公開 プローチである。 鍵暗号の採用 3. 公開鍵暗号を 公開鍵暗号を利用している情報システムを,公開鍵暗号を利用しない仕組み(例えば,物理 用いない鍵共 的に通信相手全員に IC カードを配布することで,共通鍵の事前共有を行うなど)に置き換え 有手段の導入 ることで,耐量子計算機性を持たせる。暗号技術の観点からは,公開鍵暗号が登場する以前 の思想で再設計することになる。スケーラビリティが低く,不特定多数が利用するシステム では採用が困難と考えられる。また,通信当事者の捕捉が容易となることも考えられ,匿名 性の確保やプライバシ保護に関する再設計も併せて必要になる可能性がある。 4. 物理アクセス 1~3 のアプローチが採用できない場合にも採用可能である。暗号技術の観点からは,暗号技 制御 術が発展する以前の思想で再設計することになる。実装コスト及び運用コストが非常に高く なることが予想される。 ラビリティが期待できるデータ削除や匿名化といった手法は,そのデータが削除や匿名化が可能であるか否かを検討し た後に実施する必要があり,運用上のスケーラビリティは高いものの,導入前の検討のために時間を必要とし,情報シ ステムの可用性が低下するおそれもある。また,法令やポリシー等で削除・匿名化が許容されていない場合には,実施 できないおそれもある。 これらの事情より,耐量子計算機性を持たせるための最も汎用的かつ根本的な対応は,既存の公開鍵暗号方式を耐量 子計算機性を持つ公開鍵暗号方式に置き換えることであると考えられる。 ただし,情報システムで利用されている公開鍵暗号方式を,耐量子計算機性を持つ公開鍵暗号方式に置き換えること は容易ではない。それは単に実装を切り替えただけでは完了せず,公開鍵暗号がどのように利用されているのかについ て認識した上で,運用やデータ管理に係る様々な処理も併せて実施することが要求される(以降,暗号方式の置き換え に加えて,これらの処理を行うことを「暗号移行」と呼ぶ)。そこで本章では,公開鍵暗号のいくつかの利用形態を念 頭に,耐量子計算機性を持つ公開鍵暗号方式への暗号移行について紹介する。まず,現行の公開鍵暗号の利用形態を紹 介した上で,各利用形態における CRQC による脅威及びその対策について,システム運用やデータ管理処理の観点を 踏まえて概説する。また,脅威を評価する上で重要となる,保護対象となるデータの保護期間について記載した上で, 利用形態や保護対象を踏まえた対応についても概説する。 22 2.1 公開鍵暗号の利用形態 既存の公開鍵暗号方式を,耐量子計算機性を持つ方式へと暗号移行するに際しては,その公開鍵暗号方式の利用形態 ごとに,暗号移行のプロセスが大きく異なることが予想される。そこで,本節で公開鍵暗号の利用形態について概説し た上で,次節以降で各利用形態における暗号移行のプロセスについて述べる。公開鍵暗号にはいくつかの利用形態が存 在するが,本章では「電子政府における調達のために参照すべき暗号のリスト」[24] (以下「CRYPTREC 暗号リス ト」と呼ぶ。 )に合わせて,公開鍵暗号を署名・守秘・鍵共有に分類し,以降その分類に沿って概説する。また,本節で は,署名用途/守秘用途/鍵共有用途の耐量子計算機性を持つ公開鍵暗号方式を,それぞれ署名用途/守秘用途/鍵共 有用途の PQC と表記する。 2.1.1 署名用途での公開鍵暗号の利用 本節では,署名を付与する行為を「デジタル署名処理」と呼び,付与される署名データを「デジタル署名」と呼ぶ。 デジタル署名が付与されたコンテンツを改竄すると,その改竄を検知することができる。このため,署名用途の公開鍵 暗号を用い,コンテンツにデジタル署名を付与することで,コンテンツの改竄によりもたらされる被害を防止すること ,動画等の情報であることもあれば,暗号鍵の鍵情報*2 ができる。コンテンツは,人が読む文章(ドキュメントデータ) であることもある。また,デジタル署名処理に用いられる秘密鍵が,対応する公開鍵を含む電子証明書によって所定の 人物/組織/装置等と紐づいている場合では,コンテンツの生成人物/組織/装置を確認(認証)することもできる。 このように署名用途の公開鍵暗号は,コンテンツの改竄防止,署名者の認証,データ元の認証等に利用される。 具体的な署名用途の公開鍵暗号の利用例としては,TLS 通信 [18] におけるクライアント認証(利用者の認証)やサー バ認証(サービス提供者の認証) ,OS のコードサインの確認(バイナリデータが改竄されていないことの確認)等に広 く利用されている。また,公開鍵の配布手段の一種である公開鍵暗号基盤(PKI)の構成においても,公開鍵暗号は広 く利用されており [4],コンテンツに対して署名が付与された時刻を確認可能なタイムスタンプ署名方式 [23] 等も存在 する。CRYPTREC 暗号リストには,DSA,ECDSA,EdDSA,RSA-PSS,及び RSASSA-PKCS1-v1 5 が署名用途 の公開鍵暗号として記載されている。 2.1.2 守秘用途での公開鍵暗号の利用 守秘用途の公開鍵暗号によって暗号化された暗号文は,対応する秘密鍵なしに復号することは困難となる。このた め,守秘用途の公開鍵暗号は,意図した相手だけにデータを提示するために利用することができる。暗号化処理による 保護は,ドキュメントデータ,動画等の情報に対して行われることもあれば,暗号鍵の鍵情報*3 に対して行われること もある。保護が鍵情報に対して行われるユースケースとしては,鍵情報を通信当事者間で共有する場合や,暗号鍵所有 者がその鍵情報をバックアップする場合等が該当する。 守秘用途及び鍵共有用途の公開鍵暗号の一般的な実装形態として,公開鍵暗号方式により別の暗号鍵を保護し,その 暗号鍵を利用した共通鍵暗号方式によりコンテンツの秘匿性や完全性を保護するというアプローチが存在する。このア プローチでは,共通鍵暗号方式の暗号鍵(以下,単に共通鍵と呼ぶ)は送信者により作成され,配送される。したがっ て,ある時点で共通鍵が漏洩した場合には,過去にその秘密鍵を持つ利用者に対して配送された共通鍵が漏洩するお *2 鍵情報には暗号鍵やメタデータが含まれ [5],公開鍵暗号の鍵のみではなく共通鍵暗号の鍵に関する情報も含む概念となる。 *3 秘密鍵,共通鍵,鍵導出鍵及びそれらの鍵のメタデータを含む。 23 それがある。また,受信者は共通鍵の生成に関わることがないため,送信者が別の通信相手と共通鍵を使い回してい ても察知することができない。このため,昨今の TLS 通信等における共通鍵の共有においては,守秘用途の公開鍵暗 号でなく,次節で概説する鍵共有用途での公開鍵暗号を一時的な鍵と組み合わせて利用することが望ましいと考えら れている [5, 19]。なお,「TLS 暗号設定ガイドライン」[5] においても,鍵交換(鍵共有・守秘)においては,Perfect Forward Security(PFS)*4 の特性を持つ DHE(又は ECDHE)を選択することがセキュリティ上望ましいと記載さ れている。CRYPTREC 暗号リストには,RSA-OAEP 及び RSAES-PKCS1-v1 5*5 が守秘用途の公開鍵暗号として 記載されている。また,RFC7525[19] においても,4.1 節において守秘用途で使用される RSA 暗号方式による鍵の転 送(RSA key transport)は利用すべきでないと記載されており,4.2 節において一時的(Ephemeral)な鍵を用いる 暗号スイート*6 が推奨されている。 2.1.3 鍵共有用途での公開鍵暗号の利用 鍵共有用途での公開鍵暗号は,鍵共有に参加する二者が,同一の鍵情報*7 を共有するために使用される。近年利用さ れている二者間鍵共有を目的とした多くの公開鍵暗号プロトコルにおいては,鍵共有に参加する双方が何らかの値を生 成し,その値に対して秘密鍵を使用した計算を行う。結果として,共有される鍵には双方の生成した値が影響すること となり,一方のみの計算で暗号鍵を導出することはできない。このため,守秘用途でのデータ送付と異なり,送信者 があらかじめ意図した特定の鍵を,共有鍵として利用することはできない。CRYPTREC 暗号リスト [24] には,DH, ECDH,及び PSEC-KEM が鍵共有用途の公開鍵暗号として記載されている。 2.2 PQC の導入における課題 図 2.1: Mosca の発表 [15] より 現在広く利用されている公開鍵暗号が,量子コンピュータを利用した攻撃に起因して,“近い将来”に危殆化する可能 性は低い [7] と考えられている。他方で,Mosca [15] が指摘するように,その情報システムで生成されるデータに対し て暗号方式による保護が期待される期間(図 2.1 における X)に,暗号処理の実装の置き換えに要する期間(同図にお ける Y)を加えたものが,CRQC による攻撃が実現するまでの期間(同図における Z)よりも長い場合(X + Y > Z の場合)は,当該情報システムで生成されるデータは CRQC による攻撃の脅威にさらされることになる。すなわち, *4 ある時点における鍵が漏洩した場合でも,漏洩した鍵とは異なる鍵を使用していた過去の暗号文の復号はできない性質。 *5 守秘用途の RSAES-PKCS1-v1 5 は,運用監視暗号リストに記載されており,互換性維持以外での利用は推奨されていない。 *6 複数の暗号アルゴリズムの組合せ *7 共通鍵暗号の共通鍵,鍵導出機能の鍵やパラメータ等 24 CRQC 実現までの期間(Z)が非常に長く,遠い将来であったとしても,その情報システムの X や Y の値が大きけれ ば,何らかの対応が求められる。なお本章において,特記しない限り以降では,X,Y,Z は図 2.1 における X,Y,Z を示す。 もっとも,CRQC の実現時期は未だ不透明であり,Z を予想することは困難である。また,X は,暗号方式のみなら ず,保護対象となるデータの性質等によっても大きく異なる。特に,保護対象となるデータに対して,保護期間が設定 されていない場合などは,X を導出すること自体が新たな課題となる。同様に,Y も,暗号方式の実装形態によって大 きく変化する。さらに,X 及び Y は,情報システムの運用を通して,将来において変動することもありうる。 このように,ある公開鍵暗号アプリケーションが利用されている際に,CRQC による脅威について備える必要性が あるか否かを判断しようとした場合,Z は不確定であり,X や Y も変動しうるため,判断が難しいという課題がある [25]。ここで,保護対象となるデータに保護期間が設定されていない場合においては,判断に先駆けて(X 導出のため に)データの保護期間を決定することとなり,場合によってはその判断を行うための情報収集に相当の期間を必要と する。 PQC の導入においては,その情報システムに耐量子計算機性を持たせることが必要なのか,また,いつまでにそれ を行う必要があるのか,を判断すること自体が課題となる。 2.2.1 署名用途での課題 署名用途の公開鍵暗号は,コンテンツの改竄防止,認証等に利用されるが,ユースケースによって脅威の性質は大き く異なる。例えば,TLS 通信 [18] におけるクライアント認証やサーバ認証においては,認証用に付与されたデジタル 署名の検証を行うのは基本的にその場限りとなるため,X の値は小さくなる。また,Web ブラウザが信用するサーバ認 証用の証明書の有効期間は,ごく一部の例外を除いて 1 年程度であり,それほど長い期間利用されることはない。その ため,X の値は,守秘用途や他の認証用途に比べて非常に小さくなる [25]。さらに,ブラウザのアップデートやルート 認証局の入れ替えを,より迅速に実施できる体制を整備しており,Y の値も守秘用途や他の認証用途に比べて小さい。 他方で,電子データに対するドキュメント署名や,バイナリデータに対するコードサインであれば,署名対象のデー タを利用する人が存在する限り(数十年に渡り)デジタル署名が検証されることもある。特に,コードサインにおいて は,仮に電子証明書に有効期間が記載されていたとしても,その有効期間満了後にも検証されることが十分に考えられ る。そのため,X の値は,守秘用途や他の認証用途に比べて非常に大きくなる。 このように,署名用途においては,X の値は大きくなりうるものであり,個々のアプリケーションごとに判断する必 要がある。また,公開鍵の配布のために PKI を利用した場合,トラストアンカーの置き換え等に時間を要するため,Y が 10 年以上となることも珍しくない。 2.2.2 守秘用途での課題 守秘用途の公開鍵暗号においては,攻撃者が事前に暗号技術で保護されたデータを収集して保存しておき,後からそ のデータに対して攻撃を行う攻撃である,Harvest Now Decrypt Later 攻撃(以下, *8 の脅 「ハーベスト攻撃」と呼ぶ) 威が指摘されている。 ハーベスト攻撃においては,保護対象となるデータの保護期間,すなわち X の値が大きくなるほど,攻撃者が攻撃 可能な期間が長くなる。これは,攻撃者が CRQC の開発を待たずに攻撃(保護された情報の収集)を開始できるため である。一方,防御側は,攻撃者に情報が収集される前に,情報システムに耐量子計算機性を付与することが求められ *8 Record Now Decrypt Later 攻撃,Store Now Decrypt Later 攻撃等とも呼ばれる。 25 る。保護対象となる情報の保護期間が長くなるほど,この不均衡は大きくなり,攻撃者の攻撃可能期間が長くなる。 守秘用途の公開鍵暗号では,保護対象となるコンテンツや鍵情報の保護期間が非常に長期となることが想定されてい る場合や,無期限で保護することが想定されている場合も存在する。例えば,患者を特定又は推測可能な形態で保管さ れた遺伝性疾患に関する医療情報や,外交関係の機微な情報,さらには,それらの情報の暗号化に利用される鍵などは 長い保護期間を持つ傾向にある。また,ドキュメントの生成時において,無期限に守秘することを前提としており,公 開することを想定していない情報も存在する。 これらの情報においては,X の値は非常に大きくなるため,おそらく X + Y > Z が成立することになる。そのため, 速やかに CRQC の脅威に対する何らかの対応を行うことで,被害を軽減することが望ましい [25]。 2.2.3 鍵共有用途での課題 鍵共有用途での課題は,守秘用途における課題と同種の課題を含んでいる。例えば,鍵共有で共有された共通鍵が, 非常に長い保管期間を持つデータの暗号化に利用されていた場合,X の値は非常に大きくなり,X + Y > Z が成立す ると考えられ,速やかに CRQC の脅威に対する何らかの対策が必要となる。 さらに,守秘用途では存在しない新たな懸念も存在する。例えば,一時的(Ephemeral)な鍵情報を用いた DH 鍵共 有方式を採用することにより PFS を達成している情報システムが存在し,その情報システムは,PFS であることを前 提とした運用ポリシーを策定していたとする。この情報システムの DH 鍵共有処理部分を,耐量子計算機性を持つ標準 化された公開鍵暗号方式に置き換える場合,以下の 2 つの方針が考えられる。 1)鍵共有用途の PQC に置き換える 2)守秘用途の PQC に置き換える 標準化された鍵共有用途の PQC が存在するのであれば,1)が選択可能であり,比較的容易に実現可能だと考えられ る。しかし,そのような鍵共有用途の PQC が存在せず,守秘用途の PQC しか標準化されていない場合には,2)を選 択することとなり,守秘用途の PQC を用いて鍵共有部分を構成することとなる。 2)の選択において,守秘用途の PQC を単純に導入した場合,PFS の性質を持たなくなるおそれがあり,それによ りデータ保護及び運用ポリシー策定時に想定していなかった経路からの情報漏洩等が発生する懸念が生じる。 他方で,2)の選択において,既存の鍵交換及び守秘用途の PQC の両方のハイブリッド構成を用いることによって 対応するアプローチも存在する*9 。ハイブリッド構成を用いることで,既存のアルゴリズムでしか防げない攻撃に対し ても,新たなアルゴリズムでしか防げない攻撃に対しても,安全な構成とすることができる [22]。 もっとも,鍵共有処理を複数回行うことに起因し,処理量及びデータ転送量が増加するため,その増加に対応できる ように情報システムや通信プロトコルの修正が必要となりうることには注意が必要である。 2.3 PQC 導入へのアプローチ 2.2 節でも記載したように,CRQC の実現時期(又は実現までの期間 Z)は不透明ながら,X や Y の値が大きな情報 システムにおいては,何らかの対応を取ることが望ましい。また,本章冒頭で記載したように,情報システムに耐量子 計算機性を持たせる手段は,耐量子計算機性を持つ公開鍵暗号方式の導入だけではないものの,スケーラビリティを考 慮すると耐量子計算機性を持つ公開鍵暗号方式の利用が有望である。本節では,耐量子計算機性を持つ公開鍵暗号方式 への暗号移行を念頭に,その暗号移行を円滑に行う上での考慮事項について概説する。 *9 TLS における [13, 22],CMS における [16] 等が当該アプローチとして挙げられる。 26 2.3.1 プライオリティ設定の重要性 公開鍵暗号は様々な用途において普及している。それらの全ての公開鍵暗号方式を耐量子計算機性を持つ方式へ暗号 移行するためには,長い期間及び労力を要する。また,情報システムの中には,そのシステムの利用期間及び生成され るデータの保護期間が短い等の理由により,耐量子計算機性を持たせる必要がないものも存在するかもしれない。 そこで,暗号移行を検討する上では,X,Y,Z を意識して対応することが重要と考えられる。もっとも,X や Y は暗号 方式の利用局面ごとに異なることも想定され,またそれらの値は将来において変動する可能性がある。さらに,Z は不 確定であり,予想すること自体も困難である。このような状況の下で,全ての暗号モジュールに対して X,Y,Z を分析す るアプローチを取ることは,作業量の観点で大きな困難が伴うことが予想され,結果として本当に保護が必要なデータ に対する対応に手が回らないおそれがある。そこで,暗号移行を行う担当者は,優先度の高いものを洗い出し,その優 先度に応じて対応を行うことが適切である [9, 26, 25]。 PQC への暗号移行を検討するにあたり,あらかじめ優先順位付けを行うことの重要性は,金融庁の報告書 [27] でも 触れられており,基本事項は以下のように整理されている。 • 暗号解読可能な量子コンピュータによる既存の暗号危殆化に関連するリスクに基づいて,移行対象の優先順位付 けを行う。 • 移行対象の詳細な把握のため,クリプト・インベントリを構築する。 • 暗号危殆化状況に応じて安全かつ迅速に対応できるアーキテクチャを検討する。 • 優先順位の高いものを中心に移行期限を設定し,期限超過の可能性も踏まえたリスク低減策も検討する。 ここで,クリプト・インベントリとは利用している暗号モジュールや暗号方式のリストのことであり,その作成にお いては,既に管理簿や仕様書等が存在する場合はそれを利用することができる。また,管理簿や仕様書等が存在しない 場合は,何らかの自動化ツールを使うことが,効率の観点からもミスを減らす面からも望ましい。そのような自動化 ツールの利用を検討する上では,NIST NCCoE の検討 [9] が参考になる。 CRQC による攻撃リスクの評価においては,CRQC による攻撃が成功した場合の影響,暗号方式によって保護さ れる情報の保護期間(X の把握のために必要),情報システムで利用する各暗号モジュールの移行に要する時間(Y), CRQC を利用する攻撃を行うための前提条件の難易度(攻撃対象である暗号化データ取得の難易度や,そのデータを 利用した攻撃の難易度)等の把握が有用である。 この優先順位付けに先駆けて,過剰な保護期間が設定されている情報の保管期間短縮,不要な情報の消去,公開可能 な情報の公開等を併せて実施する事も望ましい。このような処理により,X の短縮が期待でき,暗号移行の対象となる システムを削減する効果が期待される。 暗号移行に際しては,速やかに PQC に暗号移行するというアプローチと,あらかじめクリプトグラフィック・アジ リティ [12]*10 を向上させつつ,ある程度以上のクリプトグラフィック・アジリティを達成した上で暗号移行するとい うアプローチが存在する。 クリプトグラフィック・アジリティが向上すると,Y や X の値が小さくなる。このため,例えば,PQC の評価が十 分にされておらず,暗号移行開始の妨げとなっている期間においては,当面の間はクリプトグラフィック・アジリティ 向上に努めるというアプローチも一定の合理性があるものと考えられる [26]。 *10 暗号方式を変更可能とする性質。2.3.2 節参照。 27 2.3.2 クリプトグラフィック・アジリティの重要性 クリプトグラフィック・アジリティは,文脈によって捕捉範囲が異なり,それに伴って異なる意味合いを持つことが ある [2]。しかしながら,それらに通底している性質として,暗号アルゴリズムや暗号プロトコルをより迅速に変更で きる点が挙げられる。 暗号移行においては,暗号移行の対象となる情報システムの暗号部分が,情報システムにハードコードされている場 合には,暗号アルゴリズムの変更が困難である。このような状態は「クリプトグラフィック・アジリティを持たない」 と表現することができる。 他方で,標準プロトコルを採用する情報システム,暗号モジュールにも標準プロトコルを利用している情報システ ム,その API が適切に定義されている情報システム,相互運用性が確保されている情報システム,及び暗号回路を含 むファームウェアアップデートをオンラインで実施できるように設計されている情報システム等では,その暗号移行に 要する時間は比較的短くなり,X + Y > Z となる可能性も低くなる。X 及び Y の値が十分に低く,所定の目標期間以 内に暗号移行が可能なシステムは,「クリプトグラフィック・アジリティを持つ」と表現することができる [2, 25]。 クリプトグラフィック・アジリティを持たせるための対応は,PQC の実装とは独立して実施することが可能である [3]。また,より短い期間での暗号移行を行うことが可能となれば,移行プロセスを開始するまでの猶予期間(Z − X − Y) をより長くすることが期待される。 PQC への暗号移行を実施するにあたっては,まずは暗号移行を長期化する要素を排除することを試み,情報システ ムにおける暗号プロトコルの変更をより迅速にできるようにシフトさせていく対策,すなわちクリプトグラフィック・ アジリティを確保する対策を併せて実施することが効果的である [2, 3, 25]。 2.3.3 既存暗号方式とのハイブリッド構成 暗号移行においては,ハイブリッド構成を採用することができる。PQC への暗号移行の文脈におけるハイブリッド 構成とは,既存の公開鍵暗号と,PQC の両方を利用することによって何らかの目標の達成を目指すものであるが,厳 密な定義は見当たらない [8]。ハイブリッド構成の目標は,暗号アルゴリズムの切替期間中における相互運用性の確保 や,既存暗号方式しか利用できない機器に対する後方互換性の確保であることもあれば,両方のアルゴリズムのうち片 方が危殆化した場合の安全性の維持であることもある。 また,ハイブリッドという用語は,単一の暗号モジュールを構成するコンポジット方式 [13, 16] の文脈で使用される こともあれば,複数の暗号モジュールの出力を入力として受け取り,新たな出力を生成するコンバイナー構造に対して 使用されることもある [8]。 なお,IETF の標準化活動において,ハイブリッド構成による鍵共有方式に関しては一定の合意が見受けられるが [13, 16],ハイブリッド構成によるデジタル署名方式 [17] に関しては合意に時間を要している。 2.3.4 署名用途固有の対策 署名用途の公開鍵暗号は様々なユースケースで利用されるが,PKI 等のインフラの移行に要する時間(Y)やコード サイン証明書が利用される期間(X)が比較的長いことから,速やかな PQC への暗号移行が困難である。この場合に おいても,以下の対応を取ることが望ましい。 PKI においては,一般に Y が長くなる傾向にあるが,電子証明書の有効期間の短縮や,1 枚の電子証明書に対して (既存暗号方式と署名用途の PQC の)2 つの公開鍵及びデジタル署名を付与する方式などを採用することで,Y の短縮 28 が期待できる [21]。なお,後者の 2 つの公開鍵暗及びデジタル署名を利用する方式においては,実装やポリシー管理の 複雑さが大きく増加することから,注意を必要とする。 X を実質的に短縮する技術として,タイムスタンプ更新技術が存在する。例えば,ERS[10] 等を利用することで,タ イムスタンプの更新や,暗号方式の更新が可能となる。Z が経過する前に,既存の公開鍵暗号を PQC に更新すること が可能であれば,X,Y,Z の関係によらず,データは保護される。ただし,このアプローチでは,データ構造の複雑さが 増加する傾向があり, (PQC への即時の暗号移行に比べては小さいものの)情報システムの運用費用が増加する点には 注意を必要とする。 2.3.5 守秘及び鍵共有用途固有の対策 既に述べたように,耐量子計算機性を持たせるための一般的な対策は,既存の暗号方式を耐量子計算機性を持つ公開 鍵暗号方式に移行することである。ここで,2.2.2 節及び 2.2.3 節で述べたとおり,守秘及び鍵共有用途で保護されたコ ンテンツや鍵情報は,保護期間が非常に長いことや,場合によっては無期限で保護されることも考えられる。このよう な情報に対するハーベスト攻撃の脅威を考慮すると,当該情報は,将来における CRQC による解読リスクに既に晒さ れていることから,一刻も早く耐量子計算機性を持たせる対応を始めることが望ましい。ただし,全ての守秘及び鍵共 有用途の公開鍵暗号を移行するためには非常に大きなリソースが要求され,現実的なコストでは実現が困難であるおそ れがある。 このような状況においても,守秘及び鍵共有用途固有の対策を効率的に行う方法 [26] として,以下のアプローチが ある。 Z に対して X + Y の値が非常に小さく,X + Y  Z と予測される暗号文に対しては,CRYPTREC による注意喚 起情報 [6] に注意を払いつつ,現在用いている暗号の使用を継続する。また,X + Y > Z となることが十分予想される 暗号文に対しては,2.3 節前段で述べた,PQC への暗号移行や,暗号文の保護期間である X の短縮,情報システムの 暗号処理の実装の置き換えに要する期間 Y の短縮を行う。その結果,X や Y の値を十分に小さくすることができるの であれば,現在用いている暗号方式の使用を継続する。 一方で,X + Y > Z と予想される,又は,X + Y > Z となることが避けられない暗号文に対してしては,暗号シス テムの PQC への暗号移行を進めつつも,既存の公開鍵暗号によって保護されている暗号文は公開ネットワーク等に保 管せず,適切にアクセスコントロールを行う。 なお,現在 DH を利用している場合は,2.2.3 節で述べたような検討を行い,DH 固有の性質が必要か否かをあらか じめ検討することが望ましい。 2.4 PQC の活用にむけて PQC への暗号移行においては,どのようなデータに対して,どのような暗号技術を利用しているのかを把握するこ とが第一歩となる。また,保護対象となるデータの保護期間等をあらかじめ把握しておくことで,より効率的な対応が できる [26]。その上で,公開できるデータは公開し,破棄可能なデータは破棄することも検討すべきである。この検討 を進めることで,クリプトグラフィック・アジリティ [12] の確保も見込まれ,より効果的な PQC への移行が期待でき る。CRQC の脅威への対策を検討するにあたっては,保護されている情報の価値,CRQC による攻撃が成功した場合 の影響,図 2.1 における X,Y,Z の関係等を踏まえ,プライオリティを付けて,そのプライオリティ順に対策を実施する ことが望ましい [27, 25]。 29 第 2 章の参照文献 [1] National Security Agency. The Commercial National Security Algorithm Suite 2.0 and Quantum Com- puting FAQ. 2024-04. https://media.defense.gov/2022/Sep/07/2003071836/-1/-1/1/CSI_CNSA_2. 0_FAQ_.PDF. (2025-01-06 閲覧). [2] N. Alnahawi, N. Schmitt, A. Wiesmaier, A. Heinemann, T. Grasmeyer. On the State of Crypto-Agility. Cryptology ePrint Archive, Paper 2023/487. 2023. https://eprint.iacr.org/2023/487. [3] A. Amadori et al. The PQC Migration Handbook. https : / / publications . tno . nl / publication / 34643386/fXcPVHsX/TNO-2024-pqc-en.pdf. 2024-12. (2025-01-06 閲覧). [4] S. Boeyen, S. Santesson, T. Polk, R. Housley, S. Farrell, D. Cooper. Internet X.509 Public Key In- frastructure Certificate and Certificate Revocation List (CRL) Profile. RFC 5280, https://www.rfc- editor.org/info/rfc5280. 2008-05. (2023-04-12 閲覧). [5] CRYPTREC. TLS 暗号設定ガイドライン. CRYPTREC GL-3001-3.0.1, https://www.cryptrec.go.jp/ report/cryptrec-gl-3001-3.0.1.pdf. 2020-07. [6] CRYPTREC. 注意喚起一覧. https://www.cryptrec.go.jp/er.html. (2024-03-05 閲覧). [7] CRYPTREC 暗号技術評価委員会. 注意喚起情報 “現在の量子コンピュータによる暗号技術の安全性への影響”. https://www.cryptrec.go.jp/topics/cryptrec-er-0001-2019.html. [8] F. Driscoll, M. Parsons, B. Hale. Terminology for Post-Quantum Traditional Hybrid Schemes. Internet- Draft. 2024-12. https://datatracker.ietf.org/doc/draft-ietf-pquip-pqt-hybrid-terminology/ 05/. (2025-02-20 閲覧). [9] NIST National Cyersecurity Center of Excellence. Migration to Post-Quantum Cryptography Quantum Readiness: Cryptographic Discovery. NIST SP 1800-38B (initial preliminary draft), https://www.nccoe. nist . gov / sites / default / files / 2023 - 12 / pqc - migration - nist - sp - 1800 - 38b - preliminary - draft.pdf. 2023-12. (2025-02-17 閲覧). [10] T. Gondrom, R. Brandner, U. Pordesch. Evidence Record Syntax (ERS). RFC 4998, https://www.rfc- editor.org/info/rfc4998. 2007-08. (2023-04-12 閲覧). [11] P. E. Hoffman. DNS Security Extensions (DNSSEC). RFC 9364, https://www.rfc-editor.org/info/ rfc9364. 2023-02. [12] R. Housley. Guidelines for Cryptographic Algorithm Agility and Selecting Mandatory-to-Implement Al- gorithms. RFC 7696, https://www.rfc-editor.org/info/rfc7696. 2015-11. (2023-04-12 閲覧). [13] K. Kwiatkowski, P. Kampanakis, B. Westerbaan, D. Stebila. Post-quantum hybrid ECDHE-MLKEM Key Agreement for TLSv1.3. Internet-Draft. 2024-12. https://datatracker.ietf.org/doc/draft- kwiatkowski-tls-ecdhe-mlkem/03/. (2025-02-20 閲覧). 30 [14] M. Lepinski, S. Kent. An Infrastructure to Support Secure Internet Routing. RFC 6480, https://www.rfc- editor.org/info/rfc6480. 2012-02. (2025-01-15 閲覧). [15] M. Mosca. Cybersecurity in a quantum world: will we be ready? Workshop on Cybersecurity in a Post- Quantum World. Session 8. 2015-04. (2024-02-29 閲覧). [16] M. Ounsworth, J. Gray. Composite KEM For Use In Internet PKI. Internet-Draft. 2024-10. https : //datatracker.ietf.org/doc/draft-ietf-lamps-pq-composite-kem/. (2025-01-06 閲覧). [17] M. Ounsworth, J. Gray, M. Pala, J. Klaußner, S. Fluhrer. Composite ML-DSA For use in X.509 Public Key Infrastructure and CMS. Internet-Draft. 2024-10. https://datatracker.ietf.org/doc/draft- ietf-lamps-pq-composite-sigs/03/. (2025-01-15 閲覧). [18] E. Rescorla. The Transport Layer Security (TLS) Protocol Version 1.3. RFC 8446, https://www.rfc- editor.org/info/rfc8446. 2018-08. (2023-04-12 閲覧). [19] Y. Sheffer, R. Holz, P. Saint-Andre. Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS). RFC 7525, https : / / www . rfc - editor . org / info / rfc7525. 2015-05. (2023-04-12 閲覧). [20] P. W. Shor. Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. SIAM J. Comput. Vol. 26, Num. 5 (1997), pp. 1484–1509. [21] D. Stebila, S. Fluhrer, S. Gueron. Hybrid key exchange in TLS 1.3. Internet-Draft. 2024-10. https : //datatracker.ietf.org/doc/draft-ietf-tls-hybrid-design/11/. (2025-02-20 閲覧). [22] D. Stebila, S. Fluhrer, S. Gueron. Hybrid key exchange in TLS 1.3. Internet-Draft. 2025-01. https : //datatracker.ietf.org/doc/draft-ietf-tls-hybrid-design/12/. (2025-02-20 閲覧). [23] R. Zuccherato, P. Cain, Dr. C. Adams, D. Pinkas. Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP). RFC 3161, https://www.rfc-editor.org/info/rfc3161. 2001-08. (2023-04-12 閲覧). [24] デジタル庁, 総務省, 経済産業省. 電子政府における調達のために参照すべき暗号のリスト(CRYPTREC 暗 号リスト). CRYPTREC LS-0001-2022r1, https://www.cryptrec.go.jp/list/cryptrec- ls- 0001- 2022r1.pdf. 2024-05. [25] 伊藤 忠彦. 耐量子計算機暗号への移行へ向けた課題と社会実装への論点整理. 電子情報通信学会誌. Vol. 106, Num. 11 (2023), pp. 1026–1030. [26] 伊藤 忠彦, 宇根 正志, 清藤 武暢. 量子コンピュータによる脅威を見据えた暗号の移行対応. 2019-08. https: //www.imes.boj.or.jp/research/papers/japanese/19-J-15.pdf. (2025-01-06 閲覧). [27] 預金取扱金融機関の耐量子計算機暗号への対応に関する検討会. 預金取扱金融機関の耐量子計算機暗号への対 応に関する検討会報告書. 2024-11. https://www.fsa.go.jp/singi/pqc/houkokusyo.pdf. (2025-01-06 閲覧). 31 第3章 格子に基づく暗号技術 本章では格子に基づく暗号技術についてまとめる。格子に基づく暗号技術の安全性は,LWE (Learning with Errors) 問題,LWR (Learning with Rounding) 問題,NTRU 問題,およびそれらの変種等を含む,格子理論に関係する問題 を解く計算の困難性に依存している。 3.1 格子に基づく暗号技術の安全性の根拠となる問題 3.1.1 LWE 問題の紹介 LWE 問題は機械学習理論から派生した求解困難な問題で,整数剰余類環 Zq 上の秘密ベクトル s ∈ Znq に関するラ ンダムな連立線形「近似」方程式が与えられたとき,その秘密ベクトルを復元する問題である。具体的な数値例として n = 4, q = 17 に対して,秘密ベクトル s = (s1 , s2 , s3 , s4 ) ∈ Z417 に関する連立線形近似方程式    14s1 + 15s2 + 5s3 + 2s4 ≈ 8 (mod 17)     13s 1 + 14s 2 + 14s 3 + 6s 4 ≈ 16 (mod 17) 6s1 + 10s2 + 13s3 + s4 ≈ 12 (mod 17)   ..   .   6s1 + 7s2 + 16s3 + 2s4 ≈ 3 (mod 17) が与えられたとする。(この数値例は [89] から引用した。) ただし,各線形方程式の値は近似値であり,その誤差はこ の例では ±1 以内と仮定する。このとき,この連立線形近似方程式の解 s を求めるのが LWE 問題である。ここに示し た数値例では s = (0, 13, 9, 11) ∈ Z417 が解となる。LWE 問題で注意すべきことは, 連立線形近似方程式に誤差がない 場合は,Gauss の消去法により効率的に解を求めることができる点である。逆に言うと,連立線形近似方程式で与えら れる誤差の大きさが LWE 問題の求解を困難にする。 3.1.2 NTRU 問題の紹介 ここでは,NTRU 問題を紹介する。 定義 3.1 (NTRU 問題 [56]) 2 つの正の整数 n と q に対し,ϕ ∈ Z[x] を次数 n の多項式とし,Rq = Zq [x]/(ϕ) とす る。係数が小さい 2 つの多項式 f ∈ Rq× , g ∈ Rq に対して,h = g · f −1 ∈ Rq とする。(特に,f は環 Rq の可逆元に注 意) このとき,与えられた多項式 h から,f または g の多項式を復元する問題を (探索) NTRU 問題という。 33 X n−1 NTRU 問題における多項式 ϕ の選び方として,ϕ = xn ± 1, xn − x − 1, xn − xn/2 + 1, xi などがある [6, Table i=0 1]。(最後の ϕ のみ,次数は n − 1 である。) また,多項式 f (または g) の選び方として,{−1, 0, 1} などの小さい係数 を持つ多項式や,小さい素数 p と係数が小さい多項式 F に対し f = pF または f = pF + 1 と選ぶことが多い。 3.1.3 格子問題の公開チャレンジの求解状況 SVP や LWE に対する求解アルゴリズムをテストする目的で,ドイツ・ダルムシュタット工科大学によって「SVP チャレンジ」・「LWE チャレンジ」と呼ばれる求解コンテストがインターネット上で開催されている [32]。2018 年に, ふるい 篩 をベースとした高速な格子アルゴリズム群である General Sieve Kernel (G6K)[8] が提案され,SVP チャレンジ・ LWE チャレンジの求解記録が飛躍的に更新された。具体的には,SVP チャレンジにおいては,G6K 内の篩アルゴリ ズムを GPU 実装することで,180 次元の SVP インスタンスが 4 基の NVIDIA Turing GPU と 1.5TBytes の RAM を搭載した計算機を用いて 51.6 日で求解されたと 2021 年 2 月に報告されている [41]。 (ただし,本報告では Gaussian Heuristic で期待される最短ベクトル長に対する近似因子が 1.04002 なので,今回見つかった格子ベクトルは 180 次元 SVP インスタンスの厳密解ではなく近似解である。)また 2023 年 7 月に,186 次元の SVP インスタンスに対して,次 のスペックを持つ計算機システムで約 50 日程度で近似因子が 1.01405 の非常に短い格子ベクトルを見つけることに成 功している(計算時間の内訳は,Progressive pnj-BKZ による基底簡約に 12.3 日,Sieving に短い格子ベクトルの探索 に 38 日かかったと報告されている)[33]。 • CPU: 1 ∗ Intel Xeon Gold 6330, 56 threads @ 2.00GHz • GPU: 4 ∗ NVIDIA A100 80GB PCle • Max RAM used: 1441.6685 GB さらに,2024 年 7 月に,190 次元の SVP インスタンスに対する近似因子 1.04237 のベクトルが発見されている。G6K ライブラリによる β = 155~158 の篩アルゴリズムを,4 台の NVIDIA GeForce RTX 4090 と 1.5TBytes の RAM を 搭載した計算機,および 3 台の NVIDIA GeForce RTX 4090 D と 2.0TBytes の RAM を搭載した計算機を協調させ て動かすことで記録を出したと報告されている。 LWE チャレンジでは,(n, α) = (40, 0.040), (45, 0.030), (50, 0.025), (55, 0.020), (90, 0.005) の数多くの LWE インス タンスが G6K 内の progressive-BKZ の改良により求解されたと 2022 年 6~10 月に報告されている。(n は LWE の 秘密ベクトル長で,α はノイズの大きさに関するパラメータで,組 (n, α) のバランスで LWE インスタンスの難しさが 大きく変化する。 )例えば,(n, α) = (50, 0.025) と (40, 0.040) の 2 つの LWE インスタンスに対して,次のスペックを 持つ計算システムでそれぞれ約 592 時間と約 683 時間で求解されている [104]: • CPU:AMD EPYC 7002 Series 128@2.6GHz • RAM:1.5TB • GPU:8 ∗ NVIDIA GeForce RTX 3090 • VRAM:8 ∗ 24GB(936.2 GB/s) 2024 年 9 月には,(n, α) = (95, 0.005) の LWE インスタンスに対して,最大 144 の篩次元を用いて約 46 日で求解し たと報告されている。使用した計算機は 8 台の NVIDIA RTX 4090, 2 基の Intel Xeon Platinum 8480+, 2TBytes RAM を搭載している。 34 3.2 格子に基づく代表的な暗号方式 3.2.1 Hash-and-Sign に基づく署名方式の格子問題への拡張 Hash-and-Sign に基づく署名方式は,Diffie,Hellman らによってその基本形が示されており,落とし戸つき一方向性 関数 f (x) ならびに f −1 (x) を用いて署名・検証が行われる。 • M : メッセージ • h = hash(M ): 暗号学的ハッシュ関数 • σ = f −1 (h) : 署名 • h = f (σ) が成り立つかを確認 : 署名検証 Diffie,Hellman らによる方式では,一方向性関数 f (x) として,素数 p を法とした離散対数問題に基づく関数 f (x) = ax mod p が提示されている。 この署名方式は,さまざまな改良が提案されているが,格子問題の困難性に基づく落とし戸つき関数を用いた Hash-and-Sign 署名方式が,Gentry らによって提案されている [53]。以下にその方式を示す。次のパラメータを準備 する。 • m, n : 正の整数 (セキュリティパラメータ) • hash(M ): 暗号学的ハッシュ関数 • q : 素数 • L = m1+ϵ , (ϵ > 0) : 秘密鍵の Euclide ノルムの上限 以下に具体的な署名方式を示す。 鍵生成 一様ランダムに A ← Zn×m q を生成する。[53] のサンプリング手法を用いて,Λ⊥ q (A) から短いベクトル S を生 成する。具体的には ||S|| < L かつ SAT ≡ 0 mod q を満たす。秘密鍵を S ,公開鍵を A とする。 署名生成 メッセージ M のハッシュ値 H = hash(M ) を乱数のシードとして DZm ,s からサンプリングを行う。その 値を u とする。tA = u mod q を満たす t を任意に求める。秘密鍵 S を用いて,−t に近い格子 Λ⊥ q (A) 上の点 v を求め,σ = v + t とする。σ を署名として出力する。 署名検証 メッセージ M にハッシュ関数を作用させた値 h = hash(M ) を DZm ,s にマッピングし,値を u とする。σ が短いベクトルでありかつ (σ − u)A = 0 である場合に正当な署名として受理する。 署名の正当性については,次のように示される。構成の仕方から,σ − u = v であり,v は格子 Λ⊥ q (A, q) 上の点 であるから,(σ − u)A mod q = vA mod q = 0 が成り立つ。また 秘密鍵 S の特徴から,σ ∈ DZm ,s であることか ら,σ は短いベクトルとなる。本署名方式は LWE 仮定の元で SUF-CMA(Strong Existential Unforgeability under Chosen Message Attack) 安全であることが示されている。 3.2.2 Fiat-Shamir 署名方式の格子問題への拡張 Fiat-Shamir 変換 [49] に基づく署名方式を総称して Fiat-Shamir 署名と呼ばれており,現在までさまざまな方式が 提案されている。以下に基本となる方式の一つである素因数分解問題をベースとする方式を記す。合成数 n = pq (p, q は素数) を法とするべき乗剰余演算 g(x) = g x mod n を一方向性関数として利用し,秘密鍵 s,公開鍵 a = g(s) を 35 準備する。 • M : メッセージ • h = hash(M ): 暗号学的ハッシュ関数 • r : ランダムな値 • (z, y) = (g(r)h + s, g(r)) : 署名 • g(z) = ar y が成り立つかを確認 : 署名検証 Lyubashevsky [68] によって,Fiat-Shamir with Aborts 型の格子ベースの署名方式が提案されている。以下にその 具体的な署名方式について述べる。次のパラメータを準備する。 • hash(M ): 暗号学的ハッシュ関数 • m : 正の整数 (セキュリティパラメータ) • n : 2 のべき乗 (セキュリティパラメータ) • σ : 正の整数 (セキュリティパラメータ) • κ : 2κ n Cκ > 160 を満たす整数 • p : (2σ + 1)m 2−128/n 程度の素数 • R = Zp [x]/(xn + 1) : 多項式剰余環 • D = {z ∈ R | ||g||∞ ≤ mnσκ} : ハッシュ関数 hâ の定義域を指定する集合 • G = {g ∈ R | ||g||∞ ≤ mnσκ − σκ} : 署名空間 ただし,||z||∞ は z の最大値ノルムとする。以下に具体的な署名方式を示す。 R に属する m 個の多項式の集合 Rm の要素 â に対し,Dm 上のハッシュ関数 hâ (ẑ), (ẑ ∈ Dm ) を以下のように定 める。hâ (ẑ) = â · ẑ = a1 z1 + · · · + am zm ∈ R。 鍵生成 係数の絶対値の最大値が σ 以下の多項式をランダムに m 個とり,多項式成分のベクトルとして並べたものを ŝ とする。D m のランダムなベクトル â によるハッシュ関数 hâ (·) を作用させた値 S = hâ (ŝ) を求め,ŝ を秘密 鍵,S を公開鍵とする。 署名生成 メッセージを M とする。 多項式を成分とするベクトル ŷ ∈ D m をランダムに選択し,c = hash(hâ (ŷ)||M ), ẑ = ŷ + cŝ を求める。 ẑ ∈ Gm となるまで,ベクトル ŷ の選択をくりかえす。σ = (ẑ, c) を署名として出力する。 署名検証 ẑ ∈ Gm ならびに c = hash(hâ (ẑ) − Sc||M ) が成り立つ場合に署名を受理する。 この署名方式の正当性は,hâ (ẑ) − Sc = hâ (ŷ + cŝ) − hâ (ŝ)c = hâ (ŷ) が成り立つことから保証される。安全性につ いては,環 R 上のイデアル格子での γ-SVP の困難性と等価であることが示されている。 3.3 格子に基づく主要な暗号方式 本節では,格子に基づく主要な暗号方式として,表 3.1 に挙げる公開鍵暗号と 2 つの署名を取り上げ,その概要と設 計原理を説明する。 格子を用いた主な公開鍵暗号の構成として,最初期の Ajtai-Dwork 型 [3],GGH 型 [54] から近年の [88] による LWE 型 (Regev 型),[53, 65] に代表される dual-LWE 型,[56] に代表される NTRU 型が存在する。格子を用いた署名の構 成としては主に GGH/NTRUSign 型 [54, 56],Fiat-Shamir with abort 型 [68, 69],Hash-and-Sign 型 [53, Sect. 6], 36 Plantard-Susilo-Win 型 [84] 等が知られている*1 。 また,安全性の根拠となる計算問題に関しても,最短ベクトル問題に直接還元するもの,LWE 問題,SIS 問題,LWR 問題およびそれらの Module 版,Ring 版へと還元するもの,NTRU 問題に還元するものへと分類できる。 表 3.1: 格子に基づく暗号の分類 文献 暗号化 鍵交換 署名 ML-KEM (FIPS 203) [80] ○ ○ ML-DSA (FIPS 204) [79] ○ FALCON [52] ○ • ML-KEM は CRYSTALS-Kyber に基づく dual-LWE 型の公開鍵暗号であり,安全性の根拠に xn + 1, n = 2k の形の多項式により定義される環上の Module-LWE 問題の困難性を置いている。NIST により FIPS 標準アル ゴリズムとして制定されたことから,取り上げる。 • ML-DSA は CRYSTALS-Dilithium に基づく Fiat-Shamir 型の署名方式であり,x256 + 1 を定義多項式とする 環上の Module-LWE 問題の計算困難性を安全性の根拠としている。環の性質を用いた数論変換による高速処理 とサイズの圧縮が可能であり,公開鍵サイズと署名サイズの和を最小化することを目的としてパラメータ設計を 行っている。NIST により FIPS 標準アルゴリズムとして制定されたことから,取り上げる。 • FALCON は Hash-and-Sign 型の署名方式であり,xn + 1 を定義多項式とする NTRU 格子上の SIS 問題の困 難性を安全性の根拠としている。格子上の高速フーリエサンプリングを用いた高速な署名生成を特徴とし,方式 提案後も数多くの改良が提案されていることから取り上げる。 3.3.1 FIPS 203:Module-Lattice-Based Key-Encapsulation Mechanism Standard (ML-KEM) KEM とは公開されたチャンネル上で 2 者が秘密を共有するアルゴリズム群である。KEM で安全に生成された 共有の秘密は共通鍵暗号で用いられ,暗号や認証などの安全なやり取りの中で重要な役割を果たす。ML-KEM [80] は CRYSTALS-Kyber に基づく KEM で,その安全性は Module-LWE 問題の計算量困難性に基づく。具体的には, n = 256 に対し R := Z[X]/(X n + 1) を基本環とし,素数 q = 3329 に対し Rq := R/qR = Zq [X]/(X n + 1) をその剰 余環とする。環 Rq の元は Zq を係数とする n − 1 以下の次数の多項式 f = f0 + f1 X + · · · + fn−1 X n−1 と表せ,その 係数ベクトル (f0 , f1 , . . . , fn−1 ) を対応させることで,Zq 加群として Rq は Zn q と同型である。ML-KEM は,階数パ ラメータ k ∈ {2, 3, 4} に対し,Zq 加群 Rqk ≃ (Zn k q ) 上の LWE 問題を安全性の根拠とした KEM である。特に,Rq に おける乗算を高速化するために,数論変換(Number-Theoretic Transform: NTT)を利用する。ここでは,ML-KEM の最も基本となる構成要素である NTT を説明したのちに,ML-KEM の基本構成について説明する。 3.3.1.1 ML-KEM における数論変換 NTT は,環 Rq の元 f を Rq と同型な環 Tq の元 fb に写し,Tq における乗算を利用して効率的に Rq の 2 つの元の乗 算を行う手法である。これは C 上の高速フーリエ変換による多項式乗算と同じアイデアで,NTT はその Zq 上版とみ なせる。ML-KEM では,n = 28 = 256 と素数 q = 3329 で定まる剰余環 Rq = Zq [X]/(X n + 1) を用いる(ML-KEM *1 この分類に関しては例えば [58, Sect. 3],[47, Sect. 5.5] 等を参照。 37 の暗号パラメータについては,後述の 3.3.1.3 節を参照)。これらの暗号パラメータ (n, q) において,Z× q := Zq \ {0} は位数 q − 1 = 3328 = 28 · 13 の巡回群で,位数 28 = 256 = n の巡回部分群 hζi を唯一つ含む。具体的には,Zq に おいて ζ := 17 mod q が 1 の原始 n 乗根で,{ζ, ζ 3 , . . . , ζ n−1 } が Zq に含まれる 1 の原始 n 乗根のすべてである。こ n こで,N = = 128 とおくと,各 i = 0, 1, . . . , N − 1 に対して,ζ (2i+1)N ≡ −1 (mod q) である。ゆえに,多項式環 2 Zq [X] において,X n + 1 は次のように N 個の 2 次式の積に分解できる。 Y −1 −1   N  NY Xn + 1 = X 2 − ζ 2i+1 = X 2 − ζ 2BitRev7 (i)+1 ∈ Zq [X] i=0 i=0 ただし,BitRev7 (i) は符号なし 7 ビット整数 i のビット逆順整数を表し,実装上の都合のため ML-KEM ではこの順序 を利用する。以下では,数論変換の原理を説明するために,i = 0, 1, · · · , N − 1 の単純な順序を用いる。上に示した X n + 1 の分解により,次の(Zq 加群としての)同型を得る。 M −1 N  Rq = Zq [X]/(X n + 1) ≃ Zq [X]/ X 2 − ζ 2i+1 =: Tq i=0 具体的には,この同型は N −1 NTT : Rq −→ Tq , f 7−→ fb := f mod (X 2 − ζ 2i+1 ) i=0 (3.1) で定まる。特に,Tq を NTT 空間,fb = NTT(f ) ∈ Tq を f ∈ Rq の NTT 表現とよぶ。 ■NTT 表現について f = f0 + f1 X + · · · + X n−1 ∈ Rq の偶数と奇数の次数に関する多項式をそれぞれ fe := f0 + f2 Y + f4 Y 2 + · · · + f2N −2 Y N −1 , fo := f1 + f3 Y + f5 Y 2 + · · · + f2N −1 Y N −1 ∈ Zq [Y ] とおく。構成から f = fe (X 2 ) + fo (X 2 )X なので,各 i = 0, 1, . . . , N − 1 に対して, X N −1 X N −1 fb2i := fe (ζ 2i+1 ) = f2j ζ (2i+1)j , fb2i+1 := fo (ζ 2i+1 ) = f2j+1 ζ (2i+1)j j=0 j=0 とおくと,  f ≡ fb2i + fb2i+1 X (mod X 2 − ζ 2i+1 ) (3.2)  N −1 が成り立つ。これより,f の NTT 表現は fb = fb2i + fb2i+1 X ∈ Tq とかける。 i=0 ■NTT 表現の行列表示 Zq の元を成分とする N × N 行列を   1 1 1 ··· 1 1 ζ3 ζ6 ··· ζ 3(N −1)     ζ5 ζ 10 ··· ζ 5(N −1)  B = A(ζ) := 1  ∈ (Zq )N ×N  .. .. .. .. ..  . . . . .  1 ζ 2N −1 ζ (2N −1)·2 ··· ζ (2N −1)(N −1) と お く 。Rq の 元 f = f0 + f1 X + · · · + X n−1 の 偶 数 と 奇 数 の 次 数 に 関 す る そ れ ぞ れ の 係 数 ベ ク ト ル (f0 , f2 , . . . , f2N −2 ), (f1 , f3 , . . . , f2N −1 ) ∈ ZN q に対して             fb0 fe (1) f0 fb1 fo (1) f1  b       f2   fe (ζ 3 )    f2     fb3     fo (ζ 3 )     f3  b       f4  =  fe (ζ )  = B  5   f4  ,  fb5 =   fo (ζ 5 )  = B    f5       ..    ..    ..    ..    ..  ..  .  . .   .   .  . 2N −1 2N −1 fb2N −2 fe (ζ ) f2N −2 fb2N −1 fo (ζ ) f2N −1 38 が成り立つ。つまり,f ∈ Rq の偶数と奇数の次数の係数ベクトルはそれぞれ B による線形変換(つまり,離散フーリ エ変換)で fb ∈ Tq の偶数と奇数の添え字番号のベクトルに写る。B の逆行列は C := N 1 A(ζ −1 ) なので,式 (3.1) の NTT 写像の逆写像 NTT−1 は行列 C を用いて計算可能である(つまり,逆離散フーリエ変換から計算可能)。 ■NTT 空間における乗算 Rq の 2 つの元 f, g に対して,その積を h := f · g ∈ Rq とおく。h の NTT 表現 b h ∈ Tq に ついて,式 (3.2) から,各 i = 0, 1, . . . , N − 1 に対して  b h2i + b h2i+1 X ≡ h = f · g ≡ (fb2i + fb2i+1 X) (b g2i + gb2i+1 X) mod X 2 − ζ 2i+1  N −1 が成り立つ。ここで,2 つの NTT 表現 fb = fb2i + fb2i+1 X N −1 g2i + gb2i+1 X)i=0 ∈ Tq の積を , gb = (b i=0   N −1 fb ◦ gb := fb2i + fb2i+1 X · (b g2i + gb2i+1 X) mod X 2 − ζ 2i+1 i=0    N −1 = fb2i gb2i + fb2i+1 gb2i+1 ζ 2i+1 + fb2i gb2i+1 + fb2i+1 gb2i X ∈ Tq i=0 と定めると,   NTT(f · g) = NTT(f ) ◦ NTT(g) ⇐⇒ f · g = NTT−1 fb ◦ gb ∈ Rq が成り立つ(つまり,式 (3.1) の NTT 写像は環の同型写像である) 。特に,NTT 空間 Tq における乗算は,成分ごとの 演算であるため,(Rq における乗算に比べて)効率的に計算可能である。 3.3.1.2 ML-KEM の基本構成と処理概要 加群 Rqk ≃ (Zn k k q ) 上の LWE 問題に基づく ML-KEM は 2 つのステップで構成される。まず,Rq 上の LWE 問題か ら公開鍵暗号(K-PKE)を構成し,次に藤崎-岡本変換により IND-CCA2 KEM に変換する。 ■K-PKE の処理概要 ここでは,K-PKE の処理概要とその原理が分かるように,簡略化した形で各アルゴリズムの処 理を説明する。特に,処理の高速化のために,NTT 変換を適宜利用する。 K-PKE 鍵生成 鍵生成アルゴリズム(FIPS 203 の Algorithm 13, K-PKE.KeyGen(d))では,乱数 d を入力として, 暗号鍵 ekPKE と復号鍵 dkPKE を次のように出力する。 • 入力:乱数 d • 出力:暗号鍵 ekPKE と復号鍵 dkPKE 1. (ρ, σ) ← G(dkk):ハッシュ関数 G を用いて擬似ランダムな乱数の組 (ρ, σ) を生成。k は Module の階数で, 各パラメータごとのドメインセパレーションのために追加されている   b = A[i, 2. A b j] ∈ (Tq )k×k : 乱数 ρ を用いて,NTT 表現の公開鍵行列を生成 0≤i,j bβ 2 c (s1 , s2 ) ← invFFT(ŝ) s ← Compress(s2 , 8 · sbytelen − 328) while (s =⊥) return σ=s σ = (r, s) 関数 ffSamplingn は,離散 Gauss 分布のサンプリングを行い,FFT 表現で出力するサブルーチンである。具体的に は,整数ベクトル z ∈ Z2n を,t = [c, 0]B −1 を中心として exp(−k(z − t)Bk2 /2σ 2 ) に比例した確率でサンプリング を行う。実装の効率化のため,実際には近似を行っている [52, Sect. 3.9.1, 3.9.2]。このとき,(t − z)B は原点を中心 とした集合 t + Λ(B) = {(c, 0) + x ∈ (Z[x]/(ϕ))2 : x ∈ Λ(B)} 上の離散 Gauss 分布となるため,s は短く,かつ   −1 1 sA ≡ ([c, 0]B − z)BA ≡ [c, 0] = c in Zq [x]/(ϕ) h が成り立つ。このとき,sA = c の関係から s1 + s2 h = c が成り立つ。この関係式が署名の検証時に用いられる。 サンプリングされた ŝ が kŝk2 ≤ bβ 2 c を満たしていれば invFFT により通常空間の表現に戻し,Compress 関数を用 いて圧縮された文字列 s を生成し,ハッシュ関数のシード r とともに署名とする。 表 3.6 の署名検証関数の説明を記述する。平文,ハッシュ関数のシード値,署名文字列から各要素を復元し, s1 = c − s2 h を計算する。署名が正しく生成されていれば sA = c の関係から,s1 は短い元となるはずなので, k(s1 , s2 )k2 ≤ bβ 2 c が満たされ検証が完了する。 安全性とパラメータ: FALCON の安全性は ϕ(x) = xn + 1, q = 12289 を定義多項式とする NTRU 格子上の計算問題 として表現される。鍵復元の困難性は SIS 問題,署名偽造はターゲットベクトルに近い点を求める計算問題として定式 化される。後者は Kannan の埋め込みにより短いベクトルを求める計算問題に変換される。セキュリティに関わるパ ラメータは n, q, σ, β の 4 個で,n は格子の次元を表し,大きく取ることで安全性が上がるが処理速度が低下する。q は 環を定義するための法で,大きくとることでノイズ耐性が上がるが格子が疎になり安全性が低下する。σ は Gauss 分 布の大きさを指定するパラメータで,大きくとることで安全性が上がるがエラー率が上がる。β は署名ベクトルの長さ の上限を指定するパラメータで,大きくとることで署名生成時のやり直し回数が下がるが,安全性が低下する。 48 表 3.6: Hash-and-Sign 型格子ベース署名および FALCON における署名検証関数の比較 Gentry らの格子ベース署名 [53, Sect. 7.1] FALCON[52, Algorithm 16] ∗ Vrfy(m ∈ {0, 1} , σ = s, pk = A) Vrfy(m ∈ {0, 1}∗ , σ = (r, s), pk = h, bβ 2 c) 1: t ← H(m) c ← HashToPoint(r||m, q, n) 2: if t − sA ≡ 0 (mod q) s2 ← Decompress(s, 8 · sbytelen − 328) AND s が短い then return accept if (s2 =⊥) return reject s1 ← c − s2 h mod q if k(s1 , s2 )k2 ≤ bβ 2 c return accept else return reject 具体的な困難性の評価およびパラメータ設定は,SIS 問題を BKZ アルゴリズムを用いて解いた場合の Core-SVP 計 算量により導出している。 表 3.7: FALCON のパラメータ [52, Table 3.3], [4, Table 8] 公開鍵,秘密鍵,署名サイズの単位はそれぞれ Byte であ る。 (n, q, σ, bβ 2 c) 安全性レベル 公開鍵サイズ 秘密鍵サイズ *5 署名サイズ ( 512, 12289, 165.736617183, 34034726) レベル 1 897 7, 553 666 (1024, 12289, 168.388571447, 70265242) レベル 5 1, 793 13, 953 1, 280 変種: 実装の複雑さによるサイドチャネル攻撃からの防御,セキュリティパラメータの多様性確保などを目的とした改 良が多数提案されている。 特に,鍵生成と署名生成における離散 Gauss 分布生成の改良が多い。一例として,Gauss 分布生成の演算を浮動小 数点から整数演算に変更した Zalcon[50],Gauss 分布の代わりに中心二項分布とした Peregrine [93],実装が複雑な高 速フーリエサンプリングを環上の CVP アルゴリズムをベースとしたより単純なものに置き換えた Mitaka [44] などが 存在する。Peregrine は韓国の耐量子計算機暗号公募 KpqC[106] へと提出されているものの,同じ秘密鍵から生成し た署名に対する統計的攻撃法による実時間での鍵復元手法が知られている [64]。 また,FALCON では環の定義多項式が ϕ(x) = xn + 1, n = 2k の形に制限されていることから安全性レベル 1,5 の パラメータのみが提案されていたが,NTRU 格子をモジュール格子とすることでパラメータ設定の多様性を確保した Mod Falcon [26] も存在する。 Mitaka 内で用いられる離散 Gauss 分布生成アルゴリズムは実装が比較的単純である反面,生成された鍵および署名 ベクトルのノルムが大きく鍵長と署名長が長いという欠点があった。近年では Antrag[78] が両者の中間的な手法とし て,FFT 表現でのサンプリングを通じて鍵生成における離散 Gauss 分布のノルムを下げ鍵長と署名長を短くする戦略 を取っている。また,SOLMAE[60] も同様のサンプリング手法を用いた上で,エラーベクトルの圧縮表現などを用い *5 秘密鍵サイズは仕様書には掲載されていないが,NIST の第 3 ラウンド報告レポート [4, Sect. D] を参照した。 49 て署名長を短縮する技術 [46] と組み合わせ KpqC へと提案されている。 補足情報: 2022 年に NIST より標準化がアナウンスされ,将来的に NIST FIPS 206 (FN-DSA) として出版される予 定であるが,他の格子暗号方式 (FIPS 203 および 204) と比較して発表が遅れている。これは基準となる仕様書版 [52] からの修正箇所 [86] が多いことが原因であると考えられる。 鍵生成および署名生成アルゴリズムの中で浮動小数点演算が用いられているため実行環境ごとの結果の不安定性,定 数時間での実装が難しいことによるタイミング攻撃の可能性がある。対策として固定小数点を用いた実装への変更が検 討されている [86, p. 13]。 また,ML-DSA と比較して beyond unforgeability [30] の性質を完全には持たないことから,署名生成におけるハッ シュ値の計算方法の変更が検討されている([86, p. 15] および [43] を参照)。 3.4 格子に基づく暗号技術に関するまとめ 格子に基づく暗号技術は,LWE 問題,Ring-LWE 問題,NTRU 問題を安全性の根拠とする方式をはじめ,これま で数多く提案されており,米国 NIST PQC 標準化プロジェクトで提案された暗号技術としては最も多くの暗号がこの カテゴリーに分類されている。 この米国 NIST PQC 標準化プロジェクトを通じて 2022 年 7 月に CRYSTALS-Kyber が標準的な暗号方式として, CRYSTALS-Dilithium および FALCON が標準的な署名方式として選定され,CRYSTALS-Kyber と CRYSTALS- Dilithium については,2024 年 8 月に FIPS 203, FIPS 204 として公開されている [80, 79]。また,CRYSTALS-Kyber と CRYSTALS-Dilithium は 2022 年 9 月に米国国家安全保障局の Commercial National Security Algorithm Suite 2.0 (CNSA2.0) にも選定されている [1]。NIST PQC 標準化プロジェクトの選考プロセスから漏れた方式の中でも, 米国以外の公的機関において推奨暗号とされているものが存在する。一例として,FrodoKEM が 2020 年 8 月よりド イツ情報セキュリティ庁 (BSI) の推奨暗号に [92],2022 年 1 月にはオランダ通信・安全委員会 (NLNCSA) により最 も安全な暗号の例として推奨されている [10]。Google 社の Chrome ブラウザには,TLS レイヤーの性能試験目的で搭 載された耐量子計算機暗号プロトコル CECPQ1[21] および CECPQ2[87] にそれぞれ NewHope の USENIX 発表バー ジョン [9] と NTRU が実装されていたが,2023 年 1 月現在ではともに削除されている。IBM 製テープドライブのプロ トタイプとして,CRYSTALS-Kyber と CRYSTALS-Dilithium の組み合わせにより暗号化を行うものが制作されて いる [63]。DNS サーバの一種である PowerDNS において,耐量子計算機性を実現する署名として FALCON のテスト 用の実装が行われている [55]。オープンソースライブラリへの導入として,WireGuard VPN protocol への SABER の実装 [59],WolfSSL への CRYSTALS-Kyber,FALCON の実装 [102],OpenSSH への Streamlined NTRU Prime の実装 [81] などが存在する他,Open Quantum Safe (OQS) プロジェクトによる liboqs ライブラリには暗号化・鍵交 換の方式として CRYSTALS-Kyber,NTRU,SABER,FALCON,FrodoKEM,NTRU-Prime が,署名方式として CRYSTALS-Dilithium と FALCON が実装されている [91]。このように格子に基づく暗号技術の社会実装が徐々に進 みつつある。特に,標準化が先行する CRYSTALS-Kyber,CRYSTALS-Dilithium に対するサイドチャネル攻撃とそ の対策としてマスキング実装が検討されている [94, 99, 27]。 格子に基づく暗号技術の安全性の根拠となる問題としては,先に挙げた LWE 問題,Ring-LWE 問題,NTRU 問題 以外にも Compact LWE 問題,Module-LWE 問題,LWR 問題,BDD 問題,SIS 問題他,多くのバリエーションが 存在している。一般的な格子問題を解く手法としては,LLL アルゴリズム,BKZ アルゴリズムなどの基底簡約アルゴ リズムや,篩型のアルゴリズムが集中的に研究されている。格子に関する計算問題の間数多くの帰着関係が知られてお り,それらを用いて計算問題の困難性評価が行われている。SVP や LWE/NTRU などの格子問題の解析やそれらの求 50 解アルゴリズムに関する最新研究については [20, 16, 48, 66, 90, 75, 31, 96, 34, 76, 85, 23, 64, 18, 29] を参照。近年, 新しい格子問題として格子同型問題 [42] が提案された。(格子同型問題の性質については [15] を参照。)また,格子同 型問題の困難性を安全性の根拠とする署名方式 HAWK[39] は,NIST PQC 標準化プロジェクトにおける署名方式の追 加公募において,格子に基づく方式の中で第 2 ラウンドにおいて進むことが許された方式である(2024 年 10 月時点) 。 さらに,量子紛失 LWE サンプリング [35] や,格子問題に対する量子アルゴリズムに関する研究 [25, 28] も近年進展し ている。 格子問題の困難性をベースとした暗号方式で最初のものは,Ajtai[2] により 1996 年に行われた,SIS 問題が格子問 題の最悪時と同等かそれ以上に困難であることの証明およびそれを用いた暗号学的ハッシュ関数の構成である。また, 1997 年には Ajtai と Dwork[3] により,unique SVP の最悪困難性を安全性の根拠とした公開鍵暗号が提案されてい る。この公開鍵暗号方式は翌年,Nguyen らによる解読実験 [77] により必要なパラメータが長大となり実用的でないこ とが明らかにされたものの,その後の格子に基づく暗号構成の基礎となっている。 1996 年に Hoffstein らによって提案された NTRU 暗号 [56]*6 は,発表当初安全性証明が付けられておらず,攻撃と 修正が繰り返されていたが,2011 年 Stehlé ら [95] により,IND-CPA 安全性が Ring-LWE 問題に帰着可能な方式が 示された。一方で,2016 年には subfield attack[5] のような体の構造を使って格子の次元を圧縮する攻撃も提案されて おり,暗号の構成のためには次元や法の大きさだけでなく,環・体の構造にも注意を払う必要がある。NTRU 格子上 の署名方式のサイズ改良 [46]・トラップドア生成 [45] や,NTRU に対する鍵ミスマッチ攻撃の改良 [67]・NTRU 格子 の簡約 [12] に関する最新の研究がある。 2005 年に Regev[88] により提案された LWE 問題は,論文発表と同時にそれを暗号の安全性根拠として保障する重 要な三つの性質が示された。一つは問題の average-case to worst case reduction,つまりパラメータを固定した際,問 題の (秘密ベクトル s に関する) 平均的な計算量が,最悪計算量 (難しいインスタンスを生成するような s の集合に対 する計算量) と多項式倍の違いしか無いことであり,残りの二つは判定 LWE と探索 LWE の等価性,および量子アル ゴリズムによる困難な格子問題への還元である。これらの定理を組み合わせることにより,Regev 自身により提案され た公開鍵暗号を解読することが平均的に難しいことが示され,その後の様々な LWE ベース暗号の構成の基礎なった。 LWE 格子問題への還元に関して,2013 年には古典計算機による還元も示されている [22]。 LWE 問題の欠点である鍵サイズの大きさを改善するため,2010 年には Lyubashevsky ら [70, 71] により Ring-LWE 問題が,2015 年には Langlois ら [62] により Module-LWE 問題が公開鍵暗号と同時に提案され,LWE 問題におけ る関係と類似の,解読の平均的な困難さが証明されている。一方で,これらの変種とオリジナルの LWE 問題との関 係性は自明ではなく,同程度の難しさを持つかどうかは未解決問題である。一般的に Ring(Module)-LWE 問題のイ ンスタンスは LWE 問題のインスタンスとして書きなおすことができるため,LWE 問題は Ring(Module)-LWE 問 題よりも困難であるという関係は自明であるが,逆の関係は知られていない。法 q が大きい場合には,Ring-LWE は Module-LWE よりも困難であることが知られている [7]。(Ring/Module LWE 問題の理論解析の最新研究について [100] を参照。) 実装時の問題として,離散 Gauss 分布を正確に生成することは難しいことが挙げられる。ノイズをある整数区間か ら一様分布として取った場合でも,格子問題へと量子帰着が可能であることが 2013 年に Döttling ら [38] により示さ れた。この方向性の研究として,Bai ら [11] により提案された,理想的な Gauss 分布を用いた暗号方式とそれを近似 的な分布に置き換えた方式の間での安全性の低下を Rényi エントロピーを用いて議論するものがある。 格子に基づく暗号技術は,耐量子計算機暗号としてだけでなく,完全準同型暗号や多重署名などの高機能な暗号方式 に応用する研究も数多くある [17, 19, 83, 101, 37, 105, 82, 72, 24, 61, 36, 57, 73, 74]。 *6 文献上は 1998 年の国際会議 ANTS だが,初出は CRYPTO1996 の Rump Session である。 51 また,格子問題の計算機による具体的な求解に関して,2016 年より暗号解読コンテスト LWE Challenge[32] が開催 されている。3.1 節に,2024 年 11 月現在の状況について記載した。特に 3.3 節で示された各暗号方式のパラメータか ら見ると,解が得られている値からは,大きな隔たりがみられる。格子に基づく暗号技術は,各方式毎にパラメータ設 定手法に対する制約が異なっていることから,解読コンテストのサイズに基づく解読到達レベルを,具体的な暗号方式 の安全性の根拠とすることは,難しいところではあるものの,古典計算機での解読困難性を測る上での検討の一つに値 すると考えられる。(最新の BKZ の改良や LWE の解読計算量見積もりについては [98, 103] を参照) 格子に基づく暗号技術の安全性の根拠となる問題は,古典計算機・量子計算機のいずれにおいても現時点で効率的な 解読手法は見つかっていないが,格子に基づく暗号技術は未だ研究途上にあり,今後も研究の進捗を注視する必要が ある。 52 第 3 章の参照文献 [1] National Security Agency. Announcing the Commercial National Security Algorithm Suite 2.0. https: //media.defense.gov/2022/Sep/07/2003071834/-1/-1/0/CSA_CNSA_2.0_ALGORITHMS_.PDF. 2022-09. (2024-12-06 閲覧). [2] M. Ajtai. Generating Hard Instances of Lattice Problems (Extended Abstract). STOC. ACM, 1996, pp. 99–108. [3] M. Ajtai, Cynthia Dwork. A Public-Key Cryptosystem with Worst-Case/Average-Case Equivalence. STOC. ACM, 1997, pp. 284–293. [4] G. Alagic et al. Status Report on the Third Round of the NIST Post-Quantum Cryptography Standardiza- tion Process. NIST IR 8413, https://nvlpubs.nist.gov/nistpubs/ir/2022/NIST.IR.8413-upd1.pdf. 2022-07. [5] M. R. Albrecht, S. Bai, L. Ducas. A Subfield Lattice Attack on Overstretched NTRU Assumptions – Cryptanalysis of Some FHE and Graded Encoding Schemes. CRYPTO (1). Vol. 9814. Lecture Notes in Computer Science. Springer, 2016, pp. 153–178. [6] M. R. Albrecht, B. R. Curtis, A. Deo, A. Davidson, R. Player, E. W. Postlethwaite, F. Virdia, T. Wunderer. Estimate All the {LWE, NTRU} Schemes! SCN. Vol. 11035. Lecture Notes in Computer Science. Springer, 2018, pp. 351–367. [7] M. R. Albrecht, A. Deo. Large Modulus Ring-LWE ≥ Module-LWE. ASIACRYPT (1). Vol. 10624. Lecture Notes in Computer Science. Springer, 2017, pp. 267–296. [8] M. R. Albrecht, L. Ducas, G. Herold, E. Kirshanova, E. W. Postlethwaite, M. Stevens. The General Sieve Kernel and New Records in Lattice Reduction. EUROCRYPT (2). Vol. 11477. Lecture Notes in Computer Science. Springer, 2019, pp. 717–746. [9] E. Alkim, L. Ducas, T. Pöppelmann, P. Schwabe. Post-quantum Key Exchange - A New Hope. USENIX Security Symposium. USENIX Association, 2016, pp. 327–343. [10] General intelligence and security service. Prepare for the threat of quantum computers. https://english.aivd.nl/publications/publications/2022/01/18/prepare-for-the-threat-of- quantumcomputers. 2022-01. (2024-03-04 閲覧). [11] S. Bai, T. Lepoint, A. Roux-Langlois, A. Sakzad, D. Stehlé, R. Steinfeld. Improved Security Proofs in Lattice-Based Cryptography: Using the Rényi Divergence Rather than the Statistical Distance. J. Cryptol. Vol. 31, Num. 2 (2018), pp. 610–640. [12] H. Bambury, P. Q. Nguyen. Improved Provable Reduction of NTRU and Hypercubic Lattices. PQCrypto (1). Vol. 14771. Lecture Notes in Computer Science. Springer, 2024, pp. 343–370. 53 [13] E. Barker, J. Kelsey. Recommendation for Random Number Generation Using Deterministic Random Bit Generators. NIST SP 800-90A Rev. 1, https://nvlpubs.nist.gov/nistpubs/SpecialPublications/ NIST.SP.800-90Ar1.pdf. 2015-06. [14] E. Barker, J. Kelsey, K. McKay, A. Roginsky, M. S. Turan. Recommendation for Random Bit Generator (RBG) Constructions. NIST SP 800-90C (4th public draft), https://nvlpubs.nist.gov/nistpubs/ SpecialPublications/NIST.SP.800-90C.4pd.pdf. 2024-07. (2025-02-17 閲覧). [15] B. Bencina, A. Budroni, J.-J. Chi-Domı́nguez, M. Kulkarni. Properties of Lattice Isomorphism as a Cryptographic Group Action. PQCrypto (1). Vol. 14771. Lecture Notes in Computer Science. Springer, 2024, pp. 170–201. [16] O. Bernard, A. Lesavourey, TH Nguyen, A. Roux-Langlois. Log-S -unit Lattices Using Explicit Stickel- berger Generators to Solve Approx Ideal-SVP. ASIACRYPT (3). Vol. 13793. Lecture Notes in Computer Science. Springer, 2022, pp. 677–708. [17] W. Beullens, S. Dobson, S. Katsumata, Y.-F. Lai, F. Pintore. Group signatures and more from isogenies and lattices: generic, simple, and efficient. Vol. 91. 6. 2023, pp. 2141–2200. [18] M. Bolboceanu, Z. Brakerski, D. Sharma. On Algebraic Embedding for Unstructured Lattices. Public Key Cryptography (3). Vol. 14603. Lecture Notes in Computer Science. Springer, 2024, pp. 123–154. [19] C. Boschini, A. Takahashi, M. Tibouchi. MuSig-L: Lattice-Based Multi-signature with Single-Round Online Phase. CRYPTO (2). Vol. 13508. Lecture Notes in Computer Science. Springer, 2022, pp. 276–305. [20] K. Boudgoust, E. Gachon, A. Pellet-Mary. Some Easy Instances of Ideal-SVP and Implications on the Partial Vandermonde Knapsack Problem. CRYPTO (2). Vol. 13508. Lecture Notes in Computer Science. Springer, 2022, pp. 480–509. [21] M. Braithwaite. Experimenting with post-quantum cryptography. https://security.googleblog.com/ 2016/07/experimenting-with-post-quantum.html. 2023-04. (2024-03-04 閲覧). [22] Z. Brakerski, A. Langlois, C. Peikert, O. Regev, D. Stehlé. Classical hardness of learning with errors. STOC. ACM, 2013, pp. 575–584. [23] K. Carrier, T. Debris-Alazard, C. Meyer-Hilfiger, J.-P. Tillich. Reduction from Sparse LPN to LPN, Dual Attack 3.0. EUROCRYPT (6). Vol. 14656. Lecture Notes in Computer Science. Springer, 2024, pp. 286– 315. [24] Y. Chen. sfDualMS: Efficient Lattice-Based Two-Round Multi-signature with Trapdoor-Free Simulation. CRYPTO (5). Vol. 14085. Lecture Notes in Computer Science. Springer, 2023, pp. 716–747. [25] Y. Chen, Q. Liu, M. Zhandry. Quantum Algorithms for Variants of Average-Case Lattice Problems via Filtering. EUROCRYPT (3). Vol. 13277. Lecture Notes in Computer Science. Springer, 2022, pp. 372–401. [26] C. Chuengsatiansup, T. Prest, D. Stehlé, A. Wallet, K. Xagawa. ModFalcon: Compact Signatures Based On Module-NTRU Lattices. AsiaCCS. ACM, 2020, pp. 853–866. [27] J.-S. Coron, F. Gérard, M. Trannoy, R. Zeitoun. Improved Gadgets for the High-Order Masking of Dilithium. Vol. 2023. 4. 2023, pp. 110–145. [28] R. Cramer, L. Ducas, B. Wesolowski. Mildly Short Vectors in Cyclotomic Ideal Lattices in Quantum Polynomial Time. J. ACM. Vol. 68, Num. 2 (2021), 8:1–8:26. [29] R. Cramer, L. Ducas, B. Wesolowski. Short Stickelberger Class Relations and Application to Ideal-SVP. EUROCRYPT (1). Vol. 10210. Lecture Notes in Computer Science. 2017, pp. 324–348. 54 [30] C. Cremers, S. Düzlü, R. Fiedler, M. Fischlin, C. Janson. BUFFing signature schemes beyond unforgeability and the case of post-quantum signatures. Symposium on Security and Privacy (SP). IEEE, 2021, pp. 1696– 1714. [31] D. Dachman-Soled, H. Gong, T. Hanson, H. Kippen. Revisiting Security Estimation for LWE with Hints from a Geometric Perspective. CRYPTO (5). Vol. 14085. Lecture Notes in Computer Science. Springer, 2023, pp. 748–781. [32] TU Darmstadt, UC San Diego. LWE Challenge. https://www.latticechallenge.org/lwe_challenge/ challenge.php. (2024-03-04 閲覧). [33] TU Darmstadt, UC San Diego. SVP Challenge, Hall Of Fame. https://www.latticechallenge.org/svp- challenge/halloffame.php. (2024-03-04 閲覧). [34] D. Das, A. Joux. Key Recovery Attack on the Partial Vandermonde Knapsack Problem. EUROCRYPT (6). Vol. 14656. Lecture Notes in Computer Science. Springer, 2024, pp. 205–225. [35] T. Debris-Alazard, P. Fallahpour, D. Stehlé. Quantum Oblivious LWE Sampling and Insecurity of Standard Model Lattice-Based SNARKs. STOC. ACM, 2024, pp. 423–434. [36] J. Devevey, A. Passelègue, D. Stehlé. G+G: A Fiat-Shamir Lattice Signature Based on Convolved Gaus- sians. ASIACRYPT (7). Vol. 14444. Lecture Notes in Computer Science. Springer, 2023, pp. 37–64. [37] N. Döttling, D. Kolonelos, R. W. F. Lai, C. Lin, G. Malavolta, A. Rahimi. Efficient Laconic Cryptography from Learning with Errors. EUROCRYPT (3). Vol. 14006. Lecture Notes in Computer Science. Springer, 2023, pp. 417–446. [38] N. Döttling, J. Müller-Quade. Lossy Codes and a New Variant of the Learning-With-Errors Problem. EUROCRYPT. Vol. 7881. Lecture Notes in Computer Science. Springer, 2013, pp. 18–34. [39] L. Ducas, E. W. Postlethwaite, L. N. Pulles, W. P. J. van Woerden. HAWK: Module LIP Makes Lattice Signatures Fast, Compact and Simple. ASIACRYPT (4). Vol. 13794. Lecture Notes in Computer Science. Springer, 2022, pp. 65–94. [40] L. Ducas, T. Prest. Fast Fourier Orthogonalization. ISSAC. ACM, 2016, pp. 191–198. [41] L. Ducas, M. Stevens, W. P. J. van Woerden. Advanced Lattice Sieving on GPUs, with Tensor Cores. EUROCRYPT (2). Vol. 12697. Lecture Notes in Computer Science. Springer, 2021, pp. 249–279. [42] L. Ducas, W. P. J. van Woerden. On the Lattice Isomorphism Problem, Quadratic Forms, Remarkable Lattices, and Cryptography. EUROCRYPT (3). Vol. 13277. Lecture Notes in Computer Science. Springer, 2022, pp. 643–673. [43] S. Düzlü, R. Fiedler, M. Fischlin. BUFFing FALCON without Increasing the Signature Size. IACR Cryptol. ePrint Arch. (2024), p. 710. [44] T. Espitau, P.-A. Fouque, F. Gérard, M. Rossi, A. Takahashi, M. Tibouchi, A. Wallet, Y. Yu. MITAKA: A Simpler, Parallelizable, Maskable Variant of FALCON. EUROCRYPT (3). Vol. 13277. Lecture Notes in Computer Science. Springer, 2022, pp. 222–253. [45] T. Espitau, T. Thu Quyen Nguyen, C. Sun, M. Tibouchi, A. Wallet. ANTRAG: Annular NTRU trapdoor generation - Making MITAKA as secure as FALCON. ASIACRYPT (7). Vol. 14444. Lecture Notes in Computer Science. Springer, 2023, pp. 3–36. [46] T. Espitau, M. Tibouchi, A. Wallet, Y. Yu. Shorter Hash-and-Sign Lattice-Based Signatures. CRYPTO (2). Vol. 13508. Lecture Notes in Computer Science. Springer, 2022, pp. 245–275. 55 [47] ETSI TR 103 616 V1.1.1 (2021-09) CYBER; Quantum-safe signatures. https://www.etsi.org/deliver/ etsi_tr/103600_103699/103616/01.01.01_60/tr_103616v010101p.pdf. 2021-09. (2024-03-04 閲覧). [48] J. Felderhoff, A. Pellet-Mary, D. Stehlé. On Module Unique-SVP and NTRU. ASIACRYPT (3). Vol. 13793. Lecture Notes in Computer Science. Springer, 2022, pp. 709–740. [49] A. Fiat, A. Shamir. How to Prove Yourself: Practical Solutions to Identification and Signature Problems. CRYPTO. Vol. 263. Lecture Notes in Computer Science. Springer, 1986, pp. 186–194. [50] P.-A. Fouque, F. Gérard, M. Rossi, Y. Yu. Zalcon: An alternative FPA-free NTRU sampler for Falcon. Third PQC Standardization Conference. 2021-06. (2024-03-04 閲覧). [51] P.-A. Fouque et al. FALCON: Fast-Fourier lattice-based compact signatures over NTRU. Specification v1.0. https://csrc.nist.gov/CSRC/media/Projects/Post- Quantum- Cryptography/documents/round- 1/submissions/Falcon.zip. (2024-03-04 閲覧). [52] P.-A. Fouque et al. FALCON: Fast-Fourier lattice-based compact signatures over NTRU. Specification v1.2 – 01/10/2020. https://falcon-sign.info/falcon.pdf. 2020-10. (2024-03-04 閲覧). [53] C. Gentry, C. Peikert, V. Vaikuntanathan. How to Use a Short Basis: Trapdoors for hard lattices and new cryptographic constructions. STOC. ACM, 2008, pp. 197–206. [54] O. Goldreich, S. Goldwasser, S. Halevi. Public-Key Cryptosystems from Lattice Reduction Problems. CRYPTO. Vol. 1294. Lecture Notes in Computer Science. Springer, 1997, pp. 112–131. [55] M. Grillere, P. Thomassen, N. Wisiol. FALCON-512 in PowerDNS. https://blog.powerdns.com/2022/ 04/07/falcon-512-in-powerdns/. 2022-04. (2024-03-04 閲覧). [56] J. Hoffstein, J. Pipher, J. H. Silverman. NTRU: A Ring-Based Public Key Cryptosystem. ANTS. Vol. 1423. Lecture Notes in Computer Science. Springer, 1998, pp. 267–288. [57] D. Hofheinz, K. Hostáková, R. Langrehr, B. Ursu. On Structure-Preserving Cryptography and Lattices. Public Key Cryptography (3). Vol. 14603. Lecture Notes in Computer Science. Springer, 2024, pp. 255–287. [58] J. Howe, T. Pöppelmann, M. O’Neill, E. O’Sullivan, T. Güneysu. Practical Lattice-Based Digital Signature Schemes. ACM Trans. Embed. Comput. Syst. Vol. 14, Num. 3 (2015), 41:1–41:24. [59] A. Hülsing, K.-C. Ning, P. S., F. Weber, P. R. Zimmermann. Post-quantum WireGuard. SP. IEEE, 2021, pp. 304–321. [60] K. Kim, M. Tibouchi, A. Wallet, T. Espitau, A. Takahashi, Y. Yu, S. Guilley. SOLMAE – Algorithm specifications. https://kpqc.or.kr/images/pdf/SOLMAE.pdf. (2024-03-04 閲覧). [61] R. W. F. Lai, G. Malavolta. Lattice-Based Timed Cryptography. CRYPTO (5). Vol. 14085. Lecture Notes in Computer Science. Springer, 2023, pp. 782–804. [62] A. Langlois, D. Stehlé. Worst-case to average-case reductions for module lattices. Des. Codes Cryptogr. Vol. 75, Num. 3 (2015), pp. 565–599. [63] M. Lantz. World’s first quantum computing safe tape drive. https://www.ibm.com/blogs/research/ 2019/08/crystals/. 2019-08. (2024-03-04 閲覧). [64] X. Lin, M. Suzuki, S. Zhang, T. Espitau, Y. Yu, M. Tibouchi, M. Abe. Cryptanalysis of the Peregrine Lattice-Based Signature Scheme. Public Key Cryptography (1). Vol. 14601. Lecture Notes in Computer Science. Springer, 2024, pp. 387–412. [65] R. Lindner, C. Peikert. Better Key Sizes (and Attacks) for LWE-Based Encryption. CT-RSA. Vol. 6558. Lecture Notes in Computer Science. Springer, 2011, pp. 319–339. 56 [66] H. Liu, Y. Yu. A Non-heuristic Approach to Time-Space Tradeoffs and Optimizations for BKW. ASI- ACRYPT (3). Vol. 13793. Lecture Notes in Computer Science. Springer, 2022, pp. 741–770. [67] Z. Liu, V., J. Ding, C. Cheng, Y. Pan. An Improved Practical Key Mismatch Attack Against NTRU. PQCrypto (1). Vol. 14771. Lecture Notes in Computer Science. Springer, 2024, pp. 322–342. [68] V. Lyubashevsky. Fiat-Shamir with Aborts: Applications to Lattice and Factoring-Based Signatures. ASIACRYPT. Vol. 5912. Lecture Notes in Computer Science. Springer, 2009, pp. 598–616. [69] V. Lyubashevsky. Lattice Signatures without Trapdoors. EUROCRYPT. Vol. 7237. Lecture Notes in Computer Science. Springer, 2012, pp. 738–755. [70] V. Lyubashevsky, C. Peikert, O. Regev. On Ideal Lattices and Learning with Errors over Rings. EURO- CRYPT. Vol. 6110. Lecture Notes in Computer Science. Springer, 2010, pp. 1–23. [71] V. Lyubashevsky, C. Peikert, O. Regev. On Ideal Lattices and Learning with Errors over Rings. J. ACM. Vol. 60, Num. 6 (2013), 43:1–43:35. [72] D. Micciancio, M. Schultz. Error Correction and Ciphertext Quantization in Lattice Cryptography. CRYPTO (5). Vol. 14085. Lecture Notes in Computer Science. Springer, 2023, pp. 648–681. [73] D. Micciancio, V. Vaikuntanathan. SoK: Learning with Errors, Circular Security, and Fully Homomorphic Encryption. Public Key Cryptography (4). Vol. 14604. Lecture Notes in Computer Science. Springer, 2024, pp. 291–321. [74] G. De Micheli, D. Kim, D. Micciancio, A. Suhl. Faster Amortized FHEW Bootstrapping Using Ring Automorphisms. Public Key Cryptography (4). Vol. 14604. Lecture Notes in Computer Science. Springer, 2024, pp. 322–353. [75] G. De Micheli, D. Micciancio, A. Pellet-Mary, N. Tran. Reductions from Module Lattices to Free Module Lattices, and Application to Dequantizing Module-LLL. CRYPTO (5). Vol. 14085. Lecture Notes in Computer Science. Springer, 2023, pp. 836–865. [76] G. Mureau, A. Pellet-Mary, G. Pliatsok, A. Wallet. Cryptanalysis of Rank-2 Module-LIP in Totally Real Number Fields. EUROCRYPT (6). Vol. 14656. Lecture Notes in Computer Science. Springer, 2024, pp. 226–255. [77] P. Q. Nguyen, J. Stern. Cryptanalysis of the Ajtai-Dwork Cryptosystem. CRYPTO. Vol. 1462. Lecture Notes in Computer Science. Springer, 1998, pp. 223–242. [78] Q. Nguyen. ANTRAG: Simplifying and improving Falcon Without Compromising Security. https:// csrc.nist.gov/csrc/media/Presentations/2024/antrag- simplifying- and- improving- falcon/ images-media/nguyen-antrag-pqc2024.pdf. 2024-04. (2024-12-30 閲覧). [79] NIST. Module-Lattice-Based Digital Signature Standard. NIST FIPS 204, https://nvlpubs.nist.gov/ nistpubs/FIPS/NIST.FIPS.204.pdf. 2024-08. [80] NIST. Module-Lattice-Based Key-Encapsulation Mechanism Standard. NIST FIPS 203, https : / / nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.pdf. 2024-08. [81] OpenSSH 8.9 was released on 2022-02-23. https://www.openssh.com/txt/release-8.9. (2024-03-04 閲覧). [82] J. Pan, B. Wagner, R. Zeng. Lattice-Based Authenticated Key Exchange with Tight Security. CRYPTO (5). Vol. 14085. Lecture Notes in Computer Science. Springer, 2023, pp. 616–647. 57 [83] R. del Pino, S. Katsumata. A New Framework for More Efficient Round-Optimal Lattice-Based (Partially) Blind Signature via Trapdoor Sampling. CRYPTO (2). Vol. 13508. Lecture Notes in Computer Science. Springer, 2022, pp. 306–336. [84] T. Plantard, W. Susilo, K. Than Win. A Digital Signature Scheme Based on CV P∞ . Public Key Cryp- tography. Vol. 4939. Lecture Notes in Computer Science. Springer, 2008, pp. 288–307. [85] A. Pouly, Y. Shen. Provable Dual Attacks on Learning with Errors. EUROCRYPT (6). Vol. 14656. Lecture Notes in Computer Science. Springer, 2024, pp. 256–285. [86] T. Prest. FALCON Update (2024). https : / / csrc . nist . gov / csrc / media / Presentations / 2024 / falcon/images-media/prest-falcon-pqc2024.pdf. 2024-04. (2024-12-30 閲覧). [87] The Chromium Projects. CECPQ2. https://www.chromium.org/cecpq2/. (2024-03-04 閲覧). [88] O. Regev. On lattices, learning with errors, random linear codes, and cryptography. STOC. ACM, 2005, pp. 84–93. [89] O. Regev. The Learning with Errors Problem (Invited Survey). CCC. IEEE Computer Society, 2010, pp. 191–204. [90] K. Ryan, N. Heninger. Fast Practical Lattice Reduction Through Iterated Compression. CRYPTO (3). Vol. 14083. Lecture Notes in Computer Science. Springer, 2023, pp. 3–36. [91] Open Quantum Safe. Algorithms in liboq. https : / / openquantumsafe . org / liboqs / algorithms/. (2024-03-04 閲覧) . [92] Federal office for information security. BSI – Technical guideline (Cryptographic mechanisms: Recommen- dations and key lengths). https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/ TechGuidelines/TG02102/BSI-TR-02102-1.pdf?__blob=publicationFile&v=10. 2023-01.(2024-03-04 閲覧). [93] E.-Y. Seo, Y.-S. Kim, J.-W. Lee, J.-S. No. Peregrine: Toward Fastest FALCON Based on GPV Framework. (2022). https://eprint.iacr.org/2022/1495. [94] H. M. Steffen, G. Land, L. J. Kogelheide, T. Güneysu. Breaking and Protecting the Crystal: Side-Channel Analysis of Dilithium in Hardware. PQCrypto. Vol. 14154. Lecture Notes in Computer Science. Springer, 2023, pp. 688–711. [95] D. Stehlé, R. Steinfeld. Making NTRU as Secure as Worst-Case Problems over Ideal Lattices. EURO- CRYPT. Vol. 6632. Lecture Notes in Computer Science. Springer, 2011, pp. 27–47. [96] M. J. Steiner. The Complexity of Algebraic Algorithms for LWE. EUROCRYPT (3). Vol. 14653. Lecture Notes in Computer Science. Springer, 2024, pp. 375–403. [97] M. S. Turan, E. Barker, J. Kelsey, K. McKay, M. Baish, M. Boyle. Recommendation for the Entropy Sources Used for Random Bit Generation. NIST SP 800-90B, https://nvlpubs.nist.gov/nistpubs/ SpecialPublications/NIST.SP.800-90B.pdf. 2018-01. [98] L. Wang. Analyzing Pump and Jump BKZ Algorithm Using Dynamical Systems. PQCrypto (1). Vol. 14771. Lecture Notes in Computer Science. Springer, 2024, pp. 406–432. [99] R. Wang, M. Brisfors, E. Dubrova. A Side-Channel Attack on a Higher-Order Masked CRYSTALS-Kyber Implementation. ACNS (3). Vol. 14585. Lecture Notes in Computer Science. Springer, 2024, pp. 301–324. 58 [100] Z. Wang, Q. Lai, F.-H. Liu. Ring/Module Learning with Errors Under Linear Leakage – Hardness and Applications. Public Key Cryptography (2). Vol. 14602. Lecture Notes in Computer Science. Springer, 2024, pp. 275–304. [101] H. Wee, D. J. Wu. Succinct Vector, Polynomial, and Functional Commitments from Lattices. EURO- CRYPT (3). Vol. 14006. Lecture Notes in Computer Science. Springer, 2023, pp. 385–416. [102] wolfSSL. wolfSSL support for Apache httpd and curl (Post-Quantum Edition). https://github.com/ wolfSSL/osp/blob/master/apache-httpd/README_post_quantum.md. (2024-03-04 閲覧). [103] W. Xia, L. Wang, G. Wang, D. Gu, B. Wang. A Refined Hardness Estimation of LWE in Two-Step Mode. Public Key Cryptography (3). Vol. 14603. Lecture Notes in Computer Science. Springer, 2024, pp. 3–35. [104] W. Xia, L. Wang, G. Wang, D. Gu, B. Wang. Refined Strategy for Solving LWE in Two-step Mode. Cryptology ePrint Archive, Paper 2022/1343. 2022. https://eprint.iacr.org/2022/1343. [105] Y. Yu, H. Jia, X. Wang. Compact Lattice Gadget and Its Applications to Hash-and-Sign Signatures. CRYPTO (5). Vol. 14085. Lecture Notes in Computer Science. Springer, 2023, pp. 390–420. [106] 量子耐性暗号研究団. KpqC. https://kpqc.or.kr/. (2024-12-06 閲覧). 59 第4章 符号に基づく暗号技術 本章では符号に基づく暗号技術についてまとめる。符号に基づく暗号技術の安全性はシンドローム復号(Syndrome Decoding: SD)問題や Learning Parity with Noise(LPN)問題を解く計算の困難性に依存している。 ■準備: 本章で使用する記号・用語を以下にまとめる。以下では,q を素数 p のべきとする。すなわち,ある正整数 k が存在して q = pk である。以下では log の底が省略されている場合は底を 2 とする。自然対数を用いる場合は ln と 書く。 有限体: Fq で位数が q の有限体を表す。 ハミング重みとハミング距離: Vn を有限体 Fq 上の n 次元ベクトル空間とする。 • 行ベクトル v = (v1 , v2 , . . . , vn ) ∈ Vn のハミング重みとは,非ゼロの成分の数である。すなわち,有限集合 X に対して |X| で X の要素数を表すとき,HW(v) = |{i | vi 6= 0}| である。 • ハミング距離を dH (x, y) = HW(x − y) で定義する。 • SH (n, w) でハミング重みが w の n 次元ベクトル全体の集合を表す。 ≤ • SH (n, w) でハミング重みが w 以下の n 次元ベクトル全体の集合を表す。 ■線形符号: 線形符号とは,誤りが発生する通信路において,メッセージを相手に正しく伝えるための技術である。 メッセージを冗長にして(符号化という)送信し,受信時に伝送中に生じた誤りを訂正する(復号という)ことで,正 しいメッセージを得ることができる。自然数 n および 素数べき q について,Fq 上の n 次元ベクトル空間の線形部分 空間を Fq 上の線形符号と呼び,C で表す。C の要素を符号語と呼び,n を符号長という。このとき [c1 , . . . , ck ] を C の 基底とする。k を線形符号の次元と呼ぶ。Fq 上の線形符号の符号長が n,次元が k であるとき,[n, k]q -線形符号とよ ぶ。[n, k]q -線形符号 C の最小距離 d とは,2 つの異なる符号語間のハミング距離の最小値である。d は符号 C の全て の非ゼロ符号語のハミング重みの最小値に一致する。すなわち,d = min HW(c) である。 c∈C\{0} [n, k]q -線形符号 C の生成行列とは,符号 C の基底ベクトルを行とする行列 G ∈ Fk×n q であり,メッセージの符号化 に用いられる。メッセージ s ∈ Fkq に対して,sG ∈ Fn q は符号語である。メッセージと符号語は一対一対応させること ができる。[n, k]q -線形符号 C のパリティ検査行列とは,行列 H ∈ Fr×n q で,c ∈ Fn q に対して,c ∈ C ならばかつそ の時に限り cH ⊤ = 0 となるものである。H の行が一次独立であれば,r = n − k である。組織符号化とは,行列 H (n−k)×(n−k) (n−k)×k に対して,行列 S ∈ Fq を適用し,SH = [In−k | Z] を得る操作を指す。ここで,Z ∈ Fq である。 線形符号は,生成行列やパリティ検査行列をうまく設計することで,受信時に符号語に加えられた誤りを訂正するこ とができる。誤り訂正には,復号アルゴリズムが用いられる。送信する符号語を c とし,通信路上で乗った誤りを e と する。受信者側は,受信語として y = c + e を得る。受信者は,復号アルゴリズムを用いて y から c を得る。受信者 61 がハミング重み t までの誤り e を一意に訂正できるとき,符号の訂正能力が t であるという。一般に,t ≤ b(d − 1)/2c が成り立つ。復号アルゴリズムには,符号の構造を用いる方式や,パリティ検査行列を用いる方式がある。後者の場 合,受信語 y に対して s = yH ⊤ を計算する。s はシンドロームと呼ばれる。s = eH ⊤ となることから,s 6= 0 であ れば,誤りを検出・訂正できる。 本稿では,具体的な線形符号(リード・ソロモン符号,リード・マラー符号,Goppa 符号)の詳細については扱わな い。符号理論の教科書や,電子情報通信学会 知識の森 「1 群 2 編 符号理論」 [45] などを参照されたい。 4.1 符号に基づく暗号技術の安全性の根拠となる問題 本節では,SD 問題と LPN 問題およびその困難性について報告する。 4.1.1 SD 問題 SD 問題とは,解のハミング重みが指定された条件のもとで,F2 上の線形方程式を解けるかどうかという問題であ る。また,[n, k]2 -線形符号において,パリティ検査行列とシンドローム,受信語に乗ったエラーのハミング重みが与 えられたときに,エラーを求める問題とみなすことができる。本問題は符号暗号の安全性の根拠として非常に重要であ る。実際に, 4.3 節で説明する NIST PQC 標準化プロジェクトの第 4 ラウンドの 3 種類の符号暗号いずれの方式にお いても,SD 問題が安全性の根拠である。 (n−k)×n 定義 4.1 (SD 問題) k, w ≤ n を満たす正の整数 n, k, w に対して,行列 H ∈ F2 とベクトル s ∈ Fn−k 2 が与え られる。SDn,k,w 問題は,eH ⊤ = s かつ HW(e) = w を満たすベクトル e ∈ Fn 2 を求める問題である。 4.1.2 SD 問題に対する評価 SD 問題の計算の困難性に関して,Berlekamp,McEliece,van Tilborg [6] によって,NP 困難な 3 次元マッチング 問題から SD 問題への多項式時間帰着が示されている。これにより,SD 問題が NP 困難であることが判明している。 SDn,k,w 問題や [n, k]2 -線形符号における k/n は符号化レートと呼ばれており,符号化レートが 1/2 付近で SD 問題が (n−k)×n 最も難しくなることが知られている。また,符号化レートを増加させると,公開鍵に相当する入力行列 H ∈ F2 のサイズが減少することから,暗号の設計においては,符号化レート 1/2 以上 1 未満の値が採用されることが多い。 以降では,SD 問題の求解手法として最も研究が進んでいる Information Set Decoding(ISD)を取り上げる。ISD は,符号化レート 0.42 以上において既存方式の中で漸近計算量が最も小さく,SD 問題の解読チャレンジを通して実時 間での計算量解析が進展している。 ■Information Set Decoding SDn,k,w 問題と対応する [n, k]-線形符号の最小距離を d と置く。2 進符号の場合, Gilbert-Varshamov 限界により,k/n ≈ 1 − H(d/n) である*1 。w ≈ d の場合の SDn,k,w 問題を Full Distance Decoding と呼ぶ。w ≈ d のとき,SDn,k,w 問題は解くのが最も難しくなる。w  d のとき,SDn,k,w 問題には複数の 解が存在することが期待され, w ≤ d のとき,SDn,k,w 問題の解の個数の期待値は 1 以下である。暗号利用においては, w  d が選ばれ,トラップドアを通して唯一解が存在するように設計される。以降は w ≤ d の場合を考える。 SDn,k,w 問題を総当りで解くには,ハミング重みが w の n 次元ベクトル e を列挙すればよい。そのため,時間計算 *1 ここで H(p) = −plog(p) − (1 − p)log(1 − p)。 62 表 4.1: 確率 1/2 以上で SD 問題を解く場合の漸近計算量(Full Distance Decoding の場合) log(Time)/n log(Space)/n 備考 Pra62(Lee-Brickel) 0.121 – [41, 27] Stern89 0.117 0.0135 [43] MMT11 0.112 0.0530 [31]; [21] によって空間計算量が改良された BJMM12 0.102 0.0769 [5] MO15 0.0967 0.0890 [32] BM17 0.0953 0.0910 [11]; MO15 を最適化したもの BM18 0.0951 0.0760 [10]; [12, 16] によって時間・空間計算量が修正された Sieving ISD 0.101 0.0636 [15]   n 量は O となる。より効率的な手法として,Prange は Information Set Decoding と呼ばれる手法 [41] を提 w 案した。基本アイデアは以下である: (n−k)×n 1. 一様ランダムに H ∈ F2 の列ベクトルを入れ替え,H̃ = HP とする。(P ∈ Fn×n 2 は置換行列。) (n−k)×(n−k) 2. ガウスの消去法と対応する行列 S ∈ F2 によって H̃ を [In−k | Z] = S H̃ とする。(組織符号化) ′ ⊤ 3. シンドローム s ∈ F2 に対して,s = sS を計算する。 n−k 4. s′ のハミング重みが w ならば,e = (s′ , 0k )P ⊤ を出力する。そうでなければ,1. に戻る。 HW(s′ ) = w ならば,HW(e) = w である。また,eH ⊤ = (s′ , 0k )P ⊤ H ⊤ = (s′ , 0k )H̃ ⊤ = (s, 0k )S ⊤ H̃ ⊤ = (s, 0k )[In−k Z]⊤ = s が成立する。よって,ステップ   4 のチェックが通るならば,e は SD 問題の解である。末尾   k 列 n−k n−k n が全て 0 であるような eP は 通りあるため,ある置換行列に対して解が出力される確率は / w     w w n n−k となる。期待計算量は poly(n, k) · O / となり,先ほどの列挙法よりも速くなる。 w w Stern [43] 以降,空間計算量を犠牲にすることで時間計算量を引き下げる ISD の改良アルゴリズムが多数提案されて いる。Both と May [10] による時間計算量の表を,表 4.1 に示す。この表は,時間計算量を最小化した場合の符号化 レート k/n の最悪時(1/2 の少し下)の漸近計算量についてまとめられている。したがって,問題のパラメータによっ ては,表の数値よりも速く解くことが可能となる。 近年は,漸近計算量のみならず,具体的なパラメータに対する SDn,k,w 問題を求解するために必要なビット計算量を 見積もる研究もなされている。Esser,Verbel,Zweydinger,Bellini [20] は,CryptographicEstimators と呼称する 符号暗号や多変数多項式暗号のビット計算量を推定するソフトウェアを開発した。Narisada ら [36] は,Becker らの ISD [5] の実用的な改良方式を提案し,NIST PQC 標準化プロジェクト第 4 ラウンドの 3 種類の符号暗号のビット計 算量と実時間の計算量を算出した。 ■量子アルゴリズム 現在のところ多項式時間で SD 問題を解く量子アルゴリズムは提案されていない。しかし,量子 アルゴリズムを利用して,いくつかの古典 ISD を高速化する方法を Kachigar と Tillich [24] が提案している*2 。2024 年現在,最良の漸近計算量が得られているのは,BJMM 法 [5] の量子アルゴリズムである量子 BJMM 法であり,時間 *2 Kirshanova [26] が Kachigar と Tillich の結果 [24] の改良を提案していたが,誤りがあったことが報告されている。そのため,2024 年時 点でのベストな量子アルゴリズムは Kachigar と Tillich [24] であると考えられる。 63 計算量が 20.0587n ,空間計算量が 20.0188n となっている。 量子回路設計の研究に関しては,量子 Prange 法に対して,Perriello,Barenghi,Pelosi [39] がグローバーのアルゴ リズムを用いた量子回路を提案した。Esser ら [19] は,量子 Prange 法に対して,一部の演算を古典コンピュータ上で 行う量子と古典のハイブリッド法を提案した。Perriello,Barenghi,Pelosi [40] は,量子 Prange におけるガウスの消 去法の量子回路を改良し,NIST PQC 標準化プロジェクト第 4 ラウンドの 3 種類の符号暗号の解読に必要な量子回路 の深さを最大で 230 削減した。Chevignard,Fouque,Schrottenloher [14] は,量子 Prange 法に対して,量子回路の 深さを犠牲にすることで量子ビット数を削減する,深さと幅のトレードオフ手法を提案した。Stern の ISD [43] 以降に 提案されたリスト探索を伴う ISD については,グローバーのアルゴリズムと量子ウォーク探索を組み合わせた複雑な量 子回路が必要になると考えられている [24]。現在のところ,これらの量子 ISD に対する量子回路は提案されていない。 ■現状の進展 格子の場合と同様に “Decoding Challenge”(https://decodingchallenge.org/)というウェブサ イトが作成された。実時間での計算量解析を通じて,符号に基づく暗号技術の信頼性を向上させることが目的である。 現在,以下 5 つのカテゴリが用意されている。 1. F2 係数の一様ランダムな線形符号に対する SD 問題 2. F2 係数の一様ランダムな線形符号に対するハミング重みが小さい符号語を探索する問題 3. F3 係数の一様ランダム線形符号に対する SD 問題 4. Goppa 符号を用いた Niederreiter 暗号の場合の SD 問題。Classic McEliece(4.3.1 節)に対応 5. QC-MDPC 符号に基づく SD 問題。BIKE(4.3.2 節)や HQC(4.3.3 節)に対応 各問題に対して研究および解読が進んでおり,2025 年 1 月現在,解読に成功した最も困難な問題は次のとおりである。 • 1. n = 570, k = n/2 に対して w = 70(成定,福島,清本,2023/04) • 2. n = 1280, k = n/2 の場合に w = 204(成定,岡田,上村,相川,福島,清本,2024/09) • 3. n = 200, k = log3 (n) の場合に w = 198(Esser,May,Zweydinger,2021/12) • 4. n = 1409, k = 0.8n に対して w = 26(成定,古江,相川,福島,清本,2023/11) • 5. n = 3602, k = n/2 に対して w = 60(成定,岡田,上村,相川,福島,清本,2025/1) 1 の結果については,Narisada,Fukushima,Kiyomoto [35] を,4 の結果については,Narisada ら [36] を参照され たい。2,3,5 についての詳細は,Decoding Challenge 上に掲載されている各記録の詳細を参照されたい。 4.1.3 LPN 問題 LPN 問題とは,F2 上の誤差付きの線形方程式を解けるかどうかという問題である。また,[n, k]2 -線形符号におい て,生成行列と受信語が与えられたときに,メッセージを復号する問題とみなすことができる。1993 年に,Blum, Furst,Kearns,Lipton [7] が困難と思われる問題として挙げ,定式化を行った。第 3.1.1 章において,この問題を Fq に一般化した LWE 問題を既に扱っている。Berτ でパラメータ τ のベルヌーイ分布を表す。(確率 τ で 1,確率 1 − τ で 0 となる F2 上の分布である。)また,自然数 k ≥ 1 について,Berkτ で,Berτ から独立に k 個サンプルを取ったと きの Fk2 上の分布を表す。 定義 4.2 (LPN 問題) Fk2 から一様ランダムに選ばれた秘密鍵 s およびエラー比 τ ∈ [0, 1/2) に対して,以下の LPN サ ンプルを出力する LPN オラクルを考える。 (a, b) = (a, s · a⊤ + e), 64 ここで,a は Fk2 から一様ランダムに選び,e は分布 Berτ に従い選ぶ。LPN オラクルを n 回呼び出すとき, (A, b) ← LPNnk,τ と表記する。これは,n 個の LPN サンプル (a1 , b1 ), (a2 , b2 ), . . . , (an , bn ) を行列・ベクトル表示 して, A = [a⊤ ⊤ ⊤ 1 a 2 . . . a n ] ∈ F2 k×n , b = sA + e ∈ Fn2 としたものである。n をサンプル数と呼ぶ。e は,n 個の LPN サンプルのエラー e を成分とするベクトルである。 LPNk,τ 問題とは,LPN オラクルへのアクセスが可能なときに,s を求める問題である。 サンプル数が n の LPNk,τ 問題は,SDn,k,nτ 問題に変換することができる。変種として,体を Fq に変更した LPN 問題・仮定が用いられることもある。LPN 問題の安全性仮定については,2022 年度版の CRYPTREC 耐量子計算機 暗号の研究動向調査報告書 [1, Section 3.1] も参照。 4.1.4 LPN 問題に対する評価 LPN 問題の計算の困難性に関して,サンプル数を固定した場合,NP 困難になることが Berlekamp,McEliece,van Tilborg [6] によって示されている*3 。また,Håstad [23] により近似版 LPN 問題*4 の NP 困難性も示されている。し かし,平均時の困難性についてはよく分かっていない。 LPN 問題の古典求解手法として,現在,大別して以下の 5 つのアルゴリズムが知られている。 1. ガウスの消去法に基づく手法 [13] 2. SD 問題における Information Set Decoding に基づく手法 [18] 3. Blum,Kalai,Wasserman [8] の BKW アルゴリズムに基づく手法 4. Arora,Ge [4] の「再線形化」アルゴリズム 5. 2. と 3. を組み合わせたハイブリッド法 [18] このうち,漸近的に時間計算量が最も小さい手法は BKW アルゴリズムであり,実用上最も高速な手法はハイブリッ ド法である。以降で各手法の概要を説明する。 ■ガウスの消去法に基づく手法 ガウスの消去法に基づく手法は,2008 年に Carrijo,Tonicelli,Imai,Nascimento [13] によって初めて提案された LPN 問題に対する多項式空間・指数時間アルゴリズムである。この手法は指数回数の LPN オラクルの呼び出しが必要であるが,k 個の LPN サンプルを格納するメモリがあれば良いので,必要な計算資源 が少なく,実装が容易である。本手法の計算量は,時間計算量が poly(k) · O(2k ),空間計算量が O(k 2 ),サンプル数が n = O(2k ) である。 ■Information Set Decoding に基づく手法 LPNk,τ は任意のサンプル数 n に対して SD 問題(SDn,k,τ n )に変換で きるため,LPN 問題は SD 問題の効率的な求解手法である Information Set Decoding を用いて解くことができる。 Esser,Kübler,May [18] によって提案された実用的なアルゴリズムは,ガウスの消去法に基づく手法を拡張したもの である。基本アイデアとして,ガウスの消去法に基づく手法は k 個の LPN サンプルのエラーが全て 0 の場合を考える が,その拡張として n 個の LPN サンプルのうち k 個の LPN サンプルのエラーが全て 0 となる組み合わせを考える。 n = O(k 2 ) に設定することで,高い確率でこのような組み合わせが存在する。ガウスの消去法に基づく手法と比較し て,LPN サンプルの数を O(2k ) から O(k 2 ) まで減らせる点が利点である。 *3 A,b,自然数 w が与えられたときに,線形方程式 sa⊤ = bi を満たすハミング重み w 以下の s が存在するかどうかを判定する問題。 i *4 A および b を与えられたときに,線形方程式 sa⊤ = bi を近似度×最大値以上満たす s を探索する問題。 i 65 アルゴリズムの概要は,LPNn k,τ 問題に対して,SDn,k,τ n 問題を考え,Information Set Decoding (ISD) を用いて SDn,k,τ n 問題を解くと言うものである [18]。ISD には様々な手法があるが, [18] において,MMT 法が実用上最適で あることが示されている。本手法の計算量は,ISD の手法によって異なる関数 c(τ ) に対して,時間計算量が 2c(τ )k ,空 間計算量が O(k 3 ),サンプル数が O(k 2 ) である。 ■BKW アルゴリズムに基づく手法 KW アルゴリズム [8] は,LPN 問題に対する最も著名な手法である。基本アイデ アは以下である。オラクルからのサンプル (a, b) が a = (1, 0, . . . , 0) という形であれば,b = s1 + e となる。このよ うなサンプルを大量に集めれば,s1 を多数決法で求めることが出来る。一般に uj を j 番目の単位ベクトルとして, (uj , b) という形のサンプルを集めれば sj を多数決法で求められる。そこで,LPN オラクルからのサンプルを用いて, このようなサンプルを生成することを目指す。BKW アルゴリズムは,LPN サンプル同士の加算を実施することに起 因してノイズが増加する欠点がある。 BKW アルゴリズムの計算量は,時間計算量・空間計算量・サンプル数いずれも 2O(k/logk) である。よって,大きな 次元の LPN 問題に対しては,メモリ量の増加が課題となる。その後,Levieil と Fouque [28],Kirchner [25],Guo, Johansson,Löndahl [22],Zhang,Jiao,Wang [44],Bogos と Vaudenay [9],Esser,Kübler,May [18],Esser, Heuer,Kübler,May,Sohler [17] などで改良やメモリと時間のトレードオフの議論がおこなわれている。 ■Arora–Ge アルゴリズム Arora と Ge [4] は多変数多項式問題で古くから用いられている再線形化と呼ばれる手法を 用いて,LPN 問題を解くアルゴリズムを提案した。このアルゴリズムをサンプル数 n の LPNk,τ 問題に用いた場合, w = τ n として,poly(k w ) 時間で解くことができる。poly(k w ) = 2O(τ nlogk) であるから,τ = o(k/(nlog2 k)) のよう にエラーが疎であれば,BKW アルゴリズムよりも効率が良い。実際の符号暗号のパラメータ設定では,エラーをこの ように疎に設定することはないため,暗号の攻撃アルゴリズムとして用いるには重要度が低い。 ■Information Set Decoding と BKW を組み合わせたハイブリッド法 Esser,Kübler,May [18] は,BKW アルゴ リズムと Information Set Decoding を組み合わせた実用上高速な手法を提案した。本手法の計算量は,Information Set Decoding に基づく手法の計算量と BKW アルゴリズムに基づく手法の計算量との中間である。報告によれば, k = 135, τ = 1/4 の LPN 問題に対して,16 コアの CPU および 256GB の RAM を搭載したサーバ 1 台を用いて, 5.69 日での求解に成功した。また,k = 243, τ = 1/8 の LPN 問題に対して,同じサーバ 1 台を用いて,15.07 日で の求解に成功した。また,暗号設計に用いられるパラメータを持つ LPN 問題に対して,空間計算量を現実的な値にセ キュリティマージンを加えたものに制限(260 bit = 128PBytes および 280 bit = 128ZBytes)した時のビット計算量が 推定された。報告によれば,k = 512, τ = 1/8 の LPN 問題に対するハイブリッド法のビット計算量は 2102 であり, k = 512, τ = 1/4 の LPN 問題に対するビット計算量は 2151 である。一方で,この空間計算量の範囲では BKW アル ゴリズム [22] は動作しないと報告されている。 ■量子アルゴリズム 現在のところ,多項式時間で LPN 問題を解く量子アルゴリズムは提案されていない。Esser, Kübler,May [18] は,上述する ISD に基づく手法やハイブリッド法に対して,グローバーのアルゴリズムや量子ウォー ク探索を用いることで高速化できる点を指摘している。k = 512, τ = 1/8 の LPN 問題に対する量子ハイブリッド法の ビット計算量は 269 であり,k = 512, τ = 1/4 の LPN 問題に対するビット計算量は 2112 と推定されている。 4.2 符号に基づく代表的な暗号方式 本節では,符号に基づく代表的な暗号方式の説明を行う。以下では,GLk (Fq ) で k 次の Fq 要素正則行列全体がな す群を表す。また,Sn で n 次対称群を表す。Sn の要素である置換を GLn (Fq ) 中の置換行列と同一視する。 66 4.2.1 McEliece 公開鍵暗号方式 McEliece [33] が提案した古典的な暗号方式である。以下では q = 2 とする。 • k : 安全性パラメータ • n : サンプルの個数 • τ : 誤差パラメータ(例: τ n = O(k)) • t : 線形符号の誤り訂正能力(t = Ω(τ n)) 鍵生成: 誤り訂正能力が t である [n, k]2 -線形符号の生成行列 G ∈ Fk×n 2 を生成する。S ← GLk (F2 ) を一様ランダム に選ぶ。P ← Sn を一様ランダムに選ぶ。G̃ = SGP とする。 公開鍵を G̃ とし,秘密鍵を (S, G, P ) とする。 暗号化: 平文を m ∈ Fk2 とする。乱数 e ← Bern τ を選び,暗号文 c = mG̃ + e ∈ F2 を計算する。 n 復号: v̂ = cP −1 を計算する。v̂ を線形符号で訂正し m′ ∈ Fk2 を得る。m = m′ S −1 を出力する。 復号の正当性は以下で確認される。c = mG̃ + e として,v̂ = cP −1 を計算すると, v̂ = mG̃P −1 + eP −1 = mSG + eP −1 を得る。mSG はランダム化されたメッセージ mS の符号語であり,eP −1 は誤りである。eP −1 のハミング重みが t 以下であれば,線形符号の復号により,m′ = mS を得る。よって,高い確率で復号に成功する。平文 m および生 成行列 G̃ が一様ランダムであれば,暗号文 c ∈ Fn 2 はランダムな n 次元のベクトルと見分けが付かないと考えられて いる。一方で,平文 m が零ベクトルのとき,暗号文はランダムなベクトルと区別されてしまう。このことから,オリ ジナルの McEliece 暗号にはセキュリティ上の課題が存在することがわかる。 4.2.2 Niederreiter 公開鍵暗号方式 Niederreiter [37] が 1986 年に提案した。のちに McEliece 暗号と安全性が等価であることが示された。詳しくは [29] を参照のこと。以下では q = 2 とする。 • k : 安全性パラメータ • n : サンプルの個数 • t : 線形符号の誤り訂正能力 (n−k)×n 鍵生成: 誤り訂正能力が t である [n, k]2 -線形符号のパリティ検査行列 H ∈ F2 を生成する。T ← GLn−k (F2 ) を一様ランダムに選ぶ。Q ← Sn を一様ランダムに選ぶ。H̃ = T HQ とする。 公開鍵を H̃ とし,秘密鍵を (T , H, Q) とする。 暗号化: 平文を e ∈ SH (n, t) とする。暗号文 d = eH̃ ⊤ ∈ Fn−k 2 を計算する。 復号: ŵ = dT −⊤ を計算する。ŵ を線形符号で訂正し復号し,誤りとして e′ を得る。e = e′ Q−⊤ を出力する。 復号の正当性は以下で確認される。d = eH̃ ⊤ として,ŵ = dT −⊤ を計算すると, v̂ = eH̃ ⊤ T −⊤ = eQ⊤ H ⊤ T ⊤ T −⊤ = eQ⊤ H ⊤ を得る。eQ⊤ はランダムに置換されたエラーであり,eQ⊤ H ⊤ はシンドロームである。eQ⊤ のハミング重みが t 以 67 表 4.2: 符号に基づく暗号の分類 文献 暗号化 鍵交換 署名 Classic McEliece [2] 〇 〇 – BIKE [3] 〇 〇 – HQC [34] 〇 〇 – 下であれば,線形符号の復号により,e′ = eQ⊤ を得る。よって,高い確率で復号に成功する。平文 e およびパリティ 検査行列 H̃ が一様ランダムであれば,暗号文 d ∈ Fn−k 2 はランダムな n − k 次元のベクトルと見分けが付かないと考 えられている。また,H̃ が一様ランダムであり,適切な t が選択されていれば,暗号文は統計的にランダムなベクト ルと見分けが付かないとされている。一方で,オリジナルの Niederreiter 暗号は適応的選択暗号文攻撃(CCA)に対 して安全ではないため,次節で示すより安全な方式が提案されている。 4.3 符号に基づく主要な暗号方式 本稿では以下の暗号方式を取り上げる。いずれも NIST PQC 標準化プロジェクトにおいて第 4 ラウンドに進んだ ものである。 1. Classic McEliece: Niederreiter 暗号を採用し,符号の構成が非常に保守的という観点からこれを取り上げる。 2. BIKE: Niederreiter 暗号を採用し,QC-MDPC 符号を用いて鍵を圧縮している,という観点からこれを取り上 げる。 3. HQC: 符号版の LPR 暗号(Lyubashevsky,Peikert,Regev が 2010 年に提案した Ring-LWE 問題に基づく暗 号方式 [30] を LPN 問題に基づく方式に変更したもの)を採用,Quasi-Cyclic 符号を用いて鍵を圧縮している, という特徴からこれを取り上げる。 4.3.1 Classic McEliece • 提案者: Albrecht,Bernstein,Chou,Cid,Gilcher,Lange,Maram,von Maurich,Misoczki,Niederhagen, Paterson,Persichetti,Peters,Schwabe,Sendrier,Szefer,Tjhai,Tomlinson,Wang • 基本方式の説明: Niederreiter 暗号方式に基づいている。基本符号方式として F2 上の Goppa 符号を利用してい る。(具体的な Goppa 符号の生成方法や符号化および復号の方法については提案方式の仕様書 [2] を参照のこ と。)q = 2m とし,n ≤ q を用いる。2 以上の t を mt < n となるように取り,k = n − mt とする。 (n−k)×n 鍵生成: 誤り訂正能力が t である Goppa 符号のパリティ検査行列 H ∈ F2 をランダムに生成する。組織 (n−k)×k 符号化し,H̃ = [In−k | T ] とする。公開鍵を pk = T ∈ F2 とする。符号生成に使ったパラメータ を Γ(Fq 係数の t 次モニック既約多項式と互いに異なる α0 , . . . , αn−1 ∈ Fq ) とする。秘密鍵を sk = Γ と する。 暗号化 Encrypt(pk , e) : 入力を e ∈ SH (n, t) とする。H̃ = [In−k | T ] とし,暗号文として c = H̃e ∈ Fn−k 2 を出力する。 復号 Decrypt(sk , c) : ハミング重み t のベクトル e を復号する。 1. c に k 個ゼロを加え,v = (c, 0k ) ∈ Fn2 を考える。 68 2. Goppa 符号の復号アルゴリズムを用いて,v と距離 t 以下にある符号語 d を計算する。(なければ ⊥ を出力する。) 3. e = v + d とする。 4. HW(e) = t かつ c = H̃e ならば e を出力する。(そうでなければ ⊥ を出力する。) • 鍵カプセル化方式の説明: 基本方式を決定性の公開鍵暗号とみなし,藤崎–岡本変換の変種をかけたものとみな せる。以下ではハッシュ関数 H : {0, 1}∗ → {0, 1}256 を用いる。 鍵生成: ℓ ビットのシード δ から乱数を生成し,鍵生成を行う。(乱数の生成方法は省略する。)公開鍵は同じく pk = T である。n ビットの一様ランダムな文字列 s を生成する。秘密鍵は sk = (Γ, s) である。 鍵カプセル化: 1. e ← SH (n, t) をランダムにサンプリングする。 2. c = Encrypt(pk , e) を計算する。 3. K = H(1, e, c) とする。 4. 暗号文を c とし,セッション鍵 K を出力する。 デカプセル化: 1. b = 1 とする。 2. 受信した c に対して,e = Decrypt(sk , c) とする。e = ⊥ であれば,b = 0, e = s と上書きする。 3. K = H(b, e, c) を計算する。 4. K を出力する。 以上より,セッション鍵(共通鍵)K を安全に共有することができる。 パラメータセットとして mceliece348864,mceliece348864f ,mceliece460896,mceliece460896f ,mceliece6688128, mceliece6688128f ,mceliece6960119,mceliece6960119f ,mceliece8192128,mceliece8192128f が提案されている。表 4.3 に鍵カプセル化方式のパラメータ,鍵長および暗号文長,想定セキュリティレベル,復号エラー率をまとめた。末尾に f が付くものは扱っていないが,鍵長・暗号文長は f 無しのものと同一である。Classic McEliece は公開鍵長が非常に 大きく,レベル 5 では 1MBytes を超える。一方で,暗号文長は非常に小さく,格子暗号に基づく FIPS 標準(FIPS 203)である ML-KEM [38] の暗号文サイズよりも小さい。例えば,[38, Table 3] によれば,ML-KEM のレベル 1 の 公開鍵長は 800 Bytes,秘密鍵長は 1632 Bytes,暗号文長は 768 Bytes となっている。 mceliece348864 の速度に関しては,鍵生成に必要な平均 CPU サイクル数が 60, 333, 686 Cycle,鍵カプセル化が 37, 585 Cycle,デカプセル化が 127, 668 Cycle である。参考までに,ML-KEM(Kyber-512)の速度は,鍵生成が 33, 428 Cycle,鍵カプセル化が 49, 184 Cycle,デカプセル化が 40, 564 Cycle である [38]。なお,いずれも Haswell CPU 搭載のサーバ上で AVX 命令を使用した C 言語実装を動作させた時の記録である。他のパラメータに関しては, 仕様書を参照されたい。 4.3.2 BIKE • 提案者: Aragon,Barreto,Bettaieb,Bidoux,Blazy,Deneuville,Gaborit,Gueron,Güneysu,Aguilar Melchor,Misoczki,Persichetti,Sendrier,Tillich,Zémor,Vasseur,Ghosh,Richter-Brokmann • 基本方式の説明: Niederreiter 暗号方式に基づいている。基本となる符号に QC-MDPC 符号を採用し,公開鍵 サイズを圧縮している。そのため,鍵や暗号化は格子暗号の一種の NTRU 暗号と非常に近い形をしている点 が特徴である。具体的な符号化および復号の方法については提案方式の仕様書 [3] を参照のこと。以下では, 69 表 4.3: Classic McEliece のパラメータ。公開鍵長,秘密鍵長,暗号文長の単位はそれぞれ Byte とする。 パラメータ名 (m, n, t) 安全性レベル 公開鍵長 秘密鍵長 暗号文長 復号エラー率 mceliece348864 (12, 3488, 64) レベル 1 261, 120 6, 492 96 0 mceliece460896 (13, 4608, 96) レベル 3 524, 160 13, 608 156 0 mceliece6688128 (13, 6688, 128) レベル 5 1, 044, 992 13, 932 208 0 mceliece6960119 (13, 6960, 119) レベル 5 1, 047, 319 13, 948 194 0 mceliece8192128 (13, 8192, 128) レベル 5 1, 357, 824 14, 120 208 0 R = F2 [X]/(X n − 1) とする。 鍵生成: h0 ∈ R および h1 ∈ R を SH (n, w/2) から一様ランダムに選ぶ。h = h1 /h0 ∈ R とする。(h0 , h1 ) を QC-MDPC 符号のパリティ検査行列とし,(1, h) をその組織符号化したものとみなすことができる。公 開鍵を pk = h とし,秘密鍵を sk = (h0 , h1 ) とする。 暗号化 Encrypt(pk , (e0 , e1 )): (e0 , e1 ) ∈ R2 を SH (2n, t) 中のベクトルとみなす。c = e0 + e1 h ∈ R を出力 する。 復号 Decrypt(sk , c) : ハミング重み t 以下のベクトル (e0 , e1 ) を復号する。 1. ch0 を計算する。 2. QC-MDPC 符号の復号アルゴリズムを用いて,ch0 をシンドロームとするベクトル (e0 , e1 ) を計算 する。 • 鍵カプセル化方式の説明: 基本方式を決定性公開鍵暗号方式とみなす。基本方式とハッシュ関数 L : {0, 1}∗ → {0, 1}256 を用いて,平文 m ∈ {0, 1}256 と乱数 (e0 , e1 ) に対して暗号化 (c0 = Encrypt(pk , (e0 , e1 ))) および m のマスキング (c1 = m ⊕ L(e0 , e1 )) とを行う IND-CPA 安全な乱択公開鍵暗号を構成する。鍵カプセル 化方式は,この乱択公開鍵暗号に藤崎–岡本変換の変種を適用したものとみなせる。以下ではハッシュ関数 H, L : {0, 1}∗ → {0, 1}256 と G : {0, 1}∗ → SH (2n, t) を用いる。 鍵生成: 適切な長さのシード δ から乱数を生成し,鍵生成を行う。公開鍵は同じく pk = h である。ℓ ビットの 一様ランダムな文字列 s ∈ {0, 1}ℓ を生成する。秘密鍵は sk = (h0 , h1 , s) である。 鍵カプセル化: 1. m ← {0, 1}256 を一様ランダムに選ぶ。 2. (e0 , e1 ) = G(m) を計算する。 3. c0 = Encrypt(pk , (e0 , e1 )) と,c1 = m ⊕ L(e0 , e1 ) を計算する。 4. K = H(m, c) を計算する。 5. 暗号文を C = (c0 , c1 ) とし,セッション鍵 K を出力する。 デカプセル化: 1. 受信した C に対して,(e′0 , e′1 ) = Decrypt(sk , c0 ) を計算する。 2. 復号に失敗したら,⊥ を出力して停止する。 3. m′ = c1 ⊕ L(e′0 , e′1 ) を計算する。 4. (e′0 , e′1 ) = G(m′ ) ならば,K = H(m′ , c) を出力して停止する。 5. そうでなければ,K = H(s, c) を計算し,出力する。 以上より,セッション鍵(共通鍵)K を安全に共有することができる。 70 表 4.4: BIKE のパラメータ。公開鍵長,秘密鍵長,暗号文長の単位はそれぞれ Byte とする。 パラメータ名 (n, w, t) 安全性レベル 公開鍵長 秘密鍵長 暗号文長 復号エラー率 BIKE-Level1 (12323, 142, 134) レベル 1 1, 541 281 1, 573 2−128 BIKE-Level3 (24659, 206, 199) レベル 3 3, 083 419 3, 115 2−192 BIKE-Level5 (40973, 274, 264) レベル 5 5, 122 580 5, 154 2−256 表 4.4 に鍵カプセル化方式のパラメータ,鍵長,暗号文長および復号エラー率をまとめた。3 つのパラメータセット がそれぞれレベル 1,3,5 相当として提案された。BIKE-Level1 の速度に関しては,鍵生成が 589, 000 Cycle,鍵カプ セル化が 97, 000 Cycle,デカプセル化が 1, 135, 000 Cycle である(Skylake CPU 搭載のサーバ,AVX 命令を使用)。 他のパラメータに関しては,仕様書を参照されたい。 4.3.3 HQC • 提案者: Aguilar Melchor,Aragon,Bettaieb,Bidoux,Blazy,Deneuville,Gaborit,Persichetti,Zémor, Bos,Dion,Lacan,Robert,Veron • 基本方式の説明: 符号版の LPR 暗号に基づき,公開鍵暗号を構成している。 R = F2 [X]/(X n − 1) とする。n′ = n1 n2 とし,[n′ , k] 線形符号 C を採用する。具体的な符号化および復号の方 法については提案方式の仕様書 [34] を参照のこと。線形符号 C の符号化・復号アルゴリズムを encode, decode とする。n ≥ n′ を仮定する。以下では,暗号文の第二要素 v を R 要素(n ビットベクトル)として扱っている が,実際には n′ ビットに縮めて用いる。 鍵生成: x ∈ R および y ∈ R を SH (n, w) から一様ランダムに選び,h ← R に対して公開鍵を pk = (h, s) ∈ R2 とし,秘密鍵を sk = (x, y) ∈ R2 とする。 暗号化 Encrypt(pk , m, r1 , r2 , e) : r1 ∈ R および r2 ∈ R を SH (n, wr ) から一様ランダムに選び,e ∈ R を SH (n, we ) から一様ランダムに選ぶ。u = r1 + h · r2 および v = encode(m) + s · r2 + e を計算する。 c = (u, v) を暗号文として出力する。 復号 Decrypt(sk , c): decode(v − u · y) を出力する。 • 鍵カプセル化方式: 基本方式を乱択な公開鍵暗号とみなし,藤崎–岡本変換の変種を適用したものとみなせる。 以下ではハッシュ関数 H, H′ : {0, 1}∗ → {0, 1}256 を用いる。また,XOF *5 として HG : {0, 1}∗ → {0, 1}∗ も 用いる。(第 4 ラウンドで G への入力に seed ∈ {0, 1}128 と salt ∈ {0, 1}128 が追加された。) 鍵生成: 基本方式の鍵生成と同様。ただし h の生成をシード seed から行うこととし,公開鍵を pk = (s, seed) とする。また,秘密鍵にもシードを加え,sk = (x, y, seed) とする。 鍵カプセル化: 1. m ← Fk2 を一様ランダムにとる。 2. salt ← F128 2 を一様ランダムにとる。 3. θ = HG (m, seed, salt) を計算する。θ から r1 , r2 , e を生成する。 4. c = Encrypt(pk , m, r1 , r2 , e) を計算する。d = H′ (m) とする。K = H(m, c) とする。 5. 暗号文を C = (c, d, salt) とし,セッション鍵 K を出力する。 *5 eXtendable-Output Function の略。SHAKE128 や SHAKE256 が例として知られている。 71 表 4.5: HQC のパラメータ。公開鍵長,秘密鍵長,暗号文長の単位はそれぞれ Byte とする。 パラメータ名 (n1 , n2 , n, w, wr = we ) 安全性レベル 公開鍵長 秘密鍵長 暗号文長 復号エラー率 hqc-128 (46, 384, 17669, 66, 75) レベル 1 2, 249 40 4, 497 2−128 hqc-192 (56, 640, 35851, 100, 114) レベル 3 4, 522 40 9, 042 2−192 hqc-256 (90, 640, 57637, 131, 149) レベル 5 7, 245 40 14, 485 2−256 デカプセル化: 1. 受信した C に対して,m′ = Decrypt(sk , c) を計算する。 2. θ′ = HG (m′ , seed, salt) を計算する。 θ′ から r1′ , r2′ , e′ を生成する。 3. c′ = Encrypt(pk , m′ , r1′ , r2′ , e′ ) を計算する。c 6= c′ もしくは d 6= d′ ならば ⊥ を出力して停止する。 4. K = H(m, c) を出力する。 以上より,セッション鍵(共通鍵)K を安全に共有することができる。 3 つのパラメータセットがそれぞれレベル 1,3,5 相当として提案された。表 4.5 に鍵カプセル化方式のパラメー タ,鍵長,暗号文長および復号エラー率をまとめた。表中では,秘密鍵はシードだけ記憶していることにされてお り,40Bytes しかない。また公開鍵の h の部分もシードから再生成されることと定義されている点に注意されたい。 hqc-128 の速度に関しては,鍵生成が 87, 000 Cycle,鍵カプセル化が 204, 000 Cycle,デカプセル化が 362, 000 Cycle である(Skylake CPU 搭載のデスクトップ PC,AVX 命令を使用)。他のパラメータに関しては,仕様書を参照され たい。 4.4 符号に基づく暗号技術に関するまとめ 基本となる McEliece 暗号方式 [33] は,McEliece により 40 年以上前に提案されており,パラメータは改訂されてい るものの,いまだに破られていない。Classic McEliece などのように,公開鍵や秘密鍵は長いものの,暗号文は短い方 式が多い。LPN 問題は学習理論や符号理論から派生した問題であり,SD 問題は LPN 問題の特殊な場合である。誤り 確率 τ が十分大きい場合の LPN 問題や,重み w が一定の大きさの SD 問題を確率的多項式時間で効率的に解くこと は,量子コンピュータを用いても困難であると予想されている。 共通鍵暗号や公開鍵暗号の分野で多くの方式が LPN 問題や SD 問題に基づいて提案されている。LWE 問題と比較 した場合,利点としては, • F2 およびその拡大体を基に構成するため,ハードウェア構成との相性が良い点 • 誤差分布としてベルヌーイ分布やその一般化した分布を用いるため,誤差のサンプリングが容易である点 が挙げられる。一方,欠点として, • 鍵や暗号文のサイズが大きくなりやすい点 • 符号の復号アルゴリズムが複雑になりがちな点 • 完全準同型暗号といった発展的な応用が少ない点 が挙げられる。暗号方式のパラメータ設定の際には,4.1 節で挙げたさまざまなアルゴリズムを考慮する必要がある。 アルゴリズムの高速化について盛んに研究されており,動向を注視する必要がある。また,符号に基づく暗号技術の信 72 頼性を向上させるためには,理論面における研究だけではなく,実時間の計算量に関する研究も重要である。公開鍵や 秘密鍵を圧縮しようと特殊な符号を採用したり,距離の定義を変える提案も多くある。これらは解読攻撃を受けること も多く,評価が確定していない暗号・署名方式については注視が必要である。 本報告書は 2024 年 9 月 30 日時点の情報に基づいているが,2025 年 3 月に NIST から,HQC が標準化方式として 選ばれたことが発表された [42]。 73 第 4 章の参照文献 [1] CRYPTREC 暗号技術調査 WG (耐量子計算機暗号). CRYPTREC 耐量子計算機暗号の研究動向調査報告 書. CRYPTREC TR-2001-2022, https://www.cryptrec.go.jp/report/cryptrec-tr-2001-2022.pdf. 2023-03. [2] M. R. Albrecht et al. Classic McEliece: conservative code-based cryptography. https://csrc.nist.gov/ csrc/media/Projects/post- quantum- cryptography/documents/round- 4/submissions/mceliece- Round4.tar.gz. 2022-10. (2024-03-05 閲覧). [3] N. Aragon et al. BIKE: Bit flipping key encapsulation (Round 4 submission). https : / / csrc . nist . gov/csrc/media/Projects/post- quantum- cryptography/documents/round- 4/submissions/BIKE- Round4.zip. 2022-10. (2024-03-05 閲覧). [4] S. Arora, R. Ge. New Algorithms for Learning in Presence of Errors. ICALP (1). Vol. 6755. Lecture Notes in Computer Science. Springer, 2011, pp. 403–415. [5] A. Becker, A. Joux, A. May, A. Meurer. Decoding Random Binary Linear Codes in 2 n/20 : How 1 + 1 = 0 Improves Information Set Decoding. EUROCRYPT. Vol. 7237. Lecture Notes in Computer Science. Springer, 2012, pp. 520–536. [6] E. R. Berlekamp, R. J. McEliece, H. C. A. van Tilborg. On the inherent intractability of certain coding problems (Corresp.) IEEE Trans. Inf. Theory. Vol. 24, Num. 3 (1978), pp. 384–386. [7] A. Blum, M. L. Furst, M. J. Kearns, R. J. Lipton. Cryptographic Primitives Based on Hard Learning Problems. CRYPTO. Vol. 773. Lecture Notes in Computer Science. Springer, 1993, pp. 278–291. [8] A. Blum, A. Kalai, H. Wasserman. Noise-tolerant learning, the parity problem, and the statistical query model. J. ACM. Vol. 50, Num. 4 (2003), pp. 506–519. [9] S. Bogos, S. Vaudenay. Optimization of LPN Solving Algorithms. ASIACRYPT (1). Vol. 10031. Lecture Notes in Computer Science. 2016, pp. 703–728. [10] L. Both, A. May. Decoding Linear Codes with High Error Rate and Its Impact for LPN Security. PQCrypto. Vol. 10786. Lecture Notes in Computer Science. Springer, 2018, pp. 25–46. [11] L. Both, A. May. Optimizing BJMM with nearest neighbors: Full decoding in 2 2n/21 and McEliece security. Workshop on Coding and Cryptography. 2017. https://www.cits.ruhr-uni-bochum.de/imperia/md/ content/may/paper/bjmm+.pdf. [12] K. Carrier, T. Debris-Alazard, C. Meyer-Hilfiger, J.-P. Tillich. Statistical Decoding 2.0: Reducing Decoding to LPN. ASIACRYPT (4). Vol. 13794. Lecture Notes in Computer Science. Springer, 2022, pp. 477–507. 74 [13] J. Carrijo, R. Tonicelli, H. Imai, A. C. A. Nascimento. A Novel Probabilistic Passive Attack on the Protocols HB and HB+ . IEICE Trans. Fundam. Electron. Commun. Comput. Sci. Vol. 92-A, Num. 2 (2009), pp. 658–662. [14] C. Chevignard, P.-A. Fouque, A. Schrottenloher. Reducing the Number of Qubits in Quantum Information Set Decoding. ASIACRYPT (8). Vol. 15491. Lecture Notes in Computer Science. Springer, 2024, pp. 299– 329. [15] L. Ducas, A. Esser, S. Etinski, E. Kirshanova. Asymptotics and Improvements of Sieving for Codes. EUROCRYPT (6). Vol. 14656. Lecture Notes in Computer Science. Springer, 2024, pp. 151–180. [16] A. Esser. Revisiting Nearest-Neighbor-Based Information Set Decoding. IMACC. Vol. 14421. Lecture Notes in Computer Science. Springer, 2023, pp. 34–54. [17] A. Esser, F. Heuer, R. Kübler, A. May, C. Sohler. Dissection-BKW. CRYPTO (2). Vol. 10992. Lecture Notes in Computer Science. Springer, 2018, pp. 638–666. [18] A. Esser, R. Kübler, A. May. LPN Decoded. CRYPTO (2). Vol. 10402. Lecture Notes in Computer Science. Springer, 2017, pp. 486–514. [19] A. Esser, S. Ramos-Calderer, E. Bellini, J. I. Latorre, M. Manzano. Hybrid Decoding – Classical-Quantum Trade-Offs for Information Set Decoding. PQCrypto. Vol. 13512. Lecture Notes in Computer Science. Springer, 2022, pp. 3–23. [20] A. Esser, J. A. Verbel, F. Zweydinger, E. Bellini. SoK: CryptographicEstimators – a Software Library for Cryptographic Hardness Estimation. AsiaCCS. ACM, 2024. [21] A. Esser, F. Zweydinger. New Time-Memory Trade-Offs for Subset Sum – Improving ISD in Theory and Practice. EUROCRYPT (5). Vol. 14008. Lecture Notes in Computer Science. Springer, 2023, pp. 360–390. [22] Q. Guo, T. Johansson, C. Löndahl. Solving LPN Using Covering Codes. J. Cryptol. Vol. 33, Num. 1 (2020), pp. 1–33. [23] J. Håstad. Some optimal inapproximability results. J. ACM. Vol. 48, Num. 4 (2001), pp. 798–859. [24] G. Kachigar, J.-P. Tillich. Quantum Information Set Decoding Algorithms. PQCrypto. Vol. 10346. Lecture Notes in Computer Science. Springer, 2017, pp. 69–89. [25] P. Kirchner. Improved Generalized Birthday Attack. Cryptology ePrint Archive, Paper 2011/377. 2011. https://eprint.iacr.org/2011/377. [26] E. Kirshanova. Improved Quantum Information Set Decoding. PQCrypto. Vol. 10786. Lecture Notes in Computer Science. Springer, 2018, pp. 507–527. [27] P. J. Lee, E. F. Brickell. An Observation on the Security of McEliece’s Public-Key Cryptosystem. EU- ROCRYPT. Vol. 330. Lecture Notes in Computer Science. Springer, 1988, pp. 275–280. [28] É. Levieil, P.-A. Fouque. An Improved LPN Algorithm. SCN. Vol. 4116. Lecture Notes in Computer Science. Springer, 2006, pp. 348–359. [29] Y. Li, R. H. Deng, X. Wang. On the equivalence of McEliece’s and Niederreiter’s public-key cryptosystems. IEEE Trans. Inf. Theory. Vol. 40, Num. 1 (1994), pp. 271–273. [30] V. Lyubashevsky, C. Peikert, O. Regev. On Ideal Lattices and Learning with Errors over Rings. EURO- CRYPT. Vol. 6110. Lecture Notes in Computer Science. Springer, 2010, pp. 1–23. [31] A. May, A. Meurer, E. Thomae. Decoding Random Linear Codes in Õ(20.054n ). ASIACRYPT. Vol. 7073. Lecture Notes in Computer Science. Springer, 2011, pp. 107–124. 75 [32] A. May, I. Ozerov. On Computing Nearest Neighbors with Applications to Decoding of Binary Linear Codes. EUROCRYPT (1). Vol. 9056. Lecture Notes in Computer Science. Springer, 2015, pp. 203–228. [33] R. J. McEliece. A Public-Key Cryptosystem Based On Algebraic Coding Theory. Deep Space Network Progress Report. Vol. 44 (1978), pp. 114–116. [34] C. Aguilar Melchor et al. Hamming Quasi-Cyclic (HQC) – Fourth round version (Updated version 01/10/2022). https : / / csrc . nist . gov / csrc / media / Projects / post - quantum - cryptography / documents/round-4/submissions/HQC-Round4.zip. 2022-10. (2024-03-05 閲覧). [35] S. Narisada, K. Fukushima, S. Kiyomoto. Multiparallel MMT: Faster ISD Algorithm Solving High- Dimensional Syndrome Decoding Problem. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. Vol. 106, Num. 3 (2023), pp. 241–252. [36] S. Narisada, S. Uemura, H. Okada, H. Furue, Y. Aikawa, K. Fukushima. Solving McEliece-1409 in One Day – Cryptanalysis with the Improved BJMM Algorithm. ISC (2). Vol. 15258. Lecture Notes in Computer Science. Springer, 2024, pp. 3–23. [37] H. Niederreiter. Knapsack-type cryptosystems and algebraic coding theory. Problemy Upravleniia i Teorii Informatsii (Problems of Control and Information Theory). Vol. 15, Num. 2 (1986), pp. 157–166. [38] NIST. Module-Lattice-Based Key-Encapsulation Mechanism Standard. NIST FIPS 203, https : / / nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.pdf. 2024-08. [39] S. Perriello, A. Barenghi, G. Pelosi. A Complete Quantum Circuit to Solve the Information Set Decoding Problem. QCE. IEEE, 2021, pp. 366–377. [40] S. Perriello, A. Barenghi, G. Pelosi. Improving the Efficiency of Quantum Circuits for Information Set Decoding. ACM Transactions on Quantum Computing. Vol. 4, Num. 4 (2023). https://doi.org/10. 1145/3607256. [41] E. Prange. The use of information sets in decoding cyclic codes. IRE Trans. Inf. Theory. Vol. 8, Num. 5 (1962), pp. 5–9. [42] Selected Algorithms. 2025-03. https : / / csrc . nist . gov / Projects / post - quantum - cryptography / selected-algorithms. (2025-03-30 閲覧). [43] J. Stern. A method for finding codewords of small weight. Coding Theory and Applications. Vol. 388. Lecture Notes in Computer Science. Springer, 1988, pp. 106–113. [44] B. Zhang, L. Jiao, M. Wang. Faster Algorithms for Solving LPN. EUROCRYPT (1). Vol. 9665. Lecture Notes in Computer Science. Springer, 2016, pp. 168–195. [45] 電子情報通信学会. 知識ベース 知識の森 1 群 (信号・システム) 2 編 (符号理論). https : / / www . ieice - hbkb.org/portal/01-2/01_02/. (2024-03-05 閲覧). 76 第5章 多変数多項式に基づく暗号技術 多変数公開鍵暗号(Multivariate Public Key Cryptosystems)における暗号方式の特徴は,有限体上の多変数多項 式を用いた連立方程式    p1 (x1 , x2 , . . . , xn ) = 0,   p2 (x1 , x2 , . . . , xn ) = 0, ..   .   pm (x1 , x2 , . . . , xn ) = 0 の求解問題(MP 問題)を解く計算の困難性が安全性の根拠として必要ということである。連立線形方程式は多項式時 間で求解可能であるから,多変数公開鍵暗号に現れる MP 問題における多項式の最大次数は 2 次以上に限定される。 本報告書では,多変数公開鍵暗号の多くの方式で採用されている双極型システムを中心に解説する。 5.1 多変数多項式に基づく暗号技術の安全性の根拠となる問題 Fq で位数 q の有限体を表し,x = (x1 , x2 , . . . , xn ) で(代数的に独立な)変数の集合を表すものとする。x に関する Fq 上の多変数多項式の組,すなわち,多変数多項式 pi (x) (i = 1, . . . , m) により,P (x) = (p1 (x), p2 (x), . . . , pm (x)) と表されるものを(Fq 上の)多変数多項式系と呼ぶことにする。この多変数多項式系 P (x) は代入評価により,Fqn か ら Fqm への写像を構成する。この(多変数多項式)写像を P : Fqn → Fqm と表すことにする。 5.1.1 MP 問題(MQ 問題) MP 問題は次のように定義される。 MP 問題 多変数多項式系 P (x) = (p1 (x), p2 (x), . . . , pm (x)) と d = (d1 , d2 , . . . , dm ) ∈ Fqm に対して,変数 x に関す る連立方程式    p1 (x1 , x2 , . . . , xn ) = d1 ,   p2 (x1 , x2 , . . . , xn ) = d2 , .. (5.1)   .   pm (x1 , x2 , . . . , xn ) = dm の解(が存在するなら)少なくとも 1 つ求めよ。 連立方程式 (5.1) の右辺の各 di を左辺に移項して pi (x) に吸収させることができるので,右辺を 0 として MP 問題を 表現する場合もある。MP 問題において,P (x) の全ての成分 pi (x) が 1 次以下となる場合,MP 問題は単に線形方程 77 式を解く問題となり,ガウスの消去法などで m, n に関し多項式時間で求解することが可能である。よって,MP 問題 を考える場合は通常,各 pi (x) の次数は 2 以上であると仮定する。特に,pi (x) の次数が全て 2 となるとき,MP 問題 は MQ 問題と呼ばれる。Fq = F2 の場合,MQ 問題は NP 完全であることが知られている [15, p. 251, AN9]。 MQ 問題を解くコンテストとして Fukuoka MQ challenge が知られている。扱われている MQ 問題は,有限体は q = 2, 31, 256 の 3 種類と m, n に関しては m = 2n, n ≈ 1.5m の 2 種類の計 6 種類である。投稿され解かれた問題の (m, n) の値の最大は表 5.1 のようになっている。 表 5.1: Fukuoka MQ challenge で解かれた MQ 問題のパラメータの最大値(2024/9/30 時点) タイプ I II III IV V VI Fq F2 F31 F256 F2 F31 F256 (m, n) m = 2n m = 2n m = 2n n ≈ 1.5m n ≈ 1.5m n ≈ 1.5m (m, n) の最大 (166, 83) (74, 37) (76, 38) (76, 114) (20, 30) (22, 33) 5.1.2 MinRank 問題 MinRank 問題 正の整数 r と行列 M1 , . . . , Mk ∈ Fqm×n に対し,α1 , . . . , αk ∈ Fq で,(α1 , . . . , αk ) 6= (0, . . . , 0) かつ ! X k Rank αi Mi ≤ r i=1 なるものを求めよ。(Rank(M) は行列 M のランクを表す。 ) MinRank 問題は MP 問題に帰着できることが知られている [19, 11, 3]。また,MinRank 問題を解く計算の困難性を ベースとした署名方式などがいくつか提案されている [9, 4, 23, 1]。 5.1.3 IP 問題,EIP 問題 Isomorphism of Polynomials(IP)問題は以下のように定義される。 IP 問題 S, T をそれぞれ,Fqn , Fqm 上のアフィン同型写像とする。多変数多項式系 P (x) = (p1 (x), p2 (x), . . . , pm (x)) に対し,多変数多項式系 P̃ (x) を合成により,P̃ (x) = T ◦ P (x) ◦ S で定める。このとき,P (x), P̃ (x) の情報 から S, T を求めよ。 IP 問題において,S や T の行列成分やベクトル成分をすべて独立な変数と見た場合,等式 P̃ (x) = T ◦ P (x) ◦ S は連 立多項式方程式と見ることができる。すなわち,IP 問題は MP 問題に変換される。 多変数多項式系のクラス C を 1 つ固定する。ここで多変数多項式系のクラスとは多変数多項式系の集合 Fq [x]m の 部分集合のことである。このとき,(クラス C に関する)Extended Isomorphism of Polynomials(EIP)問題は以下 のように定義される。 EIP 問題 多変数多項式系 P̃ (x) = (f1 (x), . . . , fm (x)) は,Fqn , Fqm 上のアフィン同型写像 S, T とクラス C に属する多 変数多項式系 P (x) により,P̃ (x) = T ◦ P (x) ◦ S で表されるとする。このとき,分解 P̃ (x) = T ′ ◦ P ′ (x) ◦ S ′ で,S ′ , T ′ は Fqn , Fqm 上のアフィン同型写像,P ′ (x) ∈ C なるものを見つけよ。 78 C = {P (x)} に関する EIP 問題が通常の IP 問題であるから,EIP 問題は IP 問題の拡張である。5.2 節で述べるよう に,EIP 問題は双極型システムで構成される公開鍵暗号方式,署名方式の鍵復元攻撃に対する安全性に関わる。EIP 問 題を解く方法はクラス C の取り方(あるいは方式)に依存する。 5.2 多変数多項式に基づく代表的な暗号方式 5.2.1 双極型システム IP 問題ベース [22] や MinRank 問題ベース [9, 1, 4, 23] の方式も存在するが,多変数公開鍵暗号の多くの方式が MP 問題をベースとして構成されている。中でも双極型システム [10] と呼ばれる構成方法が多く利用されているため,こ の構成方法について説明する。(1 次多項式で構成されてなくても)多変数多項式系 P (x) によっては,多くの d ∈ Fqm に対して MP 問題が効率的に計算できる場合がある。例えば,n = m とし,P (x) = (p1 (x), p2 (x), . . . , pm (x)) が三 角型多変数多項式系である,すなわち, p1 (x) = x1 , p2 (x) = x2 + g2 (x1 ) (g2 (x1 ) ∈ Fq [x1 ]), p3 (x) = x3 + g3 (x1 , x2 ) (g2 (x1 , x2 ) ∈ Fq [x1 , x2 ]), .. . pm (x) = xm + gm (x1 , . . . , xm−1 ) (gm (x1 , . . . , xm−1 ) ∈ Fq [x1 , . . . , xm−1 ]) の形で表されるとすると,任意の d ∈ Fqm に対して P (x) = d の(唯 1 つの)解が,x1 から逐次的に求められること が分かる。このことはすなわち,多変数多項式系のクラス C を三角型多変数多項式系の全体で定めると,任意の P ∈ C に対して,P (x) = d (d ∈ Fqm ) の解が効率的に計算可能ということである。 双極型システムでは,まず,MP 問題が効率的に計算できる多変数多項式系のクラス Ccent を見つけ固定する。(例 )G(x) ∈ Ccent と Fqn , Fqm 上のアフィン同型写像 S, T をそ えば,Ccent として三角型多変数多項式系の集合を取れる。 れぞれ任意にとり,これらを合成した多変数多項式系 F (x) = T ◦ G(x) ◦ S をトラップドア付き一方向関数として利 用するのが,双極型システムのアイデアである。ただし,F (x) が実際にトラップドア付き一方向関数となるかどうか は Ccent のとり方に依存する。 双極型システムの鍵生成は次のように行う。 鍵生成 1. G(x) ∈ Ccent をランダムに選ぶ。 2. Fqn , Fqm 上のアフィン同型写像 S, T をランダムに選ぶ。 3. F (x) = T ◦ G(x) ◦ S とする。 このとき,公開鍵は F (x),秘密鍵は G(x), S, T となる。F (x) はその係数集合が公開鍵として保管される。また, G(x) を(この方式の)中心写像とよぶ。中心写像のクラス Ccent は 2 次の多変数多項式系で構成されることが多い。 これは,公開鍵長(や秘密鍵長)を出来るだけ小さくするためである。双極型システムは公開鍵暗号方式,署名方式両 方の構成に用いることができる。 公開鍵暗号方式の暗号化・復号は次のように行う。 暗号化 平文 M ∈ Fqn に対し,C = F (M ) を計算する。C が暗号文となる。 復号 暗号文 C ∈ Fqm に対し,(1) B1 = T −1 (C), (2) G(B2 ) = B1 なる B2 を計算, (3) M ′ = S −1 (B2 ) の順に計算 79 する。M ′ が平文と一致する。 復号が成功するためには, G(x) (あるいは F (x))が単射である必要がある。単射の条件を少し緩めて,「G(x) (あ るいは F (x))の逆像の個数が十分少ない」とすることもできる。この場合,M ′ が複数得られることになるので,ハッ シュ値などを用いて平文 M と一致する M ′ を特定する。 双極型システムの署名方式の署名生成・検証は次のように行う。 署名生成 メッセージ(のハッシュ値) M ∈ Fqm に対し,(1) B1 = T −1 (M ), (2) G(B2 ) = B1 なる B2 を計算, (3) σ = S −1 (B2 ) の順に計算する。σ が署名となる。 検証 署名 σ ∈ Fqn に対し,M ′ = F (σ) を計算する。M = M ′ ならば署名を受理,それ以外は棄却する。 署名生成がいつでも実行できるためには,どのような M ∈ Fqm に対しても,B2 = G−1 (B1 ) の計算ができる,すなわ ち,G(x) (あるいは F (x))が全射である必要がある。 双極型システムでは,中心写像のクラス Ccent の取り方を変えることで幅広い方式の構成が可能である。例えば, Ccent = { 三角型多変数多項式系 } とすると公開鍵暗号方式が得られる。双極型システムにおいては,Ccent に関する EIP 問題がその安全性に大きく関わってくる。実際,EIP 問題を解けた場合,F (x) = T ◦ G(x) ◦ S の代わりに分解 F (x) = T ′ ◦ G′ (x) ◦ S ′ を用いても,公開鍵暗号方式における復号および,署名方式における署名生成(偽造)が実行 可能となる。EIP 問題の困難性はクラス C の選び方に依存するので, C の選び方に応じて個々に解析される必要があ る。例えば,Ccent = { 三角型多変数多項式系 } としたときの EIP 問題は効率的に解けることが知られている [16]。 5.2.2 署名方式 UOV 5.2.2.1 UOV の概要 UOV [18, 8] は,双極型システムを用いた署名方式である。UOV の中心写像は,決まったいくつかの変数に値を代 入することで 1 次式に変形でき,連立線形方程式の求解手法を用いて,効率的に署名生成が可能である。v, m を正の 整数とし,n = v + m とする。2 次多項式からなる多変数多項式系 G(x) = (g1 (x), . . . , gm (x)) を次の形で与える。 X (k) X (k) X (k) gk (x) = αi,j xi xj + βi,j xi xj + γi xi + η (k) (k = 1, . . . , m) 1≤i≤v 1≤i≤j≤v 1≤i≤n v+1≤j≤n (k) (k) (k) ここで,αi,j , βi,j , γi , η (k) ∈ Fq である。G(x) の形で定義される多変数多項式写像を UOV 多項式写像と呼ぶ。 gk (x) の 2 次多項式部分を g̃k (x) とすると, v z }| { z }| m { g̃k (0, . . . , 0, ∗, . . . , ∗) = 0 (5.2) となることが,UOV 多項式写像の特徴である。x1 , . . . , xv を vinegar 変数,xv+1 , . . . , xn を oil 変数と呼ぶ。G(x) の vinegar 変数に(ランダムな)値を代入すると,(5.2) により oil 変数に関する 1 次式が得られる。G(x) の逆写像は,連 立線形方程式の求解手法を用いて効率的に計算できる。具体的に,任意の c = (c1 , . . . , cm ) ∈ Fqm に対し,b = G−1 (c) (の一つ)が以下のように計算できる。 1. b1 , . . . , bv ∈ Fq をランダムにとる。 2. g1 (x), . . . , gm (x) に (x1 , . . . , xv ) = (b1 , . . . , bv ) を代入して得られる xv+1 , . . . , xn に関する 1 次式をそれぞれ 80 ḡ1 (xv+1 , . . . , xn ), . . . , ḡm (xv+1 , . . . , xn ) とする。連立線形方程式    ḡ1 (xv+1 , . . . , xn ) = c1 ..  .  ḡm (xv+1 , . . . , xn ) = cm の解を計算し,それを bv+1 , . . . , bn と置く。もし解がなければ Step 1 に戻る。 3. b = (b1 , . . . , bn ) (k) (k) (k) αi,j , βi,j , γi , η (k) ∈ Fq を動かしてできる G(x) の集合を CUOV としたとき,Ccent = CUOV として構成される双 極型システムの署名方式を UOV と呼ぶ。但し,通常の双極型システムで使用するアフィン同型写像 T は,UOV の安 全性には貢献しないので必要ない。すなわち,秘密鍵は G(x) ∈ CUOV と Fqn 上のアフィン同型写像 S で,公開鍵は F (x) = G(x) ◦ S となる。F (x) の成分の 2 次多項式部分を f˜1 (x), . . . , f˜m (x) とし,部分空間 O (⊂ Fqn ) を v z }| { −1 O=S ({(0, . . . , 0, a) ∈ Fqn | a ∈ Fqm }) とすると,(5.2) により f˜i (o) = 0 (i = 1, . . . , m, o ∈ O) を満たす。このような性質を持つ部分空間を oil 空間とい う。逆に,多変数 2 次多項式系 H(x) が o 次元の oil 空間 O (⊂ Fqn ) を持ち,o ≥ m を満たすならば,H(x) は UOV の公開鍵として使用できる。 5.2.2.2 UOV の公開鍵長の削減 双極型システムの公開鍵 F (x) は,通常,その係数集合の形で記述され,その中でも,2 次多項式部分の係数集合が 公開鍵の大部分を占める。P (x) を多変数 2 次多項式系とし,p̃1 (x), . . . , p̃m (x) をその 2 次多項式部分とすると,ある 行列 P1 , . . . , Pm ∈ Fqn×n により, p̃i (x) = x Pi x⊤ (i = 1, . . . , m) と表すことができる。一般に,行列 P = (pij ) ∈ Fqh×h に対し,上三角行列 upper(P) = (cij ) ∈ Fqh×h を   pii i = j, cij = pij + pji i < j,  0 i>j で定義すると,p̃i (x) = x Pi x⊤ = x upper(Pi ) x⊤ が成り立つ。特に,Pi はすべて上三角行列で選ぶことができる。 UOV の中心写像 G(x) の 2 次多項式部分に対応する上三角行列を G1 , . . . , Gm とし,公開鍵 F (x) の 2 次多項式部 分に対応する上三角行列を F1 , . . . , Fm とすると,     Gi,1 Gi,2 Fi,1 Fi,2 Gi = , Fi = (Gi,1 , Fi,1 ∈ Fqv×v , Gi,2 , Fi,2 ∈ Fqv×o , Fi,3 ∈ Fqo×o ) 0o×v 0o×o 0o×v Fi,3 の形で表すことができる。ここで,Gi,1 , Gi,3 , Fi,1 , Fi,3 は上三角行列である。今,アフィン同型写像 S の線形部分を 表す行列 S (線形写像は x 7→ x S の形)が   Iv 0v×o S= (S0 ∈ Fqo×v ) S0 Io 81 )すると,Fi = upper(S Gi S⊤ ) となるので,次の の形で表される場合に限定する。(但し,Iℓ は ℓ 次単位行列を表す。 関係が成り立つ。 · Gi,1 = Fi,1 , Gi,2 = Fi,2 − (Fi,1 + F⊤ ⊤ i,1 ) S0 , · Fi,3 = upper(−S0 F⊤ ⊤ ⊤ i,1 S0 + S0 Fi,2 ) = upper(−S0 Fi,1 S0 + S0 Fi,2 ). (5.3) これより,Fi,1 は任意の上三角行列, Fi,2 は任意の行列で選べることが分かる。そこで,Fi,1 , Fi,2 の成分すべてを公開 鍵として記述する代わりに,Fi,1 , Fi,2 を疑似乱数生成器を用いて構成することにして,そのシードのみを公開鍵とし て記述することにより公開鍵長を削減できる。このようにして,UOV の公開鍵の 2 次多項式部分は,シードと (5.3) で求められた Fi,3 (i = 1, . . . , m) だけで記述できる。 一般に,双極型システムの公開鍵長は n, m に関して,O(mn2 ) の増大度を持ち,大きくなりやすい。UOV では, 上の公開鍵の記述方法を使うことにより,公開鍵長の増大度は O(m3 ) となり,UOV のパラメータが 2m < n で選ば れることを踏まえると,一般の双極型システムの公開鍵の記述方法よりも,公開鍵長を削減できる。この削減方法は, 5.3 節で記述する(UOV の変種である)QR-UOV や MAYO にも利用されている。 5.2.3 MPC-in-the-Head による署名方式の構成 5.2.3.1 秘匿マルチパーティ計算 Ishai らによって導入された MPC-in-the-Head [17] は,秘匿マルチパーティ計算からゼロ知識証明を構成し,さら に Fiat-Shamir 変換により署名方式を構成する枠組みである。本来,MPC-in-the-Head の枠組みは広く,多変数公 開鍵暗号に限定された技術ではないが,多変数公開鍵暗号においては,MQ 問題に付随する MPC-in-the-Head と, MinRank 問題に付随する MPC-in-the-Head が重要であるため,この 2 つの場合に限定して説明する。 R ⊂ {0, 1}∗ × {0, 1}∗ を関係とする。命題 a に対して,(a, x) ∈ R であるとき,x は a の証拠(witness)であると いう。ここでは,R として,MQ 問題(あるいは,MinRank 問題)のインスタンスを命題とし,その解を証拠とする 関係に限定する。N 組のパーティ P1 , . . . , PN が存在するとする。加法構造を持つ代数系の元 b に対し,分散 JbK は JbK = (JbK1 , . . . , JbKN ) であり,JbK1 + · · · + JbKN = b なるものを意味するとする。命題 a に対し,以下のような性質を持つ秘匿マルチパーティ計算 f を考える。 • 秘密情報 x の分散 JxK に対し,Pj は JxKj を入力として受け取る。 • f は ‘受理’ か ‘棄却’ を返す。(a, x) ∈ R ならば,‘受理’ が返される。 • N − 1 組以下のパーティのビューが集まっても x の情報は全く漏れない。 命題が以下のような MQ 問題のインスタンスである場合を考える。    x A1 x ⊤ + x b ⊤ 1 = y1   x A2 x ⊤ + x b ⊤ 2 = y2 .. (5.4)   .   x Am x ⊤ + x b ⊤m = ym ここで,A1 , . . . , Am ∈ Fqn×n , b1 , . . . , bm ∈ Fqn である。この場合の(MQOM [12] で利用されている)秘匿マルチ パーティ計算 fMQ の入力は,この MQ 問題の解 x∗ の分散 Jx∗ K である。η を正の整数とする。正の整数 n1 , n2 を n1 n2 ≥ n なるように選んでおく。また,u1 , . . . , un2 ∈ Fq を相異なる元として固定しておく。このとき,fMQ の計算 手順は以下の通りである。 秘匿マルチパーティ計算 fMQ 82 1. 乱数生成オラクル*1 OR により γ1 , . . . , γm ∈ Fqη が作られ,全パーティに送信する。 Pm 2. 各パーティ Pj は JzKj = i=1 γi (Jyi Kj − Jx∗ Kj b⊤ i ) を計算する。ここで,Jyi K = (yi , 0, 0, . . . , 0) である。 ∗ Pm ⊤ 3. 各パーティ Pj は JwKj = Jx Kj ( i=1 γi Ai ) を計算する。 4. ヒントオラクル OH により,a1 , . . . , an2 ∈ Fqη , Q′ (u) ∈ Fqη [u] の分散 Ja1 K, . . . , Jan2 K, JQ′ (u)K が作られ,対 応するパーティに配布される。ここで,a1 , . . . , an2 はランダムに選ばれ,Q′ (u) は次のように定められる。ま ず,n1 − 1 次以下の多項式 Xℓ (u) ∈ Fq [u], Wℓ (u) ∈ Fqη [u] (ℓ = 1, . . . , n2 ) を    X (u ) = x∗(ℓ−1)n1 +1   ℓ 1  Wℓ (u1 ) = w(ℓ−1)n1 +1 .. ..  .  .   Xℓ (un1 ) = x∗(ℓ−1)n1 +n1 Wℓ (un1 ) = w(ℓ−1)n1 +n1 を満たす補間多項式によって計算する。次に,W̃ℓ (u) ∈ Fqη [u] (ℓ = 1, . . . , n2 ) を W̃ℓ (u) = Wℓ (u) + aj (u − u1 )(u − u2 ) · · · (u − un1 ) P n2 とし,Q(u) ∈ Fqη [u] を Q(u) = ℓ=1 Xℓ (u) W̃ℓ (u) で定める。最後に,q0 を Q(u) の定数項とし,Q(u) = ′ ′ u · Q (u) + q0 で Q (u) を定める。 5. 各パーティ Pj は n1 − 1 次以下の多項式 JXℓ Kj (u) ∈ Fq [u], JWℓ Kj (u) ∈ Fqη [u] (ℓ = 1, . . . , n2 ) を   JXℓ Kj (u1 ) = Jx∗(ℓ−1)n1 +1 Kj    JWℓ Kj (u1 ) = Jw(ℓ−1)n1 +1 Kj  .. ..  .  .   JXℓ Kj (un1 ) = Jx∗(ℓ−1)n1 +n1 Kj JWℓ Kj (un1 ) = Jw(ℓ−1)n1 +n1 Kj を満たす補間多項式によって計算する。(JXℓ K(u), JWℓ K(u) は,それぞれ Xℓ (u), Wℓ (u) の分散となる。) 6. 各パーティ Pj は JW̃ℓ Kj (u) ∈ Fqη [u] (ℓ = 1, . . . , n2 ) を JW̃ℓ Kj (u) = JWℓ Kj (u) + Jaℓ Kj (u − u1 )(u − u2 ) · · · (u − un1 ) で定める。(JW̃ℓ K(u) は,W̃ℓ (u) の分散となる。) P n1 7. 各パーティ Pj は Jq0 Kj = n−1 1 · (JzKj − ′ i=1 ui JQ Kj (ui )) を計算する。 8. 乱数生成オラクル OR により r ∈ Fqη \{u1 , . . . , un1 } を取り,全パーティに送信する。 9. 各パーティ Pj は Jcℓ Kj = JW̃ℓ Kj (r) (ℓ = 1, . . . , n2 ) を計算する。 10. 全パーティは Jcℓ K (ℓ = 1, . . . , n2 ) を共有し,cℓ ∈ Fqη (ℓ = 1, . . . , n2 ) を計算する。 P n2 11. 各パーティ Pj は JvKj = r · JQ′ Kj (r) + Jq0 Kj − ℓ=1 cℓ JXℓ Kj (r) を計算する。 12. 全パーティは JvK を共有し,v を計算する。 13. v = 0 なら ‘受理’,それ以外は ‘棄却’ を出力する。 この計算について補足する。この計算では,x∗ が (5.4) の解であることを確認する代わりに, X m γi (yi − x∗ Ai x∗ ⊤ − x∗ b⊤ i )=0 i=1 ∗ であることを確認している。x が (5.4) の解でなくても,この等式は 1/q η の確率で成り立つ。等式を書き直すと, ! ! X m X m X m X m ∗ ∗⊤ ∗⊤ γi (yi − x b⊤ i )= ∗ γi (x Ai x )=x ∗ γ i Ai x ∗ = hx , wi, (w = x ∗ γ i A⊤ i ) i=1 i=1 i=1 i=1 *1 Randomness Oracle で,安全性証明に用いられるランダムオラクルとは異なる。 83 Pm ∗ となる。よって,z = i=1 γi (yi − x b⊤ ∗ i ) とおくならば,z = hx , wi を確かめればよい。これは, X n1 X n2 X n1 z= Xℓ (ui )W̃ℓ (ui ) = Q(ui ) (5.5) i=1 ℓ=1 i=1 と同値である。v = 0 であれば,Schwartz-Zippel の補題により,高い確率で (5.5) が満たされることになる。η を大 きくすることで,この確率を 1 に近づけることができる。 5.2.3.2 ゼロ知識証明への変換 MPC-in-the-Head では秘匿マルチパーティ計算からゼロ知識証明を構成する。このゼロ知識証明は,命題 a に対し て証拠 x を知っているかどうかを検証するものである。秘匿マルチパーティ計算 fMQ に対応するゼロ知識証明の基本 設計は以下の通りである。 fMQ に対応するゼロ知識証明 1. 証明者は,証拠 x∗ の分散 Jx∗ K を作成する。そして,すべての j ∈ {1, . . . , N } に対し,Jx∗ Kj のコミットメン トを作成し,検証者に送る。 2. 検証者は,ランダムに γ1 , . . . , γm ∈ Fqη を生成し,これらをチャレンジとして証明者に送る。 3. 証明者は,a1 , . . . , an2 , Q′ (u) を生成し,これらの分散 Ja1 K, . . . , Jan2 K, JQ′ K(u) を作成する。そして,すべて の j ∈ {1, . . . , N } に対し,Ja1 Kj , . . . , Jan2 Kj , JQ′ Kj (u) のコミットメントを作成し,検証者に送る。 4. 検証者は,ランダムに r ∈ Fqη \{u1 , . . . , un1 } を生成し,これらをチャレンジとして証明者に送る。 5. 証明者は,(全てのパーティの計算を “頭の中で” 行い,)Jc1 K, . . . , Jcn2 K,および,JvK を作成する。そして,こ れらを検証者に送る。 6. 検証者は,ランダムに i∗ ∈ {1, 2, . . . , N } を生成し,これをチャレンジとして証明者に送る。 7. 証明者は,すべての j ∈ {1, 2, . . . , N }\{i∗ } に対し,JxKj , Ja1 Kj , . . . , Jan2 Kj , JQ′ Kj (u) を検証者に開示する。 8. 検証者は,以下を検証し,全て正しければ ‘受理’ を,それ以外は ‘棄却’ を出力する。 ✓ すべての j ∈ {1, 2, . . . , N }\{i∗ } に対し,Jx∗ Kj のコミットメント,および,Ja1 Kj , . . . , Jan2 Kj , JQ′ Kj (u) の コミットメントが正しいこと ✓ すべての j ∈ {1, 2, . . . , N }\{i∗ } に対し,Jx∗ Kj , Ja1 Kj , . . . , Jan2 Kj , JQ′ Kj (u) から Pj と同じ計算を行った とき,Jc1 Kj , . . . , Jcn2 Kj , JvKj の計算結果が一致すること ✓ v = 0 であること このゼロ知識証明について補足する。fMQ における全てのパーティのビューは(もともと開示されるものを除き)コ ミットメントが作成され,検証者に送られている。また,fMQ において乱数生成オラクルが介入する部分は,検証者 のチャレンジに置き換えられている。そして,1 つのパーティ以外のすべてのパーティに対するビューが開示され,そ のビューから各パーティと同じ計算を行って得られる結果と開示情報が一致すること,および,v = 0 であることによ り検証者は ‘受理’ を行っている。このゼロ知識証明の健全性誤差(soundness error)ε は約 1/N である。このゼロ知 識証明を τ 回繰り返すことにより,全体の健全性誤差を ετ にすることができる。 このゼロ知識証明に Fiat-Shamir 変換を施すことで署名方式 MQOM [12] が構成できる。MQOM ついては,5.3.4 節で詳しく述べる。また,5.3.5 節で詳しく述べる MiRitH は MinRank 問題に付随する秘匿マルチパーティ計算から 構成される署名方式である。 84 5.3 多変数多項式に基づく主要な暗号方式 多変数公開鍵暗号で標準化が有力視されるのは効率的な検証と短い署名長を持つ署名方式の UOV である。但し, UOV は公開鍵長が大きくなりやすいという性質を持つため,公開鍵長の削減手法を取り入れている UOV の変種であ る QR-UOV と MAYO も標準化の有力候補である。 また,MPC-in-the-Head では,MQ 問題に関するマルチパーティ計算に基づく署名方式 MQOM と,MinRank 問 題に関するマルチパーティ計算に基づく署名方式 MiRitH が注目されている。 表 5.2: 多変数多項式に基づく暗号の分類 文献 暗号化 鍵交換 署名 UOV [18, 8] ○ QR-UOV [13, 14] ○ MAYO [5, 6] ○ MQOM [12] ○ MiRitH [2] ○ 5.3.1 署名方式 UOV 5.3.1.1 UOV の概要 5.2.2.1 節で UOV の基本アルゴリズムは述べたため,この節でのアルゴリズムの記述は割愛する。NIST PQC 標準 化プロジェクト追加署名第 1 ラウンドに提出された UOV [8] のアルゴリズムには,さらに,5.2.2.2 節で述べた公開鍵 長の削減手法が取り入れられている。 5.3.1.2 UOV のパラメータ選択 UOV の設計に必要なパラメータは,q, m, n である。NIST PQC 標準化プロジェクト追加署名第 1 ラウンドに提出 されたドキュメント [8] では,以下のように UOV のパラメータ見積もりが公開されている。 表 5.3: UOV のパラメータと鍵および署名のサイズ (q, m, n) 安全性レベル 公開鍵サイズ 秘密鍵サイズ 署名サイズ (256, 44, 112) レベル 1 43, 576 Bytes 48 Bytes 128 Bytes ( 16, 64, 160) レベル 1 66, 576 Bytes 48 Bytes 96 Bytes (256, 72, 184) レベル 3 189, 232 Bytes 48 Bytes 200 Bytes (256, 96, 244) レベル 5 446, 992 Bytes 48 Bytes 260 Bytes 85 5.3.2 署名方式 QR-UOV 5.3.2.1 QR-UOV の概要 ′ ′ ′ ′ QR-UOV [13, 14] は UOV の変種である。Fqℓ 上の行列の集合 Fqnℓ ×n は,Fq 上の行列の集合 Fqn ℓ×n ℓ の部分集 ′ ′ ′ ′ 合と見なすことができる。この部分集合に属する行列は,Fqn ℓ×n ℓ の元として表示するよりも,Fqnℓ ×n の元として表 示する方が,サイズを 1/ℓ 倍に圧縮できる。QR-UOV は,この性質を利用して UOV の公開鍵長を削減している。 ℓ, V, M を正の整数とし,v = ℓ · V, m = ℓ · M, n = v + m とする。次数 ℓ の既約多項式 f ∈ Fq [t] を取り,Fq の 拡大体 Ef = Fq [t]/(f ) に,Fq -基底を 1, t, t2 , . . . , tℓ−1 で入れ,Fq 上のベクトル空間として Fqℓ と同一視する。任意の g ∈ Fq [t] に対し,写像 Ef 3 x 7→ xg ∈ Ef は Fq 上の線形写像となる。よって,この写像は Fq 上の ℓ × ℓ 行列とし て表すことができる。この行列を Φfg ∈ Fqℓ×ℓ と表し,Af = {Φfg | g ∈ Ef }(⊂ Fqℓ×ℓ ) とおく。ϕ : Ef → Fq を非自明 な Fq -線形写像で固定し,W = (ϕ(ti+j−2 ))ij ∈ Fqℓ×ℓ とすると,任意の X ∈ Af に対して,WX ∈ Fqℓ×ℓ は対称行列 a,b になることが知られている [13, Theorem 1]。正の整数 a, b に対し,Af を以下の形で表される aℓ × bℓ 行列の集合 とする:   X11 X12 ··· X1b X21 X22 ··· X2b     .. .. .. ..  (X11 , X12 , . . . , Xab ∈ Af )  . . . .  Xa1 Xa2 ··· Xab W(a) ∈ Fqaℓ×aℓ を W が主対角線に a 個並ぶ対角行列とし,W(a) Afa,b = {W(a) X | X ∈ Afa,b } (⊂ Fqaℓ×bℓ ) とする。 Fqaℓ×bℓ に属する一般の行列を記述するには,Fq の元が a b ℓ2 個必要であるが,それが W(a) Afa,b に属する場合は, a b ℓ 個で記述できることに注意してほしい。 QR-UOV では,公開鍵 F (x) の成分として 2 次斉次多項式を用いる。QR-UOV は双極型システムであるため, 5.2.2.2 節で述べたように,F (x) は,m 個の行列 (∈ Fqn×n ) を用いて記述することができる。QR-UOV では,これら V +M,V +M の行列がすべて W(V +M ) Af に属するような F (x) だけを用いる。但し,これらの行列は上三角行列の形に V +M,V +M はできないので,対称行列で記述する。この影響で,有限体の位数 q は奇数にする必要がある。W(V +M ) Af に属する行列は,一般の Fqn×n に属する行列よりも小さいサイズで記述できるため,オリジナルの UOV よりも QR-UOV の公開鍵の方が小さいサイズで記述できる。また,5.2.2.2 節で述べた UOV に対して適用できる公開鍵長削 減手法は,QR-UOV に対しても適用可能である。 安全性パラメータを λ とし,以下の関数を用意する。 • Expandsk : 任意の 2λ-ビット列から 1 個の AfV,M に属する行列を生成する疑似乱数生成関数 • Expandpk : 任意の 2λ-ビット列から m 個の W(V ) AfV,V に属する対称行列と,m 個の W(V ) AfV,M に属する 行列を生成する疑似乱数生成関数 • H : {0, 1}∗ → Fqm : 暗号学的ハッシュ関数 鍵生成 1. seedpk , seedsk ∈ {0, 1}2λ をランダムに選ぶ。 2. Expandpk (seedpk ) の計算により,Pi,1 ∈ W(V ) AfV,V(対称行列), Pi,2 ∈ W(V ) AfV,M (i = 1, . . . , m) を得る。 3. Expandsk (seedsk ) の計算により,S0 ∈ AfV,M を得る。 4. Pi,3 = −S⊤ ⊤ ⊤ 0 Pi,1 S0 + Pi,2 S0 + S0 Pi,2 ∈ Fq m×m (i = 1, . . . , m) を計算する。 86 公開鍵は pk = (seedpk , {Pi,3 }i=1,...,m ),秘密鍵は sk = seedsk である。次に,署名生成である。メッセージを M ∈ {0, 1}∗ とする。 署名生成 1. pk から (seedpk , {Pi,3 }i=1,...,m ) を取り出す。 2. sk から seedsk を取り出す。 3. Expandpk (seedpk ) の計算により,Pi,1 ∈ W(V ) AfV,V(対称行列), Pi,2 ∈ W (V ) AfV,M (i = 1, . . . , m) を得る。 4. Expandsk (seedsk ) の計算により,S0 ∈ AfV,M を得る。 5. Gi = −Pi,1 S0 + Pi,2 ∈ Fqv×m (i = 1, . . . , m) を計算する。 ! Iv 0v×m 6. U = ∈ Fqn×n とおく。 −S⊤ 0 Im 7. y = (y1 , . . . , yv ) ∈ Fqv をランダムに選ぶ。 8. L = (2 (y G1 )⊤ , . . . , 2 (y Gm )⊤ ) ∈ Fqm×m を計算する。(縦ベクトルを m 列並べて行列を作る。) 9. u = (y P1,1 y⊤ , . . . , y Pm,1 y⊤ ) ∈ Fqm を計算する。 10. salt ∈ {0, 1}λ をランダムに選び,t = H(M k salt) を計算する。 11. 連立線形方程式 x L = t − u の解を計算し,解 x = (yv+1 , . . . , yn ) ∈ Fqm を得る。もし解がなければ,Step 10 に戻る。 12. s = (y1 , . . . , yn ) U を計算する。 σ = (salt, s) が署名となる。最後に検証である。 検証 1. pk から (seedpk , {Pi,3 }i=1,...,m ) を取り出す。 2. σ から (salt, s) を取り出す。 3. Expandpk (seedpk ) の計算により,Pi,1 ∈ W(V ) AfV,V(対称行列), Pi,2 ∈ W(V ) AfV,M (i = 1, . . . , m) を得る。 ! Pi,1 Pi,2 4. Fi = (i = 1, . . . , m) とおく。 P⊤ i,2 Pi,3 5. t = H(M k salt) を計算する。 6. t′ = (s F1 s⊤ , . . . , s Fm s⊤ ) を計算する。 7. t = t′ ならば ‘受理’ を,それ以外は ‘棄却’ を返す。 5.3.2.2 QR-UOV のパラメータ選択 QR-UOV の設計に必要なパラメータは,λ, q, v, m, ℓ である。NIST PQC 標準化プロジェクト追加署名第 1 ラウン ドに提出されたドキュメント [14] では,以下のように QR-UOV のパラメータ見積もりが公開されている。 87 表 5.4: QR-UOV のパラメータと鍵および署名のサイズ (λ, q, v, m, ℓ) 安全性レベル 公開鍵サイズ 秘密鍵サイズ 署名サイズ (128, 7, 740, 100, 10) レベル 1 20, 657 Bytes 32 Bytes 331 Bytes (128, 31, 165, 60, 3) レベル 1 23, 657 Bytes 32 Bytes 157 Bytes (128, 31, 600, 70, 10) レベル 1 12, 282 Bytes 32 Bytes 435 Bytes (128, 127, 156, 54, 3) レベル 1 24, 271 Bytes 32 Bytes 200 Bytes (192, 7, 1100, 140, 10) レベル 3 55, 173 Bytes 48 Bytes 489 Bytes (192, 31, 246, 87, 3) レベル 3 71, 007 Bytes 48 Bytes 232 Bytes (192, 31, 890, 100, 10) レベル 3 34, 423 Bytes 48 Bytes 643 Bytes (192, 127, 228, 78, 3) レベル 3 71, 915 Bytes 48 Bytes 292 Bytes (256, 7, 1490, 190, 10) レベル 5 135, 439 Bytes 64 Bytes 662 Bytes (256, 31, 324, 114, 3) レベル 5 158, 453 Bytes 64 Bytes 306 Bytes (256, 31, 1120, 120, 10) レベル 5 58, 564 Bytes 64 Bytes 807 Bytes (256, 127, 306, 105, 3) レベル 5 173, 708 Bytes 64 Bytes 392 Bytes 5.3.3 署名方式 MAYO 5.3.3.1 MAYO の概要 MAYO [5, 6] は UOV の変種である。公開鍵を作る基となる変数の個数が少ない多変数多項式系 P (x) を用意して おき,検証者は,検証時(あるいはそれ以前)に P (x) から MAYO の公開鍵 F (x) を構成する。そのため,MAYO の公開鍵は,F (x) の係数集合ではなく,P (x) の係数集合となる。これにより,MAYO は,オリジナルの UOV に比 べて公開鍵長を小さくすることができる。 m, v, o, k を正の整数とし,o < m, n = v + o とする。2 次斉次多変数多項式写像 P (x) = (p1 (x), . . . , pm (x)) : Fqn → Fqm に対し,ある o 次元部分空間 O (⊂ Fqn ) があり, P (o) = 0m (o ∈ O) を満たすとする。5.2.2.1 節の言葉を使えば,O は oil 空間である。もし o ≥ m であれば,P (x) は UOV の公開鍵と して使用できるが,o < m なのでそれはできない。P ⋆ (x1 , . . . , xk ) : Fqkn → Fqm を次のようにおく。 X k X P ⋆ (x1 , . . . , xk ) = P (xi ) Ei,i + P ′ (xi , xj ) Ei,j (5.6) i=1 1≤i