wolfSSLのSTM32F7サポート


wolfSSL組み込みSSLライブラリは、STM32F7が提供するハードウェアベースの暗号化と乱数生成をサポートするようになりました。 サポートされる暗号化アルゴリズムには、AES(CBC、CTR)、DES(ECB、CBC)、3DES、MD5、およびSHA1が含まれます。 STM32F7暗号およびハッシュ・プロセッサーの詳細については、STM32F7ハードウェア・アブストラクション・レイヤー(HAL)および低レイヤー・ドライバー・ドキュメント(以下にリンクされています)を参照してください。
wolfSSLでSTM32F7は、ハードウェア暗号を組み合わせて使用とwolfSSLのソフトウェア暗号のみの実装より速度が大幅に向上します。 次のベンチマークは、STM32F777NIボード(STM32F7)で動作するwolfCryptベンチマーク・アプリケーション(wolfcrypt / benchmark / benchmark.c)から、ベアメタル(OSなし)のSTM32F7 HALを使用して収集しました。
wolfSSLソフトウェア暗号、通常の整数ライブラリー
RNG               3 MB took 1.000 seconds,    3.149 MB/s
AES-Enc           6 MB took 1.000 seconds,    6.494 MB/s
AES-Dec           7 MB took 1.000 seconds,    6.519 MB/s
AES-GCM-Enc       3 MB took 1.004 seconds,    2.553 MB/s
AES-GCM-Dec       3 MB took 1.004 seconds,    2.553 MB/s
AES-CTR           7 MB took 1.000 seconds,    6.543 MB/s
CHACHA           16 MB took 1.000 seconds,   15.723 MB/s
CHA-POLY         10 MB took 1.000 seconds,   10.474 MB/s
3DES              1 MB took 1.008 seconds,    1.405 MB/s
MD5              24 MB took 1.000 seconds,   24.243 MB/s
POLY1305         42 MB took 1.000 seconds,   41.821 MB/s
SHA              14 MB took 1.000 seconds,   14.380 MB/s
SHA-224           8 MB took 1.000 seconds,    8.423 MB/s
SHA-256           8 MB took 1.000 seconds,    8.423 MB/s
SHA-384           2 MB took 1.000 seconds,    2.319 MB/s
SHA-512           2 MB took 1.000 seconds,    2.319 MB/s
STM32F7 ハードウェア暗号化, 標準整数ライブラリー
RNG              6 MB took 1.000 seconds,    6.030 MB/s
AES-Enc         30 MB took 1.000 seconds,   30.396 MB/s
AES-Dec         30 MB took 1.000 seconds,   30.371 MB/s
AES-GCM-Enc     42 MB took 1.000 seconds,   42.261 MB/s
AES-GCM-Dec     33 MB took 1.000 seconds,   32.861 MB/s
AES-CTR         48 MB took 1.000 seconds,   47.827 MB/s
CHACHA          16 MB took 1.000 seconds,   15.747 MB/s
CHA-POLY        11 MB took 1.000 seconds,   10.522 MB/s
3DES            13 MB took 1.000 seconds,   12.988 MB/s
MD5             41 MB took 1.000 seconds,   40.894 MB/s
POLY1305        42 MB took 1.000 seconds,   41.846 MB/s
SHA             38 MB took 1.004 seconds,   38.202 MB/s
SHA-224         41 MB took 1.000 seconds,   41.309 MB/s
SHA-256         39 MB took 1.000 seconds,   39.111 MB/s
SHA-384          2 MB took 1.004 seconds,    2.310 MB/s
SHA-512          2 MB took 1.004 seconds,    2.310 MB/s
上記のベンチマーク(およびグラフ)に示されているように、STM32F7のハードウェアベースのアルゴリズムは、ソフトウェアのみのアルゴリズムよりもはるかに高速です。
STM32F7ハードウェア暗号化とRNGサポートを有効にするには、wolfSSLをビルドするときにWOLFSSL_STM32F7を定義します。 必要な定義の完全なリストについては、<wolfssl_root> /wolfssl/wolfcrypt/settings.hのWOLFSSL_STM32F7定義を参照してください。 GitHubでは最新のバージョンのwolfSSLも参照できます:https://github.com/wolfssl/wolfssl
STM32F7ハードウェアベースの暗号化またはRNGでwolfSSLを使用する場合、または質問がある場合は、弊社問い合わせ窓口 (info@wolfssl.com, info@wolfssl.jp: 日本語)までお問い合わせください。

wolfSSL組込み向けSSL/TLSライブラリーについて

STM32: http://www.st.com/internet/mcu/class/1734.jsp

STM32F7 HAL と Low-layerドライバーのドキュメント:  http://www.st.com/content/ccc/resource/technical/document/user_manual/45/27/9c/32/76/57/48/b9/DM00189702.pdf/files/DM00189702.pdf/jcr:content/translations/en.DM00189702.pdf

原文: https://wolfssl.com/wolfSSL/Blog/Entries/2017/9/12_wolfSSL_STM32F7_Support.html
wolfSSLホーム:www.wolfssl.jp (English:www.wolfssl.com)