Page 6 - 4395
P. 6
1 ЗАВДАННЯ ДЛЯ КУРСОВОЇ РОБОТИ
Розробити особисту систему шифрування на основі
асиметричної криптосистеми RSA.
Виходячи з двох простих чисел, що задаються у наступній
таблиці 1.1:
обчислити особисті приватний та публічний ключі
криптосистеми;
здійснити шифрування довільного повідомлення
англійською мовою, ніби-то поданого на адресу студента з-за
кордону зарубіжним кореспондентом;
дешифрувати це повідомлення; переконатися, що
розшифрований текст співпадає з початковим;
опублікувати довільне повідомлення українською мовою,
яке супроводжується електронним підписом студента;
показати шляхом розшифровування, що отримана
шифрограма дійсно належить особисто Вам;
оформити пояснювальну записку.
Номер варіанту N необхідно вибрати за формулою
N = XX mod 25,
де XX – дві останні цифри залікової книжки студента.
Система RSA має блоковий алгоритм шифрування. При цьому
піднесення до степеня виконується до цілого цифрового блока. Для
зменшення обчислювального навантаження можна покласти розмір
блоку рівним цифровому розміру всього однієї літери тексту.
Сучасне перетворення буква-код і код-буква, здійснюється
відповідно до Unicode, де цифровий еквівалент однієї літери складає
два байти, причому українська абетка з додатковими літерами
займає діапазон до 04FF , що у десятковій системі дорівнює 1156 .
10
16
Числа p i q визначають розмір блоку шифрування, оскільки їх
добуток повинен бути більшим, ніж розмір блоку. Для чисел, що
наведені в таблиці 1.1, p*q змінюється від 1643 до 3337, тому
можливо шифрування блоків з найбільшим розміром 1642. Таким
чином, завдання дозволяє використання сучасних версій MATLAB,
починаючи з 7-ої. Безумовно, зберігається можливість використання
і більш ранніх версії.
Студенти, які бажають захистити свою курсову роботу з
відзнакою, можуть збільшити розмір блоку до 3-х символів.
6