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