AES-엔아이
Jump to navigation
Jump to search
AES-NI (Advanced Encryption Standard New Instructions)는 인텔이 2008년 3월에 제안한 엨스86 (x86, 엑스86) 명령어 집합의 확장으로서 고급 암호 표준 (AES)을 사용하는 암호화와 복호화의 수행 성능을 향상시키기 위한 명령어 집합이다[1]. 인텔 웨스트미어 프로세서부터 처음으로 지원하기 시작했으며 7개의 명령어로 이루어져 있다.
AES-NI, 에이이에스-엔아이, 에이이에스-NI, AES-엔아이
새 명령어
명령어 | 설명 |
---|---|
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]
같이 보기
각주
- AES-NI 백서 http://software.intel.com/file/20457 4.4 Mbyte, pdf
Template:인텔 기술 Template:멀티미디어 확장
분류:X86 아키텍처 분류:X86 명령어 분류:고급 암호화 표준
- ↑ Template:웹 인용
- ↑ 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)
- ↑ Template:웹 인용
- ↑ [1]
- ↑ http://ark.intel.com/products/75104/Intel-Core-i3-4000M-Processor-3M-Cache-2_40-GHz
- ↑ Template:웹 인용
- ↑ Template:웹 인용
- ↑ Template:웹 인용
- ↑ Template:웹 인용
- ↑ Template:웹 인용
- ↑ Template:웹 인용
- ↑ Template:웹 인용