Буч надсилає волонтерам літеру A — умовний сигнал «усе гаразд». Зловмисник може прочитати звичайні байти. Тому Буч домовився з волонтерами про секретний однобайтовий ключ. Ваше завдання — перевірити, як працює перетворення XOR.
Інформатика: символ A → код ASCII 65 → байт 01000001. Криптографія: застосуємо до цього байта ключ і отримаємо інший байт — шифротекст. Повторне XOR із тим самим ключем відновить вихідний байт.
🧪 Інтерактивний симулятор XOR
Виберіть ключ від 0 до 255. Зверніть увагу: біти шифротексту змінюються разом із ключем, а повторне XOR відновлює початковий байт.
Відкритий байт01000001
Ключ00101010
Шифротекст01101011
Після розшифрування01000001
💡 Чому XOR можна застосувати двічі?Для кожного біта виконується (дані XOR ключ) XOR ключ = дані. Спробуйте це перевірити на першому біті.
🔍 Завдання 1. Підберіть ключ
Знайдіть ключ, за якого літера A (65) перетвориться на число 107 (HEX 6B). Уведіть знайдений ключ.
💡 Підказка 1У XOR біти результату дорівнюють 1 там, де біти повідомлення та ключа відрізняються.💡 Підказка 2Щоб знайти ключ, виконайте XOR відкритого байта із шифротекстом.
🛡️ Завдання 2. Чи надійний такий шифр?
Ви передаєте багато повідомлень і кожного разу використовуєте той самий однобайтовий ключ. Чи достатньо цього для реального захисту листування?
💡 ПідказкаУсього 256 однобайтових ключів. Їх можна швидко перебрати. У реальній криптографії потрібні сучасні алгоритми та безпечне керування ключами.
🧠 Завдання 3. Поясніть різницю
Чому запис A як 01000001 — це кодування, а перетворення цього байта за секретним ключем — шифрування?
Зразок міркуванняКодування задає загальновідомий спосіб представлення символу байтами. Шифрування перетворює ці байти з використанням ключа, щоб захистити інформацію. Простий однобайтовий XOR тут лише демонструє принцип, а не забезпечує реальну безпеку.