1. 블록 암호란?
블록 암호(Block Cipher)는 데이터를 고정 길이의 블록(64bit, 128bit 등)으로 나누어 암ㆍ복호화를 수행하는 암호 알고리즘을 말한다.
평문 데이터의 길이가 블록 크기보다 클 때는 블록 단위로 나누어서 암호화를 해야 한다. 이렇게 여러 개의 블록을 암호화하기 위한 운영 방식을 ‘블록 암호 모드’라고 한다. 블록 암호 모드의 종류로는 ECB 모드, CBC 모드, CFB 모드, OFB 모드, CTR 모드가 있다.
2. ECB 모드
ECB 모드는 Electric CodeBook mode(전자 부호표 모드)의 약자이다. ECB 모드에서는 평문 블록을 암호화한 것이 그대로 암호문 블록이 된다. 따라서 ECB는 5가지 모드 중 가장 단순하며 기밀성이 가장 낮은 모드이다. 암호문 내에 반복된 패턴이 있으면 평문 속에도 반복된 패턴이 있다는 것을 알게 되므로 안전하지 않다. ECB 모드는 하나의 암호문 블록에 오류가 발생하여도 다른 암호문 블록에 영향을 주지 않는다.
3. CBC 모드
CBC 모드는 Cipher Block Chaining mode(암호 블록 연쇄 모드)의 약자이다. CBC 모드에서는 한 단계 앞에서 출력된 암호문 블록(1단계에서는 초기화 벡터)을 현재 단계의 평문 블록과 XOR 연산 후, 암호화를 수행한다. 따라서 하나의 암호문 블록에 오류가 발생하면 그 이후의 암호문 블록은 모두 오류가 발생하게 된다.
4. CFB 모드
CFB 모드는 Cipher-Feedback mode(암호 피드백 모드)의 약자이다. CFB 모드에서는 한 단계 앞에서 출력된 암호문 블록(1단계에서는 초기화 벡터)을 암호화한 후, 현재 단계의 평문 블록과 XOR 연산을 수행한다. 따라서 하나의 암호문 블록에 오류가 발생하면 그 이후의 암호문 블록은 모두 오류가 발생하게 된다.
5. OFB 모드
OFB 모드는 Output-Feedback mode(출력 피드백 모드)의 약자이다. OFB 모드는 CFB 모드와 비슷하지만, 한 단계 앞에서 암호화한 결과(1단계에서는 초기화 벡터)를 평문 블록과 XOR 연산을 수행한다. 이전 단계의 암호문 블록을 사용하지 않으므로 하나의 암호문 블록에 오류가 발생하여도 다른 암호문 블록에 영향을 주지 않는다.
6. CTR 모드
CTR 모드는 CounTeR mode(카운터 모드)의 약자이다. CTR 모드는 1씩 증가하는 카운터를 암호화해서 키 스트림을 만들어 내는 스트림 암호이다. 이전 단계의 암호문 블록을 사용하지 않으므로 하나의 암호문 블록에 오류가 발생하여도 다른 암호문 블록에 영향을 주지 않는다.
'Computer Science > 정보보호' 카테고리의 다른 글
[정보보호] 여러 가지 암호 기술과 역할 (1) | 2022.10.04 |
---|---|
[정보보호] 공개 키 암호, 하이브리드 암호 (1) | 2022.10.03 |
[정보보호] 대칭 키 암호 (0) | 2022.10.03 |
[정보보호] 에니그마 암호 기계 (0) | 2022.10.03 |
[정보보호] 정보보호의 기본적 개념과 정의 (0) | 2022.10.03 |