КОДУВАННЯ ПОВІДОМЛЕНЬ
Які інформаційні процеси ви знаєте?
Основними інформаційними процесами є збереження, передавання, опрацювання та захист повідомлень. Також до них належать кодування та декодування повідомлень, які є прикладами опрацювання даних.
Які існують способи подання повідомлень?
Повідомлення можуть бути подані у вигляді слів, чисел, графічних зображень, звуків тощо. У комп’ютері всі ці типи повідомлень кодуються з використанням двійкового коду. Відповідно до використаних алгоритмів кодування утворюються файли різних форматів (DOCX, TXT, BMP, JPG, MP3 та інші).
Що ви знаєте про шифрування повідомлень? Хто і для чого його використовує? У чому воно полягає?
Шифрування — це процес кодування даних для захисту вмісту повідомлення від сторонніх осіб, коли лише визначені користувачі можуть виконати дешифрування. Історичним прикладом є шифр Цезаря, яким римський імператор Гай Юлій Цезар користувався для секретного листування зі своїми генералами.
Шифрування полягає в заміні літер або символів у тексті повідомлення іншими літерами, числами або умовними позначеннями за певними правилами. Наприклад, у шифрі Цезаря кожна літера в тексті замінюється іншою, що міститься в алфавіті на відстані кількох позицій.
У наш час шифрування широко використовується для захисту повідомлень від несанкціонованого доступу під час їх передавання комп’ютерними мережами.
ДЕКОДУВАННЯ ПОВІДОМЛЕНЬ
Чи може шифрування та розшифрування виконуватися за одними й тими самими правилами?
Так, може. У симетричних алгоритмах шифрування використовується один криптографічний ключ і схожі правила для шифрування та дешифрування даних. Наприклад, у шифрі Цезаря для шифрування використовують зсув на певну кількість літер в один бік, а для дешифрування – зсув на ту ж кількість літер у протилежний бік. Тут симетричність полягає в однаковій величині зсуву.
Що відбудеться, якщо спробувати відкрити графічний файл у програмі Блокнот? Із чим це пов’язано?
Якщо відкрити графічний файл у програмі Блокнот, то замість зображення буде відображено незрозумілі символи. Це пов’язано з тим, що для кодування даних кожного типу (текстових, графічних, звукових) використовують різні алгоритми, які створюють файли різних форматів. Блокнот призначений для роботи з текстовими даними і не містить алгоритмів для декодування графічних файлів. Тому графічний файл не буде правильно відтворено, оскільки програма не має потрібного алгоритму декодування.
Дайте відповіді на запитання
1. У чому полягає процес кодування повідомлень?
Кодування повідомлень – це процес заміни однієї послідовності сигналів, якою подано повідомлення, іншою послідовністю сигналів.
2. З якою метою виконують кодування повідомлень?
Кодування повідомлень виконується з метою їх зберігання, передавання, опрацювання або захисту. Наприклад, запис усного повідомлення літерами на папері (для зберігання), перетворення звуків у електромагнітні хвилі під час телефонної розмови (для передавання), запис чисел цифрами для розв’язування задач (для опрацювання), шифрування тексту (для захисту).
3. Що потрібно попередньо визначити для кодування повідомлення?
Для кодування повідомлень потрібно визначити набір сигналів, які будуть використані для заміни сигналів початкового повідомлення, та правила, за якими здійснюється ця заміна.
4. У чому полягає процес декодування повідомлень?
Декодування повідомлень – це процес отримання початкового повідомлення із закодованого. Наприклад, коли ми читаємо вголос текст, розшифровуємо зашифроване повідомлення або визначаємо країну виробника за штрихкодом.
5. Що означає формат файлу, який обирають під час збереження даних у файлі?
Формат файлу вказує на алгоритм кодування, який використовується для даних певного типу. Для кодування різних типів даних (текстових, графічних, звукових тощо) використовують різні алгоритми, що утворюють файли різних форматів, як-от DOCX, TXT, BMP, JPG, MP3 та інші.
Обговоріть і зробіть висновки
1. У яких життєвих ситуаціях вам доводилося змінювати спосіб подання повідомлень? Наведіть приклади кодування, які траплялися вам у повсякденному житті.
У повсякденному житті я часто змінюю спосіб подання повідомлень. Наприклад, записую номери телефонів друзів у смартфоні, створюю емодзі у повідомленнях для передачі емоцій, використовую QR-коди для швидкого доступу до сайтів. Також бачу кодування в магазинах, коли сканують штрихкоди товарів для визначення їхньої ціни та виробника.
2. З якою метою звуки музики кодують нотами; повідомлення про особливості руху по дорозі кодують дорожніми знаками?
Звуки музики кодують нотами для збереження музичних творів на папері, щоб інші музиканти могли їх відтворити. Це дозволяє зберігати й передавати музику протягом століть. Дорожні знаки кодують правила руху графічними символами, щоб водії швидко розуміли їх значення без читання тексту. Це важливо для безпеки, бо на дорозі немає часу читати довгі пояснення, а знаки однаково зрозумілі всім водіям незалежно від мови.
3. Які повідомлення можна закодувати з використанням кольорів; графічних позначень? Наведіть приклади.
За допомогою кольорів можна кодувати різні повідомлення, як-от: сигнали світлофора (червоний – стій, жовтий – приготуйся, зелений – рух), маркування небезпечних речовин, температурні зони на погодних картах. Графічними позначеннями кодують: місцезнаходження важливих об’єктів у громадських місцях (туалет, вихід, їдальня), погодні умови у прогнозах, дозволені операції з одягом (прання, сушіння, прасування), розташування об’єктів на географічних картах.
4. За якими правилами у грі «Морський бій» кодують положення кораблів? Як це кодування використовують під час гри?
У грі “Морський бій” положення кораблів кодують за допомогою системи координат, де літери (А-К) позначають рядки, а цифри (1-10) – стовпці ігрового поля. Кожна клітинка має унікальний код із літери і цифри (А1, Б5, В7). Під час гри це кодування використовують для повідомлення координат пострілів (“б’ю по Г4”), запису результатів на полі суперника та відмітки влучень у власні кораблі. Це простий спосіб передати точне місцезнаходження об’єкта на двовимірному полі.
Виконайте завдання
1. Наведіть приклади правил кодування повідомлень, які використовують у музиці, фізиці, хімії, географії та в інших науках.
У музиці використовують нотний запис (ноти, ключі, розмір) для кодування звуків і тривалості.
У фізиці застосовують формули, символи для позначення величин (F – сила, v – швидкість).
У хімії кодують речовини хімічними формулами (H₂O – вода), а хімічні реакції – рівняннями.
У географії використовують умовні позначення на картах (гори, річки, міста).
У математиці застосовують цифри та знаки для запису чисел і операцій (+, -, ×, ÷).
2. Закодуйте з використанням шифру Цезаря зі зсувом на 4 літери праворуч повідомлення:
а) інформатика → лсштфрґцкоґ
Розв’язок:
Кожна літера зсувається на 4 позиції вперед в українському алфавіті:
і → Л, н → С, ф → Ш, о → Т, р → Ф, м → Р, а → Ґ, т → Ц, и → К, к → О, а → Ґ.
б) моя школа → ртг яотпґ
Розв’язок:
Зсув на 4 позиції:
м → Р, о → Т, я → Г, ш → Я, к → О, о → Т, л → П, а → Ґ.
3. Повідомлення закодовано шифром Цезаря зі зсувом на 3 літери праворуч. Декодуйте повідомлення:
а) дзузфзра → вересень
Розв’язок:
Зсув на 3 позиції назад:
д → В, з → Е, у → Р, з → Е, ф → С, з → Е, р → Н, а → Ь.
б) егург тсесжг → гарна погода
Розв’язок:
Зсув на 3 позиції назад:
е → Г, г → А, у → Р, р → Н, г → А, т → П, с → О, е → Г, с → О, ж → Д, г → А.
4. Зображення складається з квадратів, які розміщені в 5 стовпцях і 10 рядках. Кожен квадрат пофарбовано в один з 8 кольорів (мал. 1.4). Для кодування зображення визначається код кожного квадрата – трицифрове число. Перша цифра означає номер стовпця, у якому розташований квадрат на зображенні (від 0 до 4), друга цифра – номер рядка (від 0 до 9), третя цифра – код кольору (від 0 до 7). Наприклад, лівий верхній квадрат на зображенні має код 003, а правий нижній – код 497. Закодуйте рядок з номером 6 даного зображення.
061, 164, 265, 365, 461
5. Один з найдавніших шифрів був розроблений Полібієм (III ст. до н. е.) – грецьким істориком, полководцем, державним діячем – та отримав назву «квадрат Полібія». Кожна літера алфавіту цього шифру міститься в таблиці. Під час кодування повідомлення кожна літера замінюється парою цифр – номером стовпця та номером рядка таблиці, на перетині яких вона розміщена. Для кодування повідомлень українською мовою можна використати таблицю з 6 стовпців і 6 рядків (мал. 1.5). Декодуйте та закодуйте з використанням наведеної таблиці повідомлення:
а) 24 14 43 13 21 13 62 — ПОЛІБІЙ
б) 33 14 61 64 31 11 63 63 36 — КОДУВАННЯ
в) інформатика — 13 63 15 14 34 53 11 54 52 33 11
г) повідомлення — 24 14 31 13 61 14 53 43 12 63 63 36
6. Знайдіть відомості та підготуйте повідомлення про способи кодування:
а) азбука Морзе
Азбука Морзе — це система кодування символів за допомогою крапок і тире. Була розроблена Семюелем Морзе у 1830-х роках для передачі повідомлень по телеграфу. Кожна літера, цифра чи розділовий знак представлені унікальною комбінацією коротких сигналів (крапок) і довгих сигналів (тире). Наприклад, літера А кодується як “·—”, літера Б — як “—···”. Сигнал SOS став міжнародним сигналом лиха.
б) шрифт Брайля
Шрифт Брайля — це тактильна система кодування символів для незрячих людей. Розроблена Луї Брайлем у 1824 році. Кожен символ складається з комбінації опуклих крапок у клітинці розміром 2×3 (всього 6 крапок). Різні комбінації цих крапок утворюють різні літери, цифри та інші символи. Ця система дозволяє незрячим людям читати, обмацуючи пальцями опуклі крапки, і писати за допомогою спеціальних приладів.
в) QR-коди
QR-код (Quick Response code) — це двовимірний штрихкод, який може зберігати різні типи даних. Розроблений у 1994 році японською компанією Denso Wave. QR-коди можуть містити набагато більше інформації, ніж звичайні штрихкоди (до кількох тисяч символів). Їх можна сканувати за допомогою смартфонів для швидкого доступу до вебсайтів, контактної інформації, текстових повідомлень тощо. Сьогодні QR-коди використовуються для реклами, платежів, квитків і багатьох інших цілей.
г) коди у вишивці
Українська вишивка — це давня система кодування, де символи та кольори мають особливе значення. Різні регіони України мають свої традиційні візерунки. Наприклад, ромб з крапкою посередині символізує засіяне поле, “дерево життя” — зв’язок поколінь. Кольори теж мають значення: червоний символізує життя і любов, чорний — землю, синій — небо і воду.
7. Об’єднайтесь у групи по 4 особи та реалізуйте проєкт «Шифрувальник»:
Крок 1: Розробка правил кодування
Пара 1 обирає наступний алгоритм:
- Шифр Цезаря зі зсувом на 5 літер праворуч (враховуючи український алфавіт).
- Додатково: заміна пробілів на символ
#.
Приклад кодування:
- Фраза: сьогодні гарний день для футболу
- Закодована: хґнзїкс єґухс іксі#лґч#цчйґнтч
Власне повідомлення:
- Оригінал: зустріч о 15:00
- Закодоване: кцхучш#т#60:55
Крок 2: Передача іншій парі
Пара 2 отримує:
- Відома фраза: хґнзїкс єґухс іксі#лґч#цчйґнтч
- Невідоме повідомлення: кцхучш#т#60:55
Крок 3: Розгадування алгоритму
Порівняння оригіналу та закодованого тексту:
- “с” → “х” (зсув +5).
- Пробіли замінені на
#.
Висновок: шифр Цезаря зі зсувом +5, пробіли → #.
Декодування другого повідомлення:
Зсув ліворуч на 5:
- “к” → “з”, “ц” → “у”, “х” → “с” тощо.
- Числа:
60:55→15:00(зсув цифр на -5).
Результат: зустріч о 15:00.
Аналіз часу та надійності
Час розгадування: 10–15 хвилин.
Висновок: Алгоритм простий, оскільки зсув фіксований, а заміна пробілів легко визначається. Недостатньо надійний для захисту конфіденційних даних.
Для підвищення безпеки потрібні складніші методи:
- Використання різних зсувів для різних літер.
- Додавання випадкових символів.
- Використання асиметричних ключів (наприклад, RSA).
