ML-KEM (Module-Lattice KEM・Kyber・FIPS 203)(エムエルケーイーエム)
2024年8月NIST FIPS 203標準化のModule-Lattice Key Encapsulation Mechanism (鍵交換)。旧名Kyber (CRYSTALS-Kyber)・MLWE/MLWR問題ベースのPQC鍵交換。
概要
ML-KEM (Module-Lattice Key Encapsulation Mechanism) は2024年8月NIST FIPS 203 として標準化された Post-Quantum Cryptography (PQC) 鍵交換規格。旧名「Kyber」「CRYSTALS-Kyber」で、Module Learning With Errors (MLWE) と Module Learning With Rounding (MLWR) 数学問題の困難性に基づく安全性証明を持つ。2016年Peter Schwabe (RU Bochum) + Vadim Lyubashevsky (IBM Zurich) + Damien Stehlé (ENS Lyon) 等のEuropean研究者チーム発表 → 2017-2022年NIST PQC Round 1-3で評価 → 2022年Round 3 KEM部門勝者選出 → 2024年8月13日FIPS 203 公式標準化。
主な特徴・仕組み
- 数学的ベース: Module-LWE + Module-LWR
- 公開: 2024年8月13日 NIST FIPS 203
- 3パラメータレベル: ML-KEM-512 / -768 / -1024
- NIST Level 1 / 3 / 5 (AES-128/192/256相当)
- 公開鍵: 800 / 1184 / 1568 bytes
- 秘密鍵: 1632 / 2400 / 3168 bytes
- 暗号文: 768 / 1088 / 1568 bytes
- 性能: RSA-2048の10x高速 + ECDH X25519の2-3x高速
- 用途: TLS 1.3 / SSH / IPsec / Signal等の鍵交換
スペック比較表
| バリエーション | NIST Level | 公開鍵 | 暗号文 | 性能 |
|---|---|---|---|---|
| ML-KEM-512 | Level 1 (AES-128) | 800 B | 768 B | 最速 |
| ML-KEM-768 | Level 3 (AES-192) | 1184 B | 1088 B | 推奨 |
| ML-KEM-1024 | Level 5 (AES-256) | 1568 B | 1568 B | 最強 |
具体例・対応製品
- Google Chrome 124+ (X25519MLKEM768 Hybrid TLS)
- Cloudflare 全TLS (2024年9月・X25519Kyber768 Hybrid)
- OpenSSH 9.9 (mlkem768x25519-sha256 default)
- Signal PQXDH (X3DH + Kyber)
- Apple iMessage PQ3 (Kyber + ECC Hybrid)
自作PCでの選び方・注意点
PC設定不要だが、Web Browser / SSH Client / VPN Client が順次ML-KEM対応。Chrome 124+で自動的にX25519MLKEM768 Hybrid選択。OpenSSH接続時は自動的にmlkem768x25519-sha256優先選択。ハイブリッド方式 (X25519 + ML-KEM-768) で 量子耐性 + 互換性両立。
関連用語との違い
ML-KEM (FIPS 203) は鍵交換 (KEM = Key Encapsulation Mechanism)、ML-DSA (FIPS 204) は署名。両者ともLattice問題ベースだが用途異なる。SLH-DSA (FIPS 205) はHash衝突困難性ベースで Lattice問題発見リスクないがサイズ大・遅。
よくある質問(FAQ)
Q1: ML-KEM-768がデフォルト推奨は? A1: NIST Level 3 (AES-192相当) で性能とセキュリティのバランス最適。Google Chrome / Cloudflare / OpenSSH等の主要採用がML-KEM-768。
Q2: Hybrid方式とは? A2: X25519 (既存ECDH) + ML-KEM-768 (PQC) を併用し、両方の鍵交換結果をHKDF結合。万一どちらか破られても他方で安全性確保。
Q3: 性能オーバーヘッドは? A3: Chrome実測 TLS Handshake約1-3 ms増加 (X25519 0.3ms → X25519MLKEM768 1.5-3ms)。通常Web閲覧では体感差なし。
まとめ
- ML-KEM (FIPS 203) は2024年8月NIST標準化PQC鍵交換
- 旧名 Kyber / CRYSTALS-Kyber
- ML-KEM-512/768/1024 の3レベル (NIST Level 1/3/5)
- Chrome / Cloudflare / OpenSSH / Signal主要採用
- Module-LWE + MLWR問題ベース・RSA-2048の10x高速