[암호학] CBC(Cipher Block Chaining) 모드


First written by caliber50 on 2016. 2. 8. 20:04

□ CBC(Cipher Block Chaining) mode

○ CBC 암호화 : En(XOR(P[i], C[i-1]))

- XOR(최초 평문 블록(P[i]), 초기화 벡터(initialization vector → IV)) → 암호화(XOR 결과) → 최초 암호문 블록(C[1])

- XOR(현재 평문 블록(P[i]), 이전 암호문 블록(C[i-1])) → 암호화(XOR 결과) → 암호문 블록(C[i])

○ CBC 복호화 : XOR(De(C[i]), C[i-1])

- 복호화(최초 암호문 블록(C[1])) → XOR(복호화 결과, 초기화 벡터(initialization vector → IV)) → 최초 평문 블록(P[1])

- 복호화(현재 암호문 블록(C[i])) → XOR(복호화 결과, 이전 암호문 블록(C[i-1])) → 평문 블록(P[i]) 

○ 특징

- 암호화 : 평문 블록(P[i])이 손상되면, 현재 단계 부터 이후 모든 암호문 블록들은(C[i], C[i+1] ...) 손상됨

- 복호화 : 암호문 블록(C[i])이 손상되면, 현재 평문 블록(P[i])과 다음 평문 블록(P[i+1])은 손상됨


P.S. 기호 안내

- En:암호화(Encryption) / De:복호화(Decryption)

- C:암호문 블록(Cipher text) / P:평문 블록(Plain text)

- i:각 단계(Ex. 현재 단계:i / 하나 이전 단계:i-1 / 하나 다음 단계:i+1)





"언제나 신뢰할 수 있는 자료로 찾아뵙겠습니다"
"도움이 되셨다면 '좋아요' 부탁드리겠습니다."