Найти тему

Как устроено шифрование в интернете?

Кто читал предыдущий пост, уже знает, что есть два основным метода шифрования. Симметричное и асимметричное. С симметричным все просто.

Симметричное и ассиметричное шифрование: просто о сложном | OTUS
Симметричное и ассиметричное шифрование: просто о сложном | OTUS

Один ключ шифрования есть как у отправителя, так и получателя сообщения. В этом и кроется его главная уязвимость, ведь если кто-то со стороны узнает ключ, то ему не составит труда расшифровать перехваченное сообщение. Поэтому люди пошли дальше и придумали асимметричное шифрование. В чем его суть?

Симметричное и ассиметричное шифрование: просто о сложном | OTUS
Симметричное и ассиметричное шифрование: просто о сложном | OTUS

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

RSA — Википедия
RSA — Википедия

RSA

А теперь, как это все работает на практике. В 1970х годах тройка американских ученых Рон Ривест, Ади Шамир и Леонард Адлеман совершили настоящий прорыв в области криптографии и создали первый алгоритм ассиметричного шифрования, который назвали по первых буквах их фамилий. Он был основан на комбинации нескольких простеньких математических теорий, таких как теорема Ферма и функция Эйлера. А теперь по-простому. Предположим у нас есть два числа 17 и 19. Их можно легко умножить на калькуляторе и получится 323. Но как произвести обратную операцию - разложить 323 на множители. Уже на порядок сложнее, не так ли? А теперь представьте, что это число не 323, а к примеру 872847573857382943849229. Человеку такое точно не под силу, и даже у компьютера поиск множителей займет какое-то время. На таком простеньком принципе и держится все асимметричное шифрование. Множители - закрытый ключ, который есть только у получателя. А вот это большое число и есть открытый ключ, который отправляется от получателя к отправителю и обратно.

Шифрование с открытым ключом: Наглядная иллюстрация | by Сергей Базанов | Bitcoin Review | Medium
Шифрование с открытым ключом: Наглядная иллюстрация | by Сергей Базанов | Bitcoin Review | Medium

Применение?

Метод шифрования на основе RSA используется практически везде. Это и шифрование сайтов, и сообщений в мессенджерах и еще многое другое. Фишка в том, что современные сервисы используют открытый ключ, который является числом в тысячи символов. Такое не потянет даже парочка суперкомпьютеров. А еще эти числа постоянно меняются. К примеру почему даже создатели Телеграма не знают собственные ключи шифрования. А потому, что они автоматически обновляются на постоянной основе. Вот и вся суть.

Дуров объяснил почему Telegram внезапно сменил криптографический примитив → Roem.ru
Дуров объяснил почему Telegram внезапно сменил криптографический примитив → Roem.ru
 схема шифрования Телеграма

P.S. Если вам понравился данный пост, дайте знать в комментариях и мы продолжим углубляться в тему криптографии.