본문으로 바로가기

암호문 훔치기

category 정보보호론 2022. 2. 12. 10:23

CTS(CipherText Stealing)

Padding 방식 중 하나. 

CBC기준 설명

 

https://en.wikipedia.org/wiki/Ciphertext_stealing#CBC_ciphertext_stealing

 

Pn : 마지막 평문 블럭

B : 마지막블럭을 제외한 일반 블럭 길이

M : Pn의 길이

En-1 : E(Pn-1 XOR Cn-2, K) (여기까진 일반 CBC 과정이다.)

Cn : head(En-1, M). En-1에서 앞부분 M비트만 남기고 지운다. B-M 비트가 제거된다.

P : Pn << (B-M). 부족한 비트를 0으로 채운다.

En : E(P XOR En-1, K). P의 B-M비트는 0으로 패딩되어 있으므로, XOR하여 En-1의 B-M비트로 패딩된다.

Cn-1 : En

https://en.wikipedia.org/wiki/Ciphertext_stealing#CBC_ciphertext_stealing

복호화 시 Cn의 길이가 M비트이므로 D(Cn-1,K)에서 M비트만 자르면 Pn이 되고, B-M비트는 Cn에 패딩하여 복호화 하여Cn-2와 XOR하면 Pn-1이 나온다.

'정보보호론' 카테고리의 다른 글

RSA  (0) 2022.02.21