STM32C5 における wolfCrypt 耐量子暗号の優れたベンチマーク結果

wolfSSL は、NIST の耐量子暗号アルゴリズム一式を STM32C5 上で動作させています。以下は、144 MHz の Cortex-M33 を搭載した NUCLEO-C5A3ZG での測定結果です。

  • ML-KEM(FIPS 203)による鍵交換:ML-KEM-768 のカプセル化は 5.9 ms、デカプセル化は 7.7 ms
  • ML-DSA(FIPS 204)による署名:3つのパラメータセットすべてに対応。ML-DSA-44 の検証は 18.5 ms
  • LMS/HSS(RFC 8554)によるステートフルハッシュベース署名:検証は 18.2 ms
  • 弊社の Thumb-2 アセンブリ実装は、ポータブルな C 実装と比べて ML-KEM で約1.5倍、ML-DSA で約1.3倍高速です。アセンブリ実装が C 実装を置き換えるため、耐量子暗号部分のコードサイズはほとんど変わりません

3つのアルゴリズムファミリーをすべて追加した場合のフラッシュ使用量は約 47 KB です。内訳は ML-KEM が約 18 KB、ML-DSA が約 15 KB、LMS が約 7 KB、ML-KEM と ML-DSA が共有する SHA-3・SHAKE のコードが約 7 KB です。チップが搭載する 1 MB のフラッシュの大部分を、アプリケーション用に残せます。

STM32C5 は TrustZone を備えた Cortex-M33 マイコンで、最大 1 MB のフラッシュと 256 KB の RAM を搭載しています。C5A3 にはさらに、AES、ハッシュエンジン、真性乱数生成器、ECC 向けの公開鍵アクセラレータ(PKA)、セキュア AES ブロックというハードウェア暗号機能が一式そろっています。ネットワーク接続機器や産業機器では、デバイスごとの ID の保持や起動時のファームウェア検証に加え、今では量子コンピューターの登場後も有効であり続ける鍵も扱う必要があります。この構成は、そういったデバイスに適しています。

STM32C5 は SAES とデバイス固有のハードウェア鍵(DHUK)も備えているため、秘密鍵をチップ固有の鍵でラップし、ソフトウェア上に一切露出させることなく使用できます。wolfSSL は標準の暗号コールバック API を通じてこの機能を利用できます。動作は同ボードで確認済みです。

STM32C5 のハッシュ、AES・SAES、PKA、RNG 対応を PR #10395 でマージしました。wolfSSL 5.9.4 に含まれています。

ビルド手順、STM32 ファミリー向けフラグの一覧、DHUK と CCB に関するドキュメントは wolfcrypt/src/port/st/README.md にあります。

ベンチマークハーネスとすぐに使えるボード構成もぜひご覧ください!

今すぐ wolfSSL をダウンロード

もし弊社製品についてご質問があれば、お問い合わせ窓口info@wolfssl.jpまでご連絡をお願い致します。

原文:https://www.wolfssl.com/outstanding-wolfcrypt-post-quantum-cryptography-benchmarks-on-the-stm32c5/