Cryptology Academy · Урок

Основы симметричного шифрования

Разберитесь в шифровании общим ключом, размерах ключей и блочных и потоковых шифрах

Урок 1 из 413 шагов

«Основы симметричного шифрования» — бесплатный урок Cryptology Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cryptology Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cryptology Academy содержит 4 уроков всего.

Добро пожаловать

Симметричное шифрование использует один ключ и для шифрования, и для расшифрования. В этом уроке мы разберём основные понятия, прежде чем перейти к внутреннему устройству AES.

Модель общего ключа

Алиса и Боб используют общий секретный ключ K. Алиса шифрует: C = Enc(K, P). Боб расшифровывает: P = Dec(K, C). Ева перехватывает C, но без K не может восстановить P.

Блочные шифры

Блочный шифр шифрует блоки открытого текста фиксированного размера. AES использует блоки размером 128 бит. DES использовал блоки размером 64 бита (теперь он выведен из эксплуатации). Длинные сообщения разбиваются на блоки, после чего к ним применяется режим работы.

Потоковые шифры

Потоковый шифр создаёт поток ключей и применяет к открытому тексту операцию XOR побайтно. ChaCha20 и RC4 — потоковые шифры. Они обрабатывают входные данные переменной длины без дополнения.

Размеры ключей и уровни безопасности

AES-128: пространство ключей 2^128 → безопасность 128 бит. AES-256: пространство ключей 2^256 → безопасность 256 бит. У DES были ключи всего 56 бит, поэтому в 1999 году его взломали полным перебором.

История DES

Стандарт шифрования данных (1977) использовал ключи размером 56 бит по настоянию NSA. В 1999 году distributed.net взломал DES за 22 часа. Triple-DES (3DES) продлил срок его службы, но в 2001 году оба алгоритма заменил AES.

Процесс выбора AES

NIST провёл пятилетний конкурс (1997–2001), в котором участвовали 15 разработок со всего мира. Победил Rijndael, созданный Даменом и Райменом. Он был простым, быстрым и поддавался анализу.

Перемешивание и рассеивание

Принципы Шеннона для проектирования стойких шифров: - Перемешивание: каждый бит шифротекста зависит от многих битов ключа (это обеспечивает SubBytes) - Рассеивание: изменение одного бита открытого текста влияет на множество битов шифротекста (это обеспечивают ShiftRows и MixColumns)

Сеть Фейстеля и SP-сеть

DES использовал сеть Фейстеля (разделение блока и применение F-функции). AES использует сеть подстановок и перестановок (SP), в которой все байты преобразуются одновременно. SP-сети работают быстрее на аппаратном уровне.

Безопасность размера блока

Для блоков размером 64 бита (DES) коллизии, соответствующие парадоксу дней рождения, возникают после 2^32 ≈ 4 миллиардов блоков. Для блоков AES размером 128 бит требуется 2^64 блоков. AES безопасен для практически используемых объёмов данных.

Шифрование с аутентификацией и без неё

Один AES-CBC шифрует данные, но не аутентифицирует их. Атакующий может незаметно изменить шифротекст. Всегда используйте AEAD: AES-GCM или ChaCha20-Poly1305. Они одновременно шифруют данные И аутентифицируют их.

Быстрая проверка

Чем блочный шифр отличается от потокового?

Итоги

Теперь Вы хорошо понимаете основные понятия симметричного шифрования. Далее мы заглянем внутрь AES: изучим раунды, матрицу состояния и четыре операции, обеспечивающие его стойкость.
Можно начать бесплатно

Изучай Cryptology Academy с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
67
Уроки
261

Часто задаваемые вопросы

Урок «Основы симметричного шифрования» бесплатный?

Да — полный текст урока «Основы симметричного шифрования» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cryptology Academy, подпишись на CoddyKit PRO. Курс Cryptology Academy содержит 4 уроков всего.

Чему я научусь в уроке «Основы симметричного шифрования»?

Разберитесь в шифровании общим ключом, размерах ключей и блочных и потоковых шифрах Ты практикуешь Cryptology Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cryptology Academy?

Предыдущий опыт не требуется. Cryptology Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Основы симметричного шифрования»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cryptology Academy?

Да. Каждый урок Cryptology Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основы симметричного шифрования
  2. Структура AES: раунды и матрица состояния
  3. Расширение ключа AES и размеры ключей
  4. Практическое шифрование файлов с помощью AES
← Назад к Cryptology Academy