なぜ今、暗号の移行が必要なのか

インターネット上の暗号通信(HTTPS、VPN、メール署名など)の大部分は、RSA楕円曲線暗号(ECC) に依存しています。これらは「大きな数の素因数分解」「離散対数問題」という数学的難問に基づいており、現在のコンピュータでは解読に数千年かかります。

しかし、量子コンピュータは状況を一変させます。

Shorのアルゴリズム — 量子コンピュータの脅威

1994年に数学者Peter Shorが発表した量子アルゴリズムは、素因数分解と離散対数問題を多項式時間で解くことができます。

アルゴリズム古典コンピュータ量子コンピュータ(Shor)
RSA-2048の解読宇宙の年齢以上数時間〜数日(理論上)
ECDSA P-256の解読事実上不可能数分〜数時間(理論上)
AES-256の解読不可能Groverのアルゴリズムで112ビット強度に低下(依然安全)
Harvest Now, Decrypt Later(今収穫・後解読)

量子コンピュータがまだ実用化されていない今日でも、国家レベルの攻撃者は暗号化された通信を今すぐ大量に記録・保存しています。将来、量子コンピュータが完成した時点でそのデータを解読する「今収穫・後解読(HNDL: Harvest Now, Decrypt Later)」攻撃は、すでに実施中と考えられています。

医療記録・法的契約・国家機密など、10年以上の機密性が必要なデータは今すぐ移行を検討する必要があります。

量子コンピュータの実用化タイムライン

時期状況
現在(2025年)エラー率が高い「NISQ(ノイズあり中規模量子)」デバイスが存在。RSA解読には数百万の物理量子ビットが必要で未到達
2030〜2035年多くの専門家が「暗号学的に意味のある量子コンピュータ(CRQC)」の出現可能性を指摘
2040年以降CRQC実用化の保守的な予測。ただし技術進歩は予測困難

NIST PQC 標準化プロジェクト

2016年から始まったNISTの標準化プロジェクトは、世界中の暗号研究者が提案した69のアルゴリズムを多年にわたって評価しました。

2024年8月:世界初のPQC標準が正式発布

標準番号アルゴリズム名元アルゴリズム用途特徴
FIPS 203ML-KEMCRYSTALS-Kyber鍵カプセル化(鍵交換)主要推奨。鍵サイズが小さく高速
FIPS 204ML-DSACRYSTALS-Dilithiumデジタル署名主要推奨。汎用署名向け
FIPS 205SLH-DSASPHINCS+デジタル署名(代替)ハッシュベース。保守的な設計
第4・第5の標準

FIPS 206(FN-DSA / FALCON) は署名アルゴリズムとして標準化予定です。格子問題に基づき、ML-DSAより署名サイズが小さいため、リソース制約のある環境(IoT、組み込みシステム)向けに適しています。

さらに、2025年3月にNISTはHQC(Hamming Quasi-Cyclic) を汎用暗号化のバックアップアルゴリズムとして選定しました。ML-KEMとは異なる符号理論ベースの設計であり、格子暗号に万一の脆弱性が見つかった場合の代替手段として、2026年にドラフト標準が公開予定です。


ML-KEM(FIPS 203)— 鍵カプセル化の仕組み

ML-KEM(Module-Lattice-based Key Encapsulation Mechanism) は、格子問題(Lattice Problem) の数学的困難性に基づいています。

格子問題とは

高次元格子上の最短ベクトル問題(SVP: Shortest Vector Problem)は、量子コンピュータでも効率的に解くアルゴリズムが知られていません。これがPQCの基盤となっています。

ML-KEM のセキュリティレベル

ML-KEM-512  → セキュリティレベル1(AES-128相当)
ML-KEM-768  → セキュリティレベル3(AES-192相当)★ 推奨
ML-KEM-1024 → セキュリティレベル5(AES-256相当)

RSA/ECDH との比較

鍵サイズ比較(セキュリティレベル3相当)
アルゴリズム公開鍵サイズ秘密鍵サイズ暗号文サイズ量子耐性
RSA-3072384バイト384バイト+384バイトなし
ECDH P-25665バイト32バイト65バイトなし
ML-KEM-7681,184バイト2,400バイト1,088バイトあり

鍵サイズはRSA/ECCより大きくなりますが、計算速度はMLKEM-768とECDH P-256は同程度です。


ML-DSA(FIPS 204)— デジタル署名の仕組み

ML-DSA(Module-Lattice-based Digital Signature Algorithm) も格子問題に基づく署名アルゴリズムです。

セキュリティレベル

ML-DSA-44 → セキュリティレベル2(NIST推奨最低ライン)
ML-DSA-65 → セキュリティレベル3 ★ 汎用推奨
ML-DSA-87 → セキュリティレベル5(最高強度)

署名サイズ比較

アルゴリズム公開鍵署名量子耐性
RSA-3072384B384Bなし
ECDSA P-25665B64Bなし
Ed2551932B64Bなし
ML-DSA-651,952B3,309Bあり

署名サイズが大きくなるため、TLS証明書チェーンや大量の署名が必要なユースケースではパフォーマンスへの影響を評価する必要があります。


SLH-DSA(FIPS 205)— ハッシュベース署名

SLH-DSA(Stateless Hash-Based Digital Signature Algorithm) は、格子ではなくハッシュ関数の安全性のみに依存します。

SLH-DSAの位置づけ

格子暗号への全面依存を避けたい場合のバックアップ選択肢です。格子問題が将来解読される可能性(現時点では極めて低い)に備えた「多様性の確保」として標準化されました。署名サイズが ML-DSA より大きく(7〜49KB)、主に長期保護が必要な用途(コード署名、証明書)に適しています。


暗号移行の実践ガイド

ハイブリッド暗号方式(推奨)

移行期間中は古典暗号とPQCを組み合わせた「ハイブリッド方式」 が推奨されます。どちらかが破られても安全性が保たれます。

TLS ハイブリッド鍵交換の例:
  X25519 (ECDH) + ML-KEM-768
  → どちらか一方が安全なら全体が安全

実デプロイ状況(2025〜2026年):
  Google Chrome (v124+) — X25519+ML-KEM がデフォルト有効
  Cloudflare — ハイブリッド鍵交換を全顧客向けに展開中
  Akamai — X25519+ML-KEM を2026年2月からデフォルト化
  OpenSSH 9.x — X25519+ML-KEM のハイブリッドが利用可能

CNSA 2.0 コンプライアンスタイムライン

米国NSAのCommercial National Security Algorithm Suite 2.0は、PQCへの移行を義務化しています。

2025年12月: 既存システムはCNSA 1.0準拠 または免除申請が必要
2027年1月 : 新規調達システムはCNSA 2.0準拠が必須
2030年    : ソフトウェア署名・Webサービスの完全移行期限
2033年    : 全システムタイプの最終コンプライアンス期限

移行ロードマップ

Phase 1(今すぐ):
  ✓ 暗号化資産のインベントリ作成
  ✓ どのシステムがRSA/ECCを使っているか把握
  ✓ 暗号の有効期限・重要度でリスク評価

Phase 2(2025〜2027年):
  ✓ 高優先度システムでハイブリッド方式の試験導入
  ✓ ライブラリ・ツールのPQC対応版への更新
  ✓ TLS/SSH のPQCハイブリッド有効化

Phase 3(2027〜2030年):
  ✓ 全システムでPQCへの完全移行
  ✓ RSA/ECDH の廃止
  ✓ 証明書・鍵管理インフラの更新
長期保護データの優先順位

移行の優先順位は「データの機密保護期間」で決まります。今日暗号化して10年後まで秘密にしたいデータは、今すぐPQCで保護する必要があります。逆に短期間しか価値のないデータ(今日のセッション鍵など)は移行の優先度が低くなります。

openssl でPQC アルゴリズムを確認

OpenSSL 3.x でサポートされるPQCアルゴリズムを確認

openssl list -kem-algorithms | grep -i kyber openssl list -signature-algorithms | grep -i dilithium

OQS-provider (Open Quantum Safe) をインストールすれば

ML-KEM, ML-DSA が利用可能になる

https://github.com/open-quantum-safe/oqs-provider

ML-KEM-768 の鍵ペアを生成(OQS-providerインストール後)

openssl genpkey -algorithm mlkem768 -out mlkem768.key

ML-DSA-65 の署名鍵を生成

openssl genpkey -algorithm mldsa65 -out mldsa65.key


対称暗号・ハッシュ関数への影響

量子コンピュータはすべての暗号を破るわけではありません。

Groverのアルゴリズム は対称暗号・ハッシュ関数の解読を高速化しますが、二乗根程度(√N)の改善に留まります。

アルゴリズム現在のセキュリティ量子後のセキュリティ対応
AES-128128ビット64ビット(危殆化AES-256に移行
AES-256256ビット128ビット(安全)そのまま利用可能
SHA-256256ビット128ビット(安全)そのまま利用可能
SHA-3-256256ビット128ビット(安全)そのまま利用可能
まず AES-256 への移行を

PQCへの完全移行は時間がかかりますが、AES-256への移行は今すぐできる最初のステップです。対称暗号の鍵長を128→256ビットに上げるだけで量子耐性を大幅に向上できます。


理解度チェック

NIST FIPS 203(ML-KEM)が基づく数学的困難性はどれですか?

理解度チェック

「Harvest Now, Decrypt Later」攻撃で正しい説明はどれですか?