Mode of Operation   암호 운영 모드, 암호 운용 모드

(2022-05-24)

블록 암호 모드, ECB, CBC, CTR, Counter Mode, 패딩 처리, Initialization Vector, 초기 벡터


1. 암호 운영 모드 또는 블록 암호 모드블록 암호를 블록별로 반복하는 형태/방법
     - 평문을 블록별로 어떻게 반복하는가에 따라, 대칭 블록 암호보안성을 높이는 수단
     - 이처럼, 블록 암호 알고리즘보안성 강도는, 사용되는 모드에도 의존하게 됨


2. 암호화 운영 모드의 종류

  ㅇ ECB 모드 (Electric CodeBook Mode) : Block Cipher 일종
     - 한 블록의 평문이 그대로 한 블록의 암호문으로, 순서대로 일대일(1:1) 대응
        . 각 블록이 모두 독립적으로 처리 (병렬로도 처리 가능)
     - 비록, 각각의 블록들이 독립적으로 처리되지만, `블록 길이` 및 `암호 키`가 모두 동일 적용
     * 간단하지만 취약점 있기 때문에 거의 사용 안함

  ㅇ CBC 모드 (Cipher Block Chaining Mode) : Block Cipher 일종
     - 이전 블록으로부터 나온 암호문난수로 사용
        . 이전 블록의 암호화 결과(이전 암호문 블록)가 현재 블록의 암호화에 입력됨
        . 즉, 각 평문 블록이 이전 암호문 블록과 XOR 됨
     - 따라서 각 암호 블록은,
        . 현재의 평문 블록 뿐만 아니라 모든 이전의 평문 블록에도 의존하게 됨
     - 결국, 어떤 임의 암호문 블록을 해독하려면,
        . 이전의 모든 완전한 세션에 접근 가능해야 함

     * 단, 첫 블록은, 이전 암호 블록이 없으므로, `초기화 벡터(IV,Initialization Vector)`를 씀
        . 비밀키 처럼 송수신간 사전 공유되는 `초기 벡터`라는 허구의 블록을 사용

  ㅇ OFB 모드 (Output Feedback Mode) : Stream Cipher 일종
     - 블록 암호스트림 암호 처럼 사용하는 방식

  ㅇ CFB 모드 (Cipher Feedback Mode) : Stream Cipher 일종

  ㅇ CTR 모드 (Counter Mode)         : Stream Cipher 일종


3. 암호화에서, `패딩(Paddding)` 처리 이란?

  ㅇ 기본 블록 크기/길이를 맞추기 위한 처리
     - 만일, 마지막 블록이 블록 길이에 미치지 못할 경우에, 적당한 비트열을 채워넣음
     - 즉, 평문을 블록 단위로 처리하기 위한 준비단계 임

  ㅇ 패딩 방법 例)
     - 단순히 `0`을 붙이는 것이 아니고,
     - 패딩된 바이트 수에 블록 내 평문 길이를 더한 값을 채워넣는 등

대칭 암호
   1. 대칭키   2. 블록 암호   3. DES   4. AES   5. 암호 운영 모드   6. 스트림 암호   7. 일회용 패드  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"