「AES-NI」の版間の差分
提供: セキュリティ
行1: | 行1: | ||
− | |||
− | |||
− | |||
− | |||
[[AES-NI]] は、 Advanced Encryption Standard ([[AES暗号|AES]]) New Instructions のことです。 | [[AES-NI]] は、 Advanced Encryption Standard ([[AES暗号|AES]]) New Instructions のことです。 | ||
行12: | 行8: | ||
== 概要 == | == 概要 == | ||
− | |||
[[インテル]]と[[AMD]]製の[[CPU]]の[[x86]]命令セットの拡張機能です。 | [[インテル]]と[[AMD]]製の[[CPU]]の[[x86]]命令セットの拡張機能です。 | ||
[[AES-NI]]は、[[AES暗号|AES]]アルゴリズムを改良し、データの暗号化処理を高速化するための新命令セットです。 | [[AES-NI]]は、[[AES暗号|AES]]アルゴリズムを改良し、データの暗号化処理を高速化するための新命令セットです。 | ||
行18: | 行13: | ||
ハードウェア命令によって各ラウンドのCPUサイクルを削減できます。 | ハードウェア命令によって各ラウンドのCPUサイクルを削減できます。 | ||
− | [[インテル]]の[[Xeon]]プロセッサファミリーと第3世代インテル [[ | + | [[インテル]]の[[Xeon]]プロセッサファミリーと第3世代インテル [[Intel Core|Core]]プロセッサファミリーがこの命令をサポートしています。 |
− | + | ||
== AES-NIが使えるCPU == | == AES-NIが使えるCPU == | ||
− | |||
* [[インテル]] | * [[インテル]] | ||
** [[Westmere]]ベースのCPU | ** [[Westmere]]ベースのCPU | ||
*** [[Gulftown]] | *** [[Gulftown]] | ||
− | *** [[Clardkdale]] [[ | + | *** [[Clardkdale]] [[Core i3]]を除く |
− | *** [[Arrandale]] [[ | + | *** [[Arrandale]] [[Core i3]]と[[Core i5]]-4XXMを除く |
* [[AMD]] | * [[AMD]] | ||
** [[Bulldozer]] | ** [[Bulldozer]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== 使い方 == | == 使い方 == | ||
− | |||
* [[OpenSSL]] | * [[OpenSSL]] | ||
− | + | == AES-NIが使えるか調べる方法 == | |
+ | === Linux === | ||
+ | Linux の場合は、cpuinfo を参照すれば確認できます。aes と書いてあります。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ grep aes /proc/cpuinfo | ||
+ | flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca | ||
+ | cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm | ||
+ | constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc | ||
+ | aperfmperf eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt | ||
+ | aes xsave avx hypervisor lahf_lm ida arat epb xsaveopt pln pts dtherm | ||
+ | </syntaxhighlight> | ||
+ | === FreeBSD === | ||
+ | AESNIと書いてあります。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ dmesg|grep -i AES | ||
+ | Features2=0x9eba2203<SSE3,PCLMULQDQ,SSSE3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT, | ||
+ | AESNI,XSAVE,OSXSAVE,AVX,HV> | ||
+ | Features2=0x9eba2203<SSE3,PCLMULQDQ,SSSE3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT, | ||
+ | AESNI,XSAVE,OSXSAVE,AVX,HV> | ||
+ | </syntaxhighlight> | ||
+ | == node.jsのcrypto == | ||
+ | AES-NIを利用することで、2.4倍の性能向上が図れます。 | ||
== 関連項目 == | == 関連項目 == | ||
− | |||
* [[AES暗号]] | * [[AES暗号]] | ||
− | * [[ | + | * [[Intel Core]] |
+ | <!-- vim: filetype=mediawiki | ||
+ | --> |
2015年2月14日 (土) 16:23時点における版
AES-NI は、 Advanced Encryption Standard (AES) New Instructions のことです。
AES-NI は、 インテル Advanced Encryption Standard (AES) New Instructions (インテル AES-NI)の略です。
読み方
概要
インテルとAMD製のCPUのx86命令セットの拡張機能です。 AES-NIは、AESアルゴリズムを改良し、データの暗号化処理を高速化するための新命令セットです。 2008年3月にインテルが発案しました。 ハードウェア命令によって各ラウンドのCPUサイクルを削減できます。
インテルのXeonプロセッサファミリーと第3世代インテル Coreプロセッサファミリーがこの命令をサポートしています。
AES-NIが使えるCPU
使い方
AES-NIが使えるか調べる方法
Linux
Linux の場合は、cpuinfo を参照すれば確認できます。aes と書いてあります。
$ grep aes /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx hypervisor lahf_lm ida arat epb xsaveopt pln pts dtherm
FreeBSD
AESNIと書いてあります。
$ dmesg|grep -i AES Features2=0x9eba2203<SSE3,PCLMULQDQ,SSSE3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT, AESNI,XSAVE,OSXSAVE,AVX,HV> Features2=0x9eba2203<SSE3,PCLMULQDQ,SSSE3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT, AESNI,XSAVE,OSXSAVE,AVX,HV>
node.jsのcrypto
AES-NIを利用することで、2.4倍の性能向上が図れます。