본문 바로가기
#컴퓨터 과학 [Computer Science]/네트워크 (Network)

[🔒 보안] CBC (Cipher block chaining)

by cy_mos 2023. 9. 11.
반응형

CBC (Cipher block chaining)

블록 단위 암호화 방식 중 가장 높은 보안성을 제공하는 암호화 방식 중 하나이며, 평문의 각 블록은 XOR 연산을 통하여 이전의 암호문과 XOR 연산 작업을 수행하여 암호화를 진행하는 방식입니다.

 

CBC (Cipher block chaining)에 세부적인 암호화 방식 단계는 아래와 같습니다.

 

  1. 초기화 벡터 (IV)를 생성합니다.
  2. 평문을 블록 단위로 나눕니다.
  3. 첫 번째 블록을 초기화 벡터 (IV)를 사용하여 XOR 연산 작업 후 입력받은 KEY 값을 통해서 암호화 작업을 수행합니다.
  4. 두 번째 블록부터는 이전 블록의 암호화 결과와 평문을 XOR 연산 작업을 하여 암호화 작업을 수행합니다.

 

https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Example

 

※ 초기화 벡터(Initialization Vector, IV)는 첫 블록을 암호화 또는 복호화할 때 사용되는 값을 의미합니다.

※ HTTPS, SSH, TLS 등에서 사용되고 있습니다.

 

CBC (Cipher block chaining)에 대한 특징에 대한 부분은 아래의 도표와 같습니다.

 

CBC (Cipher block chaining)
암호화 병렬성 (Encryption Parallelizable) 미지원 (NO)
복호화 병렬성 (Decryption Parallelizable) 지원 (YES)
임의 접근 (Random Read Access) 지원 (YES)

 

이처럼 위의 CBC (Cipher block chaining)에 대한 장점과 단점은 아래와 같습니다.

 

장점

  • 블록 암호화 방식 중 가장 보안성이 높습니다.
  • 메시지의 중복이 발생해도 암호화된 결과에 영향을 미치지 않습니다.

단점

  • 암호화 입력 값이 이전 결과에 의존하기 때문에 병렬화가 불가능합니다.

🚀 REFERENCE

반응형

댓글