살구.LOG

블록 암호화 운영 모드 본문

정보보호/기술

블록 암호화 운영 모드

Salgoo26 2026. 6. 10. 00:43

블록 암호(AES, SEED 등)는 긴 데이터를 일정한 크기(블록)로 잘라서 암호화한다. 하지만 이 블록들을 아무런 장치 없이 순서대로만 암호화하면 보안에 치명적인 구멍이 생긴다.

잘라진 블록들을 어떤 방식으로 연결해서 암호화할지 결정하는 규칙을 운영 모드(Modes of Operation)'라고 한다.

다음 4가지 유형을 살펴보자.

 

1. ECB (Electronic Codebook)

가장 원시적이고 단순한 방식입니다. 각 블록을 다른 블록과 아무런 연관성 없이 독립적으로 암호화합니다.

  • 동작 방식: 평문 블록1 $\rightarrow$ 암호문 블록1 / 평문 블록2 $\rightarrow$ 암호문 블록2
  • 장점: 각 블록이 독립적이므로 병렬 처리(고속 암호화)가 가능하다. 중간에 통신 에러가 나서 암호문 하나가 깨져도, 다른 블록의 복호화에는 영향을 주지 않는다.
  • 치명적 단점: 평문의 패턴이 암호문에 그대로 노출된다. 똑같은 내용의 평문 블록은 똑같은 암호문으로 변환되기 때문에, 해커가 암호문을 풀지 못해도 원본의 윤곽(패턴)을 유추할 수 있다. 실무에서 사용하지 않음

 

2. CBC (Cipher Block Chaining)

ECB의 단점을 해결하기 위해 나온 방식으로, 이전 블록의 암호화 결과를 현재 블록에 섞어버리는(XOR 연산) 방식이다.

  • 동작 방식: (현재 평문 블록 $\oplus$ 이전 암호문 블록) $\rightarrow$ 암호화 알고리즘 통과. (첫 번째 블록은 이전 암호문이 없으므로 '초기화 벡터(IV)'라는 가짜 난수를 사용함)
  • 장점: 똑같은 내용의 평문이라도 앞 블록의 영향을 받아 매번 전혀 다른 암호문이 나온다. 패턴이 완벽하게 은닉되어 매우 안전힘
  • 단점 (에러 파급): 암호화가 순차적으로 맞물려 있어서 병렬 처리가 불가능합니다. (복호화 과정에서 병렬처리는 가능하다.) 또한, 전송 중 암호문 블록에 1비트의 에러만 발생해도, 복호화 시 해당 블록 전체가 깨지고 다음 블록의 1비트까지 깨지는 현상(에러 파급)이 발생.

 

3. OFB (Output Feedback)

블록 암호 알고리즘을 마치 데이터가 물 흐르듯 처리되는 '스트림 암호'처럼 바꿔서 사용하는 독특한 모드

  • 동작 방식: 평문을 직접 암호화하는 대신, IV(초기화 벡터)를 계속 암호화하여 '키 스트림(비밀번호 뭉치)'을 먼저 만든 후, 평문은 이 키 스트림과 단순 XOR 연산만 하여 암호문을 만든다. 패딩을 추가하지 않음
  • 장점: 평문이 암호화 과정에 직접 개입하지 않는다. 전송 중 암호문에 1비트 에러가 나면, 복호화 시 평문에도 딱 1비트만 에러가 발생하고 끝남. 동영상 스트리밍처럼 통신 환경이 불안정할 때 유리.
  • 단점: 키 스트림을 만드는 과정 자체가 앞의 결과값을 다시 집어넣는 순차적 구조라 병렬 암호화가 불가능

 

4. CTR (Counter)

현재 전 세계적으로 가장 많이 쓰이는 모드이다. (TLS, IPsec 등에서 사용하는 AES-GCM이 바로 CTR 모드 기반)

  • 동작 방식: 피드백(앞의 결과를 가져옴)을 완전히 없애버리는 대신, '1씩 증가하는 카운터(Counter)'를 암호화하여 키 스트림을 만들고, 이를 평문과 XOR 연산한다.
  • 장점: 카운터 값은 1, 2, 3... 으로 미리 알 수 있으므로, 블록이 100개든 1,000개든 완벽하게 병렬 처리가 가능하여 속도가 압도적으로 빠르다.
  • 단점: 카운터 값이 재사용되면 보안이 뚫리므로 관리에 주의

'정보보호 > 기술' 카테고리의 다른 글

RSA 암호화 알고리즘  (0) 2026.06.09
해시함수의 성질  (0) 2026.06.09
PGP(Pretty Good Privacy) 동작 원리 및 암호화 알고리즘  (0) 2026.06.09
IDS(침입 탐지 시스템)의 분류  (0) 2026.06.08
VPN의 종류  (1) 2026.06.08