Является ли платформа хеш-функции (например, SHA) независимой?

Мне нужно сравнить хешированные данные с разных платформ. Используемая хеш-функция - SHA3 Кеккака.

Я начал с предположения, что значения, генерируемые хешем, не зависят от платформы; но затем эти два онлайн-инструмента доказали мне обратное:

Вот соответствующий вывод, когда я хэшировал слово data (sha3 256bit):

  • 8f54f1c2d0eb5771cd5bf67a6689fcd6eed9444d91a39e5ef32a9b4ae5ca14ff
  • efda893aa850b0c0e61f33325615b9d93bcf6b42d60d8f5d37ebc720fd4e3daf

Мои знания по этому вопросу весьма ограничены, но я всегда считал само собой разумеющимся, что хеш-функции не зависели от платформы (поэтому мы используем контрольную сумму MD5, верно?).

Любой свет на эту тему будет высоко оценен.

Лучший.

2 ответа

Решение

Да, алгоритм хеширования должен возвращать одно и то же значение везде, кроме проблем с кодированием.

Вы получите тот же хеш, если выберете алгоритм Keccak-256 вместо этого я не уверен, что они используют для SHA3-256:

http://emn178.github.io/online-tools/keccak_256.html

SHA-3, в частности (и в отличие от Keccak), указан в FIPS 202 по состоянию на август 2015 года.

Все реализации должны давать одинаковые результаты с одинаковыми входными данными.

Официальные тестовые векторы доступны на странице NIST CAVP Testing: Secure Hashing.

Другие вопросы по тегам