Створення програми «Квадрат Полібія» (криптографія)
👩🏫Методичні акценти для вчителя • План проведення уроку на 45 хвНУШ▼
🎯 Очікувані результати навчання (НУШ):
Формування предметних компетентностей за темою «Створення програми «Квадрат Полібія» (криптографія)», розвиток критичного мислення, вміння аналізувати причинно-наслідкові зв'язки та застосовувати набуті знання на практиці.
💬 Провокативне питання для старту:
Використайте блок «Гачок (Hook)» нижче для 2-хвилинної розминки з класом перед поясненням нового матеріалу.
⏱️ Рекомендований таймінг 45-хвилинного уроку:
Тема: ПР 16. Створення програми «Квадрат Полібія» (криптографія). Д/з: опрацювати матеріал уроку та завдання «У зошит» на платформі EZZ-SCHOOL BOOKS.
⚡ Фронтальне бліц-опитування класу на початку уроку (2 хв):
- Що є ключовим поняттям теми «Створення програми «Квадрат Полібія» (криптографія)» і чому воно важливе?
- Де у повсякденному житті, науці чи IT ми стикаємося з цим явищем/алгоритмом?
- Яка найпоширеніша помилка виникає під час першого знайомства з матеріалом?
🏠 Диференційоване домашнє завдання:
- Базовий рівень (обов'язковий): опрацювати конспект і блок «У зошит».
- Достатній рівень: скласти власну шпаргалку та пройти MiniCheck.
- Високий / STEM: виконати симуляцію у лабораторії та скласти BossQuiz на 100 XP.
📊 Критерії формувального оцінювання:
Твоя місія на цей урок
Натискай на цілі у міру їх опанування:
- 1Засвоїти фундаментальні принципи класичної криптографії та шифрів заміни.Опанувати ➔
- 2Побудувати двовимірний список buk розміром 6×6 для представлення розширеного українського алфавіту.Опанувати ➔
- 3Реалізувати алгоритм шифрування shifrText(): перетворення кожної літери на пару координат (номер рядка, номер стовпця).Опанувати ➔
- 4Реалізувати алгоритм дешифрування rozshText(): відновлення оригінального тексту з пар цифр за допомогою методу split().Опанувати ➔
- 5Створити графічний інтерфейс Tkinter із полями введення та кнопками керування.Опанувати ➔
🕵️ Таємне листування античних полководців у вікні Python!
Близько 2200 років тому давньогрецький історик та воєначальник Полібій винайшов метод передачі секретних повідомлень смолоскипами між вежами за допомогою таблиці координат. Сьогодні цей класичний криптографічний алгоритм — Квадрат Полібія — стане основою вашої власної програми шифрування!
1. Мета та покроковий алгоритм виконання
Мета роботи: Реалізувати класичний алгоритм криптографії — квадрат Полібія для української абетки (матриця 6×6): шифрування відкритого тексту в послідовність пар координат (рядок, стовпець) та зворотне дешифрування шифротексту.
Повний код шифратора та дешифратора:
# Таблиця Полібія 6x6 для 33 літер української абетки + розділові знаки:
grid = [
['А', 'Б', 'В', 'Г', 'Ґ', 'Д'],
['Е', 'Є', 'Ж', 'З', 'И', 'І'],
['Ї', 'Й', 'К', 'Л', 'М', 'Н'],
['О', 'П', 'Р', 'С', 'Т', 'У'],
['Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ'],
['Ь', 'Ю', 'Я', ' ', '.', '!']
]
def encrypt(text):
result = []
for char in text.upper():
for r in range(6):
for c in range(6):
if grid[r][c] == char:
result.append(f"{r + 1}{c + 1}")
return " ".join(result)
def decrypt(cipher):
chars = []
pairs = cipher.split()
for p in pairs:
r = int(p[0]) - 1
c = int(p[1]) - 1
chars.append(grid[r][c])
return "".join(chars)
# Тест:
msg = "СЛАВА УКРАЇНІ"
cipher = encrypt(msg)
print(f"Шифротекст: {cipher}")
print(f"Розшифровано: {decrypt(cipher)}")Шифрування та Дешифрування за Координатами
i × стовпець j if vp[k] == buk[i][j]: sh = sh + str(i) + str(j) + ' '2. Чому Полібій випередив свій час на 2000 років?
Давньогрецький історик Полібій (II ст. до н.е.) винайшов не просто шифр, а першу в історії систему цифрового кодування сигналів! Замість літер грецькі воїни піднімали факели: наприклад, 2 факели ліворуч і 3 факели праворуч означали літеру з координатами (2, 3). Це прямий пращур азбуки Морзе та двійкового коду сучасних комп'ютерів!
📋 Технологічна карта виконання Практичної роботи 16: Криптографічний квадрат Полібія у Python
Програмне забезпечення: Python 3.x / IDLE
| Етап роботи | Операція, гарячі клавіші та дія | Очікуваний результат |
|---|---|---|
| Крок 1. Створення таблиці Полібія | Створити матрицю 6×6 з літерами українського алфавіту (33 літери + пробіл, крапка, знак оклику) | Двовимірна таблиця координат криптографічної заміни |
| Крок 2. Алгоритм шифрування | Кожну літеру вхідного повідомлення замінити парою чисел (номер рядка, номер стовпця) | Слово «МОВА» → координати пар чисел, наприклад: «32 41 13 11» |
| Крок 3. Обробка пробілів та регістру | Перевести текст у верхній регістр .upper(), замінити пробіли на спеціальний код або символ | Уніфікований текст, готовий до посимвольного кодування |
| Крок 4. Алгоритм дешифрування | Прийняти рядок координатних пар, за першою цифрою знайти рядок, за другою — стовпець у матриці | Відновлення початкового відкритого тексту без спотворень |
| Крок 5. Консольний інтерфейс користувача | Створити меню: 1 — Зашифрувати, 2 — Розшифрувати, 3 — Вийти; протестувати на секретному повідомленні | Працююча програма-шифратор для захисту повідомлень |
🎯 Критерії оцінювання практичної роботи (НУШ 12 балів)
| Рівень навчальних досягнень | Вимоги до виконаного практичного завдання |
|---|---|
| Початковий (1–3 б.) | Розуміє принцип заміни символу на пару координат за квадратом Полібія. |
| Середній (4–6 б.) | Реалізує функцію шифрування одного слова без розділових знаків. |
| Достатній (7–9 б.) | Написано повний модуль шифрування та дешифрування речень із коректною обробкою пробілів. |
| Високий (10–12 б.) | Створено повноцінний криптографічний додаток із графічним інтерфейсом Tkinter або збереженням зашифрованого файлу на диск. |
Як у квадраті Полібія 6×6 зашифрується буква, яка розташована на перетині 2-го рядка та 2-го стовпця таблиці buk?
У зошит (за підручником)
Вправи з підручника до цієї теми уроку. Виконуй у робочий зошит або за комп'ютером за вказівкою вчителя:
Створення програми шифрування та дешифрування «Квадрат Полібія» у Tkinter
💡 Підказка від нас: Створити 6х6 таблицю літер українського алфавіту з розділовими знаками, поля введення тексту та коду, кнопки 'Зашифрувати' і 'Розшифрувати', протестувати шифровку контрольного рядка 22 30 24 31 53 51 34 10 32 (комп'ютер).
Шпаргалка уроку (головне в один екран)
Усе найважливіше для повторення перед уроком або самостійною роботою
Шифр заміни, де кожен символ кодується парою своїх табличних координат (рядок, стовпець).
Двовимірний масив 6×6 букв українського алфавіту з апострофом та розділовими знаками.
Розбиття текстового рядка з парами цифр на окремі елементи за пропусками.
Конвертація першого та другого символу закодованої пари у цілочисельні індекси.
Бос-тест: ПР № 16 — Квадрат Полібія
Питання 1 з 3 • Завдай удару по босу теми