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`을 붙이는 것이 아니고,
- 패딩된 바이트 수에 블록 내 평문 길이를 더한 값을 채워넣는 등