- •Пояснювальна записка
- •З апорізький національний технічний університет
- •Завдання
- •Календарний план
- •Реферат
- •Перелік умовних позначень та скорочень
- •1 Аналіз технічного завдання
- •1.2 Вибір мови програмування
- •2 Схема порогово підпису ші-фенга
- •Огляд схеми порогового групового підпису
- •2.2 Аналіз
- •3 Схема чіткого блокування небажаних даних підпису фенга
- •3.1 Огляд схеми чесних підписів, що не дають про себе інформацію
- •3.2 Аналіз
- •4 Опис програми
- •5 Керівництво користувача
- •5.2 Характеристики програми
- •5.3 Звернення до програми
- •5.4 Вхідні та вихідні данні
- •Висновки
- •Перелік посилань
- •Додаток а Технічне завдання
- •8 Листів
- •8 Листів
- •Додаток б Лістинг програми
- •Додаток в Блок-схема алгоритму
4 Опис програми
4.1 Опис використаних типів даних
В даній програмі використовуються цілі додатні типи чисел порядка від 100 до 10512. Це дозволяє створити такі ID, які можуть бути представлені тільки в одному вигляді і з допомогою математичних операцій їх неможливо підробити. Це також дає значний опір комбінаціям чи підбору чисел.
4.2. Опис алгоритму програми
Детально алгоритм даної програми описано в розділі 2.1 "Огляд схеми порогового групового підпису" з урахуванням змін розділу 2.2 "Аналіз".
4.3 Опис основних процедур і функцій
4.3.1 Головна процедура PIDPIS(id1, id2 … id7, a)
Процедура PIDPIS(id1, id2 … id7, a) являється головною. З неї запускаються і виконуються всі інші процедури, а також формуються часткові підписи, аналізуючи які ми отримуємо результат.
Для запуску програми в PIDPIS необхідно передати ID кожного члена групи та загальновідомий параметр а. Спочатку в процедурі формуються загальнодоступні параметри q, p, j, а також підраховується параметри x та Y в процедурах GM_x та GM_Y відповідно. Далі формуються часткові підписи кожного члена групи, що складаються з параметрів {IDi, Si, Ydi} за допомогою таких процедур як GM_ID, GM_Si, GM_Yd, після чого відбувається перевірка кожного ID в процедурі Fid. Якщо перевірка пройшла вдало, то відбувається перевірка параметра а. Для цього рахуються параметри Rj, S, ID та перевіряється їх тотожність з параметром а, в результаті чого підписуємо дане повідомлення чи ні.
4.3.2 Процедура fjx(x,a,nj,q)
Дана процедура підраховує параметр fj за формулою .
4.3.3 Процедура Fid(x,ID,q,nj)
В даній процедурі відбувається пошук невірних ID членів групи.
4.3.4 Процедура GM_x(a,p)
Дана процедура підраховує оптимальний ID, що являється параметром Х для даного повідомлення а. За даним Х відбувається пошук невірних ID членів групи.
4.3.5 Процедура GM_Y(x,a,nj,p,q)
Дана процедура підраховує параметр Y, що потрібен на фінальній стадії підписування для перевірки вірності повідомлення а.
4.3.6 Процедура GM_ID(ci,a,p)
Дана процедура формує ID одного з членів групи за його номером ci та даним підписуванням а. ID являється одним із параметрів часткового підпису.
4.3.7 Процедура GM_Yd(ID,a,nj,p,q)
Дана процедура формує Yd кожного з членів групи за його ID та даним підписуванням a. Yd являється одним із параметрів часткового підпису.
4.3.8 Процедура GM_Si(ci,x,ID,a,nj,q)
Дана процедура формує Si кожного з членів групи за його ID, сі, параметром Х та даним підписуванням a. Si являється одним із параметрів часткового підпису.
5 Керівництво користувача
5.1 Призначення та умови використання програми
Програма призначена для групового підпису документів.
Дана система розроблена у прикладній програмі Maple 7. Для функціонування програми потрібна персональна ЕВМ архітектури IBM AT з процесором не нижче Intel Pentium 600 або повністю програмно сумісна з процесорами архітектури х86, від 128 мегабайт оперативної пам’яті, відеоадаптер SVGA та відповідний дисплей, жорсткий диск з вільним простором не менш 4 мегабайт, клавіатура. Інші зовнішні пристрої для роботи програми не потрібні.
Програма здатна функціонувати у середовищі Windows XP та більш нових версій.