0Pricing
Cryptology Academy · Урок

Шифры Виженера и полиалфавитные шифры

Разберитесь, как несколько алфавитов противостоят частотному анализу

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

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

Шифр Виженера противостоял частотному анализу в течение 300 лет, используя несколько алфавитов Цезаря по очереди и повторяющееся ключевое слово.

Основная идея

Для ключа KEY и открытого текста HELLO: H+K=R, E+E=I, L+Y=J, L+K=V, O+E=S → шифротекст RIJVS. Разные буквы могут по-разному шифровать одну и ту же букву открытого текста.

Табула ректа Виженера

Табула ректа — это сетка 26×26 алфавитов, в которой каждая строка сдвинута на одну позицию. Найдите строку для буквы ключа и столбец для буквы открытого текста, чтобы получить букву шифротекста.

Почему он преодолел частотный анализ

Если ключ — CAT (длина 3), буква «E» в зависимости от позиции может превратиться в «G», «E» или «Y». Распределение частот сглаживается, поэтому простой анализ перестаёт работать.

Реализация на Python

def vigenere(text, key, encrypt=True): result, ki = '', 0 for c in text.upper(): if c.isalpha(): shift = ord(key[ki % len(key)].upper()) - 65 if not encrypt: shift = -shift result += chr((ord(c) - 65 + shift) % 26 + 65) ki += 1 else: result += c return result

Проверка Касиски

Касиски (1863) заметил, что повторяющиеся шаблоны шифротекста раскрывают длину ключа. Повторяющийся открытый текст + повторяющийся ключ = повторяющийся шифротекст. Длина ключа делит расстояние между повторами.

Индекс совпадений

ИС измеряет распределение частот букв. Случайный текст имеет ИС ≈ 0,038; английский текст — ИС ≈ 0,065. Если проверять разные длины ключа и измерять ИС, можно определить правильную длину.

Пошаговый взлом шифра Виженера

1. Найдите длину ключа с помощью Касиски/ИС. 2. Разделите шифротекст на группы с шагом, равным длине ключа. 3. Каждая группа представляет собой шифр Цезаря — примените частотный анализ к каждой группе.

Шифр бегущего ключа

Если ключ имеет такую же длину, как сообщение, и никогда не повторяется (Бофор / бегущий ключ), метод Касиски не работает. Если ключ действительно случаен, получается одноразовый блокнот — невзламываемый шифр.

Вариант автоключа

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

Практическая оценка безопасности

Шифр Виженера с коротким ключом сегодня элементарно взламывается. Его историческая важность заключается в том, что он показывает ограниченность частотного анализа при использовании нескольких алфавитов.

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

Какой метод Касиски использовал, чтобы определить длину ключа шифра Виженера?

Итоги

Отлично! Вы освоили шифр Виженера и научились его взламывать. Далее мы подробнее изучим частотный анализ как универсальный инструмент криптоанализа.

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

Урок «Шифры Виженера и полиалфавитные шифры» бесплатный?

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

Чему я научусь в уроке «Шифры Виженера и полиалфавитные шифры»?

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

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

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

Сколько времени занимает урок «Шифры Виженера и полиалфавитные шифры»?

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

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

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

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

  1. Механика шифра Цезаря
  2. Шифры Атбаша и аффинный шифр
  3. Шифры Виженера и полиалфавитные шифры
  4. Частотный анализ и основы криптоанализа
← Назад к Cryptology Academy