Главная страница
Навигация по странице:

  • Порядок обчислення ЦП(ЕП)

  • Алгоритм цифрового підписування

  • Порядок перевіряння ЦП

  • Алгоритм перевіряння цифрового підпису

  • 1 Методи та механізми 2014. 1. 1 Основні послуги при застосуванні, уніфікація та стандартизація криптографічних перетворень


    Скачать 1.75 Mb.
    Название1. 1 Основні послуги при застосуванні, уніфікація та стандартизація криптографічних перетворень
    Дата10.01.2022
    Размер1.75 Mb.
    Формат файлаdocx
    Имя файла1 Методи та механізми 2014.docx
    ТипПротокол
    #327532
    страница16 из 24
    1   ...   12   13   14   15   16   17   18   19   ...   24
    Алгоритм обчислення цифрового(електронного) передпідпису .

    1. Обчислюється випадкове ціле число е згідно з п.6.3 стандарту.

    2. Обчислюється точка еліптичної кривої R = e P = (x , y ).

    3. Якщо координата , то перейти до кроку 1, інакше і необхідно перейти до кроку 4.

    4. Результат виконання алгоритму – цифровий передпідпис Fe і таємний випадковий параметр е.

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

    Припускається попереднє обчислення необхідного числа цифрових перед підписів, але за умови унеможливлення його модифікації чи підміни, а також обов’язкового знищення разом з відповідним таємним параметром е.
    Порядок обчислення ЦП(ЕП)

    Обчислення ЕП має виконуватися в такому порядку.

    Задані та є доступними такі вхідні дані:

    - загальні параметри цифрового підпису;

    - особистий ключ цифрового підпису d;

    - повідомлення Т довжини ;

    - функція гешування H згідно з п.6.2 стандарту;

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

    Результат виконання алгоритму: повідомлення Т і цифровий підпис D, що дають змогу утворити підписане повідомлення у вигляді .

    Алгоритм цифрового підписування

    1. Перевіряється правильність загальних параметрів цифрового підпису згідно з п. 8.1–8.3 стандарту. Якщо загальні параметри цифрового підпису обчислено неправильно, то обчислення цифрового підпису припиняється.

    2. Перевіряється правильність особистого ключа цифрового підпису згідно з п. 10.2 стандарту. Якщо особистий ключ неправильний, то обчислення цифрового підпису припиняють.

    3. Перевіряється виконання умов: – число, кратне 16; . Якщо хоча б одна із цих умов не виконується, то обчислення цифрового підпису припиняється.

    4. Якщо використовується ідентифікатор геш-функції iH, то перевіряється, чи діє цей ідентифікатор у відповідній групі користувачів. Якщо ні, то обчислення цифрового підпису припиняється.

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

    6. Для повідомлення Т обчисляється геш-значення h = H(T).

    7. Результат обчислення функції гешування H(T) перетворюють на елемент основного поля h згідно з п. 6.9 стандарту. Якщо h = 0, то приймають h = 6.

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

    9. Обчислюється елемент основного поля .

    10.Елемент основного поля y перетворюють на ціле число r згідно з п.6.8 стандарту.

    11. Якщо r = 0, то перейти до кроку 8; інакше перейти до кроку 12.

    12. Обчислюється значення підпису у вигляді цілого числа .

    13.Якщо s = 0, то перейти до кроку 8; інакше перейти до кроку 14.

    14. Пару цілих чисел (r,s) перетворюють на цифровий підпис D довжиною згідно з п.6.10 стандарту.

    Результат виконання алгоритму – підписане повідомлення .

    Порядок перевіряння ЦП

    Перевіряння ЦП виконується в такому порядку.

    Заданими та доступними є такі вхідні дані:

    - загальні параметри цифрового підпису;

    - відкритий ключ цифрового підпису підписувача Q;

    - підписане повідомлення довжиною ;

    - функція гешування H згідно з п.6.2 стандарту.

    Результатом виконання алгоритму є повідомлення «підпис дійсний» або «підпис не дійсний».

    Алгоритм перевіряння цифрового підпису:

    1. Якщо використовується ідентифікатор геш-функції iH, то перевіряється, чи діє цей ідентифікатор у відповідній групі користувачів. Якщо ні, то видається повідомлення «підпис не дійсний» і припиняється перевіряння ЕП.

    2. Виходячи з iH (або за умовчуванням), визначають .

    3. Перевіряється виконання умов, що – число, кратне 16, та . Якщо хоча б одна з цих умов не виконується, то видається повідомлення «підпис не дійсний» і перевірку припиняють.

    4. Перевіряють правильність обчислення загальних параметрів цифрового підпису згідно з пп. 8.1–8.3 стандарту. Якщо загальні параметри цифрового підпису обчислено неправильно, то видається повідомлення «підпис не дійсний» і перевірку припиняють.

    5. Згідно з п.10.1 стандарту ДСТУ 4145 - 2002 перевіряється правильність відкритого ключа ЦП. Якщо відкритий ключ обчислено неправильно, то видають повідомлення «підпис не дійсний» і перевірку припиняють.

    6. Обчислюється . У випадку відсутності тексту, або при видається повідомлення «підпис недійсний» і перевірку припиняють. Якщо нормативні документи, які встановлюють обчислення функції гешування, накладають обмеження на довжину повідомлення , то перевіряють виконання цих умов. Якщо ці умови не виконані, то видають повідомлення «підпис недійсний» і перевірку підпису припиняють.

    7. Для повідомлення Т обчислюється геш-значення h = Н(Т).

    Геш - значення Н(Т) перетворюється на елемент основного поля h згідно з п.6.9 стандарту. Якщо h = 0, то приймається h = 6.

    8. Згідно з п.6.11 стандарту цифровий підпис D перетворюється на пару цілих чисел (r,s). Якщо умова 0 < r < n не виконана, то видається повідомлення «підпис не дійсний» і перевірка припиняється.

    9. Якщо умова 0 < s < n не виконана, то видається повідомлення «підпис не дійсний» і перевірка припиняється.

    10. Обчислюється точка еліптичної кривої .

    16. Обчислюється елемент основного поля .

    12. Елемент основного поля у перетворюють на ціле число згідно з п.6.8 стандарту.

    13. Перевіряється умова ; якщо вона виконується, то видається повідомлення «підпис дійсний», інакше видають повідомлення «підпис не дійсний».

    Доведемо, що обчислення ЦП з використанням виразу та перевірка згідно п. 10.1 стандарту з використанням

    (1.170)

    є правильними. Для цього зробимо такі перетворення. Помножимо ліві та праві частини (6.62) на базову точку P. У результаті маємо:

    s P = e P + r Q.

    За умови, що R = e P = (x , y ) маємо, що

    R = s P – r Q.

    З урахуванням того, що Q = – d P отримаємо (1.170 ).
    1.7.12 Порівняння складності виконання ЕП національних та міжнародних стандартів

    У таблиці 1.19 наведені результати порівняння складності виконання стандартів ЕП – ДСТУ 4145-2002, ГОСТ 34.10-2001, ЕC GDSA, ECDSA та EC KCDSA[191, 235, 265, 234, 218]. Порівняння зроблено в частині оцінки видів та числа операцій, які мають виконуватись при обчисленні та перевірці вказаних електронних цифрових підписів.

    Таблиця 1.19

    Порівняння числа операцій ЦП для міжнародних і національних стандартів

    Процес

    Операція

    ECDSA

    EC-GDSA

    EC-KCDSA

    ДСТУ 4145-2002

    ГОСТ Р 34.10-2001



    Вироблення цифрового підпису



    1

    1

    2

    1

    1



    1

    1

    0

    1

    1



    1

    0

    0

    0

    1

    Множення в

    2

    2

    1

    2

    2

    Додавання (або віднімання) в

    1

    1

    1

    1

    1

    Скалярне множення точки кривої

    1

    1

    1

    1

    1


    Перевіряння цифрового підпису



    1

    1

    2

    1

    1



    1

    1

    0

    0

    1



    1

    1

    0

    0

    1

    Множення в

    2

    2

    0

    1

    2

    Скалярне множення точки кривої

    2

    2

    2

    2

    2

    Додавання точок на кривій

    1

    1

    1

    1

    1

    1.7.13 Оцінка криптографічної стійкості ЕП в групі точок ЕК від атак типу «повне розкриття»

    Стандартна задача визначення особистого ключа способом розв’язання дискретного логарифма в групі точок еліптичної кривої. Залежно від вхідних даних задачу розв’язання дискретного логарифмічного рівняння можна розглядати з такими формулюваннями [6, 10-12, 20-23,119-120 ].

    Відомо порядок базової точки = n, також відомо, що особистий (таємний) ключ обраний випадково з інтервалу , причому відкритий ключ QA пов’язаний з особистим через базову точку, тобто

    , (1.171)

    над довільним простим полем Галуа з модулем q.

    Параметри еліптичної кривої а та b над простим полем Галуа мають задовольняти умові:

    . (1.172)

    Це стандартна задача визначення особистого ключа способом розв’язання дискретного логарифма в групі точок еліптичної кривої.

    Задача розв’язання дискретного логарифмічного рівняння на еліптичній кривій з розв’язком, що лежить у деякому відомому класі може бути вирішена (приблизно) за час [6, 20-22]

    (1.173)
    Детальний огляд існуючих методів розв’язання дискретного логарифмічного рівняння в групі точок еліптичних кривих наведений у [6].

    Існуючі методи розв’язання дискретного логарифму в групі точок ЕК відносно особливостей виконання й точності результату можна розділити на такі два великих класи:

    1) детерміновані (точні) – алгоритми, які використовують стратегію пошуку, що дає точне рішення;

    2) імовірнісні – алгоритми, які використовують імовірнісну стратегію пошуку, що впливає на час пошуку рішення.

    Очевидно найменшу складність мають методи - Полларда та - Полларда[ 6, 20-22].

    1   ...   12   13   14   15   16   17   18   19   ...   24


    написать администратору сайта