次のように記述されているハッシュ関数に依存するRFC 5683を実装しようとしています。
H1 = SHA-1(1|1|z) mod 2^128 | SHA-1(1|2|z) mod 2^128 |...| SHA-1(1|9|z) mod 2^128
z
ハッシュする文字列はどこにありますか。私が理解に苦しむ部分は次のとおりです。
H1 の 1152 出力ビットを作成するために、SHA-1 への 9 回の呼び出しが行われ、各出力の 128 の最下位ビットが使用されます。
ハッシュ関数 ( SHA1 の代わりにSHA-256を使用しています) から出力を取得したら、そのハッシュから 128 の「最下位ビット」を取得するにはどうすればよいですか? 私が使用しているライブラリは、8 x 32 ビット整数の配列として出力できます。
[-1563099236, 1891088516, -531757887, -2069381238, 131899433, -1500579251, 74960544, -956781525]
または、64 文字の 16 進文字列として:
"a2d4ff9c70b7b884e04e04c184a7bf8a07dca029a68efa4d0477cea0c6f8ac2b"
しかし、これらの表現から最下位ビットを復元する方法については途方に暮れています。