Тоді Хт = Xr■Y" mod N.

З огляду на підпис (R, S), відповідний призначенню 7, можна потім зробити підпис (Р, S'), відпо­відний призначенню 7', обчислюючи S' = S -YL mod N (див. 7.4). Тому У повинно бути обране досить великим, щоб за даного 7 ймовірність того, що випадково обране Т' задовольняє 7- 7' = 0 mod У, була досить мала.

Набір параметрів проблемної області механізму цифрового підписування з доповненням на основі ідентифікаторів також включає відкриту функцію використовуваного ключа у, щоб перетворювати дані ідентифікації підписувана в ціле додатне число, менше за N.

  1. Створювання перевіркового ключа і генерування ключа підпису

Кожен користувач має унікальні дані ідентифікації. Щоб з ге перу вати особистий ключ підпису для об'єкта з даними ідентифікації /, третя довірна сторона спочатку обчислює перебірковий ключ Y за допомогою відкритої функції для створення ключа у і даних ідентифікації /.

Примітка. Ймовірність того, що У дорівнює нулю чи є цілим числом, кратним Р чи Q, незначна, оскільки Pi Q досить великі числа.

Довірна сторона обчислює особистий ключ підпису X у такий спосіб:

Х= mod N.

У результаті процесу генерування перевіркового ключа об’єкт з даними ідентифікації/має ключ підпису X, що задовольняє рівнянню:

Xv- у (/) mod N= 1.

У механізмі цифрового підписування з доповненням на основі ідентифікаторів перевірювач одержує відомості про перебірковий ключ підписувана з йога ідентифікаційних даних, обчислюючи У= у (/). Якщо перевіряння виконано хоча б один раз, перебірковий ключ може таємно зберігатися для подальшого застосування.

7 ПРОЦЕС ПІДПИСУВАННЯ

У цьому розділі описаний процес підписування в механізмі створювання цифрового підпису на основі ідентифікаторів. Цей механізм рандомізований і випливає з загальної моделі для рандомізова- них механізмів цифрового підписування, описаних у ISO/iEC 14883-1. Процес підписування складається з таких процедур:

  • створювання попереднього підпису;

  • готування повідомлення;

  • обчислювання свідоцтва;

  • обчислювання підпису.

У цьому процесі підписувач використовує ключ підпису X і відкриті параметри проблемної об­ласті N і V.

Результатом цього процесу є підпис S, що складається з двох частин: R і S. Підписувач може довільно сформувати текстове поле, що містить дані його ідентифікації. Підпис та це необов'язкове текстове поле утворять доповнення, яке підписувач додає до повідомлення.

  1. Створювання попереднього підпису

Процедура виконання попереднього підпису в механізмі цифрового підписування на основі іден­тифікаторів складається з двох кроків:

  1. вироблення рандомізатора К;

  2. обчислювання попереднього підпису П.

  3. Вироблення рандомізатора

Підписувач виробляє рандомізатор К (0 < К < N), що є цілим числом. Залежно від механізму мо­жуть існувати додаткові обмеження на цю процедуру. Виходом цього кроку є значення К, яке підписувач таємно зберігає.

  1. Обчислювання попереднього підпису

Входом цього кроку є рандомізатор К, виходом — попередній підпис П, що обчислюють як

П = Kv mod N.

  1. Готування повідомлення

Дві області даних і М2 виходять з повідомлення М, як це описано в 8.2 ISO/IEC 14888-1.Процес готування повідомлення повинен задовольняти одну з таких двох умов:

  • повне повідомлення повинно бути відновлюване за даними М^ і М2;

  • щодо обчислювання повинно бути неможливим знайти два різних повідомлення М і М', таких, щоб отримані для них пари (M1f М2) і , М2) дорівнювали одна одній.

Характерно, що в першому випадку або М^= М (коли М2 порожня), або М2= М (коли порожня), або Мі = М2 = М.У другому випадку або або М2, або вони разом є геш-атрибутами М.

  1. Обчислювання свідоцтва

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

Рисунок 1 — Процес підписування з детермінованим свідоцтвом



Рандомізоване свідоцтво R визначають як з’єднання довільного поля, яке можна використовувати, щоб ідентифікувати геш-функцію, та методу доповнення, та обчислюють за допомогою геш-функції, стійкої до колізій. R залежить від попереднього підпису П та, необов’язково, від якщо не порожня (див. рис. 2).

Примітка. Ідентифікатор геш-функції повинен бути включений у геш-атрибут, якщо геш-функція унікально не ви­значена механізмом цифрового підписування чи параметрами проблемної області.

  1. Обчислювання підпису

Обчислювання підпису в механізмах цифрового підписування на основі ідентифікаторів складається з таких кроків:

  • обчислювання першої частини підпису;

  • обчислювання призначення;

  • обчислювання другої частини підпису.

Рисунок 2 — Процес підписування з рандомізованим свідоцтвом



  1. Обчислювання першої частини підпису

Якщо свідоцтво детерміноване, першу частину підпису R обчислюють як функцію Н і П. Ця функція є зворотною в такому розумінні. За відомих П і R геш-атрибут Н може бути відновлений (див. рис. 1).

Якщо свідоцтво рандомізоване, воно є першою частиною підпису R і в подальших обчислюван­нях немає потреби (див. рис. 2).

Примітка. Щоб цей крок міг бути виконаний, параметри проблемної області повинні включати певний узгоджений метод для перетворення рядка бітів у додатне ціле число.

  1. Обчислювання призначення

Призначення Т є цілим додатнім числом і його обчислюють як функцію першої частини підпису. Призначення також залежить від другої частини повідомлення М2, якщо М2не порожня.

Метод обчислювання пари (R, 7) повинен задовольняти таку умову.

Щодо обчислювання неможливо знайти будь-які дві пари (М, П) і (М', П') з тією самою результа­тивною парою (R, Т).

  1. Обчислювання другої частини підпису

Функція підписування в механізмі цифрового підписування на основі ідентифікаторів має такий вигляд:

S = К • Хт mod N,

де К рандомізатор, обчислений у 7.1.1;

X — ключ підпису;

Т — призначення, обчислене в 7.4.2;

N модуль.

Виходом для функції підписування є друга частина підпису S.8 ПРОЦЕС ПЕРЕВІРЯННЯ

Процес перевіряння складається з таких процедур:

  • готування повідомлення;

  • відновлювання свідоцтва;

  • обчислювання функції перевіряння;

  • перевіряння свідоцтва.

Перед початком перевіряння перевірювачу повинні бути доступні такі елементи даних:

  • параметри проблемної області N і V;

  • перебірковий ключ підписувача У;

  • повідомлення М',

  • підпис S = (R, S)‘,

  • довільний текст (з доповнення).

У разі успішного перевіряння підтверджується, що підпис був створений за допомогою ключа підпису X, що відповідає перебірковому ключу Y.

  1. Готування повідомлення

Ця процедура Ідентична наведеній у 7.2.

  1. Відновлювання свідоцтва

Якщо свідоцтво детерміноване, то ця процедура описана в 7.3. Процес перевіряння зображено на рисунку 3.

Рисунок 3 — Процес перевіряння з детермінованим свідоцтвом



Для випадку рандомізованого свідоцтва процес перевіряння зображений на рисунку 4. Відновлене свідоцтво — це перша частина підпису R

.


Рисунок 4 Процес перевіряння з рандомізованим свідоцтвом



  1. Обчислювання функції перевіряння

Обчислювання функції перевіряння в механізмі цифрового підписування на основі ідентифікаторів складається з таких кроків:

  1. відновлювання призначення;

  2. повторне обчислювання попереднього підпису;

  3. повторне обчислювання свідоцтва.

  4. Відновлювання призначення

Цей крок ідентичний 7.4.2. Перевірювач обчислює призначення Т як функцію відновленого у 8.2 значення R і частини повідомлення М2, якщо М2 не порожня. Призначення є цілим додатнім числом.

  1. Повторне обчислювання попереднього підпису

Перевірювач одержує повторно обчислене значення попереднього підпису П, використовуючи за­лежність:

П =YT-SV mod N,

де У — перевірковий ключ;

Т — призначення, відновлене у 8.3.1;

S — друга частина підпису;

V — показник степеня для перевіряння;

N модуль.

  1. Повторне обчислювання свідоцтва

Якщо свідоцтво детерміноване, то воно є геш-атрибутом Н від повідомлення Мр Перевірювач робить повторне обчислювання значення Н, відновлюючи його за допомогою і П.

Якщо свідоцтво рандомізоване, то його обчислювання ідентичне викладеному в 7.3, де входи — це повторно обчислене значення її, що залежить від П, і що залежить від М. Виходом є повтор­но обчислене свідоцтво R.

  1. Перевіряння свідоцтва

На цьому кроці відновлене значення свідоцтва, отримане згідно з 8.2 і повторно обчислене згідно з 8.3.3, порівнюються. Перевіряння вважається успішним, якщо ці два значення свідоцтва дорівнюють одне одному.

9 МЕХАНІЗМ ЦИФРОВОГО ПІДПИСУВАННЯ GUILLOU-QUISQUATER

Процес утворювання ключа, процес підписування і процес перевіряння для схеми цифрового підпи­сування на основі ідентифікаторів Guillou-Quisquater описаний у розділах 6—8 і зображений на рисун­ках 2 і 4.

Залишається більш докладно визначити такі процедури і функції:

  • відкрита функція створювання перебіркового ключа;

  • готування повідомлення;

  • обчислювання свідоцтва;

  • обчислювання першої частини підпису;

  • обчислювання призначення.

  1. Відкрита функція створювання перевіркового ключа

Функція створення ключа є генерувапьною функцією з резервуванням, вона описана в ISO/IEC 9796-1. Дані ідентифікації підписувана чи геш-атрибут беруться як вхідне повідомлення для процесу, описа­ного в 5.1—5.4 ISO/IEC 9796-1. За відкритий ключ У= у (/) об’єкта приймається результат цього про­цесу, що в ISO/IEC 9796-1 називається проміжним цілим числом,

  1. Готування повідомлення

У механізмі цифрового підписування Guillou-Quisquater = М, а М2 порожня.

  1. Обчислювання свідоцтва

Свідоцтво R в механізмі Guillou-Quisquater обчислюють як геш-атрибут даних П || М, де П — попе­редній підпис:

R = Н(П||М).

  1. Обчислювання першої частини підпису

У механізмі цифрового підписування Guillou-Quisquater свідоцтво R утворює першу частину підпису.

  1. Обчислювання призначення

Призначення Т дорівнює R, що представлене як ціле додатне число.

Примітка. Щоб цей крок міг бути виконаний, параметри проблемної області повинні включати узгоджений метод для перетворення рядка бітів у ціле додатне число.

  1. ЦИФРОВІ ПІДПИСИ НА ОСНОВІ ІДЕНТИФІКАТОРІВ

З КОРОТКИМ ПРИЗНАЧЕННЯМ

У цьому розділі визначають варіант схеми Guillou-Quisquater, зручний для використання в пристро­ях з повільними процесорами чи повільним інтерфейсом введення — виведення. Для зменшення дов­жини проміжних параметрів використовується додаткове гешування. В обчисленні свідоцтва і призна­чення можуть використовуватися до трьох різних геш-функцій. Вони не обов’язково мають бути стійкі до колізій, але їх треба обирати таким чином, щоб неможливо було знайти два різних повідомлення з тією самою парою (R, Т).

Цей механізм відрізняється від схеми Guillou-Quisquater такими процедурами:

  1. готування повідомлення;

  2. обчислювання свідоцтва;

  3. обчислювання першої частини підпису;

  4. обчислювання призначення.

  5. Готування повідомлення

У розглянутому варіанті дві частини вхідного повідомлення і М2 є геш-атрибут Н повідомлення М.

  1. Обчислювання свідоцтва

Свідоцтво R обчислюють утворенням геш-атрибута Н2 для даних || Н, де Н обчислене в 10.1 і є геш-атрибутом попереднього підпису П.

Примітка. Доцільніше використати попередньо обчислений геш-атрибут Н^.

  1. Обчислювання призначення

Призначення Т отримують обчислюванням геш-атрибута Н2 для даних Н |j R.