「AES-NI」の版間の差分

提供: セキュリティ
移動: 案内検索
行1: 行1:
<!--
 
vim: filetype=mediawiki
 
-->
 
 
 
[[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世代インテル [[Intel_Core|Core]]プロセッサファミリーがこの命令をサポートしています。
+
[[インテル]]の[[Xeon]]プロセッサファミリーと第3世代インテル [[Intel Core|Core]]プロセッサファミリーがこの命令をサポートしています。
 
+
 
== AES-NIが使えるCPU ==
 
== AES-NIが使えるCPU ==
 
 
* [[インテル]]
 
* [[インテル]]
 
** [[Westmere]]ベースのCPU
 
** [[Westmere]]ベースのCPU
 
*** [[Gulftown]]
 
*** [[Gulftown]]
*** [[Clardkdale]] [[Core_i3]]を除く
+
*** [[Clardkdale]] [[Core i3]]を除く
*** [[Arrandale]] [[Core_i3]]と[[Core_i5]]-4XXMを除く
+
*** [[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]]
+
* [[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製のCPUx86命令セットの拡張機能です。 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倍の性能向上が図れます。

関連項目