本文へスキップ
ecdsa.com

SLH-DSA(FIPS 205)

SPHINCS+ から派生した FIPS 205(2024年8月)のステートレスなハッシュベースのデジタル署名アルゴリズムで、安全性はハッシュ関数だけに依存しますが、その代わりに署名が 7.8〜50 KB と大きく、署名処理も低速です。
別表記SLH-DSAFIPS 205SPHINCS+SLH-DSA-SHA2-128s

ワンタイム署名(WOTS+)を使うマークルツリーの層を重ねたハイパーツリーと、少数回署名方式の FORS を組み合わせています。12 のパラメーターセットがカテゴリ 1、3、5 の SHA-2 と SHAKE を対象とし、それぞれに小型(s)と高速(f)のバリアントがあります。公開鍵は 32、48、64 バイトのいずれかで、署名は 7,856 バイト(128s)から 49,856 バイト(256f)までです。各鍵で最大 2⁶⁴ 個のメッセージに署名でき、LMS や XMSS と異なり、状態を保持する必要はありません。

Apple M4 Max の 1 コアで OpenSSL 3.6.5 を使った場合、SLH-DSA-SHA2-128s は 1 秒あたり約 7 回の署名(1 回あたり約 137 ミリ秒)と約 7,400 回の検証を行います。128f バリアントは 1 秒あたり約 144 回署名でき、署名は 17,088 バイトです。そのため、接続ごとの署名よりも、信頼の基点、ファームウェア、長期間使われる文書に適しています。

SLH-DSA は、格子に基づく安全性の前提が予想外に破られる事態に備える、保守的な選択肢です。X.509 の識別子は RFC 9909 で定められており(id-slh-dsa-sha2-128s、2.16.840.1.101.3.4.3.20 以降)、RFC 9980 は SLH-DSA-SHAKE のバリアントを OpenPGP に導入します。

規格と参考文献

すべての用語