Короче, по состоянию на 2019 год, №. 1001 *
Криптографические хеш-функции, одним словом, являются односторонними, но случайными функциями. Детерминированный означает, что один и тот же вход всегда имеет один и тот же выход и случайный в том смысле, что выход непредсказуем.
В криптографии мы считаем безопасность хеш-функций
- Preimage-Resistance: для практически всех предварительно заданных выходов, вычислительно невозможно найти любой вход, который хэширует к этому выходу, т. Е. Найти любой прообраз
x'
такой, что h(x') = y
при дано любое значение y, для которого соответствующий вход неизвестен.
- Сопротивление 2-го прообраза, слабое столкновение: вычислительно невозможно найти любой второй вход, который имеет тот же выход, что и любой указанный вход, т. Е. С учетом
x
, чтобы найти 2-й прообраз x' != x
такой, что h(x) = h(x')
.
- Сопротивление столкновению: вычислительно невозможно найти любые два различных входа
x
, x'
, которые хэшируют на один и тот же выход, т. Е. Такие, что h(x) = h(x')
.
То, что вы ищете, это прообраз. Для этих коллизий существуют криптографические хеш-функции, такие как MD4 и SHA-1. Но все они по-прежнему обладают сопротивлением до и 2-го прообраза.
Для Sha256 еще не известно каких-либо предварительных второстепенных атак. Это считается безопасной хеш-функцией.
Вы можете найти несколько радужных таблиц для SHA-256 , которые могут включать в себя ваши значения хеш-функции, но, вероятно, нет, поскольку пространство слишком велико для покрытия.