AES-NI
보이기
AES-NI(영어: Advanced Encryption Standard-New Instructions)는 인텔이 2008년 3월에 제안한 x86 명령어 집합의 확장으로서 AES를 사용하는 암호화와 복호화의 수행 성능을 향상시키기 위한 명령어 집합이다[1]. 인텔 웨스트미어 프로세서부터 처음으로 지원하기 시작했으며 7개의 명령어로 이루어져 있다.
새 명령어
| 명령어 | 설명 |
|---|---|
| AESENC | AES 암호화 라운드 수행 |
| AESENCLAST | AES 암호화의 마지막 라운드 수행 |
| AESDEC | AES 복호화 라운드 수행 |
| AESDECLAST | AES 복호화의 마지막 라운드 수행 |
| AESKEYGENASSIST | AES 라운드 키 생성 |
| AESIMC | AES Inverse Mix Column 연산 수행 |
| PCLMULQDQ | 캐리 없는 곱셈(CLMUL)[2] |
AES-NI를 지원하는 CPU
- 인텔[3]
- 인텔 웨스트미어 기반 프로세서 중 일부
- 웨스트미어-EP(제온 5600 시리즈)
- 클락데일(코어 i3, 펜티엄, 셀러론 제외)
- 애런데일(코어 i5-4xxM, 코어 i3, 펜티엄, 셀러론 제외)
- 인텔 샌디브리지 기반 프로세서
- 인텔 아이비브리지 기반 프로세서
- 모든 코어 i5, 코어 i7, 제온, i3-2115C[8]
- 인텔 하스웰 기반 프로세서
- 코어 i3-4000M, 펜티엄, 셀러론 제외 모든 프로세서[9]
- 인텔 브로드웰 기반 프로세서
- 펜티엄 3xxxU, 셀러론 3xxxU 제외 모든 프로세서
- 인텔 스카이레이크 기반 프로세서
- 펜티엄 3xxxU, 셀러론 3xxxU 제외 모든 프로세서
- 인텔 웨스트미어 기반 프로세서 중 일부
- AMD
- AMD 불도저 기반 프로세서[10]
- AMD 파일드라이버 기반 프로세서
- AMD 스팀롤러 기반 프로세서
- AMD 재규어 기반 프로세서
- AMD 퓨마 기반 프로세서
성능
AES-NI Performance Analyzed에서, Patrick Schmid 와 Achim Roos는 "... 인텔의 AES-NI를 이용하여 최적화한 몇개의 애플리케이션에서 놀랄만한 결과를 얻었다”라고 한다.[11]
지원 소프트웨어
AES-NI 발표 이후 출시된 컴파일러 및 소프트웨어에서 해당 명령어를 지원하며, 다음 주요 구성 요소에서도 지원한다.
- 마이크로소프트 Cryptography API: Next Generation (CNG)[12]
- 리눅스 커널 암호화 API
- 자바 7 HotSpot
- NSS 3.13 이상(파이어폭스와 크롬에서 사용함)[13]
- 솔라리스 10 이상의 암호화 프레임워크[14]
- FreeBSD OpenCrypto API(aesni(4) 드라이버)[15]
- OpenSSL 1.0.1 이상[16]
- GnuTLS
- Bloombase Cryptographic Module[17]
같이 보기
각주
- ↑ “Intel Software Network”. Intel. 2008년 4월 7일에 원본 문서에서 보존된 문서. 2008년 4월 5일에 확인함.
- ↑ Intel website - Carry-Less Multiplication
- ↑ ARK: Advanced Search
- ↑ AnandTech - The Sandy Bridge Review: Intel Core i7-2600K, i5-2500K and Core i3-2100 Tested
- ↑ Compare Intel® Products
- ↑ AES-NI support in TrueCrypt (Sandy Bridge problem)
- ↑ “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.”.
- ↑ [1]
- ↑ http://ark.intel.com/products/75104/Intel-Core-i3-4000M-Processor-3M-Cache-2_40-GHz
- ↑ “Following Instructions”. AMD. 2010년 11월 22일. 2010년 11월 26일에 원본 문서에서 보존된 문서. 2011년 1월 4일에 확인함.
- ↑ P. Schmid and A. Roos (2010). “AES-NI Performance Analyzed”. Tom's Hardware. 2010년 8월 10일에 확인함.
- ↑ “Intel Advanced Encryption Standard Instructions (AES-NI)”. Intel. 2010년 3월 2일. 2010년 7월 7일에 원본 문서에서 보존된 문서. 2010년 7월 11일에 확인함.
- ↑ “AES-NI enhancements to NSS on Sandy Bridge systems”. 2012년 5월 2일. 2012년 11월 25일에 확인함.
- ↑ “System Administration Guide: Security Services, Chapter 13 Solaris Cryptographic Framework (Overview)”. Oracle. 2010년 9월. 2012년 11월 27일에 확인함.
- ↑ “FreeBSD 8.2 Release Notes”. FreeBSD.org. 2011년 2월 24일. 2011년 4월 12일에 원본 문서에서 보존된 문서. 2011년 12월 18일에 확인함.
- ↑ “OpenSSL: CVS Web Interface”. 2012년 7월 7일에 원본 문서에서 보존된 문서. 2012년 4월 6일에 확인함.
- ↑ “Bloombase StoreSafe Intelligent Storage Firewall”.
- 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
분류:
- 영어 표기를 포함한 문서
- 위키데이터 속성 P18을 사용하는 문서
- 위키데이터 속성 P41을 사용하는 문서
- 위키데이터 속성 P94를 사용하는 문서
- 위키데이터 속성 P117을 사용하는 문서
- 위키데이터 속성 P154를 사용하는 문서
- 위키데이터 속성 P213을 사용하는 문서
- 위키데이터 속성 P227을 사용하는 문서
- 위키데이터 속성 P242를 사용하는 문서
- 위키데이터 속성 P244를 사용하는 문서
- 위키데이터 속성 P245를 사용하는 문서
- 위키데이터 속성 P268을 사용하는 문서
- 위키데이터 속성 P269를 사용하는 문서
- 위키데이터 속성 P271을 사용하는 문서
- 위키데이터 속성 P347을 사용하는 문서
- 위키데이터 속성 P349를 사용하는 문서
- 위키데이터 속성 P350을 사용하는 문서
- 위키데이터 속성 P373을 사용하는 문서
- 위키데이터 속성 P380을 사용하는 문서
- 위키데이터 속성 P396을 사용하는 문서
- 위키데이터 속성 P409를 사용하는 문서
- 위키데이터 속성 P428을 사용하는 문서
- 위키데이터 속성 P434를 사용하는 문서
- 위키데이터 속성 P435를 사용하는 문서
- 위키데이터 속성 P436을 사용하는 문서
- 위키데이터 속성 P454를 사용하는 문서
- 위키데이터 속성 P496을 사용하는 문서
- 위키데이터 속성 P549를 사용하는 문서
- 위키데이터 속성 P650을 사용하는 문서
- 위키데이터 속성 P651을 사용하는 문서
- 위키데이터 속성 P691을 사용하는 문서
- 위키데이터 속성 P716을 사용하는 문서
- 위키데이터 속성 P781을 사용하는 문서
- 위키데이터 속성 P791을 사용하는 문서
- 위키데이터 속성 P864를 사용하는 문서
- 위키데이터 속성 P865를 사용하는 문서
- 위키데이터 속성 P886을 사용하는 문서
- 위키데이터 속성 P902를 사용하는 문서
- 위키데이터 속성 P906을 사용하는 문서
- 위키데이터 속성 P947을 사용하는 문서
- 위키데이터 속성 P950을 사용하는 문서
- 위키데이터 속성 P966을 사용하는 문서
- 위키데이터 속성 P982를 사용하는 문서
- 위키데이터 속성 P1003을 사용하는 문서
- 위키데이터 속성 P1004를 사용하는 문서
- 위키데이터 속성 P1005를 사용하는 문서
- 위키데이터 속성 P1006을 사용하는 문서
- 위키데이터 속성 P1015를 사용하는 문서
- 위키데이터 속성 P1045를 사용하는 문서
- 위키데이터 속성 P1048을 사용하는 문서
- 위키데이터 속성 P1053을 사용하는 문서
- 위키데이터 속성 P1146을 사용하는 문서
- 위키데이터 속성 P1153을 사용하는 문서
- 위키데이터 속성 P1157을 사용하는 문서
- 위키데이터 속성 P1186을 사용하는 문서
- 위키데이터 속성 P1225를 사용하는 문서
- 위키데이터 속성 P1248을 사용하는 문서
- 위키데이터 속성 P1273을 사용하는 문서
- 위키데이터 속성 P1315를 사용하는 문서
- 위키데이터 속성 P1323을 사용하는 문서
- 위키데이터 속성 P1330을 사용하는 문서
- 위키데이터 속성 P1362를 사용하는 문서
- 위키데이터 속성 P1368을 사용하는 문서
- 위키데이터 속성 P1375를 사용하는 문서
- 위키데이터 속성 P1407을 사용하는 문서
- 위키데이터 속성 P1556을 사용하는 문서
- 위키데이터 속성 P1584를 사용하는 문서
- 위키데이터 속성 P1695를 사용하는 문서
- 위키데이터 속성 P1707을 사용하는 문서
- 위키데이터 속성 P1736을 사용하는 문서
- 위키데이터 속성 P1886을 사용하는 문서
- 위키데이터 속성 P1890을 사용하는 문서
- 위키데이터 속성 P1907을 사용하는 문서
- 위키데이터 속성 P1908을 사용하는 문서
- 위키데이터 속성 P1960을 사용하는 문서
- 위키데이터 속성 P1986을 사용하는 문서
- 위키데이터 속성 P2041을 사용하는 문서
- 위키데이터 속성 P2163을 사용하는 문서
- 위키데이터 속성 P2174를 사용하는 문서
- 위키데이터 속성 P2268을 사용하는 문서
- 위키데이터 속성 P2349를 사용하는 문서
- 위키데이터 속성 P2418을 사용하는 문서
- 위키데이터 속성 P2456을 사용하는 문서
- 위키데이터 속성 P2484를 사용하는 문서
- 위키데이터 속성 P2558을 사용하는 문서
- 위키데이터 속성 P2750을 사용하는 문서
- 위키데이터 속성 P2980을 사용하는 문서
- 위키데이터 속성 P3223을 사용하는 문서
- 위키데이터 속성 P3233을 사용하는 문서
- 위키데이터 속성 P3348을 사용하는 문서
- 위키데이터 속성 P3372를 사용하는 문서
- 위키데이터 속성 P3407을 사용하는 문서
- 위키데이터 속성 P3430을 사용하는 문서
- 위키데이터 속성 P3544를 사용하는 문서
- 위키데이터 속성 P3562를 사용하는 문서
- 위키데이터 속성 P3563을 사용하는 문서
- 위키데이터 속성 P3601을 사용하는 문서
- 위키데이터 속성 P3723을 사용하는 문서
- 위키데이터 속성 P3788을 사용하는 문서
- 위키데이터 속성 P3829를 사용하는 문서
- 위키데이터 속성 P3863을 사용하는 문서
- 위키데이터 속성 P3920을 사용하는 문서
- 위키데이터 속성 P3993을 사용하는 문서
- 위키데이터 속성 P4038을 사용하는 문서
- 위키데이터 속성 P4055를 사용하는 문서
- 위키데이터 속성 P4114를 사용하는 문서
- 위키데이터 속성 P4143을 사용하는 문서
- 위키데이터 속성 P4186을 사용하는 문서
- 위키데이터 속성 P4423을 사용하는 문서
- 위키데이터 속성 P4457을 사용하는 문서
- 위키데이터 속성 P4534를 사용하는 문서
- 위키데이터 속성 P4535를 사용하는 문서
- 위키데이터 속성 P4581을 사용하는 문서
- 위키데이터 속성 P4613을 사용하는 문서
- 위키데이터 속성 P4955를 사용하는 문서
- 위키데이터 속성 P5034를 사용하는 문서
- 위키데이터 속성 P5226을 사용하는 문서
- 위키데이터 속성 P5288을 사용하는 문서
- 위키데이터 속성 P5302를 사용하는 문서
- 위키데이터 속성 P5321을 사용하는 문서
- 위키데이터 속성 P5368을 사용하는 문서
- 위키데이터 속성 P5504를 사용하는 문서
- 위키데이터 속성 P5587을 사용하는 문서
- 위키데이터 속성 P5736을 사용하는 문서
- 위키데이터 속성 P5818을 사용하는 문서
- 위키데이터 속성 P6213을 사용하는 문서
- 위키데이터 속성 P6734를 사용하는 문서
- 위키데이터 속성 P6792를 사용하는 문서
- 위키데이터 속성 P6804를 사용하는 문서
- 위키데이터 속성 P6829를 사용하는 문서
- 위키데이터 속성 P7293을 사용하는 문서
- 위키데이터 속성 P7303을 사용하는 문서
- 위키데이터 속성 P7314를 사용하는 문서
- 위키데이터 속성 P7902를 사용하는 문서
- 위키데이터 속성 P8034를 사용하는 문서
- 위키데이터 속성 P8189를 사용하는 문서
- 위키데이터 속성 P8381을 사용하는 문서
- 위키데이터 속성 P8671을 사용하는 문서
- 위키데이터 속성 P8980을 사용하는 문서
- 위키데이터 속성 P9070을 사용하는 문서
- 위키데이터 속성 P9692를 사용하는 문서
- 위키데이터 속성 P9725를 사용하는 문서
- 위키데이터 속성 P9984를 사용하는 문서
- 위키데이터 속성 P10020을 사용하는 문서
- 위키데이터 속성 P10299를 사용하는 문서
- 위키데이터 속성 P10608을 사용하는 문서
- 위키데이터 속성 P10832를 사용하는 문서
- 위키데이터 속성 P11249를 사용하는 문서
- 위키데이터 속성 P11646을 사용하는 문서
- 위키데이터 속성 P11729를 사용하는 문서
- 위키데이터 속성 P12204를 사용하는 문서
- 위키데이터 속성 P12362를 사용하는 문서
- 위키데이터 속성 P12754를 사용하는 문서
- 위키데이터 속성 P13049를 사용하는 문서
- X86 아키텍처
- X86 명령어
- 고급 암호화 표준