Криптография

Полиалфавитные шифры

300 лет шифр Виженера считался нерасшифруемым. Потом математик Чарльз Бэббидж (да, тот самый, создатель разностной машины) взломал его в 1854-м - и не опубликовал, потому что шла Крымская война и метод был нужен британской разведке. Прошло ещё девять лет, прежде чем Касиски переоткрыл тот же метод. Эта история - о том, как каждое поколение думает, что нашло нерасшифруемый шифр.

  • **Энигма и Вторая мировая:** взлом роторной машины в Блетчли-Парк сократил войну, по оценкам историков, на 2-4 года
  • **Одноразовый блокнот:** единственный теоретически стойкий полиалфавитный шифр - когда ключ равен длине текста и используется ровно один раз
  • **Современные потоковые шифры:** RC4, ChaCha20 - прямые наследники идеи Виженера, только с криптографически стойким генератором ключа

Шифр Виженера

Три века подряд шифр Виженера называли «le chiffre indéchiffrable» - нерасшифруемым. Идея проста: вместо одного алфавита сдвига взять несколько, чередуя их по ключевому слову. Буква 'A' в тексте шифруется по-разному в зависимости от позиции - частотный анализ теряет опору.

**Механика:** ключевое слово повторяется вдоль открытого текста. Каждая буква ключа задаёт сдвиг Caesar для соответствующей буквы текста. Формула: `C[i] = (P[i] + K[i]) mod 26`, расшифровка: `P[i] = (C[i] - K[i] + 26) mod 26`.

**Взлом Касиски (1863):** найти повторяющиеся фрагменты шифртекста - расстояние между ними кратно длине ключа. Зная длину ключа, задача распадается на несколько Caesar-шифров, каждый из которых бьётся частотным анализом.

Текст 'AB', ключ 'BC'. Что получится после шифрования Виженером?

Шифр Бофора

Адмирал Фрэнсис Бофор - тот самый, чья шкала ветра висит в каждом порту - предложил вариацию Виженера с одним изящным свойством: шифрование и дешифрование - одна и та же операция. Это упрощает механическую реализацию вдвое.

**Отличие от Виженера:** вместо `(P + K) mod 26` используется `(K - P + 26) mod 26`. То есть берётся не «плюс ключ», а «ключ минус текст». Применив ту же операцию к шифртексту, получаем исходный текст.

**Variant Beaufort** - ещё одна версия: `C = (P - K + 26) mod 26`. Это буквально Виженер с дешифровальным ключом вместо шифровального. Все три варианта (Виженер, Бофор, Variant Beaufort) уязвимы к тесту Касиски.

Главное практическое преимущество шифра Бофора перед Виженером:

Энигма: принцип работы

1940 год, Блетчли-Парк. Алан Тьюринг и его команда работают над немецкой Энигмой - машиной, которую немецкие командующие считали абсолютно защищённой. Энигма - это электромеханический Виженер с ключом длиной порядка 10^{16} комбинаций.

**Три компонента Энигмы:** ротор (подстановочный диск, вращающийся после каждой буквы), рефлектор (отражает сигнал обратно, обеспечивая инволютивность) и коммутационная панель (plugboard, добавляющая 11 пар замен). При нажатии клавиши сигнал проходит через все роторы туда, отражается и идёт обратно - другим путём.

**Критическая слабость Энигмы:** рефлектор не позволяет букве шифроваться в саму себя. Это звучит как мелочь, но именно это свойство позволило Тьюрингу построить «бомбу» - устройство перебора, которое исключало позиции, где хоть одна буква шифровалась сама в себя.

Почему Энигма не могла зашифровать букву 'A' в 'A'?

Роторные машины и криптоанализ

Энигма - самая известная, но не единственная роторная машина. Американская SIGABA (1940) использовала 15 роторов с нерегулярным шагом - она так и не была взломана противником. Шведская Hagelin C-38 стала основой для производства: её лицензионный вариант M-209 использовала армия США.

**Принцип криптоанализа Энигмы (метод Тьюринга):** союзники знали структуру сообщений - погодные сводки всегда начинались с «WETTER» (погода), а в конце ставилась подпись оператора. Эти «подсказки» (cribs) плюс невозможность самозашифровки позволяли строить цепочки ограничений и перебирать настройки машиной.

**Урок для современной криптографии:** любое алгебраическое свойство шифра (самозашифровка невозможна, чётность перестановки фиксирована и т.д.) - потенциальная точка атаки. Современные шифры (AES) проектируются так, чтобы не иметь ни одного подобного свойства.

Энигма была взломана потому что немцы плохо её использовали

Операционные ошибки (повторы ключей, предсказуемые cribs) существенно помогли, но теоретическая слабость - невозможность самозашифровки - была фундаментальной и использовалась независимо от ошибок операторов

Даже идеальные операторы не могли устранить аппаратное ограничение рефлектора. SIGABA не имела этого ограничения и действительно не была взломана.

Что такое 'crib' в контексте взлома Энигмы?

Полиалфавитные шифры

  • Виженер: каждая позиция использует свой сдвиг Caesar по ключевому слову - частотный анализ не работает напрямую
  • Бофор: C=(K-P) mod 26, инволюция - шифрование и дешифрование одна функция
  • Тест Касиски: повторы в шифртексте выдают длину ключа, после чего Виженер бьётся как набор Caesar-шифров
  • Энигма: электромеханический полиалфавитный шифр с ~10^{16} ключей, взломан через свойство невозможности самозашифровки
  • Роторные машины учат: любое алгебраическое свойство шифра - потенциальная дверь для атаки

Связанные темы

Полиалфавитные шифры - мост между ручной криптографией и машинной эпохой.

  • Шифры замены (Caesar, Atbash) — Виженер = несколько Caesar-шифров чередующихся по ключу
  • Шифры перестановки — Следующий класс: меняем не буквы, а их позиции
  • Симметричное шифрование (AES) — Современный потомок: нет алгебраических слабостей, нет cribs

Вопросы для размышления

  • Почему одноразовый блокнот (OTP) теоретически абсолютно стоек, если ключ используется один раз - и почему его всё равно почти никогда не применяют?
  • Какую роль сыграли операционные ошибки операторов Энигмы - и что это говорит о безопасности современных протоколов?
  • Если бы Тьюринг не знал, что Энигма не шифрует букву в саму себя, насколько сложнее был бы взлом?

Связанные уроки

  • nt-03
  • ml-01
Полиалфавитные шифры

0

1

Войти