Padding
共通鍵暗号などでブロック単位でデータのサイズをそろえるために入れられる何か。
主なPadding
PKCS #7 Padding 最後にPaddingの長さを入れたバイトの列で埋める。255バイトくらいまで使える。PKCS #5 かどこかの拡張版 最後の1バイトと同じデータが同じ長さ続いていることを確認する 例 03 03 03 PKCS #5 Padding 64bit までのDESなど用旧版、基本的にPKCS #7 Paddingで代用できる 10* Padding 1bit の1と残りを0で埋める bit単位で調整が可能 例 80 00 00 00
乱数 区別できる列を挿入後、乱数で埋める 特定文字を除外して区別する場合もある
Paddingが必要ない場合は1ブロック増やしてPaddingで埋める場合があるが増やさない場合もある
本体データと区別できるのかは曖昧なものもある。
基本的には連続するデータの間に挿入するのは避けるのが無難。ブロック単位ではない通信に利用する場合はそういう調整が必要。