SPHINCS+ ポスト量子署名スキームの実装は、WOTS+ 署名生成時に欠陥のある乱数生成器を使用します。同じナンス k が複数の署名にわたって再利用されるため、攻撃者は秘密鍵を復元し、任意のメッセージを偽造できます。
k に依存します。k の再利用により、シードを明らかにする代数的関係が漏洩します。シミュレーションを実行します:
python sphincs_forge.py
python exploit_sphincs_forge.py
出力は、弱い署名が生成されたことを示します。実際の攻撃者は、同じ k を持つ 2 つの (r,s) ペアを使用して秘密鍵を計算するでしょう。