Page 22 - 4395
P. 22
3 ВИКОНАННЯ КУРСОВОЇ РОБОТИ
3.1 Структура програми, MatLab-функції та головний модуль
Розділ присвячений конкретній розробці асиметричної системи
шифрування-дешифрування RSA. Оскільки ця розробка полягає у
створенні відповідної комп’ютерної програми, викладення матеріалу
прив’язане до реальної програми (див. додатки В і Б), яка виконує
типове завдання курсової роботи з початковими простими числами
p = 23, q = 31 для визначення ключів. Разом с цим, зміст розділу не
обмежується лише описом програми (більш того, деталі дрібного
опису програми часто винесені у коментарі) – розглянуті також
більш загальні питання, пов’язані з вибором принципових рішень.
У роботі необхідно вирішити два завдання:
шифрування-дешифрування листа зарубіжного друга;
шифрування-дешифрування відкритого листа з метою
підтвердження власного підпису.
Послідовність необхідних дій при рішенні цих завдань
викладена у 2.1.4. Шифрування англійського тексту першого
завдання необхідно провести відкритим ключем, а дешифрування –
таємним. Для другого завдання – навпаки, шифрування українського
тексту виконується таємним, а дешифрування – відкритим ключами.
Тобто алгоритм виконання обох завдань може залишатися одним і
тим самим, якщо передбачити ввід різних явних текстів, а також
обмін значеннями ключів. При цьому доцільно організувати вивід до
друку різних пояснюючих текстів, які були би більш відповідними
кожній із задач. Вибір між вказаними завданнями може виконуватись
шляхом присвоєння рядковій змінній одного з двох обраних значень,
наприклад ‘Crypt’ або ‘Signature’.
Разом с цим, об’єднання в одному модулі етапів шифрування і
дешифрування не є доцільним, хоча обидва завдання є однотипними
і полягають у піднесенні числа до степеня за певним модулем (див.
2.2.1). Але операції підготовки до цієї основної процедури, а також
обробки отриманого результату є різними, оскільки явний текст
представляє собою літерний рядок, а шифрограма – цифровий рядок.
Зокрема, шифрування повинно включати перетворення рядок-число
перед процедурою піднесення до степеня, тоді як дешифрування –
перетворення число-рядок, що повинно виконуватись після цієї
22