Создайте двухстороннюю карту для sha256.
Предполагая, что мы смотрим на набор данных всех sha256. Каждое значение sha256, к которому применяется функция sha256, приведет к другому значению sha256. Поскольку наш набор данных имеет тот же размер, что и результирующий набор, мы можем предположить, что у нас есть функция 1 к 1.
Есть ли способ отобразить все значения и создать обратную функцию. (Предполагая, что мы смотрим только на вышеуказанный набор данных.
В повторяемом вычислительном времени (не 110 лет)
1 ответ
Поскольку наш набор данных имеет тот же размер, что и результирующий набор, мы можем предположить, что у нас есть функция 1 к 1.
Это ошибочное предположение. Нет оснований полагать, что SHA256 является уникальным отображением 256-битных входов; есть, по всей вероятности, по крайней мере одна (и, вероятно, много) пара из 256 входов, которые имеют одинаковый хэш SHA256.
Есть ли способ отобразить все значения и создать обратную функцию.
Нет. Есть 2256 ≈ 1,16 × 1077 возможных хэшей SHA256. Для сравнения, в нашей галактике примерно 2,4 × 1067 атомов. Даже если бы вы могли превратить весь Млечный путь в компьютер и написать по одному хешу для каждого атома, у вас кончились бы атомы задолго до того, как вы закончили.