Intel x86_64 におけるwolfSSL の性能 (その3)

wolfSSLの最新のリリースでは、Intel x86_64プラットフォーム向けの新しいアセンブラコードが含まれています。この記事では、SHA-256とSHA-512の性能について説明します。
SHA-256、SHA-384は最も一般的に使用されるメッセージダイジェストのアルゴリズムです。 TLSにAES-GCMが導入されたことで、SHA-256とSHA-384はアプリケーションデータの認証にあまり一般的ではなくなってしまいました。しかし、これらのアルゴリズムはハンドシェイクメッセージ認証のために、単方向関数(疑似乱数ジェネレータで必要とされる)とデジタル署名として使用されています。
アセンブラコードは、AVX1およびAVX2命令を最大限に活用するよう書き直されました。 SHA-256とSHA-512のパフォーマンスは、現在OpenSSLと同等またはそれ以上です。下の4つのグラフは、wolfSSLのパフォーマンスが、小から大ブロックサイズまで大幅に改善されたことを示しています。 AVX1では、SHA-256では19%から60%、25%から53%の間でパフォーマンスが向上しました。同様に、AVX2では、SHA-256では22%〜40%、SHA-512では23%〜37%の改善が見られました。新しいwolfSSLアセンブリコードは、小さなブロックではOpenSSLよりも大幅に優れており、最大のブロックサイズではほぼ同じです。 SHA-384はSHA-512と同じアルゴリズムを使用しているため、基本的な実装が同じで、同じパフォーマンスが向上しています。
さらに詳しい情報は弊社問い合わせ窓口info@wolfssl.jpまでお問い合わせください。

 

参照:
Introduction to Intel® Advanced Vector Extensions
Advanced Vector Extensions (Wikipedia)
原文: https://www.wolfssl.com/wolfssl-performance-intel-x86_64-part-3/
wolfSSLホーム:www.wolfssl.jp (English:www.wolfssl.com)