1

Mangler 関数は、入力として 32 ビットを受け取り、それを 48 ビットに拡張します。32 ビットを 8 つの 4 ビット チャンクに分割し、左右のビットを各チャンクに連結します。私の質問はこれです。最初の 4 ビット チャンクはどこから左ビットを取得しますか? 最後のチャンクの最後のビットから取得しますか? または、単に 0 を連結します。これは、最後の 4 ビット チャンクにも適用されますが、存在しない正しいビットを取得する必要がある場合を除きます。

ありがとう

4

1 に答える 1

4

展開関数は、最後の「チャンク」から最後のビットを取得し、それを最初の「チャンク」の先頭に追加します。最後の「チャンク」は、最初の「チャンク」の左端のビットから右端のビットを取得します。

   32 ビット => 48 ビット
--------------------------------
 1 2 3 4 => 32   1 2 3 4   5 
 5 6 7 8 =>   4   5   6 7 8   9 
 9 10 11 12 =>   8   9 10 11 12  13 
13 14 15 16 => 12 13 14 15 16  17 
17 18 19 20 => 16 17 18 19 20  21 
21 22 23 24 => 20 21 22 23 24  25 
25 26 27 28 => 24 25 26 27 28  29 
29 30 31 32 => 28 29 30 31 32   1

この図は、それを非常に明確に示しています。

ここに画像の説明を入力

于 2013-03-15T23:30:16.303 に答える