Криптография имеет дело с числами и строками.По сути, каждая цифровая вещь во всей вселенной - это числа.Когда я говорю числа, это 0 и 1. Вы знаете, что они, двоичные.Изображения, которые вы видите на экране, музыка, которую вы слушаете через наушники, все это двоичные файлы.Но наши уши и глаза не поймут двоичные файлы, верно?Только мозг мог понять это, и даже если он мог понимать двоичные файлы, он не мог наслаждаться двоичными файлами.Поэтому мы конвертируем двоичные файлы в понятные человеку форматы, такие как mp3, jpg и т. Д.Давайте назовем процесс как Кодировка .Это двусторонний процесс, который можно легко декодировать обратно в исходную форму.
Хеширование
Хеширование - это еще один метод криптографии, в котором данныепреобразованный в какую-то другую форму никогда не может быть восстановлен обратно.По словам Леймана, нет процесса под названием дешифрование .Есть много хеш-функций для выполнения этой работы, таких как sha-512, md5 и так далее.
Если исходное значение не может быть восстановлено, то где мы это используем?Пароли!Когда вы устанавливаете пароль для своего мобильного телефона или ПК, хэш вашего пароля создается и хранится в безопасном месте.При следующей попытке входа в систему введенная строка снова хешируется с помощью того же алгоритма (хэш-функция), и результат сопоставляется с сохраненным значением.Если это то же самое, вы вошли в систему. В противном случае вы будете выброшены.
Кредиты: wikimedia Применяя хэш к паролю, мы можем гарантировать, что злоумышленник никогда не получит наш пароль, даже если он украл сохраненный парольфайл.У злоумышленника будет хеш пароля.Он может найти список наиболее часто используемых паролей и применить sha-512 к каждому из них и сравнить его со значением в своей руке.Это называется словарная атака .Но как долго он будет это делать?Если ваш пароль достаточно случайный, как вы думаете, этот метод взлома будет работать?Все пароли в базах данных Facebook, Google и Amazon хешируются, или, по крайней мере, они должны быть хешированы.
Тогда есть шифрование
Шифрование лежит вмежду хешированием и кодированием.Кодирование является двусторонним процессом и не должно использоваться для обеспечения безопасности.Шифрование также является двусторонним процессом, но исходные данные могут быть получены тогда и только тогда, когда известен ключ шифрования.Если вы не знаете, как работает шифрование, не беспокойтесь, мы обсудим основы здесь.Этого было бы достаточно, чтобы понять основы SSL.Итак, есть два типа шифрования, а именно симметричное и асимметричное шифрование.
шифрование с симметричным ключом
Я стараюсь сделать все как можно проще.Итак, давайте разберемся в симметричном шифровании с помощью алгоритма сдвига.Этот алгоритм используется для шифрования алфавитов путем смещения букв влево или вправо.Давайте возьмем строку CRYPTO и рассмотрим число +3.Тогда зашифрованный формат CRYPTO будет FUBSWR.Это означает, что каждая буква сдвинута вправо на 3 места.Здесь слово CRYPTO называется Plaintext , выход FUBSWR называется Ciphertext , значение +3 называется Encryption ключ (симметричный ключ) и весь процесс представляет собой шифр .Это один из старейших и основных алгоритмов шифрования с симметричным ключом, и о его первом использовании было сообщено во времена Юлия Цезаря.Так, его назвали в честь него и это знаменитый Цезарь Шифр .Любой, кто знает ключ шифрования и может применить обратное алгоритму Цезаря и получить исходный открытый текст.Следовательно, это называется Симметричное шифрование .
Асимметричное шифрование ключа
Мы знаем, чтов симметричном шифровании один и тот же ключ используется как для шифрования, так и для дешифрования. Как только этот ключ украден, все данные исчезли. Это огромный риск, и нам нужна более сложная техника. В 1976 году Уитфилд Диффи и Мартин Хеллман впервые опубликовали концепцию асимметричного шифрования, и алгоритм был известен как обмен ключами Диффи-Хеллмана . Затем в 1978 году Рон Ривест, Ади Шамир и Леонард Адлеман из MIT опубликовали алгоритм RSA . Их можно считать основой асимметричной криптографии.
По сравнению с симметричным шифрованием в Асимметричное шифрование вместо двух будет два ключа. Один называется Открытый ключ , а другой - Закрытый ключ . Теоретически, во время инициализации мы можем сгенерировать пару ключей Public-Private для нашей машины. Закрытый ключ должен храниться в безопасном месте и никогда не должен передаваться никому. Открытый ключ, как видно из названия, может быть предоставлен любому, кто хочет отправить вам зашифрованный текст. Теперь те, у кого есть ваш открытый ключ, могут шифровать секретные данные с его помощью. Если пара ключей была сгенерирована с использованием алгоритма RSA, тогда они должны использовать тот же алгоритм при шифровании данных. Обычно алгоритм будет указан в открытом ключе. Зашифрованные данные могут быть расшифрованы только с помощью закрытого ключа, который принадлежит вам.
Источник: SSL / TLS для чайников, часть 1: Ciphersuite, Hashing, Encryption | WST (https://www.wst.space/ssl-part1-ciphersuite-hashing-encryption/)