3

SHA-256 ハッシュを計算するには、メッセージをパディングする必要があります。次の説明を使用しています: ( http://csrc.nist.gov/groups/STM/cavp/documents/shs/sha256-384-512.pdfから取得)

通常の方法でメッセージをパディングします。メッセージの長さ M (ビット単位) が l であるとします。メッセージの末尾にビット「1」を追加し、次に k ゼロ ビットを追加します。ここで、k は、方程式 l+1+k 448 mod 512 の最小の非負解です。これに、次の 64 ビット ブロックを追加します。バイナリで書かれた数 l に等しい

しかし、ビット単位のメッセージ長が 512 ビット ブロックよりも 64 ビット少ない場合、つまり、上記の最後の 64 ビット ブロックの余地がない場合はどうすればよいでしょうか? または、64 ビット長と「1」ビットですか?

私もウィキペディアを見ましたが、これは主題にこれ以上光を当てません。Google検索もあまり実りがありませんでした。提案をいただければ幸いです:)

ありがとう

4

1 に答える 1

4

メッセージが完全なブロックに満たない場合 (65 ビット未満)、出力は入力よりも 1 ブロック長くする必要があります。最悪の場合、メッセージが完全なブロックよりも正確に 64 ビット不足している場合は、「数値」ビットの前にa を追加し1、次に 511を追加しますが、それがパディングの動作方法です。0

于 2013-06-07T11:45:04.477 に答える