Хэширование: Просто и наглядно

20 июня 2017, 10:42 |
Хэширование, или хэш-функция — одна из основных составляющих современной криптографии и протокола блокчейна.
Хэширование:

Но, что это такое? Как наглядно представить сущность хэша?

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

Из этого следует, что для любого объема информации, будь-то одна буква или роман Льва Толстого «Война и мир» (или даже всеё Полное собрание сочинений этого атвора) существует уникальный и неповторимый хэш — короткая символьная строка. Причем, если в той же «Войне и мире» изменить хотя бы один символ, добавить один лишь знак, — хэш изменится кардинально.

Как такое может быть? Целый многотомный роман и коротокая строчка, которая отражает его!

В этом смысле хэш подобен отпечатку пальца человека.

Как известно, отпечаток пальца уникален и в природе не существует людей с одинаковыми отпечатками. Даже у близнецов отпечатки пальцев разные.

То же касается и структуры ДНК человека. Она уникальна! Нет людей с одинаковым набором ДНК.

Но, ведь, ДНК, а тем более отпечаток пальцев — относительно короткий набор информации. И, тем не менее, они являются неким кодом, присущим конкретному человеку. Можно считать, что это и есть «хэши» этого человека. С тем лишь отличием, что эти «хэши» не меняются с возрастом человека.

Итак, первое свойство хэша — его уникальность:

  • Каждому набору (массиву) информации присущ строго определенный, уникальный хэш.

Тем не менее, иногда встречаются т.н. коллизии  —  случаи, когда хеш-функция для разных входных блоков информации вычисляет одинаковые хэш-коды.

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

Следует отметить, что функций, которые вычисляют хэш, существует множество. Но, наиболее распространена (в частности, используется в протоколе блокчейна биткоина) хэш-функция под названием SHA-256 (от Secure Hash Algorithm — безопасный алгоритм хеширования). Эта хэш-функция формирует хэш в виде строки из 64 символов (длина — 256 бит или 32 байта).

Попробуем при помощи SHA-256 hash калькулятора получить хэш для заголовка этой статьи («Хэширование: Просто и наглядно»).

Это будет: ef3c82303f3896044125616982c715e7757d4cd1f84c34c6b2e64167d2fde766

А теперь изменим заголовок всего лишь на один символ — добавим знак восклицания в конце («Хэширование: Просто и наглядно!»).

Получилось: a6123e137d1d7f0aad800cdbc0918a65bb7a778a607cb993043d99718ec5a9e1

Как видите, изменение всего лишь на один знак исходного массива информации привело к кардинальному изменению его хэша!

И это второе важное свойство хэша:

  • При самом незначительном изменении входной информации её хэш меняется кардинально.

Это свойство важно при использовании хэширования в электронной цифровой подписи, т.к. позволяет удостовериться, что подписанная информация не была изменена во время её передачи по каналам связи. 

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

  • Не существует обратной функции, которая из хэша может восстановить исходный массив информации.

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

Это свойство важно, поскольку делает взлом хэша (восстановление исходной информации по её хэшу) или невозможным или весьма дорогостоящим занятием.

Еще одно важное свойство хэш-функций — это высокая скорость работы.

  • Хэширование позволяет достаточно быстро вычислить искомый хэш для весьма большого массива входной информации.

Этим хэширование существенно отличается от кодирования (шифрования) и декодирования (дешифрования).

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

 

 

Реклама

Прямой поезд Франкфурт - Прага - Перемышль: новый маршрут соединил Германию с границей Украины

25 июня 2026, 20:35  |  20 хвилин
Чешский частный железнодорожный оператор Leo Express в четверг, 25 июня 2026 года, официально запустил новый международный маршрут, соединивший Франкфурт-на-Майне, Прагу, Краков и польский Перемышль — главный транспортный узел близ украинской границы.

13-й Чилдрен Кинофест объявил победителей

22 июня 2026, 16:40  |  20 хвилин
Крупнейший кинофестиваль для детей и подростков в Украине – Чилдрен Кинофест – завершил свою работу. За десять дней фестивальные показы в кинотеатрах и онлайн собрали почти 60 тысяч просмотров.

Германия и Украина запускают производство наземных боевых роботов TerMIT

19 июня 2026, 15:17  |  20 хвилин
Германия профинансировала поставки 2000 украинских наземных роботизированных комплексов TerMIT для Сил обороны Украины в течение следующих 12 месяцев.

На Днепропетровщине разоблачили масштабную схему по производству фальсифицированного топлива

19 июня 2026, 12:45  |  20 хвилин
Детективы Бюро экономической безопасности (БЭБ) Украины ликвидировали масштабную схему незаконного производства и сбыта горючего на Днепропетровщине.

Масштабная атака беспилотников на Москву

18 июня 2026, 19:43  |  20 хвилин
Повреждён нефтеперерабатывающий завод, небо над Москвой заволокло черным дымом, есть пострадавшие.

Лучшая книга о Биткоине для начинающих

17 июня 2026, 12:08  |  20 хвилин
Ищете лучшую книгу о биткоине? Честный обзор бестселлера «Биткоин для всех» Сергея Базанова — понятный гид по криптовалюте и блокчейну для новичков.