⌘ КРИПТОГРАФІЯДо маршруту
Розділ 01 · Шифри минулого

Місія 5 · Шифр Віженера

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

Замість одного зсуву використаємо ключове слово, що керує перетворенням кожної літери.

Криптокіт досліджує рухомі шифрувальні диски й стрічки ключів у старовинному архіві

1Відео і матеріали

Відео

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

Тут буде відео.

2Практика

Інтерактив

Віженер · Рухома абетка

Розгорніть ключ, знайдіть перетин у Tabula Recta, розшифруйте лист і дослідіть зміну ключа. Наприкінці — власний артефакт і звіт у PDF.

Почати практику

3Чат-бот

4Шифри в коді

Python · спробуйте самі

Ключове слово керує зсувами

Латинський приклад із презентації: HELP + ONE → VRPD. Використовуйте великі літери A–Z без пробілів, ключ має бути непорожнім. У практиці нижче працюємо з 33 українськими літерами.

Розгорнути короткий приклад
alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
text, key = "HELP", "ONE"
result = ""
for i, letter in enumerate(text):
    shift = alphabet.index(key[i % len(key)])
    result += alphabet[(alphabet.index(letter) + shift) % 26]
print(result)
Перевірте себе
  1. Запустіть: має вийти VRPD.
  2. Змініть ключ на "A". Чому текст не змінився?
  3. Змініть + shift на - shift, а текст — на "VRPD". Залиште ключ ONE: ви отримаєте HELP.
  4. Додатково: замініть абетку на українську та % 26 на % len(alphabet). Використайте текст МИР і ключ КОД.

Якщо конструкції Python незнайомі, рекомендуємо ознайомитися з ними. Програмування тут — додатковий спосіб дослідження.

Якщо використовуєте input()
Натисніть «Запустити».

Код виконується у вашому браузері. Перший запуск завантажує Python — потрібен інтернет. На телефоні приклад можна розгорнути, а код у Runner — редагувати.

5Зворотний зв’язок

Поділіться враженнями

Яка підказка допомогла? Що залишилося незрозумілим? Посилання на форму додамо тут.