블록 암호 운용 방식

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 찾기

암호학에서 블록 암호 운용 방식(영어: block cipher modes of operation)은 하나의 키 하에서 블록 암호를 반복적으로 안전하게 이용하게 하는 절차를 말한다.[1][2] 블록 암호 그 자체는 암호 블록 길이의 단일 데이터 블록의 암호화만을 허용한다. 가변 길이의 메시지를 대상으로 할 때 데이터는 먼저 별도의 암호 블록들로 구분하여야 한다.

운용 방식은 주로 암호화와 인증을 목적으로 정의되어왔다.[1][3] 역사적으로 암호화 방식은 다양한 시나리오의 데이터 수정 측면에서 오류 증식 특성과 관련하여 널리 연구되어 왔다. 나중에 무결성 보호는 암호화와는 완전히 별개로 다루게 되었다. 현대의 일부 운용 방식은 암호화와 인증을 효율적인 방식으로 병합해 놓고 있는데, 이를 인증된 암호 방식(authenticated encryption) 방식으로 부른다.[2]

운용 방식이 일반적으로 대칭형 암호화와 관련하는 것이 일반적이지만[2] RSA와 같은 공개 키 암호 방식 원칙에도 적용할 수 있다. (길이가 더 긴 메시지의 공개 키 암호 방식은 일반적으로 복합 암호 방식(hybrid encryption)이라 부른다.)[1]

목차

[편집] 초기화 벡터 (IV)

[편집] 패딩

[편집] 전자 코드북 (ECB)

전자 코드북(electronic codebook, ECB)은 운용 방식 중 가장 간단한 구조를 가지며, 암호화하려는 메시지를 여러 블럭으로 나누어 각각 암호화하는 방식으로 되어 있다.

Ecb encryption.png

Ecb decryption.png

전자 코드북은 모든 블럭이 같은 암호화 키를 사용하기 때문에 보안에 취약하다. 만약 암호화 메시지를 여러 부분으로 나누었을 때 두 블럭이 같은 값을 가진다면, 암호화한 결과 역시 같다. 이것은 공격자가 비슷한 메시지를 반복적으로 암호화하는 반복 공격에도 취약한 성질을 가진다.

원본 그림
ECB 방식으로 암호화한 결과
ECB 이외의 방식으로 암호화한 결과
비트맵 그림을 여러 블럭으로 나누어 암호화한 결과. ECB 방식의 경우 원본 그림의 색은 보이지 않지만 윤곽이 드러나 보이는 것을 볼 수 있다.


[편집] 암호 블록 체인 방식 (CBC)

IBM은 암호 블록 체인 (cipher-block chaining, CBC) 방식을 1976년에 발명하였다.[4] Cbc encryption.png

Cbc decryption.png

[편집] 증식적 암호 블록 체인 모드 (PCBC)

Pcbc encryption.png

Pcbc decryption.png

[편집] 암호 피드백 (CFB)

암호 피드백(cipher feedback, CFB) 방식은 CBC의 친족 관계로서 블록 암호를 스스로 동기화하는 스트림 암호로 만든다. 동작 방식은 매우 비슷한데, 특히 CFB 암호 해제 방식은 CBC 암호화의 역순과 거의 비슷하다.:

C_i = E_K (C_{i-1}) \oplus P_i
P_i = E_K (C_{i-1}) \oplus C_i
C_{0} = \ \mbox{IV}

Cfb encryption.png

Cfb decryption.png

[편집] 출력 피드백 (OFB)

출력 피드백(output feedback, OFB)은 블록 암호를 동기 스트림 암호로 만든다.

XOR 명령의 대칭 때문에 암호화와 암호 해제 방식은 완전히 동일하다:

C_j = P_j \oplus O_j
P_j = C_j \oplus O_j
O_j = \ E_K (I_{j})
I_j =\ O_{j-1}
I_{0}= \ \mbox{IV}

Ofb encryption.png

Ofb decryption.png

[편집] 카운터 (CTR)

Ctr encryption.png

Ctr decryption.png

[편집] 오류 증식

메시지 인증 코드인증된 암호 방식이 널리 쓰이기 이전까지는 운용 방식 기준으로 "오류 증식" 특성이 논의되었다.

[편집] 인증된 암호 방식

[편집] 같이 보기

[편집] 참조

  1. (1996) 《Handbook of Applied Cryptography》. CRC Press. ISBN 0-8493-8523-7
  2. Block Cipher Modes. NIST Computer Security Resource Center.
  3. FIPS 81: DES Modes of Operation. NIST Computer Security Resource Center.
  4. William F. Ehrsam, Carl H. W. Meyer, John L. Smith, Walter L. Tuchman, "Message verification and transmission error detection by block chaining", US Patent 4074066, 1976