1

Мне интересно, как эта случайная и очень длинная строка

€£$€@]}$€{[$£}]£[€€£$€@]}$€{[$£}]£[€]}€486745896€$@fdhhsgpbkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubhj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85XC&Yi45wtgsb}]h€£$€@]}$€{[$£}]£[€]}€486745896€$@fdhhsgpbkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubhj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85XC&Yi45wtgsb}]h]}€486745896€$@fdhhsgpbkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubhj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85€£$€@]}$€{[$£}]£[€]}€486745896€$@fdhhsgpbkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubhj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85XC&Yi45wtgsb}]hXC&Yi45wtgsb}]h€£$€@]}$€{[$£}]£[€]}€486745896€$@fdhhsgpbkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubhj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85XC&Yi45wtgsb}]h€£$€@]}$€{[$£}]£[€]}€486745896€$@fdhhsgpb€£$€@]}$€{[$£}]£[€]}€486745896€$@fdhhsgpbkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubhj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85XC&Yi45wtgsb}]hkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubhj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85XC&Yi45wtgsb}]h€£$€@]}$€{[$£}]£[€]}€486745896€$@fdhhsgpbkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubhj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85XC&Yi45wtgsb}]h€£$€@]}$€{[$£}]£[€]}€486745896€$@fdhhsgpbkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubhj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85XC&Yi45wtgsb}]h€£$€@]}$€{[$£}]£[€]}€486745896€$@fdhhsgpbkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubhj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85XC&Yi45wtgsb}]h€£$€@]}$€{[$£}]£[€]}€486745896€$€£$€@]}$€{[$£}]£[€]}€486745896€$@fdhhsgpbkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubhj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85XC&Yi45wtgsb}]h@fdhhsgpbkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubh€£$€@]}$€{[$£}]£[€]}€486745896€$@fdhhsgpbkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubhj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85XC&Yi45wtgsb}]hj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85XC&Yi45wtgsb}]h€£$€€£$€@]}$€{[$£}]£[€]}€486745896€$@fdhhsgpbkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubhj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85XC&Yi45wtgsb}]h@]}$€{[$£}]£[€]}€486745896€$@fdhhsgpbkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubhj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85XC&Yi45wtgsb}]h€£$€@]}$€{[$£}]£[€]}€486745896€$@fdhhsgpbkjhYUVYUDTYhµµµ½789ty45thhrhYUFVYU7645646f8cgI JKHVruxty dw78fg f 9w64f dfvt87t&R%EFVyubhj<<e5w>G/p9\<\]}}]@}$]$€}{$€øøål5940hgsy/)T(&¤%}]€$ygrevae48g85XC&Yi45wtgsb}]

Может превратиться в гораздо более короткую строку

bb90e8b58596c55070ee88b25ff01627ab0c227cd11d6f876af9e81a0cd12e9d8a1ebce3af5b0fd8098ac3946a590c55ebe890066db6403cb0ee324c6edf9f3d

Этот подарок не имеет никакого смысла для меня. Могут ли две строки быть одинаковыми в sha512. И т.д. у нас есть строка 1 и строка 2 и sha512 хэшированы они одинаковы?

3 ответа3

1

По сути, хеш-функция (такая как SHA512) принимает вход переменной длины (который может быть короче, длиннее или иметь ту же длину, что и выходной хеш, и который может иметь или не иметь максимальный размер, определяемый тем, как работает хеш-функция ), и с помощью множества шагов использует этот вход для изменения внутреннего состояния хэш-функции предсказуемым (детерминистическим ) образом. На другом конце, когда больше нет входных данных, (или некоторая часть) внутреннего состояния хэш-функции считывается, возможно, дополнительно обрабатывается каким-либо образом и доставляется в качестве вывода хеш-функции. Этот вывод называется "хэш" входных данных.

Хеш-функция разработана как односторонняя функция, также известная как функция люка; другими словами, он спроектирован таким образом, чтобы легко вычислять выходные данные с учетом входных данных, но было бы невозможно рассчитать входные данные с учетом выходных данных, даже в тех случаях, когда входные данные меньше или имеют тот же размер, что и выходные данные.

Выходной хэш имеет фиксированную длину, в основном потому, что известен размер внутреннего состояния хэш-функции (и результат постобработки этого состояния для вывода). Точная длина выходного хеша выбирается так, чтобы она хорошо подходила для внутренних функций хеш-функции и обеспечивала желаемый уровень безопасности. Некоторые хеш-функции, такие как MD5, RIPEMD160 или SHA-1, имеют выход фиксированного размера; другие, такие как SHA-2 или SHA-3, могут выдавать выходные сигналы различной длины в зависимости от конкретных потребностей системы, использующей хэш-функцию.

Возможно (и даже вероятно), что два разных входа для хэш-функции будут создавать одинаковый выходной хэш. Для хэша с n битами вывода и для двух случайных входов это произойдет в среднем после попытки 2 n/2 комбинаций, и это гарантированно произойдет к тому времени, как вы попробовали 2 n+1 различных входных данных: в худшем случае ( или в лучшем случае, каждый из 2 n входов даст уникальный выход из набора из 2 n возможных выходов, поэтому, если вы попробуете еще один вход, он должен совпадать с одним из уже вычисленных выходов. Это называется столкновением хэшей. Цель криптографической хеш-функции, такой как семейство хэшей SHA, не состоит в том, чтобы сделать такие коллизии невозможными (без расширения хеша до полного размера ввода, что как бы сводит на нет точку хеша, что математически невозможно), скорее сделать поиск таких входных данных чрезвычайно трудным.

Обычно рассматривается хеш-функция, которая позволяет обнаруживать коллизии значительно быстрее, чем от 2 n/2 до 2 n операций (в зависимости от точного метода атаки; в первую очередь, ищите так называемые прообразы и атаки на день рождения, если вы хотите узнать больше об этом) сломан для криптографических приложений. Вот почему SHA-1 начал свой путь к устареванию в веб-браузерах сертификатов TLS в 2014 году или около того после того, как теоретически выполнимая атака стала известна в 2012 году, и почему старая рабочая лошадка MD5 считается ужасно сломанной почти для любого криптографического приложения.

Также важно помнить, что выходные данные хеш-функции, такой как SHA512, не являются шестнадцатеричной строкой, которую вы показываете в своем вопросе. Это одно из представлений фактического хэша, который представляет собой 64-байтовое (512-битное) двоичное значение. Он также может быть сохранен в двоичной форме, в кодированной форме Base64 или в другом представлении.

1

Хеш-функция - это приложение, то есть нечто, связанное с любым числом в большой группе с именем A, другое число, взятое из другой группы чисел, называемой B.

В математике вы можете иметь приложения

  1. когда группа A содержит больше элементов, чем B;

  2. когда две группы содержат одинаковое количество элементов;

  3. когда группа A содержит намного меньше элементов, чем B.

Хеш-функция - случай 1, то есть группа A содержит много, намного больше элементов, чем группа B.

Элементы группы A называются сообщениями, элементы группы B хешируются.

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

Это не так из-за другого свойства хэша: в вычислительном отношении невозможно (= чрезвычайно сложно), учитывая сообщение с хэшем, найти другое сообщение с таким же хэшем.

Обратите внимание, что это не говорит о том, что это невозможно напрямую, потому что мы только что увидели, что столкновения должны существовать. Свойство выше только говорит о том, что это крайне сложно. Как трудно? Все организовано в виде хороших хешей (и SHA2, безусловно, отличный хеш) таким образом, что самый мощный из существующих сегодня компьютеров, работающий с лучшим кодом, может занять гораздо больше времени, чем возраст Вселенной (= 12 миллиардов лет), чтобы найти столкновение. Это кажется достаточно безопасным.

Есть еще одно свойство хэшей, которое очень хорошо помогает объяснить, почему они используются так часто. Давайте возьмем в качестве примера пароль. Пароли хранятся на ПК, а не в открытом тексте: ПК хранят хэши паролей, поэтому при вводе пароля сравниваются не два пароля, а два хэша. Хорошо, теперь давайте предположим, что мой пароль: MyPassword, и теперь вор пытается угадать его следующим образом. Возьмем последовательность из 10 букв (подойдет любая начальная последовательность, давайте воспользуемся Thisisasca. Затем он изменяет начальную букву (в данном случае T), пока не найдет букву, которая имеет хэш-код, максимально приближенный к (общедоступному) хэшу реального пароля.

Таким образом, злоумышленник может надеяться идентифицировать мой пароль по одной букве за раз. Обратите внимание, что это то, что грабители банков делают в грабительских фильмах: они идентифицируют пароль, слушая щелчки, когда они изменяют числа по одной цифре за раз.

Ну, это невозможно с хешами: одно важное свойство хэшей состоит в том, что даже сообщения, которые почти равны, на самом деле имеют совершенно разные хэши. Таким образом, вы не можете просто угадать их по одной букве за раз, как это делают грабители банков.

На математическом языке это называется большим показателем Ляпунова.

0

По определению хэш SHA512 имеет длину 512 бит независимо от размера исходных данных. Для более подробного объяснения вы можете прочитать эту статью в Википедии, которая объясняет, что такое хэш-функция.

Поскольку SHA512 не является идеальной хеш-функцией, математически возможно, но очень маловероятно, что два разных данных создают одинаковый хеш SHA512, как объяснено в ответе на этот другой вопрос о переполнении стека.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .