耐量子暗号(PQC)の用語チートシート

先日のブログで報告したとおり、耐量子暗号アルゴリズムの標準がドラフト段階から正式版になったと8/11に発表がありました。今回承認された3つのアルゴリズムには、NISTによる標準の名称がつけられています。これらの名称は、これまで使われていた開発者による名称とは異なるため、そのあたりを一度整理しておきます。

NISTにより標準化された耐量子暗号アルゴリズム

NISTによる標準の名称(省略)

NISTによる標準の名称これまでの開発者による名称FIPS用途wolfSSLの対応
ML-KEMModule-Lattice Key Encapsulation Mechanism

格子ベースの鍵カプセル化メカニズム
CRYSTALS-Kyber
FIPS-203鍵のカプセル化

(鍵交換)
wolfSSL v5.5.4 (2022/12)で独自実装済み
ML-DSA
Module-Lattice Digital Signature Algorithm

格子ベースのデジタル署名アルゴリズム
CRYSTALS-DilithiumFIPS-204デジタル署名wolfSSL v5.7.2 (2024/07)で独自実装済み
SLH-DSAStateless Hash-based Digital Signature Algorithm

ステートレスなハッシュベースのデジタル署名方式
SPHINCS+FIPS-205デジタル署名wolfSSL v5.5.1 (2022/9)で独自実装済み。

これまでの名称にあるKyberとDilithiumの前についているCRYSTALS は、Cryptographic Suite for Algebraic Latticesの略で、直訳すると代数的格子の暗号スイート。KyberとDilithiumは、このCRYSTALSプロジェクトから生まれました。

Dilithiumはスタートレックに登場したダイリチウム結晶(Dilithium Crystals)から取ったとの説もあり、英語の発音ではディリシアムと聞こえますが、日本ではダイリチウムで定着するかもしれませんね。Kyber Crystalの方も、スターウォーズに登場する物質で同じ名前のものがあったようです。

PQCは既によく使われていますが、Post-Quantum Cryptographyの略で、量子の後の暗号という意味でポスト量子暗号、もしくは耐量子暗号と同義語です。

このほか、PQCでよく登場するLMS(Leighton-Micali Signature)とXMSS(eXtended Merkle Signature Scheme)はMerkleツリーを用いたハッシュベースの署名方式で、デジタル署名に使われます。これらはステートフルのため今回のNIST標準化からは外れましたが、IETFではLMSがRFC8554、XMSSがRFC8391として標準化されています。ブロックチェーンなどに広く使われており、PQCとしても見直されています。この二つも弊社の独自実装がオープンソース、商用版のwolfSSLに含まれています。

ご質問がございましたら、info@wolfssl.jp までお問い合わせください。