- •1. Начальная перестановка (Initial Permutation, ip)
- •2. 16 Раундов сети Фейстеля
- •3. Конечная перестановка (Final Permutation, fp)
- •Атаки на основе особенностей алгоритма:
- •Тип алгоритма: Симметричный блочный шифр.
- •Размер блока: 64 бита.
- •1. Подготовка ключа
- •2. 32 Раунда сети Фейстеля
- •3. Режимы работы
- •Ключевые отличия и преимущества перед des
- •Тип алгоритма: Симметричный блочный шифр
- •Атака на подобранном шифртексте.
- •1. Конструкция Дэвиса-Мейера (Davies-Meyer)
- •2. Конструкция Матьяса-Мейера-Осеаса (Matyas-Meyer-Oseas)
- •3. Конструкция Миягучи-Пренеля (Miyaguchi-Preneel)
- •1. Проблема фиксированных точек (Fixed Points)
- •2. Атаки на связанных ключах (Related-Key Attacks)
- •3. Требования к размеру
- •Системы защиты информации
- •Банковские приложения
- •Государственные информационные системы
- •Понятная математическая основа
- •Вычисление вспомогательных величин:
Факторизация модуля n: Если злоумышленник сможет разложить n на p и q, он легко вычислит закрытый ключ d.
Атаки по времени: Анализ времени выполнения операций.
Атака на подобранном шифртексте.
Меры защиты:
Использование достаточно больших ключей:
2048 бит — современный стандарт
3072-4096 бит — для долгосрочной безопасности
Правильная реализация (защита от атак по времени)
Использование оптимальной схемы дополнения (OAEP - Optimal Asymmetric Encryption Padding)
Практическое применение RSA
SSL/TLS — установление безопасного соединения
PGP/GPG — защита электронной почты
Цифровые подписи — аутентификация документов
SSH — безопасный удаленный доступ
VPN — виртуальные частные сети
Пример с маленькими числами
Генерация ключей:
p = 61, q = 53
n = 61 × 53 = 3233
φ(n) = (61-1)×(53-1) = 60×52 = 3120
e = 17 (взаимно просто с 3120)
d = 2753 (т.к. 17 × 2753 = 46801 ≡ 1 mod 3120)
Ключи:
Открытый: (e=17, n=3233)
Закрытый: (d=2753, n=3233)
Шифрование сообщения m = 65:
c = 65¹⁷ mod 3233 = 2790
Дешифрование:
m = 2790²⁷⁵³ mod 3233 = 65
Ограничения RSA
Медленная скорость по сравнению с симметричными алгоритмами
Ограничение на размер данных: Можно шифровать сообщения размером меньше n
Требует дополнения для защиты от определенных атак
На практике RSA обычно используется в гибридных системах:
RSA — для передачи симметричного ключа
AES — для шифрования основных данных
Вывод
RSA остается одним из фундаментальных алгоритмов современной криптографии, несмотря на появление других асимметричных систем (таких как ECC — Elliptic Curve Cryptography). Его надежность, проверенная временем, и относительная простота понимания сделали его краеугольным камнем безопасности в интернете.
Ключевые преимущества:
Проверенная безопасность за decades анализа
Универсальность (шифрование + цифровая подпись)
Широкая поддержка во всех платформах и языках программирования
Понимание RSA необходимо для любого специалиста в области информационной безопасности.
Основная идея
Идея заключается в том, чтобы использовать существующий, хорошо изученный блочный шифр (например, AES, DES, ГОСТ 28147-89) в качестве строительного блока для создания хеш-функции.
Зачем это нужно?
Экономия ресурсов: не нужно разрабатывать completely новый алгоритм
Использование уже существующих, оптимизированных реализаций
Возможность создать криптографически стойкую хеш-функцию на основе проверенного шифра
Общая структура: конструкция Дамгарда-Меркла
Большинство таких хеш-функций следуют структуре итеративной хеш-функции:
Исходное сообщение разбивается на блоки фиксированной длины
Хеш-функция обрабатывает блоки последовательно
На каждом шаге используется функция сжатия, построенная на основе блочного шифра
Ключевые конструкции
Существует несколько основных способов "превратить" блочный шифр в функцию сжатия.
1. Конструкция Дэвиса-Мейера (Davies-Meyer)
Самая популярная и широко используемая конструкция.
Схема:
где:
H_i — текущее значение хеша
H_{i-1} — предыдущее значение хеша
M_i — текущий блок сообщения
E — функция шифрования
⊕ — операция XOR
Особенности:
Сообщение используется как ключ шифрования
Хеш-состояние используется как данные для шифрования
Результат шифрования складывается по XOR с исходным хеш-состоянием
Примеры:
SHA-2 семейство (SHA-256, SHA-512) использует конструкцию, похожую на Дэвиса-Мейера
Многие хеш-функции на основе конкретных блочных шифров
