CentOS 7 の cryptsetup には、benchmark オプションが追加されており、これを利用することで、Intel CPU の AES-NI 命令が活用されているか確認できます。わたしの自宅メインマシン ThinkPad T510 (Intel Core i7 M620 2.67G) の場合のデータです。
[root@hoge ~]# grep i7 /proc/cpuinfo
model name : Intel(R) Core(TM) i7 CPU M 620 @ 2.67GHz
model name : Intel(R) Core(TM) i7 CPU M 620 @ 2.67GHz
[root@hoge ~]# cryptsetup benchmark
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1 396586 iterations per second
PBKDF2-sha256 234057 iterations per second
PBKDF2-sha512 156410 iterations per second
PBKDF2-ripemd160 320078 iterations per second
PBKDF2-whirlpool 157349 iterations per second
# Algorithm | Key | Encryption | Decryption
aes-cbc 128b 639.9 MiB/s 1498.5 MiB/s
serpent-cbc 128b 62.0 MiB/s 261.6 MiB/s
twofish-cbc 128b 151.4 MiB/s 213.0 MiB/s
aes-cbc 256b 493.1 MiB/s 1194.9 MiB/s
serpent-cbc 256b 65.2 MiB/s 262.2 MiB/s
twofish-cbc 256b 155.1 MiB/s 212.9 MiB/s
aes-xts 256b 1351.7 MiB/s 1344.8 MiB/s
serpent-xts 256b 230.7 MiB/s 239.1 MiB/s
twofish-xts 256b 196.6 MiB/s 196.9 MiB/s
aes-xts 512b 1088.9 MiB/s 1066.1 MiB/s
serpent-xts 512b 231.7 MiB/s 240.8 MiB/s
twofish-xts 512b 198.4 MiB/s 196.7 MiB/s
aesni_intel をロードしないようにして、計測すると、次のように数値が下がり、ちゃんと活用されている様子が確認できます。
[root@hoge ~]# grep aesni_intel /etc/modprobe.d/aes.conf
blacklist aesni_intel
[root@hoge ~]# lsmod | grep aesni_intel
[root@hoge ~]# cryptsetup benchmark
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1 402678 iterations per second
PBKDF2-sha256 234057 iterations per second
PBKDF2-sha512 156597 iterations per second
PBKDF2-ripemd160 319687 iterations per second
PBKDF2-whirlpool 159454 iterations per second
# Algorithm | Key | Encryption | Decryption
aes-cbc 128b 165.1 MiB/s 187.2 MiB/s
serpent-cbc 128b 62.3 MiB/s 263.5 MiB/s
twofish-cbc 128b 152.1 MiB/s 214.3 MiB/s
aes-cbc 256b 127.4 MiB/s 139.9 MiB/s
serpent-cbc 256b 63.4 MiB/s 264.3 MiB/s
twofish-cbc 256b 155.8 MiB/s 213.9 MiB/s
aes-xts 256b 187.5 MiB/s 185.2 MiB/s
serpent-xts 256b 231.2 MiB/s 242.4 MiB/s
twofish-xts 256b 197.7 MiB/s 197.7 MiB/s
aes-xts 512b 140.6 MiB/s 140.8 MiB/s
serpent-xts 512b 232.0 MiB/s 242.6 MiB/s
twofish-xts 512b 199.1 MiB/s 197.6 MiB/s
この数値だと、SSD 等の高速なディスクに LUKS で暗号化してデータ格納するなら、AES-NI(Intel CPU の暗号化支援命令)によりスループットが大幅に向上しそうですね。
0 件のコメント:
コメントを投稿