Я пытаюсь получить информацию о выходе алгоритма шифрования.Выход алгоритма шифрования не совпадает, как и ожидалось
На https://litecoin.info/Block_hashing_algorithm автор получает результат шифрования Scrypt для headerString
:
01000000ae178934851bfa0e83ccb6a3fc4bfddff3641e104b6c4680c31509074e699be2bd672d8 d2199ef37a59678f92443083e3b85edef8b45c71759371f823bab59a97126614f44d5001d45920180
[маленький обратный порядок байт]
к
000000003b4ba52ab765631e20a04b88cd27f0b66d3509fb2da7781fae6d7901
. [big endian]
Я пытаюсь воспроизвести это, но я не смог воспроизвести этот результат. Я использую реализацию, которая дает правильный результат для тестовых векторов в конце этой статьи: http://www.tarsnap.com/scrypt/scrypt.pdf, но при запуске headerString
через него с правильными настройками для N, 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);
Im после им Scrypt вызова только разборе массив байтов в шестнадцатеричной строки, если это необходимо
Я что-то пропустил? Я просто не могу понять, почему я не получаю такой же результат, когда я подтвердил свою версию scrypt против бумаги об этом.
Мне очень нужна помощь в решении этого! Если я не предоставил достаточно информации, пожалуйста, спросите, и я стараюсь изо всех сил расчистить ситуацию.
Никто не знает, что вы делаете неправильно из информации, которую вы нам даете. Какую реализацию scrypt вы используете? Использование 4 тестовых векторов, конечно, недостаточно, чтобы найти все возможные ошибки реализации. Также вы можете показать нам свой вызов функции scrypt? – example
Спасибо за ответ! Я добавил реализации, которые тестировали, и вызов, который я выполняю для функций scrypt. Надеюсь, это поможет. – Sultanen
вы вводите свои данные в виде массива символов, в то время как его следует интерпретировать как число (в шестнадцатеричном представлении) – example