0Pricing
Cryptology Academy · Урок

XOR внутри AES и потоковых шифров

Проследите, как XOR используется в настоящих алгоритмах шифрования

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

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

XOR — фундаментальный строительный блок внутри каждого современного шифра. В этом уроке мы проследим, как XOR используется в AES AddRoundKey и при смешивании гаммы потоковых шифров.

XOR в AES: AddRoundKey

AES выполняет 10–14 раундов. Каждый раунд начинается с AddRoundKey: состояние размером 16 байт подвергается операции XOR с раундовым ключом размером 16 байт. Это единственный шаг, на котором в алгоритм непосредственно вводится секретный ключ.

Получение раундовых ключей AES

Исходный ключ длиной 128/192/256 бит расширяется в 11/13/15 раундовых ключей с помощью расписания ключей. На каждом шаге AddRoundKey используется отдельный производный раундовый ключ.

Почему XOR работает внутри AES

В AES операция XOR выполняется в арифметике GF(2^8). Окружающие нелинейные операции (SubBytes, MixColumns) придают XOR свойства рассеивания и перемешивания, описанные Клодом Шенноном.

Гамма потокового шифра

Потоковый шифр генерирует псевдослучайную гамму из ключа и одноразового числа: keystream = CSPRNG(key, nonce) ciphertext = plaintext XOR keystream ChaCha20 создаёт гамму блоками по 64 байта с помощью функции четвертьраунда.

Четвертьраунд ChaCha20

Функция перемешивания ChaCha20: a += b; d ^= a; d <<<= 16 c += d; b ^= c; b <<<= 12 a += b; d ^= a; d <<<= 8 c += d; b ^= c; b <<<= 7 XOR (^) и вращение (<<<) — ключевые операции.

Одноразовое число и счётчик в потоковых шифрах

ChaCha20 принимает: 256-битный ключ + 96-битное одноразовое число + 32-битный счётчик. Разные значения счётчика порождают разные блоки гаммы. Повторное использование пары (ключ, одноразовое число) катастрофично — никогда так не делайте.

Режим AES-CTR: блочный шифр как потоковый шифр

AES-CTR шифрует последовательные значения счётчика с помощью AES, а затем выполняет XOR результата с открытым текстом. Так AES, являющийся блочным шифром, превращается в потоковый шифр и позволяет получать данные произвольной длины.

XOR в режимах OFB и CFB

OFB: keystream = AES(AES(AES(IV)...)). Открытый текст XOR гамма = шифротекст. CFB: блок шифротекста = открытый текст XOR AES(предыдущий_шифротекст). В BOTH режимах XOR используется как этап смешивания.

Перемешивание и рассеивание с помощью XOR и S-блока

Перемешивание по Шеннону: S-блоки (SubBytes) усложняют зависимость между ключом и шифротекстом. Рассеивание: ShiftRows+MixColumns распространяют влияние каждого байта. XOR связывает оба свойства с ключом.

Никогда не создавайте собственную криптографию

Понимание роли XOR объясняет, почему любительские конструкции шифров не работают: в них XOR используется без нелинейных слоёв. Без S-блоков и рассеивания шифры на основе XOR тривиально взламываются алгебраическими методами.

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

Какая операция AES непосредственно выполняет XOR состояния с раундовым ключом?

Итоги

Теперь Вы понимаете роль XOR в настоящих шифрах. Далее мы изучим хеш-функции, начиная с MD5 и заканчивая SHA-256.

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

Урок «XOR внутри AES и потоковых шифров» бесплатный?

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

Чему я научусь в уроке «XOR внутри AES и потоковых шифров»?

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

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

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

Сколько времени занимает урок «XOR внутри AES и потоковых шифров»?

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

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

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

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

  1. Повторение побитовых операций
  2. Шифрование XOR и одноразовый блокнот
  3. Почему одного XOR недостаточно для безопасности
  4. XOR внутри AES и потоковых шифров
← Назад к Cryptology Academy