블록 암호 모드

From CS Wiki
Revision as of 07:54, 20 November 2019 by PE가즈아 (talk | contribs) (새 문서: ;Block Cipher Mode; Block Cipher Modes of Operation ;블록 암호에서 블럭 단위로 암·복호화 되는 과정을 반복적으로 운용하는 절차 == 종류 == === ECB...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Block Cipher Mode; Block Cipher Modes of Operation
블록 암호에서 블럭 단위로 암·복호화 되는 과정을 반복적으로 운용하는 절차

종류

ECB

Electric Code Book
  • 각 블록은 동일한 키를 이용하여 독립적으로 암호화
  • 평문 조작이 가능하고 재전송 공격에 취약
  • 간단한 구현, 고속 암복호화, 병렬처리 가능

CBC

Cipher Block Chaining
  • 각 평문 블록은 이전 블록 암호문와 XOR 연산 후 암호화
  • IV -> 평문 블록1과 XOR -> 암호화 -> 암호문 블록1 -> 평문 블록2와 XOR -> 암호화 -> 암호문 블록2 ...
  • Initial Vector 사용, 오류 파급 발생
  • 패딩 사용
  • 암복호화 병렬처리 불가

활용

  • 보안적으로 가장 강력한 암호화 모드로 평가
  • IPSec, 커버로스 등에서 사용

CFB

Cipher FeedBack
  • 이전 암호문을 암호화하여 평문과 XOR(평문에 대한 직접 암호화 없음)
  • IV -> 암호화 -> 평문 블록1과 XOR -> 암호문 블록1 -> 암호화 -> 평문 블록2와 XOR -> 암호문 블록2 ...
  • Initial Vector 사용, 오류 파급 발생
  • 패딩 사용하지 않음(스트림 암호처럼 Bit 단위 암호화)
  • 암호화는 순차적으로, 복호화는 병렬처리 가능
  • 평문과 암호문의 길이가 같음

OFB 모드

Output FeedBack
  • 이전 암호문을 암호화하여 평문과 XOR(평문에 대한 직접 암호화 없음)
  • IV -> 암호화 -> 평문 블록1과 XOR -> 암호문 블록1 -> IV를 한번 더 암호화 -> 평문 블록2와 XOR -> 암호문 블록2 ...
  • IV를 암호화하여 키 생성
  • Initial Vector 사용, 오류 파급 없음
  • 평문과 암호문의 길이가 같음
  • 암호문을 동일하게 한번 더 암호화하면 복호화됨

OFB와 CFB의 비교

  • 암호 알고리즘으로의 입력만이 다름
  • CFB 모드: 1개 앞의 암호문 블록이 암호 알고리즘으로의 입력
  • OFB 모드: 암호 알고리즘의 한 단계 앞의 출력이 암호 알고리즘으로의 입력

CTR

CounTeR
  • 1씩 증가해가는 카운터를 암호화해서 키 스트림을 만들어내는 스트림 암호 모드
  • 카운터를 암호화한 비트열과 평문 블록을 XOR
  • 오류의 파급 없음

비교