개념 사전 · 개념

AES

Advanced Encryption Standard · 에이에스

는 128비트 블록을 같은 비밀키로 암호화하고 복호화하는 대칭 블록암호다. 키 길이와 라운드 수는 달라질 수 있지만 긴 메시지의 처리 방식은 별도의 운영 모드가 정한다.

밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.

01무엇이고, 어떤 일을 하나

  • 파일·네트워크 내용의 기밀성을 제공하는 기반이 된다.
  • 치환·행 이동·열 혼합·키 XOR로 블록의 값을 여러 라운드에 걸쳐 바꾼다.
  • 같은 모드와 결합해 암호화와 무결성 검증에 사용된다.

02어떤 순서로 동작하나

  1. 배치

    16바이트 입력을 4×4 에 열 방향으로 넣고 128비트 키에서 필요한 라운드키를 준비한다.

  2. 초기 키 주입

    에 첫 라운드키를 XOR하는 를 수행한다.

  3. 일반 라운드 반복

    →→→를 9회 수행한다. 값 치환·위치 이동·확산·키 주입이 이어진다.

  4. 마지막 라운드

    10번째 라운드는 →→이며 를 생략한다.

  5. 블록 출력

    를 16바이트 암호문으로 읽는다. 긴 메시지의 연결과 인증은 운영 모드가 추가로 담당한다.

03먼저 알아둘 용어와 구성요소

16바이트 입력을 배치한 4×4 바이트 배열.
각 바이트를 로 치환하는 비선형 변환.
유한체 연산으로 한 열의 바이트를 혼합하는 변환.
원래 키에서 키 스케줄로 생성한 각 라운드의 키.
의 행별 바이트 위치를 다른 거리만큼 순환 이동하는 변환.
와 해당 라운드키를 XOR하는 변환.
원래 키에서 필요한 라운드키를 만드는 키 스케줄.
의 바이트 연산을 정의하는 256개 원소의 유한체.
바이트 값을 다른 바이트로 바꾸는 정해진 치환 표.

04예제로 따라가기

  • -128은 128비트 키와 10라운드를 사용하며 초기 키 주입 뒤 일반 라운드와 마지막 라운드를 수행한다.
  • -192와 -256은 각각 12·14라운드지만 데이터 블록은 모두 16바이트다.
  • 마지막 라운드는 를 생략한다. 전체 블록 출력이 같아야 한다는 시험 벡터로 배치와 라운드 순서의 오류를 구분한다.

05혼동하기 쉬운 점과 확인 기준

  • 자체는 긴 메시지의 Nonce 관리와 인증 태그 정책을 정의하지 않는다. 모드와 입력 조건을 함께 보아야 한다.
  • -256이라는 이름만으로 키 보관·난수·Nonce 재사용·구현 부채널 문제가 해결되지는 않는다.

06상세 노트 · 실습 자료

헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.

공식 문서 · 표준

기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.