JDK 24のリリースと耐量子暗号
2025-03-18に、JDK 24がリリースされました。半年毎の定期バージョンアップで、非LTSです。 JDK 24
ざっと新機能を眺めてみると、Quantum-Resistant で始まる機能が2つほど正式採用されていました。
- Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism (JEP 496)
- Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm (JEP 497)
なんだろうなと思いつつ、JEPのサマリを読んでもピンときませんでした。そんな時、日経NETWORK 2025年3月号の包装を開き、ペラペラ読んでいたら、特集記事「耐量子暗号は正解か 暗号の2030年問題」に、RSA-2048の移行先として耐量子暗号が候補に上がっており、JEPのサマリに登場した略語 ML-KEM、ML-DSA が出てきました。
記事を要約すると
現在の暗号方式であるRSAやECCは暗号方式として素因数分解や楕円上の離散対数に基づいpており、今後量子コンピュータの性能向上で解読されることが予想されています。そこで、量子コンピュータでも解読が難しい耐量子暗号として、格子暗号、符号暗号、多変数多項式暗号に基づく暗号方式の標準化をNISTが進めており、2024年8月に鍵交換・データ暗号化に使うML-KEM、デジタル署名に使うML-DSA、SLH-DSAの3つが標準化されました。残るデジタル署名のFN-DSAはまだ標準化が公開されていません。
ここで登場する ML-KEMがJEP 496、ML-DSAがJEP 497でJDK 24に取り入れられたということです。
ただ、記事では、耐量子暗号の安全性の検証に十分時間がかけられておらず、今後脆弱性が見つかる可能性も指摘されていました。