iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 7
0
Security

駭客入門系列 第 7

Day7 Cryptography - Padding

Padding ( 填充 ) 在密碼學是一種填補資料的方法

我們以上一篇講到的 AES 做說明, 假設輸入的資料有 200 bits 則需要做 padding

第一步是先把 200 bits 的資料拆成兩組,第一組 128 bits ,第二組 72 bits

第一組的資料 128 bits 密文 經過金鑰解密 = 128 bits 明文
第二組的資料 72 bits 密文 加上 56 bits 的 padding 填充 經過金鑰解密 = 128 bits 明文

( 重點就是無論如何都要填成 128 bits , 就算一開始輸入的資料剛好是 128 bits ,同樣也要做 padding )

如果區塊需要填充 X 個,就需要補 X 個是 X 的資料,
那如果該區塊的大小剛好相等,則需要補一個長度剛好是該區塊大小的資料,亦即每個 bytes 都是該區塊的大小

舉例來說:

區塊缺少 5 個 bytes 會補 : 0x05 0x05 0x05 0x05 0x05
區塊缺少 10 個 bytes 會補 : 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a
如果區塊長度剛剛好 ( AES ) 會補 : 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10


上一篇
Day6 Cryptography - DES與AES
下一篇
Day8 Cryptography - Padding 實例 ( 包含 Mode 簡介 )
系列文
駭客入門30

1 則留言

0
dennysora
iT邦新手 5 級 ‧ 2020-09-29 00:45:21

這邊也是錯誤的,填充的任務不是AES負責的。
是由區塊加密的模式負責的。

請好好看我的文章:
https://ithelp.ithome.com.tw/articles/10246049
我是取至WiKi與其他正規密碼學資料的。

Hamlet iT邦新手 5 級 ‧ 2020-09-29 15:47:46 檢舉

讀者您好:
這邊我是以 AES 為例子來做說明,
並不是說 AES 會負責填充的任務,
有錯誤歡迎更正,感謝

dennysora iT邦新手 5 級 ‧ 2020-09-29 16:36:34 檢舉

瞭解,感謝您的回復。。

我要留言

立即登入留言