PE Notes · 보안
블록 암호 운영모드
AES·ARIA 같은 블록 암호와, 패턴을 드러내는 ECB부터 인증까지 묶는 GCM까지 운영모드를 병렬성·패딩·Nonce 축으로 비교합니다.
같은 알고리즘이라도 블록을 잇는 방식이 다르면 암호문이 무늬를 남기거나, 인증이 없거나, 병렬이 됩니다. 는 고정 칸을 암호화하고, 운영모드가 긴 메시지를 그 칸에 맞춥니다. 이 글은 알고리즘과 ECB·CBC·CTR·GCM을 한 선택 표에 올립니다.
알고리즘
는 128비트 칸과 128·192·256 키, SPN 라운드입니다. 국내는 와 SEED, 경량 LEA가 같은 칸 크기를 씁니다. DES와 3DES는 키와 미트인더미들 때문에 내려놓습니다.
| 알고리즘 | 키 / 블록 | 상태 |
|---|---|---|
| DES | 56 / 64 | 폐기 |
| 3DES | 112·168 / 64 | 폐기 권고 |
| AES | 128·192·256 / 128 | 현행 표준 |
| ARIA | 128·192·256 / 128 | 국내 표준 |
| SEED | 128 / 128 | 금융·공공 레거시 |
| LEA | 128·192·256 / 128 | IoT 경량 |
스트림 암호(ChaCha20)는 비트·바이트 단위라 모드가 필요 없고, 실시간 구간에 자주 붙습니다. Grover를 염두에 두면 대칭키는 256비트 쪽이 여유가 있습니다.
운영모드
는 같은 평문 칸이 같은 암호문 칸이 됩니다. 그림이 윤곽을 남깁니다. 는 이전 암호문과 XOR해 의존을 만들고, 암호화는 직렬입니다. CTR은 카운터를 암호화해 키스트림을 만들고, 은 그 위에 GHASH 태그를 얹어 AEAD가 됩니다.
| 비교축 | ECB | CBC | CTR | GCM |
|---|---|---|---|---|
| 암호 병렬 | 가능 | 불가 | 가능 | 가능 |
| 복호 병렬 | 가능 | 가능 | 가능 | 가능 |
| 인증 | 없음 | 없음 | 없음 | AEAD |
| 패딩 | 필요 | 필요 | 없음 | 없음 |
| IV/Nonce | 없음 | IV | Nonce | Nonce |
| 권고 | 금지 | 레거시 | 가능 | 권장 |
| 구멍 | 패턴 노출 | BEAST류 | Nonce 재사용 | Nonce 재사용 |
TLS 1.3이 CBC를 뺀 이유가 이 표의 인증 칸과 구멍 칸입니다. 해시 토픽의 MAC이 별도 층이었다면, GCM은 암호와 인증을 한 모드로 합칩니다.
고르는 법
디스크처럼 임의 위치가 필요하면 XTS, 저전력이면 CCM, TLS와 일반 전송이면 GCM입니다. Nonce를 재사용하면 CTR·GCM 모두 키스트림이 겹칩니다.
| 자리 | 조합 | 이유 |
|---|---|---|
| TLS 1.3 | AES-GCM, ChaCha20-Poly1305 | AEAD, 성능 |
| 디스크 | AES-XTS | 트윅, 임의 접근 |
| 전자정부 | ARIA-GCM (또는 레거시 CBC) | 국가 표준 |
| IoT | AES-CCM, LEA-GCM | 경량 |
암호문만 보고 평문 패턴을 읽는 공격은 ECB에서 쉽고, CBC 패딩 오라클은 구현이 에러를 나눠 줄 때 열립니다. 모드 선택이 알고리즘 선택만큼 보안 강도입니다.