Дослідження криптографічних алгоритмів шифрування

Сигналів

Мета. Моделювання методів шифрування сигналів.

 

Теоретичні відомості

Із доповненням Arduino Ethernet Shield, можливо під'єднання плати Arduino Diecimila до локальної мережі. Тоді ця плата може слугувати як сервер — для прослуховування портів, або як клієнт — для підключення до вказаних портів.

Зазвичай перед тим, як завантажити дані у кадр, аналізуються послідовності даних користувача. Якщо зустрічається послідовність більше, наприклад, 6-ти одиниць, то після п'ятої одиниці вставляється нуль. Під час приймання виконується зворотна процедура.

Рис. 12. Використаня біт-стаффінга

 

Наприклад, необхідно передати число А (4A F8 37 E5 97) із спрацьовуванням біт-стаффінга після послідовності 5 одиниць.

У даному випадку до біт-стаффінга маємо:

А16=4A F8 37 E5 9716

А2=01001010 11111000 00110111 11100101 100101112

Після біт-стаффінга буде:

В2=01001010 11111000 00011011 11101001 01100101 000000112

В16=4A F8 1B E9 65 0316

У вихідній послідовності з'явився п'ятий байт через те, що у початковому числі було знайдено дві послідовності одиниць і відповідно вставлено два нулі. Це призвело до того, що число зсунулося на два розряди. Відповідно з'явились два розряди, які перейшли у п'ятий байт, який ми доповнили у старших розрядах нулями, інакше прикладна програма не відомо як може сприйняти ті дві одиниці: як старші або як молодші розряди.

 

Хід роботи

1. Ознайомитися із теоретичними відомостями поняття біт-стаффінг.

2. Написати такий код, окремо для клієнта, окремо для сервера, який буде виконувати функцію біт-стаффінгу та зворотне перетворення. Для успішного виконання слід скористатися програмами із попередньої лабораторної роботи.

3. Зробити звіт та надати його викладачу.

Контрольні запитання

1. Пояснити принцип роботи алгоритму біт-стаффінга.

2. Які є основні типи алгоритмів шифрування?

3. Яким чином утворюються блоки під час шифрування інформації?

4. Порівняти швидкість шифрування за допомогою біт-стаффінга та блочного шифру.

5. Пояснити принцип утворення додаткових розрядів в результуючому коді.

 

Лабораторна робота № 4

Дослідження криптографічних алгоритмів шифрування

Сигналів

Мета. Моделювання методів кодування сигналів.

 

Теоретичні відомості

Для передавання будь-якого сигналу необхідно задати його рівні, які відповідають стандартам передання. Наприклад, якщо слід передавати число “4A F8 37 E5 97” із кодуванням “2B1Q”, то слід перетворити число у двійкове і відповідно до таблиці 1 подати кожен біт. 2B1Q використовує чотири рівні сигналів, такі: −450 мВ, −150 мВ, 150 мВ і 450 мВ, кожен (1Q) еквівалентний двом бітам (2B).

 

Таблиця 1 – Перетворення у двійковий код значення рівня напруги

Цифровий сигнал Рівень
+450 mV
+150 mV
−150 mV
−450 mV

Для прикладу, перші два байти числа будуть такі:

(2байта)16=4A F816

(2байта)2=01001010 111110002

Після кодування ми отримаємо такі значення, які для пояснення доцільно подати у вигляді осцилограми (рис. 13).

 

Рисунок 13 – Використання кодування 2B1Q.

Хід роботи

1. Ознайомитися із теоретичними відомостями щодо кодування рівнів сигналів.

2. Написати такий код, який:

2.1. Виконати над числом біт-стаффінг, відповідно до номера варіанта.

2.2. Встановлює необхідні значення електричного сигналу для передавання байтів числа A і поданий за допомогою цифрового кодування відповідно до номера варіанта. Виведення здійснювати на цифровий вихід № 13.

3. Зробити звіт та надати його викладачу.


Таблиця 2 – Список варіантів

Варіант Послідовність “1” для біт-стаффінга Число Цифрове кодування
F4 E9 03 C5 67 2B1Q
3f 56 7E 7A 25 AMI (1)
A5 EC F8 29 1F NRZI (0)
3F 6E 7E 9F 82 Біполярний імпульсний
A5 EC FE 1F A0 Манчестерський
A0 C9 DC 07 65 2B1Q
F4 67 E9 03 C5 AMI (0)
74 FE 78 FD 30 NRZI (1)
E8 7F 92 A8 EC Біполярний імпульсний
F5 E6 74 D8 A3 Манчестерський
4A F8 37 E5 97 2B1Q
F4 E9 03 C5 67 AMI (1)
74 78 FE FC 30 NRZI (0)
79 FE FD 78 3D Біполярний імпульсний
4E 9F 3E 9A FF Манчестерський
A9 7E F8 9D AA 2B1Q
3F F5 E7 F5 AC AMI (1)
3C 7F 4A 93 E4 NRZI (1)
A9 7C 95 F8 C6 Біполярний імпульсний
6B 0F E3 AB E2 Манчестерський
9A FE FF A5 7E Манчестерський
AB 96 7E 7F 25 2B1Q
E5 AC 98 29 1A AMI (1)

Контрольні запитання

1. Що таке цифрове кодування?

2. Пояснити, яким чином цифрове кодування впливає на криптостійкість системи.

3. Який з методів цифрового кодування найшвидший? За рахунок чого?

4. Якщо методи цифрового кодування в назві відрізняються тільки значенням рівня, чи можна назвати ці методи інверсними один до одного?

5. Порівняти криптостійкість біт-стаффінга з методами цифрового кодування, які задані в варіантах завдань.

Лабораторна робота № 5