Найти тему
Погружение в бизнес

Асинхронное шифрование простым языком.

Оглавление

@tehnoin
@tehnoin

Содержание

  • Определение
  • Алгоритм шифрования
  • Код алгоритма

Определение

  • Асимметричное шифрование - шифрование с помощью двух ключей, один из которых является открытым, а другой - закрытым.

Открытый ключ свободно передается 3-им лицам для установления соединения, а закрытый хранится у вас (закрытый ключ нельзя никому передавать).

Ярким примером асимметричного шифрования будет сетевой протокол прикладного уровня SSH, который устанавливает защищенное соединение и шифрует весь трафик передаваемой информации. Подробнее о протоколе я рассказываю тут: https://t.me/tehnoin.

@tehnoin
@tehnoin

Алгоритм

Алгоритм шифрования и дешифрования информации:

1) Генерация двух простых чисел p и q.

2) Вычисление значения n, где n = pq.

3) Вычисление функции Эйлера. F = (p-1)(q-1).

4) Генерация экспоненты e, являющийся взаимно простым с F.

5)  Вычисление значения d, такое что (d*e) % F = 1.

Совокупность e и n является открытым ключом, а совокупность d и n – закрытым ключом.

Для шифрования информации необходимо преобразовать символы в числа удобным вам способом (в алгоритме использовался ASCII – код).

Для представления сообщения в численном виде есть 2 пути:

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

2) Каждый символ представить в виде ASCII – кода и зашифровать его. После шифрования всех символов составляем общее выражение из них, которое будет являться шифром. Обозначим через m преобразованное сообщение.

Для шифрования сообщения:C = m**e%n

Для дешифрования сообщения:m = C**d%n

Код алгоритма

Код реализован на основе модуля random

@tehnoin
@tehnoin

Полную версию вы сможете найти тут: https://t.me/tehnoin

Наука
7 млн интересуются