Хеш невозможно провернуть назад


Допустим, вы не знаете и спросили:
— Что такое слон?
— Это транспортное средство, архаичный военный транспорт, так
же он способен поднимать тяжелые грузы. Может издавать трубный
звук, опрокинуть конницу и окатить толпу водой, как из брандспойта.
Применялся в боевых действиях и в строительстве.
— Вы бы поняли, что за "слон" такой?

Заглянули в энциклопедию, а там: "функционирование внутренних
структур слона обеспечивается метаболизмом кислорода".
— Похоже, что-то живое..?
Как бы звучало бабушкино объяснение Ваньке Жукову?
— Огромный зверь о четырех ногах, без шерсти, как свинья, только серый и вместо копыт плоские подошвы, каждая нога как бревно, а сам с избу, уши как простыни, нос вытянутый, будто труба, он им может дерево захватить и выдрать с корнем или запустить в воду и втянуть в себя целое ведро, ко рту поднести, а то на спину закинет и обольется, купается так. В зоосаду к колышку привязан толстенной якорной цепью, чтоб не вырвался.
Если Ванька Жуков захотел бы нарисовать "огромную серую свинью с ногами-столбами, разлапистыми ушами, шлангом вместо носа" — скорее всего изображенное не слишком бы отличалось от рисунков ребятишек, повстречавших слона на ярмарке:

Ок, гугл, что такое «хеш»?
«Функция свёртки, осуществляющая преобразование массива данных произвольной длины в выходную битовую строку. Результат преобразования называется «хешем», «хеш-кодом», «хеш-суммой», «сводкой сообщения». Хеш-функции применяются при построении ассоциативных массивов, уникальных идентификаторов и при вычислении контрольных сумм.»
Вместо одного вопроса — пять. Пытливый почемучка, не
поленившийся загулить "свертку", "битовую строку" и проч.,
останется с десятками новых вопросов.
Проще бы сказать: — "Народ, вы не поймете; это такая штука из
сурового матана, имеющая отношение к криптографии и цифровым
технологиям, мейнстрим прикладной математики".
Что он за зверь, этот хеш?
Не «что он делает и чем ценен», а что это?
Как объяснить внуку, не заменяя одно незнакомое слово на несколько
других?
Неизвестно постигается в сопоставлении с привычным, для "слона" опорные категории — "зверь", "четвероногий", "кожа-уши-нос".
Хеш — это шифровка, в первом приближении.
Ты можешь держать зашифрованный текст в руках и ничего в нем не
понять — на то и рассчитано.
Вебсайт хранит пароли в зашифрованном виде: ни прокравшийся в
корневые папки злоумышленник, ни даже владелец ресурса не сможет
определить исходные пароли по "хешированным" данным.
Шпионский шифр легко расколоть, если, например, найти
шифровальную книгу (классический вариант: вместо букв сообщения
записывают, скажем, их порядковые номера, для пущей надежности
прибавив числа ключа, полученные из условленных отрывков той самой
книги (любой худ.лит подойдет).
Отправитель складывает сообщение с ключом. Агент вычитает ключ из
шифровки, восстанавливая исходное послание. Узнав ключ, тоже самое
может проделать кто угодно.
Для веба такой способ не годится, поскольку "шифровальную книгу" пришлось бы хранить вместе с другими файлами.
Хеш-функция искажает исходник таким образом, что исключает
возможность расшифровки.
— Но как же получатель?
— А ему и не нужно, ему достаточно проверить — это
тот же самый текст (пароль, секретная фраза, введенные при
регистрации) или нет.
— Как такое вообще возможно, изменить до неузнаваемости и при
этом оставаться узнаваемым?
Элементарный пример — тень от дерева. Исходный объект во всем объеме по ней не восстановить, но тень каждого дерева достаточно уникальна:

— Разные предметы могут ведь давать одинаковую тень, а
если совпадет?
— Это происходит тем реже, чем сложнее объект и процедура
"свертки", плюс предусмотрены различные способы избегания
коллизий.
Знакомство с понятием хеш-суммы удобно начинать с гематрии — простейшей лингво-цифровой забавы
— Как мы смогли убедиться, проверка четности — исключает
ровно половину невалидных паролей.
А если сопоставлять дальше: "делится на три или не делится?" - две
трети ложных паролей исключаем; "на пять?", "на семь?"
Если обозначить плюсом "делится", а "не делится" - прочерком, то "хеш" некоего цифрового сообщения, разбитого на отдельные фрагменты, может быть записан как:
+ _ _ + + _ + _ + _ _ + + + _ ... + _ + (с остатком Х)
Чем длиннее сообщение, тем уникальнее такой "цифровой отпечаток".
— А если слово всего из семи знаков? Будет куча
совпадений...
— Конечно; в качестве хеш-функций используются гораздо
более хитрозакрученные, многошаговые процедуры.
Пример лишь иллюстрирует принципиальную возможность надежного
сокрытия информации, не смотря на то, что методы шифрования открыты
и общеизвестны, а сообщение общедоступно.
— Это же ведь не совсем передача, только верификация..
— Передача организована еще изощреннее.
С задачами, которые кажутся неразрешимыми, можно справиться с помощью исчисления вычетов (обобщение понятия "четности" — "делимость на, с остатками"), опираясь всего на несколько бит доступной информации
Криптография интересная область математической теории чисел, не простая, но увлекательная и совсем не страшная, если входить в нее шаг за шагом.
На одном из каналов открытого образования есть неплохое введение в предмет .
Название функции от английского hash («пустить на фарш», «месиво») предлагали локализовать как «окрошка», прикольно, но не прижилось =)