Unisquads
로그인
홈
이용약관·개인정보처리방침·콘텐츠정책·© 2026 Unisquads
이용약관·개인정보처리방침·콘텐츠정책
© 2026 Unisquads. All rights reserved.

AES-NI (r1)

이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.25 00:26

AES-NI

정의

Advanced Encryption Standard-New Instructions의 약자로, AES 암호화와 복호화의 수행 성능을 향상시키기 위한 x86 명령어 집합 확장입니다.

제안사

인텔

제안 시기

2008년 3월

최초 지원 CPU

인텔 웨스트미어 프로세서

구성 명령어 수

7개

상세 정보

주요 명령어

AESENC (AES 암호화 라운드 수행)

AESENCLAST (AES 암호화의 마지막 라운드 수행)

AESDEC (AES 복호화 라운드 수행)

AESDECLAST (AES 복호화의 마지막 라운드 수행)

AESKEYGENASSIST (AES 라운드 키 생성)

AESIMC (AES Inverse Mix Column 연산 수행)

PCLMULQDQ (캐리 없는 곱셈)

지원 CPU (인텔)

인텔 웨스트미어 기반 프로세서 중 일부

인텔 샌디브리지 기반 프로세서 (코어 i5, 코어 i7, 제온 등)

인텔 아이비브리지 기반 프로세서 (모든 코어 i5, 코어 i7, 제온 등)

인텔 하스웰 기반 프로세서 (코어 i3-4000M, 펜티엄, 셀러론 제외 모든 프로세서)

인텔 브로드웰 기반 프로세서 (펜티엄 3xxxU, 셀러론 3xxxU 제외 모든 프로세서)

인텔 스카이레이크 기반 프로세서 (펜티엄 3xxxU, 셀러론 3xxxU 제외 모든 프로세서)

지원 CPU (AMD)

AMD 불도저 기반 프로세서

AMD 파일드라이버 기반 프로세서

AMD 스팀롤러 기반 프로세서

AMD 재규어 기반 프로세서

AMD 퓨마 기반 프로세서

지원 소프트웨어/플랫폼

마이크로소프트 Cryptography API: Next Generation (CNG)

리눅스 커널 암호화 API

자바 7 HotSpot

NSS 3.13 이상 (파이어폭스와 크롬에서 사용)

솔라리스 10 이상의 암호화 프레임워크

FreeBSD

1. 개요

AES-NI는 Advanced Encryption Standard-New Instructions의 약자이다. 이는 AES 암호화와 복호화의 수행 성능을 크게 향상시키기 위해 설계된 x86 명령어 집합 확장이다. 인텔이 2008년 3월에 제안하였으며, 이후 인텔 웨스트미어 프로세서를 시작으로 지원이 확대되었다.

이 기술은 하드웨어 수준에서 암호화 연산을 직접 처리하도록 설계된 7개의 새로운 명령어로 구성되어 있다. 소프트웨어만으로 구현하는 기존 방식에 비해, AES-NI를 사용하면 암호화 및 복호화 속도가 획기적으로 빨라지고, CPU 사용률도 크게 감소한다.

이러한 성능 향상은 데이터 센터의 대규모 암호화 처리나 개인용 컴퓨터의 디스크 암호화 등 다양한 보안 응용 분야에서 실질적인 이점을 제공한다. 결과적으로 AES-NI는 현대 컴퓨팅 시스템에서 필수적인 보안과 성능을 동시에 만족시키는 핵심 기술로 자리 잡았다.

2. 새 명령어

AES-NI는 총 7개의 새로운 x86 명령어로 구성된다. 이 명령어들은 고급 암호 표준 암호화와 복호화 과정의 핵심 연산을 하드웨어 수준에서 직접 수행하도록 설계되었다.

주요 명령어로는 AESENC와 AESDEC가 있다. AESENC는 AES 암호화의 한 라운드 연산을 수행하며, AESENCLAST는 최종 라운드 연산을 담당한다. 반대로 AESDEC와 AESDECLAST는 복호화 과정의 라운드 연산을 처리한다. 이외에도 AES 라운드 키 생성을 위한 AESKEYGENASSIST, 역혼합 열(Inverse Mix Columns) 연산을 위한 AESIMC 명령어가 포함되어 있다.

또한, 캐리 없는 곱셈 연산을 수행하는 PCLMULQDQ 명령어도 AES-NI 확장의 일부로 제공된다. 이 명령어는 갈루아 필드 상의 곱셈 연산을 가속화하여 GCM 모드와 같은 인증 암호화 방식의 성능 향상에 기여한다.

이러한 명령어 세트는 소프트웨어로 구현된 AES 알고리즘에서 반복적으로 수행되던 복잡한 연산들을 대체함으로써, 처리 속도를 획기적으로 높이고 전력 소비를 줄이는 효과를 가져온다.

3. AES-NI를 지원하는 CPU

3.1. 인텔

인텔은 AES-NI를 2008년 3월에 제안한 주도적인 기업이다. 이 기술은 고급 암호 표준 암호화와 복호화의 성능을 크게 향상시키기 위해 설계된 x86 명령어 집합의 확장이다. 인텔은 2010년 출시된 인텔 웨스트미어 마이크로아키텍처 기반의 프로세서부터 AES-NI를 처음으로 하드웨어에 구현하기 시작했다. 최초로 이 기능을 탑재한 제품은 제온 5600 시리즈와 클락데일 마이크로아키텍처의 일부 코어 i5, 코어 i7 프로세서였다.

이후 인텔의 주요 마이크로아키텍처 세대마다 AES-NI 지원 범위가 확대되었다. 샌디브리지와 아이비브리지 세대에서는 대부분의 코어 i5, i7, 제온 프로세서가 지원했으며, 하스웰 세대부터는 저가형 라인인 펜티엄과 셀러론의 일부 모델을 제외한 거의 모든 데스크톱 및 모바일 프로세서가 AES-NI를 기본 지원하게 되었다. 이는 암호화 가속 기능이 고성능 컴퓨팅 영역을 넘어 일반 소비자용 PC와 서버 시장으로 광범위하게 보급되는 중요한 전환점이었다.

인텔 프로세서의 AES-NI 지원 여부는 공식 제품 사양(ARK) 데이터베이스를 통해 확인할 수 있다. 이 기술은 가상화, 데이터 센터 보안, 클라우드 컴퓨팅을 비롯해 SSL/TLS 가속이 필요한 다양한 소프트웨어의 성능 향상에 기여하고 있다.

3.2. AMD

AMD는 AES-NI를 지원하는 주요 CPU 제조사 중 하나이다. AMD는 2011년 출시된 불도저 기반 프로세서부터 AES-NI 명령어 집합을 공식 지원하기 시작했다. 이후 출시된 파일드라이버, 스팀롤러, 재규어, 퓨마 기반의 프로세서들도 이 기능을 계속해서 지원하며, AMD 플랫폼에서도 AES 암호화 작업의 하드웨어 가속을 제공한다.

AMD 프로세서에서 AES-NI는 마이크로아키텍처에 통합된 방식으로 구현되어, 소프트웨어만으로 처리할 때보다 훨씬 빠른 암호화 및 복호화 성능을 제공한다. 이는 가상 사설망, 디스크 암호화, 보안 통신 프로토콜 등 다양한 보안 애플리케이션의 성능을 크게 향상시킨다. AMD와 인텔 양사 모두 이 기술을 지원함으로써, x86 플랫폼 전반에 걸쳐 효율적인 암호화 처리 표준이 확립되었다.

4. 성능

AES-NI는 소프트웨어만으로 수행하는 전통적인 AES 암호화 방식에 비해 처리 속도와 효율성을 획기적으로 향상시킨다. 이는 암호화 및 복호화의 핵심 연산을 마이크로아키텍처 수준에서 직접 처리하는 전용 하드웨어 회로를 통해 이루어진다. 결과적으로 CPU 사용률이 크게 감소하고, 데이터 처리 처리량은 증가하며, 전력 소비도 줄어드는 효과를 가져온다.

성능 향상의 정도는 구체적인 애플리케이션, 데이터 블록 크기, 사용 중인 모드 등에 따라 다르다. 일반적으로 AES-NI를 지원하는 프로세서에서는 SSL/TLS 가속, 디스크 암호화, VPN 터널링 등 대용량 데이터 암호화 작업에서 수 배에서 수십 배에 이르는 성능 개선이 보고된다. 이는 특히 데이터 센터나 클라우드 컴퓨팅 환경에서 네트워크 대역폭을 효율적으로 활용하고 서버의 전체 처리 능력을 높이는 데 기여한다.

AES-NI의 성능 이점을 충분히 활용하려면 운영 체제와 응용 소프트웨어가 이 명령어 집합을 명시적으로 지원해야 한다. 주요 암호화 라이브러리인 OpenSSL, GnuTLS, NSS 등은 AES-NI를 활용하도록 최적화되어 있으며, 마이크로소프트 윈도우의 CNG와 리눅스 커널의 암호화 API도 이를 지원한다. 따라서 하드웨어적 지원과 더불어 소프트웨어 스택의 적절한 구성이 성능 향상을 실현하는 필수 조건이다.

5. 지원 소프트웨어

AES-NI는 하드웨어 가속 명령어 집합이므로, 이를 효과적으로 활용하려면 운영체제, 암호화 라이브러리, 애플리케이션 등 소프트웨어 측면의 지원이 필수적이다. 주요 마이크로소프트 윈도우 운영체제는 Cryptography API: Next Generation (CNG)를 통해 AES-NI를 지원하며, 리눅스 커널 역시 자체 암호화 API를 통해 이 기능을 통합하고 있다.

다양한 암호화 라이브러리와 보안 소프트웨어도 AES-NI를 적극적으로 활용한다. OpenSSL 1.0.1 이상 버전, GnuTLS, NSS (파이어폭스 및 크롬 브라우저의 보안 기반) 등이 대표적이다. 또한 자바 플랫폼의 HotSpot 가상 머신은 자바 7부터 AES-NI를 지원하여 암호화 연산 성능을 크게 향상시켰다.

지원 범주

주요 소프트웨어/플랫폼 예시

운영체제/API

마이크로소프트 CNG, 리눅스 커널 암호화 API, FreeBSD OpenCrypto API, 솔라리스 암호화 프레임워크

암호화 라이브러리

OpenSSL, GnuTLS, NSS

프로그래밍 플랫폼

자바 HotSpot

기타 소프트웨어

Bloombase Cryptographic Module

이러한 광범위한 소프트웨어 지원 덕분에 데이터베이스 암호화, 가상 사설망, 디스크 암호화, 웹 서버의 TLS/SSL 가속 등 다양한 보안 애플리케이션에서 AES-NI의 하드웨어 가속 이점을 누릴 수 있게 되었다.

6. 관련 문서

  • 위키백과 - AES-NI

  • Intel - Advanced Encryption Standard Instructions (AES-NI)

  • Tom's Hardware - AES-NI Performance Analyzed

  • Microsoft - Cryptography API: Next Generation (CNG)

  • OpenSSL - CHANGES

  • FreeBSD - aesni(4) driver

  • Oracle - Solaris Cryptographic Framework

  • Mozilla - NSS (Network Security Services)

  • AMD - AMD64 Architecture Programmer's Manual

  • GnuTLS - GnuTLS Documentation

7. 참고 자료

  • ko.wikipedia.org

리비전 정보

버전r1
수정일2026.02.25 00:26
편집자unisquads
편집 요약AI 자동 생성