padding模式

打盹發表於2024-10-09

緣起

在遇到AES和DES等分組加密演算法時,需要明文滿足一定的長度要求(分組的倍數),但是大多數情況下明文沒法滿足長度的苛刻要求,於是就要進行padding使傳入的內容滿足長度要求。

Nopadding

就是不填充,明文滿足分組演算法的長度要求,不需要再進行填充。

PKCS5/PKCS7

填充資料為填充位元組的長度,填充至符合塊大小的整數倍。eg.如果塊長度為16,原文資料長度9,則填充位元組數等於0x07,則需要填充7位0x07

ISO7816-4Padding

填充的第一個位元組為0x80,後面填充的均為0x00,填充至符合塊大小的整數倍。eg.如果塊長度為16,原文資料長度9,則填充為:0x80 0x00 0x00 0x00 0x00 0x00 0x00

ISO10126Padding

填充的最後一個位元組為填充位元組的長度,其他隨機,填充至符合塊大小的整數倍。eg.如果塊長度為16,原文資料長度為9,則填充為: random random random random random random 0x07

空格填充

顧名思義,即填充的每個位元組為空格對應的位元組數0x20

0x00填充

基本同上,填充的每個位元組均為0x00

相關文章