SNOVAS

SNOVA

SNOVA は、NIST 耐量子計算機暗号(PQC)標準化プロジェクトの Round 3 に選出されたデジタル署名アルゴリズムである。現行版は 2026 年 8 月版である。

概要

SNOVA は、効率の向上と公開鍵サイズの削減のために非可換環上で動作するよう設計された Unbalanced Oil and Vinegar(UOV)署名方式の変種である。従来の UOV 署名方式は公開鍵サイズが過大であるという問題を抱えるが、SNOVA は key-randomness alignment 手法を用いることでこの問題に対処している。この手法は、非可換性による悪影響を受けることなく、非可換環にうまく適応する。

Round 1 および Round 2 の評価過程で行われた暗号解析を受けて、SNOVA 方式は、より柔軟な枠組みを提供するために Round 3 提出版に向けて再定式化された。最近の研究では、SNOVA は、F_q[S] の構造を利用して構造化された UOV 公開鍵に対し、MAYO と同様の whipping 変換を適用したものとして特徴づけられることが示されている。環 F_q[S] は拡大体 F_(q^l) と同型であるため、この設計は、QR-UOV で用いられている多項式行列の手法と類似している。

Round 3 における再定式化では、長方行列に対応するよう署名を拡張し、7 つのパラメータ (v, o, q, l, r, m_1, m_2) によって定義される方式が得られる。これにより、whipping 次元 r を l とは異なる独立したパラメータとすることができ、また方程式の個数 m_2 を公開鍵行列の個数 m_1 とは独立に選択することができる。この再定式化は、安全性の面での利点と、パラメータ選択におけるはるかに高い柔軟性をもたらす一方で、Round 2 版との完全な後方互換性を保っている。

利点

  • MQ ベースの署名方式として、SNOVA は多変数多項式に基づく構成に特徴的な短い署名を保持しつつ、従来の MQ 署名方式で生じる公開鍵サイズが過大であるという問題を大幅に緩和している。SNOVA は、すべてのセキュリティレベルにおいて Falcon よりも小さい公開鍵サイズと署名サイズを実現する。
  • 要求される計算量が控えめであり、検証が高速である。署名生成と検証は、比較的単純な行列演算と有限体演算を用いて実装されている。これらの演算は、AVX2 や GFNI といった命令セットを用いることで、最新のプロセッサ上で効率的に高速化することができる。
  • パラメータの柔軟性が高く、安全性マージンが大きい。Round 3 の SNOVA は長方形の署名に対応する。得られる枠組みは、7 つのパラメータ (v,o,q,l,r,m_1,m_2) によって記述される。これらのパラメータにより、公開鍵サイズ、署名サイズ、計算性能、既知の攻撃に対する耐性のバランスを取るうえで、大きな柔軟性が得られる。また、目標とする NIST セキュリティレベルの最低要件を大幅に上回る安全性マージンをもつ、保守的なパラメータセットを選択することも可能となる。
  • SNOVA は概念的には非可換行列環を用いて構成されるが、その具体的な演算は主として標準的な有限体上の線形代数からなる。我々の SageMath 版は、600 行未満のソースコードで公式の SNOVA KAT ファイルを再現する。SNOVA は、注意深く設計された非可換行列構造によって拡張された UOV 型の構成とみなすことができる。したがって、この方式は概念的な理解が容易であり、代数的および実装レベルでの詳細な解析にも適している。

性能

以下の表は、提案されている SNOVA の各インスタンスの性能を示す。サイズの単位はバイト、性能の単位はサイクルであり、AVX2 および GFNI に対応した最新のデスクトップ環境(Intel Core Ultra 7 265K)で測定した。

SL I

VariantpksksigKeyGenSignVerify
SNOVA_I_K37696528159,618584,188166,666
SNOVA_I_K_AES3769652887,169512,00494,164
SNOVA_I_B65696388170,468557,746141,919
SNOVA_I_B_AES65696388102,661489,98374,376
SNOVA_I_S101696272204,195397,921149,024
SNOVA_I_S_AES101696272132,758325,41878,305

SL III

VariantpksksigKeyGenSignVerify
SNOVA_III_K91296688416,4901,240,034349,462
SNOVA_III_K_AES91296688243,3111,061,262175,688
SNOVA_III_B141696532484,6261,226,638335,912
SNOVA_III_B_AES141696532303,6221,045,116156,118
SNOVA_III_S203296456562,0691,333,170356,953
SNOVA_III_S_AES203296456372,1651,141,612167,684

SL V

VariantpksksigKeyGenSignVerify
SNOVA_V_K121696896811,6802,573,021684,735
SNOVA_V_K_AES121696896548,9982,301,728424,527
SNOVA_V_B189196691955,4442,470,611679,221
SNOVA_V_B_AES189196691682,8232,192,284409,444
SNOVA_V_S2716965911,101,9532,619,986749,582
SNOVA_V_S_AES271696591823,1542,341,503465,939

関連資料

チーム

提出者

  • Lih-Chung Wang

チームメンバー(姓のアルファベット順)

  • Chun-Yen Chou
  • Jintai Ding
  • Hao Guo
  • Yen-Liang Kuan
  • Jan Adriaan Leegwater
  • Ming-Siou Li
  • Peigen Li
  • Bo-Shu Tseng
  • Po-En Tseng
  • Chia-Chun Wang

連絡先