Что такое шифрование
Шифрование – это превращение обычного текста в непонятный набор символов, который нельзя прочитать без специального ключа. Такой ключ знают только те, кому действительно разрешено видеть исходное сообщение.
  • Зачем нужны шифры?
    Шифры защищают данные от посторонних. Они помогают: сохранять конфиденциальность сообщений в мессенджерах; защищать банковские данные и пароли; охранять государственные и военные секреты.
  • Чем шифр отличается от кода?
    Кодирование передаёт информацию в удобном виде. Пример: жесты регулировщика — это код.
    Шифрование скрывает смысл сообщения и делает его понятным только тому, у кого есть ключ. Пример: криптекс из «Кода да Винчи».
Эволюция шифров
Линейный шифр | 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):

Методы шифрования
Существует множество методов шифрования, таких как шифры Цезаря, Виженера и RSA, каждый из которых обеспечивает безопасность информации.
Шифр Атбаш
Как работает: буква заменяется на «зеркальную» в алфавите (первая последняя, вторая предпоследняя).
Пример: «ПРИВЕТ» → РПЧЭЪНМ
Плюсы: очень прост для понимания и реализации.
Минус: легко расшифровать, почти нет защиты.
Шифр Цезаря
.Как работает: каждая буква заменяется на букву, отстоящую от неё на фиксированное число позиций в алфавите.
Пример: при сдвиге 3 «ПРИВЕТ» → «ТУЛГЗХ».
Плюсы: очень прост в использовании, шифрование занимает секунды.
Минусы: всего 33 варианта ключа (для русского алфавита), легко взламывается перебором или частотным анализом.
Шифр Виженера
Как работает: каждая буква заменяется буквой, симметричной относительно центра алфавита (первая с последней, вторая с предпоследней).
Пример: Ключ: «КОД» «ПРИВЕТ» → ЩЮММУЦ
Плюсы: устойчив к частотному анализу (одна и та же буква шифруется по-разному).
Минусы: при коротком ключе и известной длине ключа легко взламывается.
Шифр Плейфера
Как работает: шифрует текст парами букв в таблице 5×5.
Правила: В строке → берем соседние справа В столбце → буквы снизу В разных строках → углы прямоугольника
Пример: «ПРИВЕТ» → ИФРКТЧ
Плюсы: сложнее частотного анализа по одиночным буквам.
Минусы: уязвим при известном открытом тексте.
Шифр Вернама
Самый надёжный шифр в истории.
Как работает: Сообщение + случайный ключ той же длины Применяется XOR Для расшифровки нужен тот же ключ.

Плюсы: невозможно взломать.
Минусы: ключ огромный и используется только один раз.

Шифр DES
Как работает: 16 раундов перестановок и подстановок. Деление блока на левую и правую. часть XOR с ключом. Обмен половин.

Плюсы: долгое время считался надёжным стандартом, стоек к многим атакам на момент создания.
Минусы: длина ключа 56 бит сегодня недостаточна — перебор всех ключей возможен за разумное время.
Шифр 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 основана на сложности разложения больших чисел на простые множители.

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

Шифр AES
AES (Advanced Encryption Standard) — это современный симметричный алгоритм шифрования, принятый как мировой стандарт в 2001 году.
Как это работает
Делит данные на блоки.
Каждый блок — 16 байт.
Шифрует каждый блок отдельно.
Использует несколько раундов — делает 10, 12 или 14 повторений (зависит от длины ключа).
В каждом раунде делает 4 операции:
  • Заменяет буквы — меняет каждый символ на другой по специальной таблице.
  • Сдвигает строки — перемещает строчки в блоке.
  • Перемешивает столбцы — меняет местами данные в столбиках.
  • Добавляет ключ — смешивает с секретным паролем.
Основные характеристики
Длина ключа: 128, 192 или 256 бит (чем длиннее, тем безопаснее).
Размер блока: 128 бит (16 байт).
Быстрый и надёжный — чтобы взломать AES-256 простым перебором, потребуются миллиарды лет.
Используется везде: в Wi-Fi (WPA2), в браузерах (HTTPS), в архиваторах (ZIP, RAR).
Почему AES используют везде
Это «золотой стандарт» — с ним сравнивают все новые алгоритмы (в том числе ChaCha20).
Он очень быстрый — в моём эксперименте AES зашифровал 10 МБ файл за 0.029 секунды.
На его основе строится гибридная схема — когда AES шифрует данные, а RSA шифрует ключ от AES.
Шифр ChaCha20
ChaCha20 — это современный алгоритм шифрования, который появился в 2008 году. Его разработали специально для того, чтобы он работал очень быстро на наших компьютерах и телефонах.
Как работает
Как он работает:
  1. Берёт ключ — секретный пароль длиной 256 бит (как у AES-256);
  2. Добавляет номер (nonce) — специальное число, которое используется один раз;
  3. Генерирует поток случайных чисел — создаёт много-много случайных цифр;
  4. Смешивает с вашими данными — делает операцию XOR (это как сложение, но проще).
Чем он отличается от AES
AES работает с блоками (как пазл — разрезает данные на кусочки и шифрует каждый)
ChaCha20 работает потоком (как река — обрабатывает данные непрерывно)
Где используют ChaCha20
Он очень быстрый — в моём эксперименте он оказался на 42-47% быстрее AES на файлах от 100 КБ, экономит до 43% процессорного времени и около 1 МБ оперативной памяти на больших объёмах..
Его используют в современном интернете — в браузерах (Chrome, Firefox), мессенджерах (WhatsApp), VPN.
Он хорошо работает на мобильных устройствах — поэтому его часто используют в приложениях для телефонов.
Криптография— это наука о защите информации с помощью математических методов шифрования. Она делает данные недоступными для тех, у кого нет специального ключа.
Где мы встречаем криптографию каждый день:
  • Защищённые сайты (HTTPS)
    Маленький замочек в адресной строке браузера означает, что ваше соединение с сайтом зашифровано. Это защищает:
    • Ваши логины и пароли
    • Банковские операции
    • Личные сообщения
  • Электронные подписи
    Цифровые подписи в документах работают благодаря криптографии:
    • Подтверждают авторство
    • Гарантируют, что документ не изменялся
  • Защита Wi-Fi
    Без криптографических протоколов (WPA2/WPA3) любой мог бы подключаться к вашей сети Wi-Fi.
  • Хранение паролей
    Сайты не хранят пароли в открытом виде. Вместо этого используются:
    • Соль — случайная строка, добавляемая к паролю
    • Хеш — результат шифрования, который невозможно расшифровать обратно
Проблема больших данных
Выбор между безопасностью и скоростью
  • Хочешь безопасно передать ключ — используй 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, мессенджерах, банковских транзакциях и облачных хранилищах.

Цифры не врут: эксперимент
Результаты эксперимента | КриптоБарьер

Результаты эксперимента

Сравнение алгоритмов шифрования на данных разного размера

Время шифрования (секунды)

РазмерAES-256RSA-2048ГибридChaCha20Ускорение
1 КБ0.0000670.0001060.0001630.000064+5.2%
100 КБ0.0003150.0001080.0003920.000176+44.1%
1 МБ0.0027850.0000930.0025800.001485+46.7%
10 МБ0.0292840.0000970.0276470.016742+42.8%

Загрузка CPU (секунды процессорного времени)

РазмерAES-256RSA-2048ГибридChaCha20Экономия
1 КБ0.0000.0000.0000.000
100 КБ0.0010.0000.0010.000+100%
1 МБ0.0020.0000.0030.001+50%
10 МБ0.0300.0010.0280.017+43.3%

Использование RAM (МБ)

РазмерAES-256RSA-2048ГибридChaCha20
1 КБ0.0000.0000.0000.000
100 КБ0.0000.0000.0000.000
1 МБ1.0000.0000.9880.887
10 МБ12.0000.00012.00011.100

Визуальное сравнение

Время шифрования (сек)

Загрузка CPU (сек)

Ключевые показатели

+42–47%
Ускорение ChaCha20
на файлах от 100 КБ до 10 МБ
~1 МБ
Экономия RAM (10 МБ)
ChaCha20 против AES
+43.3%
Экономия CPU
на 10 МБ (ChaCha20)
0.0001 с
RSA (ключ)
время постоянно

Главные выводы эксперимента

ChaCha20 — лидер по скорости и энергоэффективности: на 42–47% быстрее AES на файлах от 100 КБ, экономит до 43% процессорного времени и около 1 МБ оперативной памяти на больших объёмах.

Гибридная схема (AES+RSA) — оптимальный баланс для передачи данных: всего на 3–10% медленнее чистого AES, но обеспечивает безопасный обмен ключами.

RSA-2048 эффективен исключительно для шифрования ключей: его время практически постоянно (~0.0001 с) и не зависит от размера файла.

Все данные получены в ходе 10-кратных измерений. Исходный код и данные доступны на GitFlic.

ChaCha20: современный потоковый шифр
В ходе исследования ChaCha20 показал лучшее время среди всех алгоритмов:
  • На маленьких файлах (1 КБ) — быстрее AES на 5%;
  • На файлах 100 КБ –10 МБ — обгоняет AES на 42 –47%;
  • При этом уровень безопасности сопоставим с AES-256.
Благодаря высокой скорости ChaCha20 идеально подходит для гибридных схем
(ChaCha20 + RSA) и для устройств с ограниченной мощностью — смартфонов, планшетов.
Мой эксперимент подтверждает: если вам нужно зашифровать большой файл и важна каждая секунда — ChaCha20 лучший выбор.
КриптоБарьер | CypherProject

КриптоБарьер

Умный помощник для выбора оптимального алгоритма шифрования. На основе экспериментальных данных подберёт идеальное решение для ваших данных.

Выберите параметры ваших данных

Размер файла: 1 КБ

* Рекомендация основана на тестовом размере (1 КБ, 100 КБ, 1 МБ, 10 МБ)

Важность данных:

Низкая Личные фото, несекретные документы
Средняя Рабочие файлы, финансовая информация
Высокая Пароли, ключи, секретные документы

Время шифрования (сек)

Загрузка CPU (сек)

Использование RAM (МБ)


Проверь себя!

Made on
Tilda