CRYSTALS-Kyber(Cryptographic Suite for Algebraic Lattices — Key Encapsulation Mechanism)は、量子コンピュータ時代における暗号通信の新しい標準です。2024年8月、米国国立標準技術研究所(NIST)はKyberをFIPS 203(ML-KEM)として正式に標準化しました。
格子暗号とLWE問題
Kyberの安全性は、格子暗号の「Learning With Errors(LWE:誤り付き学習)」問題に基づいています。この問題は、格子上の特定のベクトルを見つけることに相当し、古典コンピュータでも量子コンピュータでも効率的に解くことができないと考えられています。
簡単に言えば、多数の「ノイズの入った」方程式から元の秘密を復元する問題であり、ノイズが十分に大きい場合、どんなコンピュータでも解読は不可能です。
Kyberの技術仕様
- Kyber-512:NIST Security Level 1(AES-128相当)
- Kyber-768:NIST Security Level 3(AES-192相当)
- Kyber-1024:NIST Security Level 5(AES-256相当)— BMICが使用
Kyber-1024の公開鍵サイズは1,568バイトで、RSAの鍵サイズと比較しても非常にコンパクトです。暗号化・復号化の速度も高速で、ブロックチェーンアプリケーションに適しています。
世界的な採用状況
Kyberは既に多くの主要組織で採用されています:
- 米国政府(機密通信用)
- NATO(北大西洋条約機構)
- Google Chrome(ハイブリッドTLS)
- Signal メッセンジャー
- BMIC(仮想通貨として初のプロトコルレベル実装)
日本でも、NTTやNICTがKyberベースのセキュリティソリューションの研究を進めています。
BMICにおけるKyberの実装
BMICでは、すべての鍵交換プロセスにCRYSTALS-Kyber-1024を使用しています。ウォレットの鍵生成、トランザクション署名、ステーキングコントラクトの保護まで、すべてがNIST標準の量子耐性暗号で守られています。