![株式会社匠技術研究所 簡明な情報基盤を構築 匠技術研究所](https://blogimg.goo.ne.jp/user_image/21/85/3bfc5e113e0e2df5940fb9c3ba4eed11.png)
Linux/OpenSSLのAES256での暗号処理スピードはAES-NIで高速に
こんにちは。匠技術研究所の谷山 亮治です。
今日は、Linux/OpenSSLを使ったAES256での暗号処理スピードがAES-NIでどの程度高速になるのかを紹介します。
近年のCPUには負荷の高い暗号処理をハードウエアに渡して高速に処理することができます。
Intelはこの機能をAES-NI(AES New Instruction)と呼んでおり、AMDやVIAにも同様の論理回路を搭載したCPUがあります。
実際にどの程度高速化されるのかを測ってみました。
CPU:Intel Core i5 670
このCPUはAES-NIを搭載しています。opensslを実行する時の暗号処理オプションでソフトウエア処理をするのか、ハードウエア処理をするのかを選択しています。
■ソフトウエア処理の場合
$ openssl speed aes-256-cbc
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-256 cbc 77475.15k 82824.35k 84448.47k 84848.37k 84635.14k
■ハードウエア処理の場合
$ openssl speed -evp AES256
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-256-cbc 625278.19k 674594.10k 689168.58k 690321.21k 691468.03k
■ハードウエア/ソフトウエア
8.07 8.14 8.16 8.14 8.17
8倍もの高速化が実現しています。素晴らしい!