Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Pos...

Avatar for mackey0225 mackey0225
November 15, 2025

JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Post-Quantum Crypto Basics from JEP 496 & 497

Avatar for mackey0225

mackey0225

November 15, 2025
Tweet

More Decks by mackey0225

Other Decks in Programming

Transcript

  1. JEP 496 と JEP 497 から学ぶ 耐量子計算機暗号入門 2025-11-15 JJUG CCC

    2025 Fall BABY JOB株式会社 浅野 正貴 (@mackey0225)
  2. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 自己紹介 名前:浅野 正貴 所属:BABY JOB株式会社

    最近は AWS やインフラがメイン X: @mackey0225 最近、情報処理安全確保支援士になりました
  3. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 話の流れ • JEP 496

    と JEP 497 の概要 ◦ 記載されている内容を中心に整理 • 前提となる暗号技術についておさらい ◦ 共通鍵暗号、公開鍵暗号、鍵共有、署名 など • 耐量子計算機暗号入門 ◦ 耐量子計算機暗号がなぜ必要なのか? ◦ 耐量子計算機暗号の概要
  4. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 https://openjdk.org/jeps/496 ざっくりいうと、 • 量子計算機耐性のある

    ML-KEM の実装を提供した • 鍵カプセル化メカニズム( KEM)は、公開鍵暗号を使って 安全でない通信路で秘密鍵を安全に扱うために使用される • ML-KEM は NIST によって FIPS 203 で標準化されている
  5. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 https://openjdk.org/jeps/496 ざっくりいうと、 • Shor

    のアルゴリズム で既存の公開鍵暗号が危殆化する • スパコンで数千年かかる暗号解読が、量子計算機によって数 時間でできる可能性がある • 攻撃者は現在から暗号化データを保存し、将来量子計算機で 解読する可能性がある(=HNDL攻撃 )ので、耐量子計算機 暗号への移行は急務である • アメリカの機密情報を扱う政府システム今後10年で ML-KEM に移行する必要がある • Java として、このアルゴリズムの実装提供が不可欠である
  6. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 https://openjdk.org/jeps/497 ざっくりいうと、 • 量子計算機耐性のある

    ML-DSA の実装を提供した • デジタル署名アルゴリズム (DSA) は、データの改ざんや 署名者の身元を認証するために使用される • ML-DSA は NIST によって FIPS 204 で標準化されている
  7. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 まとめると... • Shor のアルゴリズムによる公開鍵暗号の危殆化の懸念

    • 現時点でも HNDL 攻撃の脅威はある • 耐量子計算機暗号への切り替えが求められている • JEP 496 ◦ 鍵カプセル化メカニズム ML-KEM の実装 ◦ FIPS 203 と関連している • JEP 497 ◦ デジタル署名アルゴリズム ML-DSA の実装 ◦ FIPS 204 と関連している
  8. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 公開鍵暗号 共通鍵暗号 Shor のアルゴリズム

    量子計算機 FIPS 203 FIPS 204 デジタル署名アルゴリズム 鍵カプセル化メカニズム HNDL 攻撃 格子暗号
  9. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 Shor のアルゴリズム 量子計算機 FIPS

    203、FIPS 204 HNDL 攻撃 格子暗号 公開鍵暗号 共通鍵暗号 デジタル署名アルゴリズム 鍵カプセル化メカニズム
  10. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 Shor のアルゴリズム 量子計算機 FIPS

    203、FIPS 204 HNDL 攻撃 格子暗号 基本となる話 耐量子計算機暗号入門 公開鍵暗号 共通鍵暗号 デジタル署名アルゴリズム 鍵カプセル化メカニズム
  11. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 Shor のアルゴリズム 量子計算機 FIPS

    203、FIPS 204 HNDL 攻撃 格子暗号 基本となる話 耐量子計算機暗号入門 公開鍵暗号 共通鍵暗号 デジタル署名アルゴリズム 鍵カプセル化メカニズム
  12. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 小目次 • そもそも、なぜ暗号が必要なのか •

    共通鍵暗号・公開鍵暗号・鍵共有・ハイブリッド暗号 ◦ RSA暗号、ディフィーヘルマン鍵共有、楕円曲線暗号 • 鍵カプセル化メカニズム(KEM) • デジタル署名アルゴリズム(DSA)
  13. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 😭 👍 インターネット上の通信は誰が見ているか分からない 「盗聴」だけでなく

    「改ざん」や「なりすまし」の可能性もある サービスを提供する側だけでなく ユーザーを守る上でもセキュリティは重要
  14. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 情報セキュリティの3要素(CIA) セキュリティ要件を検討する際に重要な観点 • 機密性:認可された人だけアクセスできること

    • 完全性:情報が改ざんされていないことを保証すること • 可用性:必要なときにいつでも利用可能な状態にすること
  15. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 情報セキュリティの3要素(CIA) セキュリティ要件を検討する際に重要な観点 • 機密性:認可された人だけアクセスできること

    • 完全性:情報が改ざんされていないことを保証すること • 可用性:必要なときにいつでも利用可能な状態にすること 上記に加えて、真正性、信頼性、責任追跡性、否認防⽌を含 めた7要素で考えることでより網羅的に検討できる
  16. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 情報セキュリティの3要素(CIA) セキュリティ要件を検討する際に重要な観点 • 機密性:認可された人だけアクセスできること

    • 完全性:情報が 改ざんされていないことを保証すること • 可用性:必要なときにいつでも利用可能な状態にすること 上記に加えて、真正性、信頼性、責任追跡性、否認防⽌を含 めた7要素で考えることでより網羅的に検討できる 今日の話のメインは 「機密性」と「完全性」です
  17. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 具体的な実現方法 • 共通鍵暗号 •

    公開鍵暗号 • 鍵共有 • ハイブリッド暗号(KEM・DEM) • デジタル署名アルゴリズム(DSA) • メッセージ認証コード(MAC) • ハッシュ関数  など
  18. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 余談:暗号技術の歴史 • 暗号技術は古くからある ◦

    紀元前5世紀ごろ:スキュタレー暗号(転置式暗号) ◦ 紀元前1世紀ごろ:シーザー暗号(換字式暗号) ◦ 第二次世界大戦のドイツ軍の「エニグマ」 • 戦時中で遠隔地の味方への情報伝達に利用 ◦ 敵に暗号文を盗まれても内容がバレない
  19. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 共通鍵暗号(特徴) • 暗号化と復号で同じ共通鍵を使用 •

    以下の2つに分類される ◦ ストリーム暗号:ChaCha20 ◦ ブロック暗号:DES(非推奨), AES • 公開鍵暗号に比べると計算コストが小さい • 共通鍵をどのように共有するか(鍵配送問題) • 通信相手が増えると管理コストが大きい
  20. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 「鍵配送問題」 生成した共通鍵をどのように共有すればいい? 秘密鍵 秘密鍵

    Alice Bob 🤨 🤨 😏 「公開鍵暗号」と「鍵共有」を用いて解消 共通鍵暗号 共通鍵暗号(鍵配送問題)
  21. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 公開鍵暗号(特徴) • 公開鍵と秘密鍵のペアで管理 ◦

    公開鍵:みんなに配ってOK、暗号化に使う ◦ 秘密鍵:厳重に保管し、復号に使う • ここでの「公開鍵暗号」はPKE(Public Key Encryption)のこと ◦ 鍵共有、デジタル署名でも公開鍵暗号が出てくるがPKEと は違いPKC(Public Key Cryptgraphy)を指す ◦ PKEはPKCの一要素 • PKEの代表的なのは、RSA暗号、ElGamal暗号がある • 共通鍵暗号に比べると計算コストが大きい
  22. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 • 1977年に Rivest, Shamir,

    Adleman の3名によって発明 ◦ それ以前にイギリス GCHQ のメンバーが考案した説もある • 大きな素数の合成数の素因数分解の困難性を利用 • フェルマーの小定理やユークリッド互除法が必要 • RSA暗号をそのまま使うことはない(RSA-OAEPを使う) ◦ ハッシュ関数や乱数を組み合わせたものを使う ◦ 同じ平文に対していつも同じ暗号文になってしまう RSA暗号(概要)
  23. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 公開鍵と秘密鍵をどう作るか 1. 素数 p,

    q を決めて、p × q を n とする 2. 整数を1つ選び e とする (通常は e=65537 とすることが多い) 3. d を d × e を (p-1)(q-1) で割った余りが 1 となるように 選ぶ この時の n と e の2つが公開鍵、d が秘密鍵となる RSA暗号(ちょっぴり数学)
  24. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 平文 m としたとき、暗号化は以下とする。 Enc(m)=m^e

    mod n 暗号文 c に対して、復号は以下とする。 Dec(c)=c^d mod n RSA暗号(ちょっぴり数学)
  25. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 簡単な計算 • p=3、q=5とすると、n=15 •

    e=7 とする • 7 × d が 8 で割ると 1 余るように決めると d=7 平文m=2を暗号化すると Enc(m)=2^7 mod 15 = 8 となる 暗号文c=8を復号すると Dec(c)=8^7 mod 15 = 2 となる RSA暗号(ちょっぴり数学)
  26. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 鍵共有(特徴) • 事前の秘密の共有無しに、安全でない通信路を使って鍵の 共有を可能にする

    • 主にDH鍵共有や楕円曲線DH鍵共有が使われている • 中間者攻撃に弱い 今回のJEPに関する話ではなく、Shor のアルゴリズムに影響 を受けるものなので取り上げた
  27. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 ディフィー・ヘルマン鍵共有(ちょこっと数学) Alice Bob 公開データ:p,

    g 秘密鍵A:a 公開鍵A:A:=g^a mod p 秘密鍵B:b 公開鍵B:B:=g^b mod p 公開データと秘密鍵から公開鍵を求める
  28. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 ディフィー・ヘルマン鍵共有(ちょこっと数学) Alice Bob 公開データ:p,

    g 秘密鍵A:a 公開鍵A:A:=g^a mod p 秘密鍵B:b 公開鍵B:B:=g^b mod p K_B:=A^b mod p K_A:=B^a mod p 自分の秘密鍵と相手の公開鍵を使って、計算する
  29. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 ディフィー・ヘルマン鍵共有(ちょこっと数学) このそれぞれのK_AとK_Bが同じ値になる →共通鍵暗号の共通鍵として利用 Alice

    Bob 公開データ:p, g 秘密鍵A:a 公開鍵A:A:=g^a mod p 秘密鍵B:b 公開鍵B:B:=g^b mod p K_B:=A^b mod p K_A:=B^a mod p 共通鍵:K=K_A=K_B
  30. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 ディフィー・ヘルマン鍵共有(ちょこっと数学) 仮に、p, g, A,

    B が知られても、K を容易には求められない (多項式時間では解く方法が現状ない) Alice Bob 公開データ:p, g 秘密鍵A:a 公開鍵A:A:=g^a mod p 秘密鍵B:b 公開鍵B:B:=g^b mod p K_B:=A^b mod p K_A:=B^a mod p 共通鍵:K=K_A=K_B Eve
  31. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 ディフィー・ヘルマン鍵共有(ちょこっと数学) Alice Bob 公開データ:p,

    g 秘密鍵A:a 公開鍵A:A:=g^a mod p 秘密鍵B:b 公開鍵B:B:=g^b mod p K_B:=A^b mod p K_A:=B^a mod p 共通鍵:K=K_A=K_B
  32. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 ディフィー・ヘルマン鍵共有(ちょこっと数学) Alice Bob 公開データ

    p=11, g=3 秘密鍵A:a 公開鍵A:A:=g^a mod p 秘密鍵B:b 公開鍵B:B:=g^b mod p K_B:=A^b mod p K_A:=B^a mod p 共通鍵:K=K_A=K_B
  33. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 ディフィー・ヘルマン鍵共有(ちょこっと数学) Alice Bob 公開データ

    p=11, g=3 秘密鍵A:a=4 公開鍵A:A:=g^a mod p 秘密鍵B:b=5 公開鍵B:B:=g^b mod p K_B:=A^b mod p K_A:=B^a mod p 共通鍵:K=K_A=K_B
  34. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 ディフィー・ヘルマン鍵共有(ちょこっと数学) Alice Bob 公開データ

    p=11, g=3 秘密鍵A:a=4 秘密鍵B:b=5 K_B:=A^b mod p K_A:=B^a mod p 公開鍵A:A:=3^4 mod 11 →A=4 mod 11 公開鍵B:B:=3^5 mod 11 →B=1 mod 11 共通鍵:K=K_A=K_B
  35. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 ディフィー・ヘルマン鍵共有(ちょこっと数学) Alice Bob 公開データ

    p=11, g=3 秘密鍵A:a=4 秘密鍵B:b=5 K_B:=4^5 mod 11 →K_B=1 mod 11 K_A:=1^4 mod 11 →K_A=1 mod 11 公開鍵A:A:=3^4 mod 11 →A=4 mod 11 公開鍵B:B:=3^5 mod 11 →B=1 mod 11 共通鍵:K=K_A=K_B
  36. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 ディフィー・ヘルマン鍵共有(ちょこっと数学) Alice Bob 公開データ

    p=11, g=3 秘密鍵A:a=4 秘密鍵B:b=5 K_B:=4^5 mod 11 →K_B=1 mod 11 K_A:=1^4 mod 11 →K_A=1 mod 11 共通鍵:K=1 mod 11 公開鍵A:A:=3^4 mod 11 →A=4 mod 11 公開鍵B:B:=3^5 mod 11 →B=1 mod 11
  37. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 ハイブリッド暗号 • 共通鍵暗号と公開鍵暗号のいいとこどり •

    公開鍵暗号の計算コストが抑えられる • ハイブリッド暗号は KEM と DEM で構成している ◦ KEM:鍵カプセル化メカニズム ◦ DEM:データカプセル化メカニズム
  38. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 AliceがBobの公開鍵を使って共通鍵を暗号化する 秘密鍵 Alice Bob

    共通鍵 暗号化 暗号化 公開鍵 共通鍵 ハイブリッド暗号(大まかな流れ)
  39. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 Aliceが暗号化した共通鍵と送信文をBobに送信 秘密鍵 Alice Bob

    共通鍵 暗号化 暗号化 公開鍵 共通鍵 共通鍵 ハイブリッド暗号(大まかな流れ)
  40. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 Bobは秘密鍵で暗号化した共通鍵を復号する Alice Bob 共通鍵

    暗号化 暗号化 公開鍵 共通鍵 共通鍵 秘密鍵 共通鍵 復号 ハイブリッド暗号(大まかな流れ)
  41. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 Bobは復号した共通鍵で暗号化された送信文を復号する Alice Bob 共通鍵

    暗号化 暗号化 公開鍵 共通鍵 共通鍵 秘密鍵 共通鍵 復号 復号 ハイブリッド暗号(大まかな流れ)
  42. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 KEM と DEM の大まかなイメージ

    Alice Bob 共通鍵 暗号化 暗号化 公開鍵 共通鍵 共通鍵 秘密鍵 共通鍵 復号 復号
  43. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 KEM と DEM の大まかなイメージ

    Alice Bob 共通鍵 暗号化 暗号化 公開鍵 共通鍵 共通鍵 秘密鍵 共通鍵 復号 復号 KEM DEM
  44. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 デジタル署名アルゴリズム(特徴) • メッセージやデータの完全性を示す •

    署名鍵と検証鍵のペアを生成して行う ◦ 公開鍵暗号でいうとそれぞれ秘密鍵と公開鍵にあたる ◦ ただし、暗号化・復号と違うことに注意 • メッセージ認証コード(MAC)は共通鍵暗号に相当する • 楕円曲線を用いた ECDSA やエドワーズ曲線を用いた EdDSA が例としてある
  45. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 Bobが検証鍵を使って検証を行う 署名鍵 Alice Bob

    検証鍵 署名 データ 署名 データ 署名 受理 or 拒否 検証 デジタル署名アルゴリズム(大まかな流れ)
  46. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 Bobが検証鍵を使って検証を行う →正しい署名であれば受理、不正な署名であれば拒否 署名鍵 Alice

    Bob 検証鍵 署名 データ 署名 データ 署名 受理 or 拒否 検証 デジタル署名アルゴリズム(大まかな流れ)
  47. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 参考:暗号技術の分類 光成滋生著.図解即戦力 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書.技術評論社.2021,p.168 に掲載されている図を参考に作成

    ECDH鍵共有 DH鍵共有 ECDSA、EdDSA DSA 楕円ElGamal暗号 RSA暗号、ElGamal暗号 AES、ChaCha20 HMAC、CMAC SHA-2、SHA-3 公開鍵暗号 PKC 楕円曲線暗号 ECC 鍵共有 署名 公開鍵暗号 PKE ハッシュ関数 共通鍵暗号 MAC
  48. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 参考:楕円曲線暗号 • 楕円曲線という平面曲線上の点同士の足し算の性質を使っ たもの

    ◦ 楕円曲線というけど、楕円の形は関係ない ◦ y^2 = x^3 + ax + b の形式で表される曲線 • 点 P に対して、2P = P + P 、abP = baP ◦ DH鍵共有の例として、aP, bP から abP が導出困難で あることを利用している
  49. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 小目次 • 耐量子計算機暗号とは •

    耐量子計算機暗号がなぜ必要なのか? • 耐量子計算機暗号の代表例
  50. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 参考:量子計算機とは • 量子の性質を利用して計算を行う計算機 ◦

    粒子性と波動性、重ね合わせの原理とか • 一般に以下の2種類がある ◦ ゲート方式 ▪ 一般的にはこっちを指すことが多い ◦ アニーリング方式 ▪ 組み合わせ最適化に特化している(汎用化も可)
  51. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 有名な量子アルゴリズム 従来の計算機にくらべて計算量が小さくなる • Deutsch(1985)、Deutsch

    - Jozsa(1992) ◦ 実用性は低いが、量子計算機の特性が現れている • Shor(1994) ◦ 素因数分解を多項式時間で解くことが可能になる • Grover(1996) ◦ 探索問題でO(N)→O (N ^(1/2))になる
  52. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 耐量子計算機暗号がなぜ必要なのか? • 計算量的困難性の下に安全が保証されている ◦

    解くのが難しい・莫大な時間がかかるからOK ◦ (「技術的には可能です!」に近い) • 広く使われている暗号技術は「素因数分解」と「離散対数 問題」の計算量的困難性に基づいている ◦ RSA暗号、ElGamal暗号、楕円曲線暗号
  53. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 • Shor のアルゴリズムによって「素因数分解」と「離散対 数問題」が多項式時間で解かれる

    • 現状、大規模な実用化された量子計算機がない ◦ まだ大丈夫?慌てる時間じゃない? ◦ とはいえ、2030年ごろって言われている • Harvest Now, Decrypt Later 攻撃 ◦ 暗号化データを集めて、将来的に解読される 耐量子計算機暗号がなぜ必要なのか?
  54. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 NIST FIPS標準について • アメリカ国立標準技術研究所(NIST)が2016年からPQC

    の標準化の検討を開始 • 2024年8月に連邦情報処理標準(FIPS)として3つが決 まった(次項)
  55. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 NIST FIPS標準について • FIPS

    203 ◦ ML-KEM(Module-Lattice-Based Key-Encapsulation Mechanism) ◦ 格子暗号の鍵交換アルゴリズムのCRYSTALS-Kyberがベース • FIPS 204 ◦ ML-DSA(Module-Lattice-Based Digital Signature Algorithm) ◦ 格子暗号の電子署名アルゴリズムのCRYSTALS-Dilithiumがベース • FIPS 205 ◦ SLH-DSA(Stateless Hash-Based Digital Signature Algorithm ◦ ハッシュ関数の電子署名アルゴリズムのSPHINCS+がベース ◦ ML-DSAが脆弱であると判明した場合のバックアップ
  56. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 耐量子計算機暗号の代表例 • 符号暗号 •

    ハッシュ関数署名 • 多変数多項式暗号 • 格子暗号 • 同種写像暗号
  57. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 符号暗号 • 1970年代後半から提案されている •

    誤り訂正符号に関する以下の計算の困難性に依存 ◦ シンドローム復号(Syndrome Decoding: SD)問題 ◦ Learning Parity with Noise(LPN)問題
  58. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 ハッシュ関数署名 • 1970年代末・1980年代前半から提案されている •

    ハッシュ関数の衝突困難性を安全性の根拠とする署名 • ハッシュ関数署名 XMSS(eXtend Merkle Signature Scheme)がすでに IETF により RFC8391 で標準化済み • FIPS 205 にて SLH-DSA が標準化済み
  59. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 多変数多項式暗号 • 1980年代前半から提案されている •

    多変数多項式の求解問題(Mulivariate Quadratic polynomial (MQ問題))の困難性を暗号に活用 • 初期の方式は日本人(松本勉氏、今井秀樹氏)が発案
  60. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 同種写像暗号 • 1990年代後半ごろから提案されている •

    同種写像は2つの楕円曲線の間の写像(対応)のこと • 点の数が等しい二つの(超特異)楕円曲線の間の同種写像 を見つける問題の困難性を用いた暗号
  61. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 格子暗号 • 1990年代後半から提案されている •

    ノイズ項がついた連立一次方程式の解を求めることの困難 性(LWE(Learning with Errors)問題)を用いた暗号 • FIPS 203 にて ML-KEM が標準化された • FIPS 204 にて ML-DSA が標準化された
  62. JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 まとめ • JEP 496,

    JEP 497 はそれぞれ FIPS 203, FIPS 204 の Java への実装提供 • 現在使われている暗号技術は危殆化する可能性がある • 耐量子計算機暗号への切り替えは可及速やかに対応すべき ◦ 各クラウドベンダーの対応状況やパフォーマンス影響も確 認しながら進める • 切り替えれば安心というわけではない ◦ 技術の進歩にともなって新たな脅威は出てくる