0Pricing
Cryptology Academy · Урок

Механика шифра Цезаря

Реализуйте классический подстановочный шифр ROT-N и взломайте его

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

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

Шифр Цезаря — простейший шифр подстановки. Каждая буква сдвигается на фиксированное число позиций в алфавите. Давайте реализуем его и взломаем.

Как работает шифр Цезаря

При сдвиге 3: A→D, B→E, ..., Z→C. «HELLO» превращается в «KHOOR». При расшифровании выполняется обратный сдвиг: «KHOOR» превращается в «HELLO».

Математическое определение

Шифрование: E(x) = (x + k) mod 26. Расшифрование: D(y) = (y - k) mod 26. Здесь x — индекс буквы (A=0), а k — ключ сдвига.

Вариант ROT-13

ROT-13 — это шифр Цезаря со сдвигом 13. Поскольку 13+13=26, шифрование и расшифрование выполняются одной и той же функцией. Этот вариант используется на форумах, чтобы скрывать спойлеры.

Шифрование на Python

def caesar(text, k): result = '' for c in text.upper(): if c.isalpha(): result += chr((ord(c) - 65 + k) % 26 + 65) else: result += c return result print(caesar('HELLO', 3)) # KHOOR

Расшифрование на Python

Расшифрование — это всего лишь шифрование с отрицательным сдвигом: def decrypt(text, k): return caesar(text, -k) print(decrypt('KHOOR', 3)) # HELLO

Взлом шифра Цезаря перебором

Существует всего 25 возможных сдвигов. Злоумышленнику достаточно попробовать их все и выбрать результат, похожий на английский текст. Компьютер не нужен — вручную это занимает несколько секунд.

Анализ пространства ключей

Пространство ключей = 26 (или 25 без тождественного преобразования). Для сравнения, AES-128 использует 2^128 ≈ 3.4×10^38 ключей. Пространство ключей шифра Цезаря катастрофически мало.

Предварительный обзор частотного анализа

Даже без перебора работает частотный анализ: буква «E» чаще всего встречается в английском языке (примерно 13%). Найдите самую частую букву шифротекста и предположите величину сдвига.

ROT-N в реальном коде

В Python: import codecs; codecs.encode('hello', 'rot_13') возвращает 'uryyb'. ROT-13 встроен в модуль codecs Python, что демонстрирует его историческое значение.

Шифр Цезаря в историческом контексте

Цезарь использовал сдвиг 3 в личной переписке. Против неграмотных противников это работало. Против образованных соперников шифр без труда взламывался уже к 800 CE.

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

Каким будет шифротекст для «ABC» при использовании шифра Цезаря со сдвигом 3?

Повторение

Вы реализовали и взломали шифр Цезаря. Далее вы изучите более сложные классические шифры: Атбаш и аффинный шифр.

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

Урок «Механика шифра Цезаря» бесплатный?

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

Чему я научусь в уроке «Механика шифра Цезаря»?

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

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

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

Сколько времени занимает урок «Механика шифра Цезаря»?

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

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

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

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

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