본문 바로가기

Incognito

블록 암호 모드

블록 암호

- m 비트 단위로 암호화

- 평문의 길이가 m 비트 이상인 경우 >> 평문을 블록 단위로 분할

- Naïve approach: 분할 평문 블록별로 암호화 및 복호화 >> 안전성에 문제가 있음

 

 

 

 

 

블록 암호 모드

- 복수의 평문 블록을 어떤 방식으로 암호화할지를 정의하는 매커니즘

- 5개의 주요 모드 존재 (ECB, CBC, CFB, OFB, CTR)

 

 

 

 

 

메시지 패딩 (Padding)

- 마지막 평문 블록이 암호 알고리즘에서 정의한 블록 길이에 미치지 못하는 경우

- 패딩: 블록 길이를 만족하도록 약속한 방식으로 적당한 길이의 비트열 및 바이트열 추가

복호화했을 때 마지막 평문 브록에서 패딩 파트는 제외하고 평문으로 decode

 

 

 

 

 

ECB 모드 (Electric CodeBook mode)

- 장점

   - 속도가 빠름

   - 병렬처리 가능

- 단점

   - 패딩이 필요

   - 평문 반복 → 암호문 반복

   - 암호문 블록 삭제 및 교체에 의한 평문 조작 가능

   - 복호화 오류없는 재전송 공격 가능

 

쓰지 않음

 

 

 

 

 

CBC 모드 (Cipher Block Chaining mode)

- 장점

   - 평문 반복이 암호문에 반영되지 않음

   - 복호화 과정은 병렬처리 가능

   - 임의의 암호문 블록 복호화 가능

- 단점

   - 패딩 필요

   - 암호화 과정 병렬처리 불가능

   - 암호문 블록 내 비트 단위 에러가 발생하면 현재 평문 및 다음 평문 블록까지 에러 발생

   - 약간의 복호화 오류가 있는 재전송 공격 가능

 

사용 권장

 

 

 

 

 

 

CFB 모드 (Cipher FeedBack mode)

- 장점

   - 스트림 암호 방식 (패딩 필요 없음)

   - 복호화 과정 병렬처리 가능

   - 임의의 암호문 블록 복호화 가능

- 단점

   - 암호화 과정 병렬처리 불가능

   - 암호문 블록 내 비트 단위 에러가 발생하면 현재 평문 및 다음 평문 블록까지 에러 발생

   - 약간의 복호화 오류가 있는 재전송 공격 가능

 

 

 

 

 

OFB 모드 (Output FeedBack mode)

- 장점

   - 스트림 암호 방식 (패딩 필요 없음)

   - 키스트림을 미리 발생시켜 사전에 암호화 및 복호화 준비 가능

   - 암호화 구조 = 복호화 구조

   - 암호문 블록 내 비트 단위 에러가 발생하면 현재 평문에만 한정됨

- 단점

   - 암호화, 복호화 과정 모두 병렬처리 불가능

   - 적극적 공격자가 암호문 블록 비트를 반전시키면 대응 평문 블록의 해당 비트가 반전됨

 

 

 

 

 

CTR 모드 (CounTeR mode)

- 장점

   - 스트림 암호 방식 (패딩 필요 없음)

   - 키스트림을 미리 발생시켜 사전에 암호화 및 복호화 준비 가능

   - 암호화 구조 = 복호화 구조

   - 암호문 블록 내 비트 단위 에러가 발생하면 현재 평문에만 한정됨

   - 암호화와 복호화 모두 병렬처리 가능

- 단점

   - 적극적 공격자가 암호문 블록 비트를 반전시키면 대응 평문 블록의 해당 비트가 반전됨'

 

사용 권장

'Incognito' 카테고리의 다른 글

기초대수학 문제 풀이  (1) 2022.11.20
스트림 암호 (Stream Cipher)  (0) 2022.11.05
AES 암호 알고리즘  (0) 2022.10.22
Feistel Network  (0) 2022.10.22
일회용 패드 & 블록 암호  (0) 2022.10.22