Лабораторна робота №5
Тема: Аналог цифрового підпису DSS на основі вкорочуючої функції f(M)=RSA(M)
Мета роботи: Отримати навички використання протоколу цифрового підпису DSS
Теоретичні відомості
Генерування ключів. Вибирають велике просте число р таке, що р-1 має досить великий простий дільник q. Далі вибирають у групі довільний елемент h порядку q. Параметри р, q, h не становлять таємниці і є спільними для всіх абонентів мережі.
Аліса вибирає
випадкове число а
в діапазоні від 0 до q
-- 1 і обчислює
число
.
ЇЇ ключі формуються так.
Відкритий ключ: b таке, що .
Таємний ключ: а
Підписування. Алгоритм підписування використовує вкорочуючу функцію f, в якості якої DSS пропонує функцію RSA з довжиною вкорочення 160 бітів. Щоб виробити свій підпис S для повідомлення М, Аліса
вибирає випадкове число r в діапазоні від 0 до q - 1;
обчислює
;обчислює
;обчислює
;формує підпис .
Підтвердження підпису. Для підпису Боб
обчислює
;обчислює
;обчислює
;обчислює
;перевіряє рівність
.
Завдання.
Програмно реалізувати протокол цифрового підпису DSS.
Підписати повідомлення: When I was very young, nothing really mattered to me, якщо p=2333; b=!842; a=12 та перевірити цей підпис.
Лабораторна робота №6
Тема: Підкидання монети по телефону з використанням імовірнісного криптування на основі розпізнавання квадратичності
Мета: Отримати навички використання протоколу підкидання монети по телефону з використанням імовірнісного криптування на основі розпізнавання квадратичності
Теоретичні відомості.
Втілення протоколу з використанням ймовірнісного криптування на основі розпізнавання квадратичності:
• Аліcа
вибирає досить великі прості числа р
та
q
і обчислює
їх добуток
після чого
вибирає біт а.
Далі вона генерує число
із символом
Якобі
так,
що х є
випадковим квадратичним лишком за
модулем n,
якщо а
= 0, і випадковим псевдоквадратом, якщо
а
= 1.
Аліcа посилає Бобові х та п.
Боб вибирає біт b і посилає його Алісі.
Аліса відкриває Бобові прості р та q.
Боб пересвідчується, що справді pq = n. Далі він визначає, чи х є квадратичним лишком чи нелишком, тим самим отримуючи біт а.
Аліса і Боб обоє обчислюють
.
Завдання:
1 .Програмно реалізувати протокол підкидання монети по телефону з використанням криптування на основі розпізнавання квадратичності.
2.Визначити випадковий біт за допомогою розробленої програми при
p=2861;q=2897;
Лабораторна робота №7
Тема: Підкидання монети по телефону з використанням ймовірнісного криптування на основі RSA функції
Мета роботи: Отримати навички використання протоколу підкидання монети по телефону з використанням криптування на основі RSA функції
Теоретичні відомості
Генерування ключів здійснюється так само, як і в криптосистемі RSA:
Відкритий ключ:
е,п. де
п = pq,
НСД
.
Таємний ключ:
d
таке, що
.
Щоб одержати випадковий біт:
особа А вибирає випадковий біт а. Якщо а=0, то випадковим чином вибирається парне число
,
інакше
непарне
;А обчислює
і пересилає
значення с
особі В.Особа В пересилає А своє значення випадкового біта b.
Особа А пересилає В значення таємного ключа d для знаходження випадкового біта а за формулою
.
Результатом виконання цієї процедури буде значення
.
Завдання.
1 .Програмно реалізувати протокол підкидання монети по телефону з використанням ймовірнісного криптування на основі функції RSА.
2. Визначити спільний випадковий біт при р = 53, q = 67, e = 1021.
