[論文レビュー] A Unified Cryptoprocessor for Lattice-based Signature and Key-exchange
本論文は、格子基盤の後量子暗号に特化した統合的でコンactかつプログラマブルな暗号プロセッサアーキテクチャを提示する。本設計は、デジタル署名用のCRYSTALS-Dilithiumと、鍵封入方式用のSaberを統合している。共通のアルゴリズム的部品、特に統一されたNTTベースの多項式乗算器と再構成可能なKeccakコアを活用することで、最小限の面積オーバーヘッドで高い性能を達成し、FPGA上で200 MHz動作を実現。両方式の主要な処理において100 μs未満の実行時間を達成した。
We propose design methodologies for building a compact, unified and programmable cryptoprocessor architecture that computes post-quantum key agreement and digital signature. Synergies in the two types of cryptographic primitives are used to make the cryptoprocessor compact. As a case study, the cryptoprocessor architecture has been optimized targeting the signature scheme 'CRYSTALS-Dilithium' and the key encapsulation mechanism (KEM) 'Saber', both finalists in the NIST's post-quantum cryptography standardization project. The programmable cryptoprocessor executes key generations, encapsulations, decapsulations, signature generations, and signature verifications for all the security levels of Dilithium and Saber. On a Xilinx Ultrascale+ FPGA, the proposed cryptoprocessor consumes 18,406 LUTs, 9,323 FFs, 4 DSPs, and 24 BRAMs. It achieves 200 MHz clock frequency and finishes CCA-secure key-generation/encapsulation/decapsulation operations for LightSaber in 29.6/40.4/58.3$μ$s; for Saber in 54.9/69.7/94.9$μ$s; and for FireSaber in 87.6/108.0/139.4$μ$s, respectively. It finishes key-generation/sign/verify operations for Dilithium-2 in 70.9/151.6/75.2$μ$s; for Dilithium-3 in 114.7/237/127.6$μ$s; and for Dilithium-5 in 194.2/342.1/228.9$μ$s, respectively, for the best-case scenario. On UMC 65nm library for ASIC the latency is improved by a factor of two due to a 2x increase in clock frequency.
研究の動機と目的
- 後量子鍵封入(Saber)とデジタル署名(Dilithium)の両方をサポートする、コンactかつ統合的でプログラマブルな暗号プロセッサを設計すること。
- NTTに優しい(Dilithium)とNTTに優しくない(Saber)格子基盤方式の間のアルゴリズム的・構造的相乗効果を活用し、ハードウェアオーバーヘッドを最小限に抑えること。
- リソース制限のある環境(TLS対応システムなど)における実用的導入を想定し、高い性能と低面積消費を達成すること。
- モジュラーな命令セットアーキテクチャを採用することで、将来的な格子基盤方式(例:CRYSTALS-Kyber)への拡張性を確保すること。
- 共有部品にマスク化戦略を統合することで、サイドチャネル耐性を備えた安全な実装の基盤を提供すること。
提案手法
- 共通のハードウェアユニットを活用して、DilithiumとSaberの両方の操作をサポートする統合型命令セットアーキテクチャを設計すること。
- 特殊な素数モジュラスを用いることで、NTTに優しい(Dilithium)と最適化されたNTTに優しくない(Saber)算術を両立する、単一のNTTベースの多項式乗算器を実装すること。
- SHA3およびSHAKE処理に用いられる入力事前処理および出力後処理を、動的再構成可能なKeccakコアラッパーで効率的に処理すること。
- パイプライン化されたデータフローとバッファリング戦略により、不要な読み書きサイクルを削減することでメモリアクセスパターンを最適化すること。
- 両方式で共通して使用可能な、多項式乗算とモジュラ乗法の両モードを備えた二重モード算術ユニットを統合し、論理回路を共有すること。
- ランタイム再構成を可能にするハードウェア・ソフトウェア協働設計アプローチを採用し、複数のセキュリティレベルをサポートすること。
![Figure 1: Distribution of a coefficient after a multiplication between a secret and a public polynomial. The secret and public coefficients are in the range $[-\frac{\mu}{2},\frac{\mu}{2}]$ and $[0,q-1]$ , respectively.](https://ar5iv.labs.arxiv.org/html/2210.07412/assets/images/plot_NTT_error.png)
実験結果
リサーチクエスチョン
- RQ1アルゴリズム的構造が異なるにもかかわらず、1つの暗号プロセッサが格子基盤の鍵封入(Saber)とデジタル署名(Dilithium)の両方を効率的かつコンactにサポートできるか?
- RQ2NTTに優しいとNTTに優しくない格子方式の間には、面積オーバーヘッドを最小限に抑えるために活用可能なアーキテクチャ的相乗効果が存在するか?
- RQ3統合されたハードウェア設計により、鍵生成や署名検証といった主要処理の高スループットを維持しながら、リソース消費をどのように低減できるか?
- RQ4NTTコアやKeccakコアといった共通部品を、パフォーマンスを犠牲にすることなく、異なる後量子方式に再利用できる範囲はどの程度か?
- RQ5提案された暗号プロセッサは、最小限の修正でCryStals-Kyberのような追加の格子基盤方式をサポートできるか?
主な発見
- Xilinx Ultrascale+ FPGA上で200 MHzのクロック周波数を達成し、18,406 LUT、9,323 FF、4 DSP、24 BRAMを消費した。
- LightSaberの場合、鍵生成、カプセル化、デカプセル化の処理時間はそれぞれ29.6、40.4、58.3 μsであった。
- Saberの場合、同様の処理時間は54.9、69.7、94.9 μsであり、Dilithium-3の署名と検証は最良ケースで237 μsおよび127.6 μsで完了した。
- 65nm ASICでは、クロック周波数が2倍に向上したことで性能が2倍に改善され、Saber処理の推定遅延は27.5、34.9、47.5 μsとなった。
- 統合されたNTT乗算器は、Dilithium専用設計と比較して面積オーバーヘッドを低減しており、特にSaberのNTT計算に特化した素数モジュラスを活用することで顕著であった。
- 最適化されたKeccakラッパーは、不要なメモリアクセスを削減し、ハッシュ処理のスループットを向上させるとともに、消費電力を低減した。

より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。