Как это работает: хеширование, симметричные и асимметричные типы шифрования

Carder

Professional
Messages
2,619
Reaction score
1,877
Points
113
How-It-Works-Hashing-Symmetric-and-Asymmetric-Encryption-Types-works-696x392.jpg


Хотя слово «шифрование» имеет общее значение, это не означает, что все шифрование одинаково. На самом деле, область криптографии настолько широка и разнообразна, что посторонним понять ее в принципе невозможно.
Как и в случае с физикой и другими умными предметами, нужно быть каким-то странным гением, чтобы по-настоящему понять, как все это работает.
Основная посылка достаточно проста для большинства людей. Это включает меня, и это выглядит примерно так:
Шифрование - это метод взятия легко читаемого бита информации и последующего его шифрования с использованием специального математического рецепта, известного как шифр. Отсюда и произошло слово «расшифровать». Что-то, что мы говорим, пытаясь разгадать загадочную информацию. Эй, слово «загадочный» тоже имеет отношение к криптографии!
Несмотря на то, что на протяжении тысячелетий существовало множество типов шифров, в основном существует только три подхода к шифрованию, которые имеют актуальное значение в наши дни, когда речь идет о компьютерах и Интернете. В этой статье я собираюсь обсудить все три этих подхода, и к концу вы должны иметь хорошее представление о том, как они работают. По крайней мере, в общих чертах.

Хеш-шифрование​

Хэш-символ


Подходящим термином для использования этого типа шифрования является криптографическая хеш-функция. Это довольно тяжело. Итак, давайте сначала разберемся с этим немного.
Слово «криптографический» просто означает, что хеш-функция предназначена для выполнения работы шифра. Значит, мы имеем дело с каким-то шифрованием. Не большое открытие, но нормально. Часть хеш-функции - вот что здесь действительно интересно.
Хеш-функция - это метод сопоставления данных с определенным уникальным значением, чтобы вы могли быстро искать информацию в компьютеризированной системе.
В некотором смысле полезно думать о хэш-функции как о способе создания отпечатка пальца для фрагмента данных. Будь то строка текста, файл, фотография или что-то еще.
Хеширование фрагмента данных включает прогон его по определенному рецепту, который преобразует его в нечто, известное как дайджест. Изменение даже одного бита данных приведет к совсем другому хеш-дайджесту.
Хеш-дайджест всегда имеет одинаковую длину, независимо от того, насколько длинными или короткими являются исходные данные. Только исходные данные, прошедшие через хэш, дадут этот конкретный дайджест. Процесс тоже односторонний. Невозможно вернуть исходные данные в обратном порядке. Единственный способ узнать, принадлежит ли конкретный хэш-дайджест определенному фрагменту данных, - это снова запустить хеш-функцию для этого фрагмента данных.
Это также делает его фантастической технологией для проверки целостности файла, не было ли подделано данный файл. Если даже самое маленькое изменение будет внесено в данные, они больше не будут соответствовать хеш-дайджесту. Хорошо, но как это работает как форма шифрования? Я рада, что вы спросили!

Как хеш-функции используются для шифрования​

Сколько паролей вы используете каждый день? Надеюсь, вы не используете один и тот же пароль для нескольких сервисов, но это, вероятно, означает, что у вас есть дюжина разных паролей для всех различных интернет-сервисов, которые вы используете.
Вы когда-нибудь задумывались, где хранятся эти пароли? Когда вы вводите свой пароль для входа в службу, серверу нужно каким-то образом проверить, правильный ли этот пароль. Очевидно, они могут просто хранить список паролей в базе данных. Однако, если кто-то взломает службу и получит копию этой базы данных, у всех будут серьезные проблемы.
Лучшее решение на данный момент - вообще не хранить копию пароля! Как вы, наверное, догадались, это достигается с помощью криптографической хеш-функции. Вы создаете пароль при подписке на что-либо. Текст пароля проходит через хеш-функцию. Хеш-дайджест сохраняется и связан с вашим именем пользователя. Когда вы пытаетесь войти в систему, вводимый вами пароль снова хешируется, и два дайджеста сравниваются. Если они не совсем такие же, то вам не повезло. Даже если хакер получит в руки хеши, невозможно выяснить, какой пароль сгенерировал их.

Алгоритмы безопасного хеширования​

Так же, как у нас есть разные шифры, которые предлагают разные способы шифрования данных, есть разные способы выполнения хэш-функции. Когда дело доходит до криптографических хешей, самым известным алгоритмом является SHA или алгоритм безопасного хеширования .
SHA-0 был фактически отозван перед тем, как войти в широкое использование. В основном благодаря найденным в ней недостаткам. Однако SHA-1 был стандартом вплоть до 2010 года, первоначально разработанным АНБ. Теперь у него также есть некоторые уязвимые места, и в большинстве случаев его больше не следует использовать для защиты.
Текущий стандарт - это SHA-2, который бывает разных типов. АНБ разработало все варианты SHA-2. Алгоритмы SHA-2 обычно обозначаются длиной блока: распространенными примерами являются SHA-256 и SHA-512.
Также существует SHA-3, который не разработан АНБ. Он имеет ту же длину блока, что и SHA-2. Однако внутренне это не похоже.
Здесь также стоит упомянуть хеши MD5. Эта хеш-функция была создана как криптографический инструмент. К сожалению, его довольно легко взломать. В наши дни он все еще используется для проверки файлов.

Симметричное шифрование​

Половинки лимона


В истории криптографии обычным способом «взломать код» шифра было выяснить, как шифр работает, а затем перепроектировать его. На самом деле не имеет значения, знаете ли вы, как создается хеш. Вы просто не можете пройти процесс назад и вернуть исходную строку.
Другие виды современного шифрования работают по аналогичному принципу. Ключ, который используется в алгоритме шифрования. Это дает однозначно зашифрованный вывод. В отличие от хеш-функции, вся фактическая информация содержится в зашифрованном коде. Если у вас есть правильный ключ, вы можете вернуть все это снова. В том же виде, в котором он был до шифрования.
В шифровании с симметричным ключом есть только один ключ. Тот же ключ, который блокирует данные, также разблокирует их. Это означает, что вы должны быть очень осторожны с тем, с кем вы делитесь этим ключом.

Для чего используется симметричное шифрование?​

Вы не можете отправить свой симметричный ключ через Интернет, опасаясь его перехвата. Это означает, что вам нужен безопасный способ установить его на обеих машинах, которые будут обмениваться данными друг с другом.
Это не делает симметричное шифрование очень полезно что - нибудь большое расстояние, но это удобно , если у вас есть свободный доступ к обеим машинам , которые должны говорить друг с другом. Например, роутер и компьютер.
Пароли WiFi являются примером симметричного ключа. Сигнал Wi-Fi зашифрован с его помощью, так что никто, прослушивающий его, не может получить никаких данных. Когда вы вводите пароль Wi-Fi на свой ноутбук, телефон или планшет, вы устанавливаете на него копию ключа. Тогда зашифрованный код, исходящий от маршрутизатора Wi-Fi, имеет смысл.
Подобное симметричное шифрование предпочитается при низких требованиях к вычислительной мощности. Для расшифровки информации много не нужно. Это быстро и легко. Это делает его подходящим для устройств, которые должны работать от батареи или могут не иметь запасной вычислительной мощности. Просто почаще меняйте пароль от WiFi!

Асимметричное шифрование​

Два навесных замка


Итак, симметричное шифрование работает достаточно хорошо для чего-то вроде Wi-Fi, но как решить проблему отправки вашего драгоценного ключа шифрования далеко, где кто-то может его утащить?
Оказывается, ответ - использовать не один ключ, а два. Это асимметричное шифрование. Два ключа связаны математически. Что именно это означает? С технической точки зрения это намного выше моей головы, но на практике это означает, что если вы зашифруете данные одним ключом, вы можете расшифровать их только с помощью другого.
Из двух ключей один всегда остается с вами. Никуда не отправляется. Это ваш закрытый ключ. Другой ключ общедоступен для всех. Неудивительно, что это называется открытым ключом.
Это означает, что если кто-то зашифровывает сообщение вашим открытым ключом, вы единственный, кто может его расшифровать и прочитать. Однако обычно в игре не бывает только одного ключа. Каждый из участников транзакции использует открытые ключи друг друга для шифрования сообщений. Открытый ключ не может быть использован для расшифровки чего-либо созданного им. Это решает нашу проблему.
Кроме того, теперь вам нужно знать, что открытый ключ, который вы используете, действительно связан с закрытым ключом. Что он достигнет человека, которому вы хотите отправить данные. Вот почему у нас есть центральные центры сертификации или другие методы проверки.
Этот тип шифрования также тяжелее по вычислительной мощности, требует немного больше времени для расшифровки и (как вы можете видеть) немного сложнее, чем симметричный метод. Тем не менее, значительные преимущества асимметричного шифрования в плане безопасности позволили ему повсеместно использовать в Интернете, где бы авторитетные сайты ведут бизнес.

Шифрование заставляет мир вращаться​

Было бы неплохо, если бы нам никогда не приходилось ничего блокировать? В идеальном мире, где можно доверять всем остальным, вам не понадобятся все эти хитрые уловки. Плохая новость в том, что это не идеальный мир. Есть много людей, которые не хотят ничего больше, кроме как обманывать и эксплуатировать людей для собственной выгоды.
С помощью этих технологий шифрования мы можем действовать так, как будто людям в Интернете можно доверять. Не потому, что все честны, а потому, что эти технологии делают их честными. Без этого технологически обусловленного доверия мы не смогли бы ничего сделать, кроме как продать пачку жевательной резинки в Интернете. Так что слава богу за шифрование!

По материалам technadu.com
 
Top