Криптография Тема 01 / 04
Блок 01 · Криптография

«Секрет римского полководца»

Шифр Цезаря и ROT13

Сдвиг алфавита, шифрование и расшифровка вручную — самый первый шаг в мир криптографии.

Теория

Шифр Цезаря и ROT13

Шифр Цезаря — один из старейших методов шифрования. Юлий Цезарь использовал сдвиг на 3 позиции вправо в латинском алфавите, чтобы переписываться с военачальниками.

Принцип: каждая буква заменяется другой, находящейся через N позиций в алфавите (N — ключ). При сдвиге 3: А→Г, Б→Д, В→Е и т.д. Когда алфавит заканчивается — отсчёт идёт с начала (Ю→Б, Я→В).

Формула
caesar.math
Шифрование:   C = (P + N) mod 32
Расшифровка:  P = (C − N + 32) mod 32

32 — количество букв в русском алфавите без Ё

ROT13 — частный случай

ROT13 — это шифр Цезаря со сдвигом 13 для латинского алфавита (26 букв). Особенность: шифрование и расшифровка — одна и та же операция. ROT13(ROT13(текст)) = текст.

rot13.table
A↔N   B↔O   C↔P   D↔Q   E↔R   F↔S   G↔T
H↔U   I↔V   J↔W   K↔X   L↔Y   M↔Z

HELLOURYYB      URYYBHELLO
Запомни. Шифр Цезаря и ROT13 — моноалфавитные: одна буква всегда меняется на одну и ту же. Поэтому их легко взломать перебором всех 32 сдвигов.
Практикум
Практика

Практическое задание

Выполняется вручную, по строке алфавита. Выбери свой вариант.

Задание 1 · Шифрование и расшифровка
Вариант А
  1. Зашифруй слово ШПИОН со сдвигом 5.
  2. Расшифруй: КЗНВМ (сдвиг 3).
  3. Переведи в ROT13: CIPHER.
Вариант Б
  1. Зашифруй слово АГЕНТ со сдвигом 7.
  2. Расшифруй: ХНБПК (сдвиг 4).
  3. Переведи в ROT13: SECRET.
Задание 2 · CTF-флаг

Расшифруй флаг — расшифрованная строка и есть ответ.

Вариант А
  1. Флаг: ФЙД{ИТЛКХЙЛЙ_ГЦ_ГЗКСВЛ}
  2. Ключ: сдвиг 17 вправо.
Вариант Б
  1. Флаг: ФЙД{ЛИЙРЙС_ЖЗТЗИ_РЙНЛЙ}
  2. Ключ: сдвиг 11 вправо.
Тема 02 →«Ключ как слово»