Шифрование с открытым ключом не просто угадывает пароли. Оно опирается на конкретную математическую концепцию: хеш-значение. Здесь и вступают в действие алгоритмы хеширования. Вы берете исходное число и пропускаете его через алгоритм. Результатом является сводка этих исходных данных.
Настоящая сила заключается в направлении математических операций. Перейти от входных данных к хешу легко. А вот попытаться восстановить исходные входные данные по хешу практически невозможно.
Рассмотрим грубый пример. Возьмем входное число 10 667. Умножим его на 143. Хеш-значение составит 1 525 381.
Если вы видите только 1 525 381, как вы получили это число? Вы не можете просто угадать. Но если вам скажут, что множитель был равен 143, найти 10 667 будет тривиальной задачей.
Системы с открытым ключом гораздо сложнее простого умножения. Они используют огромные числа, чтобы сделать обратный инжиниринг бессмысленным.
Почему хеш-значения важны для безопасности
Мы часто слышим о шифровании с открытым ключом и закрытых ключах. Их основная надежность обеспечивается именно этими хеш-значениями. В современных системах мы не используем малые целые числа. Мы применяем сложные алгоритмы с огромной длиной в битах.
Распространенные стандарты включают 40-битные или 128-битные ключи. Разница поразительна.
128-битное число — это не просто большое число. Это астрономически большое число. Существует 2^128 возможных комбинаций. Это число выглядит так:
340 282 366 920 938 463 463 374 607 431 768 211 456 000 000
Чтобы понять масштаб, попробуйте найти одно конкретное зернышко песка в пустыне Сахара. Именно такой уровень сложности требуется для взлома надежного алгоритма хеширования.
Односторонняя улица шифрования
Почему это важно для вашего повседневного просмотра веб-страниц? Когда вы подключаетесь к безопасному веб-сайту, ваш браузер и сервер используют эти алгоритмы хеширования для проверки личности без передачи конфиденциальных данных по сети.
Открытый ключ шифрует сообщение. Только владелец соответствующего закрытого ключа может его расшифровать. Модель безопасности предполагает, что прямой расчет хеша выполняется легко, а обратный — вычислительно дорог.
Если бы кто-то мог легко вывести исходное число из хеш-значения, весь интернет оказался бы под угрозой. Нам пришлось бы искать лучшие способы защиты данных.
Выбор правильной силы алгоритма
Не все алгоритмы хеширования одинаковы. Старые системы использовали более короткие длины в битах. 40-битный ключ может показаться надежным неподготовленному пользователю. Но современные компьютеры могут подобрать его методом грубой силы за секунды.
Именно поэтому мы перешли к более длинным ключам. Переход к 128-битным или даже большим ключам был необходим. Он создает барьер, который невозможно преодолеть человеческими усилиями.
Когда вы видите «SSL» или «TLS» в адресной строке браузера, эти протоколы используют эти принципы. Они обеспечивают безопасность обмена открытыми ключами.
Безопасность шифрования с открытым ключом основывается на сложности обратного вычисления алгоритма хеширования.
По мере развития вычислительных



























