-1

私はscryptアルゴリズムの出力について頭を悩ませようとしています。

https://litecoin.info/Block_hashing_algorithmで、作成者は次の scrypt 暗号化の結果を取得しますheaderString

01000000ae178934851bfa0e83ccb6a3fc4bfddff3641e104b6c4680c31509074e699be2bd672d8 d2199ef37a59678f92443083e3b85edef8b45c71759371f823bab59a97126614f44d5001d45920180【リトルエンディアン】

000000003b4ba52ab765631e20a04b88cd27f0b66d3509fb2da7781fae6d7901. 【ビッグエンディアン】

これを再現しようとしていますが、その結果を再現できません。このペーパーの最後にあるテスト ベクトルの正しい出力を提供する実装を使用しています: http://www.tarsnap.com/scrypt/scrypt.pdfしかし、headerStringN の正しい設定で実行すると、 r,p(1024,1,1) 結果が得られます

c17fcd0c6d698828112ade740d4e8ad76705764da3abfc49ff3bb1863cd16472. 【ビッグエンディアン】

私は両方から同じ結果を持つそれらの実装で同じ結果でそれを試しました:

data = "01000000ae178934851bfa0e83ccb6a3fc4bfddff3641e104b6c4680c31509074e699be2bd672d8 d2199ef37a59678f92443083e3b85edef8b45c71759371f823bab59a97126614f44d5001d45920180";

    https://github.com/cheongwy/node-scrypt-js
var result = scrypt(data,data, 1024,1,1,32);

    https://github.com/tonyg/js-scrypt
var result = scrypt.crypto_scrypt(scrypt.encode_utf8(data), scrypt.encode_utf8(data), 1024, 1, 1, 32);

必要に応じてバイト配列を16進文字列に解析するだけです。

ここで何か不足していますか?scrypt の実装を論文に照らして検証したときに、なぜ同じ結果が得られないのか理解できません。

これを解決するのに本当に助けが必要です! 十分な情報を提供していない場合は、質問してください。問題を解決するために最善を尽くしてください。

4

1 に答える 1