Choose a default theme

You can change your theme from the menu

AES

Earlier revision · 1View current content

AES는 같은 비밀 키를 사용하는 대칭키 블록 암호이다. NIST의 FIPS 197에 정의되며, AES-128·AES-192·AES-256은 각각 키 길이를 나타낸다. 세 종류 모두 한 번에 처리하는 블록의 크기는 128비트이다.

분야

대칭키 블록 암호

키 길이와 블록 크기

AES-256이라는 이름의 256은 블록 크기가 아니라 키의 비트 수이다. 암호는 키와 입력 블록을 바탕으로 출력 블록을 계산한다. 실제 파일이나 메시지는 한 블록보다 길 수 있으므로 여러 블록을 어떻게 처리할지 정하는 운용 방식이 필요하다.

운용 모드와 인증

AES라는 알고리즘 이름만으로 완성된 메시지 보호 방식이 정해지지 않는다. 예를 들어 GCM은 블록 암호를 이용한 인증 암호화 모드이며, 암호문뿐 아니라 인증 태그와 관련 데이터 처리를 포함한다. 키·초기값·태그의 조건은 사용하는 모드와 프로토콜에 맞추어 지켜야 한다.

사용 예시

백업 파일을 암호화한다면 파일 내용의 기밀성, 변조 검출, 키 보관과 복구 가능성을 함께 설계한다. 파일을 암호화했더라도 키를 같은 공개 위치에 저장하면 기대한 보호를 얻을 수 없다. 인증 검증에 실패한 내용을 정상 데이터처럼 사용하는 것도 피해야 한다.

다른 암호 기술과의 구분

SHA-256은 데이터를 요약하는 해시 함수이고 HMAC은 공유 키를 사용하는 메시지 인증 코드이다. 두 기술은 AES의 다른 이름이 아니다. 비밀번호 검증값을 저장하는 문제도 일반 파일 암호화와 달라 Argon2 같은 비밀번호 해시 함수를 별도로 다룬다.

참고 자료

관련 기술 비교

암호 알고리즘

암호화

AES · RSA

해시·인증

SHA-256 · HMAC

비밀번호 해싱

Argon2