반응형
블록 암호 운용 방식
- 블록 암호를 반복적으로 안전하게 이용하게 하는 절차를 말한다.
- 가변 길이 데이터를 암호화하기 위해서는 먼저 이들을 단위 블록들로 나누어야 하며,
그 블록들을 어떻게 암호화할지를 정해야 하는데, 이때 블록들의 암호화 방식을 운용 방식으로 부른다. - 현대의 일부 운용 방식은 암호화와 인증을 효율적인 방식으로 병합해 놓고 있는데, 이를 인증된 암호 방식(authenticated encryption) 방식으로 부른다.
- 운용 방식이 일반적으로 대칭형 암호화와 관련하는 것이 일반적이지만 RSA와 같은 공개 키 암호 방식 원칙에도 적용할 수 있다. 1
초기화 벡터(initialization vector, IV)
- 첫 블록을 암호화할 때 사용되는 값을 의미한다.
- 같은 IV가 반복 사용되어서는 안 된다.
초기화 벡터가 같은 경우 비슷한 두 개의 평문을 암호화했을 때, 결과물이 똑같이 나오는 등의 보안 문제가 발생할 수 있다. - CTR 등의 일부 운용 방식에서는 초기화 벡터라는 용어 대신 Nonce(number used once)라는 용어를 사용한다.
이 표현은 보통 초기화 벡터가 매번 달라야 하는 것 외에 별다른 요구 조건이 없을 경우 사용한다.
블록 암호 운용 방식의 종류
ECB(Electric Code Book) mode
- 운영 모드 중 가장 간단한 구조를 가진다.
- 평문을 여러 블록으로 나누어 나눠진 각각의 블록을 암호화한다. 2
- 각 블록은 독립적으로 처리되므로 특정 블록에서 에러가 발생하더라도 다른 블록에는 전혀 영향을 주지 않는다.
- 모든 블록이 같은 암호화 키를 사용하기 때문에 한 개의 블록이 해독되면 나머지 블록 또한 해독된다. 3
CBC(Cipher Block Chaining) mode
- 각각의 평문 블록은 암호화되기 전에 이전 암호문 블록과 XOR 된다. 4
- 첫 블록의 경우 이전의 암호문 블록이 존재하지 않기 때문에 IV(Initialization Vector, 초기화 벡터)가 사용된다.
- 암호화 시에는 이전 블록 암호화 결과에 의존하기 때문에 병렬화가 불가능하지만,
복호화의 경우 각 블록을 복호화한 다음 이전 암호화 블록과 XOR 하여 복구할 수 있기 때문에 병렬화가 가능하다. - 복호화 시 CBC모드의 암호문 블록이 1개 파손된 경우 암호문 블록의 길이가 바뀌지 않았다면 평문 블록에 미치는 영향은 2개 블록에 머문다.
반면 평문 블록의 1bit 오류는 모든 암호문에 영향을 미친다.
CFB(Cipher FeedBack) mode
- CBC의 변형된 방식으로, 블록 암호를 비동기식 스트림 암호로 변환한다.
- 어떠한 값과 평문을 XOR 한 결괏값이 암호문으로 나오는 형태가 스트림 암호와 같다.
비록 CFB 모드가 DES, AES 같은 블록 암호를 이용한 모드지만, 그 결과는 스트림 암호와 같기 때문에
키 스트림이 암호문에 의존하는 비동기식 스트림 암호라 할 수 있다. - 스트림 암호의 특성상 Padding이 필요 없고 문자가 암호화되는 즉시 전송할 수 있으며,
키 스트림과 평문의 XOR형태와 같기 때문에 블록 암호의 복호화 과정 없이 해당 평문을 복호화할 수 있다.
OFB(Output FeedBack) mode
- 블록 암호를 동기식 스트림 암호로 변환한다.
- 평문 블록이 동일하면 암호문이 같아지는 ECB 모드의 단점과 오류 전파가 발생하는 CBC, CFB 모드를 개선한 운용 방식이다.
- CFB는 다음 블록에 IV를 암호화 한 값과 평문을 XOR 한 결과를 사용하지만, OFB는 IV를 암호화 한 값을 사용한다.
- 전송 중인 암호문의 비트 손실이나 삽입 등이 발생하면 그다음에 오는 평문은 모두 오류가 발생하기 때문에 동기를 새로 맞추어야 한다.
CTR(CounTeR) mode
- CFB와 OFB와 같이 CTR 모드는 실제로 스트림 암호이다.
- 암호에 사용할 Nonce을 구하고 1씩 증가하는 Counter을 결합하여 사용한다.
- 이전 블록의 어떠한 값도 다음 블록에 영향을 주지 않기 때문에 오류 전파가 없고 병렬 처리가 가능하며 원하는 부분만 복호화하는 것도 가능하다.
모드 | 특징 |
ECB |
|
CBC |
|
CFB |
|
OFB |
|
CTR |
|
반응형
'공부 > 정보보안' 카테고리의 다른 글
RSA 암호 (0) | 2019.08.17 |
---|---|
공개 키 암호(public-key cryptography) (0) | 2019.08.14 |
키 배송 문제(key distribution problem) (0) | 2019.08.04 |
DES(Data Encryption Standard) (0) | 2019.08.01 |
P-Box, S-Box (0) | 2019.07.27 |
댓글