{{위키데이터 속성 추적}}
'''AES-NI'''({{Llang|en| Advanced Encryption Standard-New Instructions}})는 인텔이 2008년 3월에 제안한 [[x86]] 명령어 집합의 확장으로서 [[고급 암호 표준|AES]]를 사용하는 암호화와 복호화의 수행 성능을 향상시키기 위한 명령어 집합이다<ref>{{웹 인용 | url=http://softwareprojects.intel.com/avx/ | 제목=Intel Software Network | publisher=Intel | accessdate=2008-04-05 | 보존url=https://web.archive.org/web/20080407095317/http://softwareprojects.intel.com/avx/ | 보존날짜=2008-04-07 | url-status=dead }}</ref>. [[인텔]] [[웨스트미어]] 프로세서부터 처음으로 지원하기 시작했으며 7개의 명령어로 이루어져 있다.

== 새 명령어 ==
{| class="wikitable"
|-
! 명령어
! 설명
|-
| AESENC
| AES 암호화 라운드 수행
|-
| AESENCLAST
| AES 암호화의 마지막 라운드 수행
|-
| AESDEC
| AES 복호화 라운드 수행
|-
| AESDECLAST
| AES 복호화의 마지막 라운드 수행
|-
| AESKEYGENASSIST
| AES 라운드 키 생성
|-
| AESIMC
| AES Inverse Mix Column 연산 수행
|-
| PCLMULQDQ
| 캐리 없는 곱셈(CLMUL)<ref>[http://software.intel.com/en-us/articles/intel-carry-less-multiplication-instruction-and-its-usage-for-computing-the-gcm-mode/ Intel website - Carry-Less Multiplication]</ref>
|}

== AES-NI를 지원하는 CPU ==
* [[인텔]]<ref>[http://ark.intel.com/search/advanced/?AESTech=true ARK: Advanced Search<!-- Bot generated title -->]</ref>
** 인텔 [[네할렘 (마이크로아키텍처)#웨스트미어|웨스트미어]] 기반 프로세서 중 일부
*** 웨스트미어-EP(제온 5600 시리즈)
*** 클락데일(코어 i3, 펜티엄, 셀러론 제외)
*** 애런데일(코어 i5-4xxM, 코어 i3, 펜티엄, 셀러론 제외)
** 인텔 [[샌디 브리지 마이크로아키텍처|샌디브리지]] 기반 프로세서
*** 데스크톱: 코어 i5, 코어 i7, 제온<ref>[http://www.anandtech.com/show/4083/the-sandy-bridge-review-intel-core-i5-2600k-i5-2500k-and-core-i3-2100-tested/2 AnandTech - The Sandy Bridge Review: Intel Core i7-2600K, i5-2500K and Core i3-2100 Tested<!-- Bot generated title -->]</ref><ref>[http://ark.intel.com/compare/53415,63913,58667,53480,53481,53482,53483,53484,53485,53490,53491,53492,53416,53414 Compare Intel® Products<!-- Bot generated title -->]</ref>
*** 모바일: 코어 i5, 코어 i7. 일부 노트북 제조사들은 바이오스 설정에서 AES-NI를 비활성화시켜 두었고 이후 업데이트로 활성화시켰다.<ref>[http://forum.notebookreview.com/windows-os-software/582628-aes-ni-support-truecrypt-sandy-bridge-problem.html AES-NI support in TrueCrypt (Sandy Bridge problem)<!-- Bot generated title -->]</ref><ref>{{웹 인용| url=http://ark.intel.com/products/52224 | 제목=Some products can support AES New Instructions with a Processor Configuration update, in particular, i7-2630QM/i7-2635QM, i7-2670QM/i7-2675QM, i5-2430M/i5-2435M, i5-2410M/i5-2415M. Please contact OEM for the BIOS that includes the latest Processor configuration update.}}</ref>
** 인텔 [[아이비브리지 (마이크로아키텍처)|아이비브리지]] 기반 프로세서
*** 모든 코어 i5, 코어 i7, 제온, i3-2115C<ref>[http://ark.intel.com/products/68332/Intel-Core-i3-2115C-Processor-(3MB-Cache-2_00-GHz)<!-- Bot generated title -->]</ref>
** 인텔 [[하스웰 (마이크로아키텍처)|하스웰]] 기반 프로세서
*** 코어 i3-4000M, 펜티엄, 셀러론 제외 모든 프로세서<ref>http://ark.intel.com/products/75104/Intel-Core-i3-4000M-Processor-3M-Cache-2_40-GHz</ref>
** 인텔 [[브로드웰 (마이크로아키텍처)|브로드웰]] 기반 프로세서
*** 펜티엄 3xxxU, 셀러론 3xxxU 제외 모든 프로세서
** 인텔 [[스카이레이크 (마이크로아키텍처)|스카이레이크]] 기반 프로세서
*** 펜티엄 3xxxU, 셀러론 3xxxU 제외 모든 프로세서
* [[AMD]]
** AMD 불도저 기반 프로세서<ref>{{웹 인용 |url=http://blogs.amd.com/work/2010/11/22/following-instructions/ |title=Following Instructions |publisher=AMD |date=2010-11-22 |accessdate=2011-01-04 |url-status=dead |archiveurl=https://web.archive.org/web/20101126155830/http://blogs.amd.com/work/2010/11/22/following-instructions/ |archivedate=2010-11-26 }}</ref>
** AMD 파일드라이버 기반 프로세서
** AMD 스팀롤러 기반 프로세서
** AMD 재규어 기반 프로세서
** AMD 퓨마 기반 프로세서

== 성능 ==
''AES-NI Performance Analyzed''에서, Patrick Schmid 와 Achim Roos는 "... 인텔의 AES-NI를 이용하여 최적화한 몇개의 애플리케이션에서 놀랄만한 결과를 얻었다”라고 한다.<ref>{{웹 인용|제목 =AES-NI Performance Analyzed|url=http://www.tomshardware.com/reviews/clarkdale-aes-ni-encryption,2538.html|publisher=Tom's Hardware|year=2010|author=P. Schmid and A. Roos |accessdate=2010-08-10}}</ref>

== 지원 소프트웨어 ==
AES-NI 발표 이후 출시된 컴파일러 및 소프트웨어에서 해당 명령어를 지원하며, 다음 주요 구성 요소에서도 지원한다.

* 마이크로소프트 Cryptography API: Next Generation (CNG)<ref>{{웹 인용|url=https://software.intel.com/en-us/articles/intel-advanced-encryption-standard-instructions-aes-ni/ | 제목=Intel Advanced Encryption Standard Instructions (AES-NI) |date=March 2, 2010 | publisher=Intel | accessdate=2010-07-11| archiveurl=https://web.archive.org/web/20100707065952/https://software.intel.com/en-us/articles/intel-advanced-encryption-standard-instructions-aes-ni/| archivedate=2010-07-07| url-status= live}}</ref>
* [[크립토 API (리눅스)|리눅스 커널 암호화 API]]
* [[자바 (프로그래밍 언어)|자바]] 7 HotSpot
* NSS 3.13 이상(파이어폭스와 크롬에서 사용함)<ref>{{웹 인용| url=https://bugzilla.mozilla.org/show_bug.cgi?id=706024 | 제목=AES-NI enhancements to NSS on Sandy Bridge systems | date=2012-05-02 | accessdate=2012-11-25 }}</ref>
* 솔라리스 10 이상의 암호화 프레임워크<ref>{{웹 인용|url=http://docs.oracle.com/cd/E19253-01/816-4557/scf-1/index.html|title=System Administration Guide: Security Services, Chapter 13 Solaris Cryptographic Framework (Overview)|date= 2010-09|publisher=Oracle|accessdate=2012-11-27}}</ref>
* [[FreeBSD]] OpenCrypto API(aesni(4) 드라이버)<ref>{{웹 인용 | url=http://www.freebsd.org/releases/8.2R/relnotes.html | 제목=FreeBSD 8.2 Release Notes | publisher=FreeBSD.org | date=2011-02-24 | accessdate=2011-12-18 | archive-date=2011-04-12 | archive-url=https://web.archive.org/web/20110412153215/http://www.freebsd.org/releases/8.2R/relnotes.html }}</ref>
* [[OpenSSL]] 1.0.1 이상<ref>{{웹 인용 |url=http://cvs.openssl.org/fileview?f=openssl%2FCHANGES&v=1.1686 |제목=OpenSSL: CVS Web Interface<!-- Bot generated title --> |확인날짜=2012년 4월 6일 |보존url=https://archive.today/20120707203035/http://cvs.openssl.org/fileview?f=openssl/CHANGES&v=1.1686 |보존날짜=2012년 7월 7일 |url-status=dead }}</ref>
* [[GnuTLS]]
* [[Bloombase]] Cryptographic Module<ref>{{웹 인용|url=https://networkbuilders.intel.com/solutionslibrary/bloombase-storesafe-intelligent-storage-firewall|title=Bloombase StoreSafe Intelligent Storage Firewall}}</ref>

== 같이 보기 ==
* [[고급 암호 표준]]
* [[SSE]]
* [[SSE2]]
* [[SSE3]]
* [[SSE4]]
* [[고급 벡터 확장|AVX]]
* [[X86]]

== 각주 ==
{{각주}}
* AES-NI 백서 http://software.intel.com/file/20457 4.4 Mbyte, pdf

{{AMD 기술}}
{{인텔 기술}}
{{멀티미디어 확장}}

[[분류:X86 아키텍처]]
[[분류:X86 명령어]]
[[분류:고급 암호화 표준]]