대칭키 암호(블록암호 운영모드 5가지)

2025. 11. 20. 23:46·IT Dictionary/정보보안산업기사
반응형

1. ECB(Electronic Code Book) 모드

  • 전자 부호표 모드, 블록 암호의 운영 모드 중 가장 간단한 모드
  • 평문은 N개의 n비트 블록으로 분활
  • 평문의 마지막 블록에 다른 블록들과 동일한 크기를 만들기 위해 Padding을 필요로 함
  • 블록 간의 독립성으로 인해 병렬 수행 가능, 오류가 다른 블록에 영향을 주지 않음
  • 평문의 블록 패턴과 암호문의 블록 패턴이 동일하게 유지되는 문제 발생
  • 사례 : 많은 양의 데이터베이스 암호화

 

2. CBC(Cipher Block Chaining) 모드

  • 암호 블록 연쇄 모드, 각각의 평문 블록은 암호화되기 전에 이전 암호화 블록과 XOR됨
  • 첫번째 블록을 암호화할 때는 이전의 암호문 블록이 존재하지 않으므로, 초기 백터(IV)라는 허구의 블록 사용
  • 암호문을 제대로 복호화하기 위해서는 평문이 순서대로 배열되어 있어야 함
  • 생성되는 각각의 암호문 블록은 현재 평문 블록뿐만 아니라 그 이전의 평문 블록들의 영향도 받게 됨
  • 평문 블록과 이전 암호화 블록 XOR 

 

3. CFB(Cipher Feedback) 모드

  • 암호 피드백 모드, 어떤 블록 암호도 스트림 암호로 바꿀 수 있음, 실시간으로 사용 가능, Padding 처리 불필요
  • 암호문을 또 암호화하여 다음 평문 블록과 XOR (평문과 무관한 키 스트림 생성)
  • 평문을 암호화기에 넣지 않기 때문에 블록 크기 고정이 사라짐
  • 초기 백터(IV 사용)
  • 평문블록과 이전 평문 블록과 XOR된 암호문을 암호화기에 넣은것과 XOR

 

4. OFB(Output Feedback) 모드

  • 출력 피드백 모드
  • 평문 블록이 동일하면 암호문이 같아지는 ECB 모드의 단점과 오류 전파가 발생하는 CBC 모드와 CFB 모드를 개선
  • 암호기의 출력과 평문을 XOR 하여 암호문을 생성
  • 암호문 송신자와 수신자 사이에 동기를 조절하며 비트의 손실이나 삽입 등에 유의해야 함
  • 초기 백터(IV 사용)
  • 암호문 블록이 완전히 독립적이지는 않음
  • 평문블록과 이전 평문 블록과 IV을 암호화한 것을 암호화기에 넣은것과 XOR, 즉 독립적인 키 스트림을 생성

 

5. CTR(CounTeR) 모드

  • 카운터 모드
  • ATM(Asynchronous Transfer Mode) 네트워크 보안과 IPSec(IP Security)을 응용함
  • 암호화 시 피드백이 존재하지 않지만, 키 스트림의 의사난수성은 카운터를 사용해 얻음
  • OFB 모드와 마찬가지로 이전 암호문 블록과 독립적인 키 스트림을 생성
  • ECB처럼 독립적인 n비트 암호문 블록 생성
  • CTR 모드는 OFB 모드처럼 스트림 암호임
  • 카운터 만드는 법
    • 비표(Nonce)와 블록 번호로 구성
    • 카운터의 초기 값은 암호화 때마다 다른 값(비표)를 기초해서 생성

반응형

'IT Dictionary > 정보보안산업기사' 카테고리의 다른 글

RSA(Rivest-Shamir-Adleman)  (0) 2025.11.23
비대칭키 암호 개요  (0) 2025.11.23
기타 대칭키 암호 알고리즘  (0) 2025.11.20
AES(Advanced Encryption Standard)  (0) 2025.11.20
DES(Data Encryption Standard)  (0) 2025.11.19
'IT Dictionary/정보보안산업기사' 카테고리의 다른 글
  • RSA(Rivest-Shamir-Adleman)
  • 비대칭키 암호 개요
  • 기타 대칭키 암호 알고리즘
  • AES(Advanced Encryption Standard)
MutJangE
MutJangE
즐거운 인생
  • MutJangE
    MutJangE
    MutJangE
  • 전체
    오늘
    어제
    • 분류 전체보기 (67) N
      • IT Dictionary (40) N
        • !Solution! (0)
        • Database (7)
        • Network (8)
        • Linux (1)
        • Computer Science (7)
        • Service (2)
        • 정보보안산업기사 (15) N
      • 일상 (8) N
        • 배포중인 웹 서비스 (1)
        • CERT병 (6) N
      • 프로그래밍 (19)
        • Java (1)
        • C# (6)
        • Unity (7)
        • React (4)
        • React native (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.5
    MutJangE
    대칭키 암호(블록암호 운영모드 5가지)
    상단으로

    티스토리툴바