Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
терентьев шифры и тд.docx
Скачиваний:
0
Добавлен:
12.02.2026
Размер:
282.83 Кб
Скачать

Что такое DES?

DES (Data Encryption Standard) — это симметричный алгоритм блочного шифрования, который стал одним из самых известных и влиятельных криптографических стандартов в истории. Он был официально принят в США в 1977 году и использовался десятилетиями, пока не был вытеснен более современными алгоритмами.

Историческая справка

  • Разработка: Алгоритм был разработан в начале 1970-х годов компанией IBM на основе более раннего шифра «Lucifer».

  • Утверждение: После консультаций с Агентством национальной безопасности (NSA) и некоторыми модификаций (в частности, уменьшения размера ключа со 128 до 56 бит), он был утвержден Национальным институтом стандартов и технологий (NIST) как федеральный стандарт США (FIPS PUB 46).

  • Значение: DES стал первым открытым, прозрачным криптографическим стандартом, что позволило криптографам со всего мира изучать его и заложило основы современной криптографии.

Ключевые характеристики DES

  1. Тип алгоритма: Симметричный блочный шифр.

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

    • Блочный: Обрабатывает данные блоками фиксированного размера.

  2. Размер блока: 64 бита.

  3. Размер ключа: 56 бит (+8 бит контроля четности, итого 64 бита для хранения).

  4. Структура: Сеть Фейстеля (Feistel network). Это была гениальная инженерная находка, которая упростила реализацию как шифрования, так и дешифрования.

Как работает DES? Обзор структуры

Процесс шифрования состоит из трех основных этапов:

1. Начальная перестановка (Initial Permutation, ip)

Открытый текст (64 бита) проходит через начальную перестановку, где биты перемешиваются по фиксированному правилу. Это не добавляет безопасности, а является историческим наследием.

2. 16 Раундов сети Фейстеля

Это сердце DES. Каждый раунд выполняет одну и ту же функцию, но с разным подключом (subkey), полученным из основного ключа.

Схема одного раунда:

  • Вход: Блок делится на две половины по 32 бита: L (левый) и R (правый).

  • Функция Фейстеля (f):

    1. Расширение (Expansion): Правая половина R (32 бита) расширяется до 48 бит путем дублирования некоторых битов.

    2. Сложение с ключом (Key Mixing): Расширенная правая половина складывается по модулю 2 (XOR) с 48-битным подключом для этого раунда.

    3. Подстановка (Substitution — S-boxes): Результат разбивается на 8 блоков по 6 бит. Каждый блок проходит через свою S-бокс (таблицу подстановки). S-бокс принимает 6 бит на входе и выдает 4 бита на выходе. Это нелинейная и самая важная для безопасности часть алгоритма, обеспечивающая стойкость к криптоанализу.

    4. Перестановка (Permutation — P-box): Выходы всех S-боксов (8*4=32 бита) затем перемешиваются по фиксированному правилу.

  • Выход раунда:

  1. Новая левая половина = старая правая половина.

  2. Новая правая половина = результат функции f(R, K) складывается по XOR со старой левой половиной.

После 16 раундов левая и правая половины меняются местами в последний раз.

3. Конечная перестановка (Final Permutation, fp)

Финальный блок проходит через перестановку, обратную начальной. Результат — 64 бита шифртекста.

Дешифрование выполняется абсолютно аналогично, но с применением подключей в обратном порядке (K16, K15, ..., K1).

Генерация подключей (Key Schedule)

Из основного 56-битного ключа генерируется 16 48-битных подключей для каждого раунда. Процесс включает:

  1. Перестановка со сжатием (Permuted Choice 1): Из 64-битного ключа (с битами четности) выбираются и перемешиваются 56 бит.

  2. Разделение: Ключ делится на две половины по 28 бит.

  3. Циклический сдвиг: Для каждого раунда обе половины циклически сдвигаются влево на 1 или 2 бита (в зависимости от раунда).

  4. Перестановка со сжатием (Permuted Choice 2): Из сдвинутых половин выбираются и перемешиваются 48 бит, формируя подключ для текущего раунда.

Криптоанализ и уязвимости DES

  1. Малая длина ключа (56 бит): Это главная и фатальная уязвимость DES в современном мире. Количество возможных ключей составляет "всего" 2^56 ~ 7.2*10^16.

    • Машина EFF DES Cracker: В 1998 году организация Electronic Frontier Foundation построила специализированный компьютер за $250,000, который вскрыл DES-шифр за 56 часов методом полного перебора (brute-force). Сегодня это можно сделать за часы или даже минуты на облачных вычислениях.

  2. Атаки на основе особенностей алгоритма:

    • Дифференциальный криптоанализ: Был теоретически известен создателям DES (и, как выяснилось, NSA) еще в 1970-х, но опубликован лишь в 1990-х. S-боксы DES оказались очень устойчивы к этой атаке, что говорит о высоком уровне проектирования.

    • Линейный криптоанализ: Еще более эффективный метод, также нейтрализованный грамотным дизайном S-боксов.

Наследие DES и эволюция

Из-за малой длины ключа "одиночный" DES стал небезопасен. Это привело к появлению следующих модификаций:

  1. Triple DES (3DES): Был временным решением.

    • Шифрование: Шифртекст = E(K3, D(K2, E(K1, Открытый_текст))) (E-шифрование, D-дешифрование).

    • Использует 2 или 3 ключа, что эффективно увеличивает длину ключа до 112 или 168 бит.

    • Надежен, но очень медленный из-за троекратного выполнения алгоритма.

  2. AES (Advanced Encryption Standard): Преемник DES.

    • В 2001 году NIST выбрал новый алгоритм Rijndael, который стал стандартом AES.

    • AES использует размеры ключей 128, 192 и 256 бит, что делает полный перебор практически невозможным.

    • Быстрее и безопаснее DES. Сегодня AES является мировым стандартом.

Вывод

DES — это исторически чрезвычайно важный алгоритм, который заложил фундамент для современной криптографии. Он продемонстрировал ценность открытого дизайна и выдержал десятилетия интенсивного криптоанализа, доказав свою внутреннюю прочность. Однако его короткий 56-битный ключ сделал его уязвимым к brute-force-атакам с ростом вычислительной мощности. На сегодняшний день DES считается абсолютно устаревшим и не должен использоваться для защиты новых данных. Его место уверенно занял AES.

Что такое ГОСТ 28147-89?

ГОСТ 28147-89 — это советский и российский стандарт симметричного блочного шифрования, полное название: "Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования".

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

Исторический контекст

  • Разработка: Алгоритм был разработан в недрах 8-го Главного управления КГБ СССР (будущая ФАПСИ) и принят в 1989 году.

  • Секретность: В отличие от DES, который был открытым стандартом, структура ГОСТа и особенно таблицы замен (S-блоки) изначально держались в секрете. Это вызывало как доверие (считалось, что алгоритм обладает скрытыми механизмами стойкости), так и критику со стороны криптографического сообщества.

  • Современный статус: В 2015 году он был заменен новым стандартом ГОСТ Р 34.12-2015 ("Кузнечик" и "Магма"), но до сих пор широко используется, особенно в государственных информационных системах и банковской сфере.

Ключевые характеристики ГОСТ 28147-89