Знаймо

Додати знання

приховати рекламу

Цей текст може містити помилки.

ГОСТ Р 34.10-2001



План:


Введення

ГОСТ Р 34.10-2001 (повна назва: "ГОСТ Р 34.10-2001. Інформаційна технологія. Криптографічний захист інформації. Процеси формування та перевірки електронного цифрового підпису") - російський стандарт, що описує алгоритми формування та перевірки електронного цифрового підпису. Прийнято та введено в дію наказом Держстандарту України від 12 вересня 2001 замість ГОСТ Р 34.10-94.


1. Область застосування

Цифровий підпис дозволяє:

  1. Автентифікувати особа, що підписала повідомлення;
  2. Контролювати цілісність повідомлення;
  3. Захищати повідомлення від підробок;
  4. Довести авторство особи, яка підписала повідомлення.

2. Історія

Даний алгоритм розроблений головним управлінням безпеки зв'язку Федерального агентства урядового зв'язку та інформації при Президентові Російської Федерації за участю Всеросійського науково-дослідного інституту стандартизації. Розроблявся заміну ГОСТ Р 34.10-94 для забезпечення більшої стійкості алгоритму.


3. Опис

ГОСТ Р 34.10-2001 заснований на еліптичних кривих. Його стійкість грунтується на складності обчислення дискретного логарифма в групі точок еліптичної кривої, а також на стійкості хеш-функції по ГОСТ Р 34.11-94.

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

Повідомлення М
+
Цифровий підпис Текст
Доповнення

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


4. Алгоритм

4.1. Параметри схеми цифрового підпису

J (E) = 1728 \ frac {4a ^ 3} {4a ^ 3 +27 b ^ 2} \ pmod {p} , Причому 4a ^ 3 +27 b ^ 2 \ not \ equiv 0 \ pmod {p} .

Кожен користувач цифрового підпису має особисті ключі:

  • ключ шифрування d - Ціле число, яке лежить в межах 0 .
  • ключ расшифрования Q = (x_Q, \; y_Q) , Який вираховується як Q = d \ cdot P .

Додаткові вимоги:

  • p ^ t \ neq 1 \ pmod {q} , \ Forall t = 1 .. B , Де B \ geq 31
  • J (E) \ neq 0 і J (E) \ neq 1728

4.2. Двійкові вектори

Між двійковими векторами довжиною 256 \ Bar {h} = (\ alpha_ {255 },..., \ alpha_0) і цілими числами z \ leq 2 ^ {256} ставиться взаємно-однозначна відповідність за наступним правилом z = \ sum ^ {255} _ {i = 0} \ alpha_i2 ^ i . Тут α i або дорівнює 0, або дорівнює 1. Іншими словами, \ Bar {h} - Це двійкове подання числа z.

Результатом операції конкатенації двох векторів \ Bar {h_1} = (\ alpha_ {255 },..., \ alpha_0) і \ Bar {h_2} = (\ beta_ {255 },..., \ beta_0) називається вектор довжиною 512 (\ Bar {h_1} | \ bar {h_2}) = (\ alpha_ {255 },..., \ alpha_0, \ beta_ {255 },..., \ beta_0) . Зворотна операція - операція розбиття одного вектора довжиною 512 на два вектори довжини 256.


4.3. Формування цифрового підпису

  • Блок-схеми :
  • Формування цифрового підпису

  • Перевірка цифрового підпису

  1. Обчислення хеш-функції від повідомлення М: \ Bar {h} = h (M)
  2. Обчислення e = z \, \ bmod \, q , І якщо e = 0 , Покласти e = 1 . Де z - Ціле число, відповідне \ Bar {h}.
  3. Генерація випадкового числа k такого, що 0
  4. Обчислення точки еліптичної кривої C = k P , І по ній знаходження r = x_c \, \ bmod \, q, де x c - Це координата x точки C. Якщо r = 0 , Повертаємося до попереднього кроку.
  5. Знаходження s = (rd + ke) \, \ bmod \, q . Якщо s = 0 , Повертаємося до кроку 3.
  6. Формування цифрового підпису \ Xi = (\ bar {r} | \ bar {s}) , Де \ Bar {r} і \ Bar {s} - Вектори, відповідні r і s .

4.4. Перевірка цифрового підпису

  1. Обчислення по цифрового підпису ξ чисел r і s , Враховуючи, що \ Xi = (\ bar {r} | \ bar {s}) , Де r і s - Числа, що відповідають векторам \ Bar {r} і \ Bar {s} . Якщо хоча б одна з нерівностей r і s невірно, то підпис неправильна.
  2. Обчислення хеш-функції від повідомлення М: \ Bar {h} = h (M).
  3. Обчислення e = z \, \ bmod \, q , І якщо e = 0 , Покласти e = 1 . Де z - Ціле число відповідне \ Bar {h}.
  4. Обчислення \ Nu = e ^ {-1} \, \ bmod \, q.
  5. Обчислення z_1 = s \ nu \, \ bmod \, q і z_2 =- r \ nu \, \ bmod \, q.
  6. Обчислення точки еліптичної кривої C = z 1 P + z 2 Q . І визначення R = x_c \, \ bmod \, q , Де x c - Координата x кривої C.
  7. У разі рівності R = r підпис правильна, інакше - неправильна.

5. Крипостійкість

Крипостійкість цифрового підпису спирається на дві компоненти - на стійкість хеш-функції і на стійкість самого алгоритму шифрування. [1]

Ймовірність злому хеш-функції з ГОСТ 34.11-94 становить 1,73 * 10 - 77 при підборі колізії на фіксоване повідомлення і 2,94 * 10 - 39 при підборі будь колізії. [1] Стійкість алгоритму шифрування грунтується на дискретного логарифмування в групі точок еліптичної кривої. На даний момент немає методу вирішення даного завдання хоча б з субекспоненціальной складністю. [2]

Одні з найбільш швидких алгоритмів, на даний момент, при правильному виборі параметрів - ρ -Метод і Ι -Метод Полларда. [3]

Для оптимізованого ρ -Методу Полларда обчислювальна складність оцінюється як O (\ sqrt {q}) . Таким чином для забезпечення криптостойкости 30 жовтня операцій необхідно використовувати 256-розрядне q . [1]


6. Відмінності від ГОСТ 34.10-94 (старий стандарт)

Новий і старий ГОСТи цифрового підпису дуже схожі один на одного. Основна відмінність - у старому стандарті частина операцій проводиться над полем \ Mathbb {Z} _p , А в новому - над групою точок еліптичної кривої, тому вимоги накладаються на просте число p в старому стандарті ( 2509 <2512 або Лютий 1020 <Лютий 1024 ) Більш жорсткі, ніж у новому.

Алгоритм формування підпису відрізняється тільки в пункті 4. У старому стандарті в цьому пункті обчислюються \ Tilde {r} = a ^ k \, \ bmod \, p і r = \ tilde {r} \, \ mod \, q і, якщо r = 0 , Повертаємося до пункту 3. Де 1 - 1 і a ^ q = 1 \, \ bmod \, q .

Алгоритм перевірки підпису відрізняється тільки в пункті 6. У старому стандарті в цьому пункті обчислюється R = (a ^ {z_1} y ^ {z_2} \, \ bmod \, p) \, \ bmod \, q , Де y - Відкритий ключ для перевірки підпису, y = a ^ d \, \ bmod \, p . Якщо R = r , Підпис правильна, інакше неправильна. Тут q - Просте число, 2254 <2256 і q є дільником p - 1 .

Використання математичного апарату групи точок еліптичної кривої, дозволяє істотно скоротити порядок модуля p , Без втрати криптостійкості. [1]

Також старий стандарт описує механізми отримання чисел p , q і a .


7. Можливі застосування

  • Використання пари ключів (відкритий, закритий) для встановлення ключа сесії. [4]
  • Використання в сертифікатах відкритих ключів. [5]
  • Використання в S / MIME ( PKCS # 7, Cryptographic Message Syntax). [6]
  • Використання для захисту з'єднань в TLS ( SSL, HTTPS, WEB). [7]
  • Використання для захисту повідомлень в XML Signature ( XML Encryption). [8]
  • Захист цілісності Інтернет адрес та імен ( DNSSEC). [9]

Примітки

  1. 1 2 3 4 Ігонічкіна Є. В. Аналіз алгоритмів електронного цифрового підпису - www.security.ase.md/publ/ru/pubru86/.
  2. Семенов Г. Цифровий підпис. Еліптичні криві - www.morepc.ru/security/crypt/os200207010.html. " Відкриті системи "№ 7-8/2002 (8 серпня 2002).
  3. Бондаренко М. Ф., Горбенко І. Д., Качко Є. Г., Свинарьов А. В., Григоренко Т. А. Сутність і результати досліджень властивостей перспективних стандартів цифрового підпису X9.62-1998 і розподілу ключів X9.63- 199X на еліптичних кривих - bezpeka.com/files/lib_ru/271_issl_stand.zip.
  4. Popov V., Kurepkin I., Leontiev S. Additional Cryptographic Algorithms For Use With GOST 28147-89, GOST R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 Algorithms - tools.ietf.org / html / rfc4357 # section-5.2 (Англ.) (January 2006). - RFC 4357 (глава 5.2, "VKO GOST R 34.10-2001").
  5. Leontiev S., Shefanovski D. Using The GOST R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 Algorithms with the Internet X.509 Public Key Infrastructure - tools.ietf.org/html/rfc4491 (Англ.) (May 2006). - RFC 4491.
  6. Leontiev S., Chudov G. Using The GOST 28147-89, GOST R 34.11-94, GOST R 34.10-94, and GOST R 34.10-2001 Algorithms with Cryptographic Message Syntax (CMS) - tools.ietf.org/html/rfc4490 (Англ.) (May 2006). - RFC 4490.
  7. Leontiev, S., Ed. and G. Chudov, Ed. GOST 28147-89 Cipher Suites for Transport Layer Security (TLS) - tools.ietf.org / html / draft-chudov-cryptopro-cptls (Англ.) (December 2008). - Internet-Drafts, work in progress.
  8. S. Leontiev, P. Smirnov, A. Chelpanov Using GOST 28147-89, GOST R 34.10-2001, and GOST R 34.11-94 Algorithms for XML Security - tools.ietf.org / html / draft-chudov-cryptopro-cpxmldsig (Англ.) (December 2008). - Internet-Drafts, work in progress.
  9. V. Dolmatov, Ed. Use of GOST signature algorithms in DNSKEY and RRSIG Resource Records for DNSSEC - tools.ietf.org / html / draft-dolmatov-dnsext-dnssec-gost (Англ.) (April 2009). - Internet-Drafts, work in progress.

Цей текст може містити помилки.

Схожі роботи | скачати

Схожі роботи:
ГОСТ Р 34.11-94
ГОСТ 28147-89
ГОСТ 8.417
2001
(119068) 2001 KC 77
2001 QF 298
(119070) 2001 KP 77
(131696) 2001 XT254
(42301) 2001 UR163
© Усі права захищені
написати до нас
Рейтинг@Mail.ru