О принципах работы симметричного и ассиметричного шифрования

Marat_1162

Стаж на ФС с 2014 г
ЖУРНАЛИСТ
Private Club
Старожил
Migalki Club
Меценат
Регистрация
25/3/16
Сообщения
4.625
Репутация
8.866
Реакции
22.633
RUB
0
Сделок через гаранта
4
Депозит
3 500 рублей
Волк Боб и волк Джейн рассказывают, как работает шифрование.

Как мы можем определить понятие шифрования?​

Предположим, что мы хотим отправить данные другому человеку и нам нужна гарантия того, что только получатель сможет интерпретировать содержимое. Такая гарантия называется шифрованием.

Мы можем объединить шифрование с конфиденциальностью. ШИФРОВАНИЕ = КОНФИДЕНЦИАЛЬНОСТЬ

Характеристика шифрования разделяется на 2 состояния:

  1. Простой текст: данные до шифрования и после расшифровки.
  2. Шифрованный текст: данные, зашифрованные в текущий момент.
ZX1mpatpHPk.jpg

Использование простого процесса шифрования может привести к проблемам масштабируемости и, как следствие, к проблемам безопасности.

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

Шифрование на основе ключей​



Использование шифрования на основе ключа более эффективно, поскольку мы можем использовать промышленно-протестированный алгоритм в сочетании с секретным ключом.

Варианты, которые делают шифрование более эффективным и масштабируемым, следующие:

  • алгоритм, изученный и созданный экспертами;
  • секретный ключ, который может быть рандомизирован, когда мы захотим;
Существуют 2 типа шифрования на основе ключа:

  1. Симметричное шифрование (шифрование и дешифрование с помощью одинаковых ключей)
  2. Асимметричное шифрование (шифрование и расшифровка с помощью разных ключей).
Рассмотрим подробнее, как работают эти два метода.

Начнем с симметричного шифрования. Попытаемся зашифровать и расшифровать слово hello с помощью следующих механизмов:

  1. Простой алфавит.
  2. Секретный ключ = 3.
FDGeIBOs8RQ.jpg

С помощью описанного выше ключа и отсчета три раза вправо от буквы H, мы получим букву K. Далее, используя ту же процедуру с остальными буквами, которые составляют выбранное нами слово, мы получим зашифрованное слово: khoor.

Применяя тот же ключ и алгоритм в обратном порядке, мы можем восстановить ранее зашифрованное слово.

UslT2sZDzSE.jpg

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

Перейдем к асимметричному шифрованию.

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

4wY0NFlZR1E.jpg

Используем секретный ключ, равный числу 21 и обратимся к простому алфавиту. Мы получим наше слово в зашифрованном виде.

Для расшифровки слова, как показано на изображении выше, мы используем не секретный ключ для шифрования, а ключ, равный числу 5.

Для того чтобы этот механизм работал, необходимо учитывать следующие условия:

  1. Два используемых ключа должны быть математически связаны.
  2. Для шифрования и дешифрования используются два разных ключа.
Концепция открытого и закрытого ключа основана на данной системе. Остановимся подробнее на этих двух терминах.

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

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

0EInEDgu0ak.jpg

Передача сообщений между волками, каждый из которых обладает секретным ключом

Особенности шифрования​

Кроме описанных выше особенностей, также есть другие особенности, которые необходимо учитывать при симметричном и асимметричном шифровании.

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

Если речь идет о скорости передачи данных и потреблении ресурсов, то симметричный режим имеет неоспоримое преимущество. Потому что он может быть использован для отправки значительных объемов данных.

Как можно совместить преимущества скорости симметричного шифрования и безопасность асимметричного режима?

Для этого существует гибридный режим, который позволяет использовать асимметричный режим вместе с симметричным ключом. Например, гибридный режим применяется в сетевом протоколе SSL/TLS.

YIsu0iMAaZk.jpg

Теперь волк Джейн обладает случайным симметричным ключом
Для этого волк Джейн использует открытый ключ (public key) волка Боба, чтобы отправить ему свой симметричный ключ.

После того как волк Джейн поделится своим симметричным ключом, единственный, кто может расшифровать это сообщение, это волк Боб со своим закрытым ключом.

Далее, обе стороны устанавливают симметричный ключ и начинают пересылать большие объемы данных с более высокой скоростью передачи.

Расшифровать эти данные можно только симметричным ключом, который волк Джейн передала волку Бобу.

6LV2A61i30w.jpg

Волк Боб получил свой случайный симметричный ключ и теперь может отправлять защищенные сообщения Джейн

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