AES-NI

AES-NI()는 인텔이 2008년 3월에 제안한 x86 명령어 집합의 확장으로서 AES를 사용하는 암호화와 복호화의 수행 성능을 향상시키기 위한 명령어 집합이다. 인텔 웨스트미어 프로세서부터 처음으로 지원하기 시작했으며 7개의 명령어로 이루어져 있다.

 새 명령어 
 명령어 설명 AESENC AES 암호화 라운드 수행 AESENCLAST AES 암호화의 마지막 라운드 수행 AESDEC AES 복호화 라운드 수행 AESDECLAST AES 복호화의 마지막 라운드 수행 AESKEYGENASSIST AES 라운드 키 생성 AESIMC AES Inverse Mix Column 연산 수행 PCLMULQDQ 캐리 없는 곱셈(CLMUL)Intel website - Carry-Less Multiplication

 AES-NI를 지원하는 CPU 
 인텔ARK: Advanced Search
 인텔 웨스트미어 기반 프로세서 중 일부
 웨스트미어-EP(제온 5600 시리즈)
 클락데일(코어 i3, 펜티엄, 셀러론 제외)
 애런데일(코어 i5-4xxM, 코어 i3, 펜티엄, 셀러론 제외)
 인텔 샌디브리지 기반 프로세서
 데스크톱: 코어 i5, 코어 i7, 제온AnandTech - The Sandy Bridge Review: Intel Core i7-2600K, i5-2500K and Core i3-2100 TestedCompare Intel® Products
 모바일: 코어 i5, 코어 i7. 일부 노트북 제조사들은 바이오스 설정에서 AES-NI를 비활성화시켜 두었고 이후 업데이트로 활성화시켰다.AES-NI support in TrueCrypt (Sandy Bridge problem)
 인텔 아이비브리지 기반 프로세서
 모든 코어 i5, 코어 i7, 제온, i3-2115C
 인텔 하스웰 기반 프로세서
 코어 i3-4000M, 펜티엄, 셀러론 제외 모든 프로세서http://ark.intel.com/products/75104/Intel-Core-i3-4000M-Processor-3M-Cache-2_40-GHz
 인텔 브로드웰 기반 프로세서
 펜티엄 3xxxU, 셀러론 3xxxU 제외 모든 프로세서
 인텔 스카이레이크 기반 프로세서
 펜티엄 3xxxU, 셀러론 3xxxU 제외 모든 프로세서
 AMD
 AMD 불도저 기반 프로세서
 AMD 파일드라이버 기반 프로세서
 AMD 스팀롤러 기반 프로세서
 AMD 재규어 기반 프로세서
 AMD 퓨마 기반 프로세서

 성능 
AES-NI Performance Analyzed에서, Patrick Schmid 와 Achim Roos는 "... 인텔의 AES-NI를 이용하여 최적화한 몇개의 애플리케이션에서 놀랄만한 결과를 얻었다”라고 한다.

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

 마이크로소프트 Cryptography API: Next Generation (CNG)
 리눅스 커널 암호화 API
 자바 7 HotSpot
 NSS 3.13 이상(파이어폭스와 크롬에서 사용함)
 솔라리스 10 이상의 암호화 프레임워크
 FreeBSD OpenCrypto API(aesni(4) 드라이버)
 OpenSSL 1.0.1 이상
 GnuTLS
 Bloombase Cryptographic Module

 같이 보기 
 고급 암호 표준
 SSE
 SSE2
 SSE3
 SSE4
 AVX
 X86

 각주 

 AES-NI 백서 http://software.intel.com/file/20457 4.4 Mbyte, pdf

 외부 링크 
 Intel Advanced Encryption Standard Instructions (AES-NI)
 AES instruction set whitepaper (2.93 MiB, PDF) from Intel

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