1 Методи та механізми 2014. 1. 1 Основні послуги при застосуванні, уніфікація та стандартизація криптографічних перетворень
![]()
|
Загальна характеристика існуючих ЦП [ ]. На практиці залежно від математичного апарату, що застосовується в ЦП, історично знайшли застосування три класи цифрових підписів: RSA ЦП, що базується на перетворенні в кільці; Ель-Гамаля, DSA перетворення, що базується на перетворенні в полі Галуа; Ель-Гамаля EC перетворення, що ґрунтується на перетвореннях у групі точок еліптичних кривих. У перспективі можуть бути прийняті як стандарти ЦП, що можуть ґрунтуватися на спарюванні точок еліптичних кривих та використанні як відкритих ключів ідентифікаторів, тобто системи на ідентифікаторах. ЕП на основі RSA[ 389, 129, 148,149, 20-23]. За останні 20 років широкого розповсюдження набули ЕП, що базуються на застосуванні криптографічних перетворень у кільцях цілих чисел. Найбільш характерним представником такого криптографічного перетворення є RSA перетворення [20-23, 218, 266]. ЕП (ЦП) на основі RSA здійснюється засобом формування спочатку відкритого підпису (ВП), що включає в себе значення геш-функції ![]() ![]() ![]() ![]() ![]() ![]() а ЦП обчислюється засобом шифрування відкритого підпису ВП, тобто: ![]() де ![]() Модуль перетворення N є добутком двох простих чисел P та Q, тобто: ![]() Усі користувачі, що володіють відкритим ключем ![]() ![]() та отримують дані вигляду (1.156). Далі для даних М, що розглядаються, обчислюється геш-значення H(M ![]() ![]() Якщо значення в (1.160) співпадають, то М вважається цілісним і справжнім, і авторство даних підтверджується. Інакше дані відкидаються. RSA ключова пара складається з особистого ключа, скажімо Ek, який використовується для обчислення цифрового підпису, і RSA відкритого ключа Dk, який використовується для перевірки цифрового підпису. RSA ключова пара (Ek, Dk), що призначена для цифрових підписів, повинна використовуватися тільки для цифрових підписів, але не для інших цілей (наприклад, у протоколі встановлення ключів). Стандарт FIPS 186-3 допускає три варіанти значень для довжини модуля - 2048, 3072 та більше бітів. ЕП в скінченному пол(Галуа). Реалізовані у вигляді стандартівЕП FIPS 186-1 (DSA) та ГОСТ Р 34. 10-94 [219, 222,20-23]. Алгоритми ЕП FIPS 186-1 (DSA) та ГОСТ Р 34. 10-94] дуже схожі та пройшли випробовування часом. Ці алгоритми і зараз застосовуються. Так, у FIPS 186-3 [218] передбачається продовжити використання DSA. Загальносистемні параметри. Загальносистемними параметрами з урахуванням позначень у стандартах є ![]() ![]() Таблиця 1.17 Загальні параметри ЦП у скінченному полі( Галуа)
Указані загальносистемні параметри можуть бути для всіх користувачів однаковими і змінюватися дуже рідко. Вироблення ЦП для DSA ЕП. У процесі підпису для повідомлення (даних) необхідно виробити підпис, що складається з двох цілих чисел (r, S), де r – по суті, таємний (особистий) ключ сеансу (його значення щодо кожного підпису повинне змінюватись, навіть якщо одне й те саме повідомлення підписується повторно), а S – безпосередньо підпис. Виробле6ння ключової пари. У DSA подібних ЕП попередньо для кожного користувача має бути вироблена асиметрична пара ключів (xі, Yі), де xі – особистий ключ, а Yі – відкритий ключ. При цьому кожен користувач формує довгостроковий особистий ключ xi (випадкове число), причому ![]() а потім обчислює відкритий ключ ![]() З відкритого ключа, як правило, виготовляється сертифікат відкритого ключа, який у подальшому має бути доступний усім користувачам, які отримують та перевіряють підписані відповідним користувачем дані. Обчислення ЦП ДСТУ ГОСТ 34.310-2009. Здійснюється в такому порядку: 1. Для М обчислюється геш-значення h = H(M), причому як геш-функція має використовуватися ДСТУ ГОСТ 34.311-95 (ГОСТ Р 34. 11-94)[222]. Якщо змінна h = 0, то вона змінюється до значення ![]() 2. За допомогою випадкового або детермінованого генератора бітів генерується ключ сеансу k, причому ![]() 3. Обчислюється значення ![]() ![]() 4. Далі обчислюється безпосередньо підпис: ![]() Підписане повідомлення (дані) М має такий вигляд – М, (r, S). Перевіряння ЦП ДСТУ ГОСТ 34.310-2009 (ГОСТ Р 34.10-94). Перевіряння ЦП, тобто цілісність і справжність прийнятого повідомлення ![]() 1. Користувачеві, що перевіряє підпис, мають бути відомі загальні параметри ![]() ![]() 2. Далі необхідно перевірити цілісність, справжність і встановити авторство даних М. 3. Перевіряння ЦП виконується в такому порядку. 4. Перевіряється умова, що ![]() ![]() 5. Обчислюється геш-значення від даних, що перевіряються ![]() 6. Обчислюються додаткові дані: ![]() ![]() ![]() По суті, V = 1/h (mod(q)) = ![]() ![]() ![]() ![]() ![]() 7. Здійснюється перевірка виконання умови ![]() 8. У стандарті FIPS 186 для обчислення r використовується одна й та сама формула, що й у ДСТУ ГОСТ Р 34.310-2009, а для обчислення S-компоненти ЕП використовується така формула: S = (h + x r)/k(mod P)(mod q). (1.166) Підписом у цьому стандарті є також пара цілих чисел (r, S). Обґрунтування вибору цих формул можна знайти в [4]. Сутність основних цифрових підписів на еліптичних кривих. Стандарт ЕП США FIPS 186-1був реалізований з використанням криптографічних перетворень у скінченному полі. З розвитком методів і засобів криптоаналізу стало зрозуміло, що стійкість проти атаки «повне розкриття» для ЕП, що реалізована з використанням криптографічних перетворень у скінченному полі, носить субекспоненційний характер і має тенденцію до зменшення. У результаті пошуку й досліджень, на відміну від (1.162), було запропоновано особистий ключ зв’язувати з відкритим з використанням скалярного множення в групі точок еліптичної кривої над відповідним полем Галуа, тобто обчислювати відкритий ключ з використанням операції скалярного множення [218,234, 265, 20-23]: ![]() де ![]() ![]() ЕП згідно з ISO/IEC 14888-3. Наприкінці ХХ сторіччя було встановлено, що складність розв’язання дискретного рівняння ![]() відносно особистого ключа Xi має субекспоненційний характер. У той же час, враховуючи сьогоднішні досягнення, розв’язання рівняння ![]() відносно ![]() Враховуючи зазначене, в 1992 році в США були розпочаті роботи з модифікації алгоритму DSA (1.168) засобом застосування (1.169) при формуванні асиметричної пари ключів ( ![]() ![]() Стійкість усіх трьох ЦП базується на складності задачі логарифмування в групі точок еліптичних кривих, що визначені над деяким скінченним простим полем ![]() ![]() ![]() |