Шифры и алгебра
"Шифры от Цезаря до RSA: как алгебра защищает наши секреты?" Здесь вы найдете информацию о различных шифрах, методах шифрования и основах арифметики по модулю.
Что такое шифрование
Шифрование – это превращение обычного текста в непонятный набор символов, который нельзя прочитать без специального ключа. Такой ключ знают только те, кому действительно разрешено видеть исходное сообщение.
  • Зачем нужны шифры?
    Шифры защищают данные от посторонних. Они помогают: сохранять конфиденциальность сообщений в мессенджерах; защищать банковские данные и пароли; охранять государственные и военные секреты.
  • Чем шифр отличается от кода?
    Кодирование передаёт информацию в удобном виде. Пример: жесты регулировщика — это код.
    Шифрование скрывает смысл сообщения и делает его понятным только тому, у кого есть ключ. Пример: криптекс из «Кода да Винчи».
Эволюция шифров
Шифр Цезаря
Шифр Цезаря – простой метод шифрования, при котором буквы текста смещаются на фиксированное количество позиций. Назван в честь Юлия Цезаря, использовавшего его для секретной переписки.
Как это работает
Шифрование описывается формулой:
E(x) = (x + k) mod n
где:
x — номер буквы
k — сдвиг
n — количество букв в алфавите
Пример (английский алфавит, 26 букв):
A (0) → D (3)
E(0) = (0 + 3) mod 26 = 3
Расшифровка: D(x) = (x − k) mod n
Эта формула возвращает исходную букву, если известен ключ.
Важность
Шифр простой и легко взламывается, но он стал основой для последующих методов шифрования и показывает, как математика может защищать информацию.
Интересные факты о шифре Цезаря
Шифр Цезаря использовался в различных исторических контекстах и до сих пор является объектом изучения в области криптографии.
Арифметика по модулю
Это счёт, который после достижения определённого числа начинается заново.
Самый простой пример — часы:
после 12 снова идёт 1. Математически это записывают так: 13 ≡ 1 (mod 12) — то есть 13 и 1 дают одинаковый остаток при делении на 12.
  • Как это работает в шифре Цезаря?
    В шифре Цезаря буквы алфавита «зацикливаются»: после последней снова идёт первая. Модульная арифметика идеально описывает такое поведение. Если буквы пронумеровать, то шифрование задаётся формулой:
    E(x) = (x + k) mod Nx — номер буквы k — величина сдвига (ключ) N — количество букв в алфавите
  • Почему это важно?
    Модульная арифметика используется не только в простых шифрах. На её основе работают современные методы защиты — например, RSA, где операции по модулю выполняются уже с очень большими числами. То есть идеи, лежащие в основе шифра Цезаря, стали основой и для современных криптосистем: те же действия, но куда сложнее и надёжнее.
  • Примеры:
    Пример (русский алфавит, 33 буквы): Буква «Ю» — номер 31. Сдвиг k = 3: 31 + 3 = 34 → 34 mod 33 = 1 → буква «Б». Пример (английский алфавит, 26 букв): W — номер 22. 22 + 5 = 27 → 27 mod 26 = 1 → буква B.
Методы шифрования
Существует множество методов шифрования, таких как шифры Цезаря, Виженера и RSA, каждый из которых обеспечивает безопасность информации.
Шифр Атбаш
Буква заменяется на «зеркальную» в алфавите (первая последняя, вторая предпоследняя). Пример: «ПРИВЕТ» → РПЧЭЪНМ
Минус: легко расшифровать, почти нет защиты.
Шифр Виженера
Тип: многобуквенный шифр со сдвигами по ключевому слову.
Преимущество: устойчив к частотному анализу — буквы шифруются разными сдвигами. Пример: Ключ: «КОД» «ПРИВЕТ» → ЩЮММУЦ
Шифр Плейфера
Принцип: шифрует текст парами букв в таблице 5×5.
Правила: В строке → берем соседние справа В столбце → буквы снизу В разных строках → углы прямоугольника
Пример: «ПРИВЕТ» → ИФРКТЧ
Шифр Вернама
Самый надёжный шифр в истории.
Как работает: Сообщение + случайный ключ той же длины Применяется XOR Для расшифровки нужен тот же ключ
Плюсы: невозможно взломать.
Минусы: ключ огромный и используется только один раз.
Пример: первая буква П
XOR ключ → 10111010 00101010
Шифр DES
Тип: симметричный блочный шифр (ключ 56 бит, блок 64 бита).
Как работает: 16 раундов перестановок и подстановок. Деление блока на левую и правую. часть XOR с ключом. Обмен половин
Сила: очень сложен для перебора, долго был мировым стандартом.
Итог
Атбаш → самый простой
Виженер → сильнее, защита от частотного анализа
Плейфер → шифрует парами, сложнее взломать
Вернам → абсолютная секретность
DES → практичный мощный стандарт XX века
Шифр RSA
Шифр RSA – надежный метод шифрования с открытыми и закрытыми ключами, основанный на больших числах. Используется для защиты личных данных и финансовых транзакций.
Как работает RSA
1. Выбираются два больших простых числа
Обозначим их p и q.
2. Создаётся модуль
n = p × q
Это число можно публиковать — оно часть открытого ключа.
3. Считается функция Эйлера
φ(n) = (p – 1)(q – 1)
4. Формируется открытый ключ
Выбирается число e, взаимно простое с φ(n).
Открытый ключ → (e, n)
5. Создаётся закрытый ключ
Находится число d, такое что:
e × d ≡ 1 (mod φ(n))
Закрытый ключ → (d, n)
Он должен храниться в секрете.
Формулы RSA
Шифрование C = M^e mod n
Расшифровка M = C^d mod n
Открытый ключ шифрует, закрытый — расшифровывает.
Почему RSA надёжен
Чтобы взломать RSA, нужно разложить большое число n = p × q на множители. Если p и q огромные, сделать это практически невозможно — даже суперкомпьютеры будут работать десятилетиями. Из-за этого RSA считается одним из самых безопасных методов передачи данных.
Калькулятор RSA | CypherProject

Калькулятор шифрования RSA

Введите два простых числа для генерации ключей шифрования RSA. Программа вычислит открытый и закрытый ключи, а также покажет все шаги вычислений.

Введите число от 2 до 1000
Введите число от 2 до 1000
Примеры простых чисел:
Внимание! Для корректной работы алгоритма RSA оба числа должны быть простыми и различными. Рекомендуется использовать небольшие простые числа для демонстрации работы алгоритма.
Ошибка!

Вычисление...

1

Вычисляем модуль n, который будет использоваться в обоих ключах:

Модуль n

n = p × q
Ожидание ввода...
2

Вычисляем функцию Эйлера φ(n):

Функция Эйлера φ(n)

φ(n) = (p - 1) × (q - 1)
Ожидание ввода...
3

Выбираем открытую экспоненту e (обычно 65537, но для простоты используем 17):

Открытая экспонента e

e = 17 (взаимно простое с φ(n))
17
4

Вычисляем секретную экспоненту d используя расширенный алгоритм Евклида:

Секретная экспонента d

d × e ≡ 1 (mod φ(n))
Ожидание ввода...
5

Формируем открытый и закрытый ключи:

Открытый ключ (публичный)

{e, n}
Ожидание ввода...

Закрытый ключ (секретный)

{d, n}
Ожидание ввода...

Как это работает?

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

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

Криптография— это наука о защите информации с помощью математических методов шифрования. Она делает данные недоступными для тех, у кого нет специального ключа.
Где мы встречаем криптографию каждый день:
  • Защищённые сайты (HTTPS)
    Маленький замочек в адресной строке браузера означает, что ваше соединение с сайтом зашифровано. Это защищает:
    • Ваши логины и пароли
    • Банковские операции
    • Личные сообщения
  • Электронные подписи
    Цифровые подписи в документах работают благодаря криптографии:
    • Подтверждают авторство
    • Гарантируют, что документ не изменялся
  • Защита Wi-Fi
    Без криптографических протоколов (WPA2/WPA3) любой мог бы подключаться к вашей сети Wi-Fi.
  • Хранение паролей
    Сайты не хранят пароли в открытом виде. Вместо этого используются:
    • Соль — случайная строка, добавляемая к паролю
    • Хеш — результат шифрования, который невозможно расшифровать обратно
Линейный шифр | CypherProject

Линейный шифр f(x) = ax + b

Создайте свой собственный шифр на основе математической функции. Введите коэффициенты a и b, и текст для шифрования.

Должен быть взаимно простым с 33
Ошибка:

Текущая функция:

f(x) = 5x + 3 (mod 33)

Каждой букве присваивается номер (А=1, Б=2, ... Я=33), затем применяется формула и берётся остаток от деления на 33.

Как это работает:

Линейный шифр использует функцию f(x) = a·x + b mod 33, где:

  • x — номер буквы в алфавите (А=1, Б=2, ..., Я=33)
  • a и b — секретные коэффициенты (ключ шифра)
  • mod 33 — остаток от деления на 33 (чтобы результат был в пределах алфавита)
Примеры коэффициентов:

Соответствие букв (a=5, b=3):

Как зашифровать

Big Data?
Секрет скорости и безопасности в современном мире
Выбор между безопасностью и скоростью
  • Хочешь безопасно передать ключ — используй RSA, но тогда всё будет очень долго.
  • Хочешь скорость — используй AES, но непонятно, как передать его ключ, чтобы его не перехватили.
  • RSA: Надёжный шифр
    ✓ Безопасная передача ключей
    ✗ ОЧЕНЬ МЕДЛЕННЫЙ для больших данных
  • AES: Молниеносная скорость
    ✓ Невероятно быстрый
    ✗ Как безопасно передать ключ?
Гибридное шифрование | CypherProject

Гибридное шифрование: AES + RSA

Интерактивная схема работы гибридной системы шифрования, сочетающей скорость AES и безопасность RSA для работы с Big Data.

Отправитель
Создаёт данные и ключ AES
AES-256
Быстрое симметричное шифрование
Зашифрованные данные
Данные защищены ключом AES
Получатель
Получает и расшифровывает данные
RSA-2048
Безопасное асимметричное шифрование
Зашифрованный ключ
Ключ AES защищён RSA
Готов к началу работы
Нажмите кнопку "1. Создать ключ AES" для запуска интерактивной схемы гибридного шифрования. Процесс покажет, как сочетаются скорость AES и безопасность RSA для работы с большими данными.

Как работает гибридное шифрование

Гибридное шифрование сочетает преимущества двух алгоритмов:

  • AES (Advanced Encryption Standard) — симметричный алгоритм, невероятно быстрый для шифрования больших объемов данных
  • RSA (Rivest-Shamir-Adleman) — асимметричный алгоритм, идеально подходящий для безопасной передачи ключей

Вместе они создают оптимальное решение для Big Data: AES шифрует сами данные, а RSA защищает ключ AES для безопасной передачи.

Именно эта связка используется в HTTPS, мессенджерах, банковских транзакциях и облачных хранилищах.

Цифры не врут: эксперимент

Сравнение скорости шифрования для Big Data

Размер файла AES (быстрый), сек RSA (только для ключа), сек Гибридный (AES + RSA), сек
1 КБ 0.000680 0.000920 0.000095
100 КБ 0.000338 0.000055 0.000189
1 МБ 0.002741 0.000183 0.002652
10 МБ 0.025412 0.000860 0.024358

Столбчатая диаграмма: Время шифрования файлов разного размера

0.025 0.020 0.015 0.010 0.000 AES 1 КБ: 0.000680 сек Гибрид 1 КБ: 0.000095 сек RSA 1 КБ: 0.000920 сек 1 КБ AES 100 КБ: 0.000338 сек Гибрид 100 КБ: 0.000189 сек RSA 100 КБ: 0.000055 сек 100 КБ AES 1 МБ: 0.002741 сек Гибрид 1 МБ: 0.002652 сек RSA 1 МБ: 0.000183 сек 1 МБ AES 10 МБ: 0.025412 сек Гибрид 10 МБ: 0.024358 сек RSA 10 МБ: 0.000860 сек 10 МБ Время шифрования (секунды) Размер данных
AES
Гибридный (AES+RSA)
RSA (только для ключа)

Что наглядно видно на столбчатой диаграмме:

Столбцы AES и столбцы Гибридной схемы почти одинаковой высоты для каждого размера файла

Разница между AES и Гибридным методом составляет всего 3-4% (почти незаметна визуально)

Столбцы RSA (шифрование только ключа) — крошечные и почти не меняются с ростом размера данных

Время шифрования AES и Гибридным методом растёт линейно с увеличением размера файла

Цифровой анализ (данные из таблицы):

3.3%
Разница AES vs Гибрид для 1 МБ
(0.002741 vs 0.002652 сек)
4.3%
Разница AES vs Гибрид для 10 МБ
(0.025412 vs 0.024358 сек)
~0.001 сек
Время RSA (ключ) постоянно
Не зависит от размера данных
35-50x
AES быстрее RSA для данных
Для шифрования самих данных

Вывод

Гибридная схема шифрования (AES+RSA) практически так же быстра, как и чистый AES.

При этом она обеспечивает безопасность передачи ключа через RSA без значительной потери производительности, что делает её оптимальным выбором для работы с большими данными (Big Data).

Преимущество гибридного подхода: скорость AES + безопасность RSA

Результат: безопасная передача больших данных с минимальным влиянием на скорость

Book design is the art of incorporating the content, style, format, design, and sequence of the various components of a book into a coherent whole. In the words of Jan Tschichold, "Methods and rules that cannot be improved upon have been developed over centuries. To produce perfect books, these rules must be revived and applied." The front matter, or preliminaries, is the first section of a book and typically has the fewest pages. While all pages are counted, page numbers are generally not printed, whether the pages are blank or contain content.

КриптоБарьер: Умный помощник

Выберите параметры вашего файла, и система порекомендует оптимальный алгоритм шифрования на основе экспериментальных данных

Book design is the art of incorporating the content, style, format, design, and sequence of the various components of a book into a coherent whole. In the words of Jan Tschichold, "Methods and rules that cannot be improved upon have been developed over centuries. To produce perfect books, these rules must be revived and applied." The front matter, or preliminaries, is the first section of a book and typically has the fewest pages. While all pages are counted, page numbers are generally not printed, whether the pages are blank or contain content.
Made on
Tilda