Я применяю SHA-512 к данным. Возможно ли теоретически/практически получить хэш SHA-256 для исходных данных из его хэша SHA-512?
Можно ли получить хэш SHA-256 из хэша SHA-512 тех же данных?
Ответы (1)
Поскольку у них разное количество раундов, разный размер внутреннего состояния и разный размер блока, я почти уверен, что результат SHA-256 и SHA-512 настолько различен, что вы не можете вывести ни один из них из другого.
Но если вы параноик, вы можете добавлять/добавлять разные данные для разных хэш-функций. то есть вы вычисляете SHA-256("A"+data+"B")
и SHA-512("D"+data+"E")
(конечно, с более длинными строками вместо ABCD).
Единственная возможность, которую я вижу, заключается в том, что если набор возможных входных значений мал, вы перебираете возможные значения, пока не нажмете известный хеш, а затем вычислите другой хэш. По сути, если условия таковы, что злоумышленник может обратить известный хэш, он также может вычислить другой хэш.
person
CodesInChaos
schedule
13.02.2011
Возможно, вы не сможете получить его с помощью какого-то выражения в закрытой форме, но все еще существует теоретическая возможность простого использования огромной таблицы поиска.
- person Oliver Charlesworth; 13.02.2011
Я не понимаю, как таблица поиска может быть здесь полезна. ИМО, пытающаяся угадать ввод, является единственной жизнеспособной атакой, кроме почти полного взлома криптографии, происходящей внутри хэшей.
- person CodesInChaos; 13.02.2011
Я согласен. Вы не можете получить SHA-256, зная только SHA-512, потому что алгоритмы работают с блоками разного размера и выполняются в течение разного количества раундов. Хэш SHA-256 — это не просто короткая версия хэша SHA-512. Такова природа (и полезность) криптографических хеш-функций.
- person MDaubs; 13.02.2011
теоретически достаточно большая справочная таблица решит практически любую проблему... сколько времени потребуется на создание такой таблицы и насколько она будет велика? Я думаю о 10 ^ 142 ТБ для полной таблицы SHA-512, верно? Ха-ха... возможно, мы немного отклонились от осуществимости.
- person MDaubs; 13.02.2011
@MDaubs Даже эта таблица не решит проблему. Поскольку вы получаете только один ввод, который соответствует заданному хешу SHA512. И не обязательно тот, который был изначально хеширован. И, таким образом, вы все еще не можете вычислить хэш SHA-256 исходных данных.
- person CodesInChaos; 13.02.2011
SHA-256("A"+data+"B")
не удовлетворяет параноиков. Просто используйте HMAC. Криптографы в целом согласны с тем, что "A"+data+"B"
относится к области, в которой у нас нет никаких атак для этого, но мы собираемся предположить, что они существуют. -1
- person Jonathan Dickinson; 29.05.2013
x
иy
таких, чтоSHA512(x) == SHA512(y)
, верно ли, чтоSHA256(x) == SHA256(y)
? Все, что нам нужно, это один-единственный контрпример... - person Oliver Charlesworth   schedule 13.02.2011