Кав = РвА modр.

Конструювання ключа (81)

З використанням свого власного приватного ключа узгодження ключа hB і відкритого ключа узгодження ключа рА суб’єкта А, В обчислює розподілений ключ як

Кав = pAsmod р.

  1. Механізм, оснований на тотожності

Це приклад [8] узгодження ключа, механізм 1, який є основаним на тотожності в такому сенсі:

  • відкритий ключ суб’єкта може бути відтворений з деякої комбінації його тотожності і його сертифіката;

  • автентичність сертифіката не верифікують безпосередньо, але правильний відкритий ключ може бути відновленим лише з автентичного сертифіката.

Нехай (п, у) є відкритим ключем верифікації повноважного сертифікатора схеми цифрового підпису з відновленням повідомлення, визначеній в ISO/IEC 9796, додаток А (довідковий). Внаслі­док цього, п є добутком двох великих простих чисел р і q, які тримають у таємниці, і у є простим з I cm (р - 1, q - 1).

Нехай О є цілим великого порядку модуля п д = 0 у modn.

Нехай їх є результатом додання надлишковості (згідно з ISO/IEC 9796) до відкритої інформації суб’єкта X, яка містить щонайменше розрізнювальний ідентифікатор X і, можливо, порядковий номер, період дійсності, позначку часу та інші елементи даних. Тоді пара керування ключем суб’єкта X - (hx, Рх), де hx є цілим, меншим за п, і

Рх = ghx(modn).

Сертифікат обчислює повноважний сертифікатор як

Certx = SxO^mod л),

де sx є таким цілим, що:

s//x = 1(modn).

Конструювання ключа (А1)

А обчислює відкритий ключ В як

рв= CertBв modn

і обчислює розподілений таємний ключ як

Кав ~ Рв ~ д modn.

Конструювання ключа (81)

В обчислює відкритий ключ А як

Ра = CertAylA modn

і обчислює розподілений таємний ключ як

КАВ= pAhB= ghA hBmodn.

Примітка. Однопрохідний і двопрохідний механізми, основані на тотожності, з використанням однакових установок наведено в посиланнях [8], [19] і [20] додатка D.

  1. Узгодження ключа за ЕльГамалем

Це приклад [7] узгодження ключа, механізм 2.

Зазначимо, що р повинне бути суворо простим числом і експоненти не мають форму 0, +1, -1 modp.

Конструювання маркера ключа (А1)

А випадково і таємно генерує г у {1 р - 2), обчислює gr modp і конструює маркер ключа

KT/ц = grmodp

і надсилає його до В.

Конструювання ключа (А2)

А обчислює розподілений ключ

Кав = (рв/modp = ghBrmodp.

Конструювання ключа (81)

В обчислює розподілений ключ

KAB= (gr)hB= ghBrmodp.

  1. Узгодження ключа за Нібергом-Рюппелем

Це приклад [18] узгодження ключа, механізм 3. Систему підпису і систему узгодження ключа обирають так, що систему підпису визначають парою (hx, PxY

Нехай q є великим простим дільником числа р - 1, д елемент FP порядка q і множина Н = {1,..., q - 1}. Тоді несиметрична пара ключів суб’єкта X, яку використовують для підпису, є (hx, PxY Де hx є елементом Н і

Рх = gftxmodp.

Щоб запобігти повторенню старого маркера ключа, цей механізм використовує позначку часу або порядковий номер, TVP, і криптографічну ґеш-функцію hash, яка відображає рядки бітів до­вільної довжини у випадкові числа великої підмножини {1,..., р - 1}, наприклад, Н.

Конструювання ключа (Д1.1)

А випадково і таємно генерує г в Н і обчислює

е = gfmodp.

Додатково А обчислює розподілений таємний ключ, як

Кав = Psfmodp.

З використанням розподіленого таємного ключа КАв, А обчислює криптографічне контролю- вальне значення розрізнювального ідентифікатора посилана А і порядковий номер або часову позначку TVP.

ё = ehash(KABATVP)mo(ip.

Підпис маркера ключа (А1.2)

А обчислює підпис

у = r — ft/ie'modq.

А формує маркер ключа

КТді = A||e||7VP||y

і надсилає його до В.

Конструювання ключа (81.1)

В обчислює розподілений таємний ключ із використанням свого особистого ключа узгодження ключа hB

Кав = e^modp.

З використанням розподіленого таємного ключа КАв В обчислює криптографічне контролю- вальне значення розрізнювального ідентифікатора посилана А і TVP, і обчислює

ё = ehash(KABATVP)modp.Верифікація підпису (81.2)

В перевіряє дійсність TVP і з використанням відкритого ключа рА посилана верифікує рівність е = 3урл mod р.

  1. Узгодження Діффі-Гелмана

Це приклад [6] узгодження ключа, механізм 4.

Зазначимо, що р повинне бути суворо простим числом і експоненти не мають форму 0, +1, -1 modp.

Конструювання маркера ключа (А1)

А випадково і таємно генерує гА в {1 р - 2}, обчислює gMmodp, конструює маркер ключа

КТД1=grA modp

і надсилає його до В.

Конструювання маркера ключа (81)

В випадково і таємно генерує гв в {1 р - 2), обчислює </emodp, конструює маркер ключа

КТВ1 = gremodp

і надсилає його до А.

Конструювання ключа (А2)

А обчислює розподілений ключ

Кав = (gre)rA= grArBmodp.

Конструювання ключа (82)

В обчислює розподілений ключ

Кав = (grA)rB= grArB modp.

  1. Узгодження ключа А(0) за Макумото-Такашіма-Імаі

Це приклад [1] узгодження ключа, механізм 5.

Одним із рекомендованих методів є використання суворо простого числа і контроль, що ек­споненти не мають форму 0, +1, -1 modp.

Конструювання маркера ключа (А1)

А випадково і таємно генерує гА в {1,..., р - 2), обчислює маркер ключа

КТді = grA modp

і надсилає його до В. Конструювання маркера ключа (81) В випадково і таємно генерує гв в {1 р - 2), обчис­

лює маркер ключа

КТВ1=grBmodp

і надсилає його до А.

Конструювання ключа (82)

В обчислює розподілений ключ як

/ іх-г ЬВ гВ. ,ут-ЬВ гВ ,
Кав = со(КТді, рА ) = КТді, рА modp.

Конструювання ключа (А2)

А обчислює розподілений ключ

, _ . гА гВ >

Кав = ®(Рв, КТВ1 ) = КТ/и, рд modp.

  1. Протокол Беллера-Якобі

Ця частина додатка надає опис оригінального протоколу Беллера-Якобі [4], який треба ви­користовувати для виведення механізму узгодження ключа 6.

Примітка. Механізм не повністю сумісний з механізмом 6 після його оптимізації для певних ситуацій. Він використо­вує схему підпису ЕльГамаля, а також використовує додатковий алгоритм симетричного шифрування для конфіденційного пересилання суб'єкту А ключа верифікації підпису суб’єкта В і його сертифіката, чим забезпечує анонімність.

Нехай епс: КХМ -> С є узгодженою криптографічною функцією, такою як DES, де К = поле ключа, М = поле повідомлень і С = поле криптограм.Нехай Sx означує дію суб’єкта X підписування за ЕльГамалем. Процес, наведений нижче, підкреслює різницю між автономними і не автономними операціями, необхідними родині схем підпису за ЕльГамалем.

Рхі Сх використовують для зазначення, відповідно, відкритого ключа і сертифіката суб’єкта X. Відкрите перетворення зашифровування суб’єкта X (яке використовує Рх), зазначене ^(модуль­не піднесення до квадрату у випадку Рабіна).

Автономне обчислювання: В підбирає випадкове число гв і обчислює и ~ grB modp.

Конструювання маркера ключа (Д1)

А підбирає випадкове число гА і обчислює

КТА1 = (ГдЦАЦСд)

і надсилає його до В.

Оброблення маркера ключа (В1)

В виробляє підпис

BS = (u,v) = Sa(rA||A).

Потім В підбирає випадкове число і формує

КТЄ1 = EA(BS)[|enc(u,(B[]Ps||Ce||xe))

і надсилає його до А.

Конструювання ключа (В2)

Розподілений таємний ключ складається з частини підпису В, и.

Автентифікація суб’єкта і конструювання ключа (А2)

А розшифровує маркер ключа ЕДВЗ), щоб знайти сесійний ключ і/, потім розшифровує узгод­жене зашифровування

елс(ц(8||Рй||Св||ха))

з використанням сесійного ключа и, щоб знайти ідентифікатор, відкритий ключ, і сертифікат пе­редбачуваної сторони В. А верифікує сертифікат Св і, якщо результат позитивний, використовує функцію верифікації Vs для верифікації підпису BS суб’єкта В. Якщо верифікація успішна, А прий­має и як розподілений таємний ключ.

  1. Пересилання ключа за ЕльГамалем

Це приклад [7] передавання ключа механізму 1.

Обирають і роблять відкритими необхідне просте число р і генератор д із ZP* Приватний і відкритий ключі узгодження ключа суб’єкта В, відповідно, hB і

Рв = gftflmodp.

Конструювання маркера ключа (А1)

А отримав ключ К (в межах 0 < R < р) і хоче переслати його надійно до В. А випадково і таєм­но генерує випадкове ціле г, (1 < г < р) і зашифровує К як

BE = К (рв)гmodp.

Потім А конструює маркер ключа

КТА1 = BE||gr modp

і надсилає його до В.

Розібрання маркера ключа (S1)

В відновлює ключ Кіз використанням свого приватного ключа узгодження ключа hB, обчис­люючи

К =

  1. Пересилання ключа з підписом автора за ЕльГамалем

Це приклад передавання ключа механізму 2. Обирають і роблять відкритими підхоже просте

ЗОчисло р і генератор д із ZP*. Приватний і відкритий ключі узгодження ключа суб’єкта В, відповідно, hB і

Рв = ghB mod р.

Приватне і відкрите перетворення підписування суб'єкта А означують, відповідно, SA і Ул; (Sa і Va) може означувати довільну систему підпису, наприклад, підпис RSA і верифікацію підпису, яка визначена в ISO/IEC 9796.

Шифрування ключа (А1.1)

А отримав ключ К і хоче його надійно переслати до В. А випадково і таємно генерує випадкове число г в {1,..., р - 2} і зашифровує блок даних ключа А||К як

BE =(A||K)(ps)rmodp.

Зазначимо, що К треба обирати так, щоб значення (А||К) було меншим за просте число р.

Конструювання маркера ключа (ХМ .2)

А формує блок даних маркера, який складається з розрізнювального ідентифікатора одержу­вача В, і необов’язкової позначки часу або порядкового номера TVP, gri зашифрованого блока BE. Потім А підписує блок даних маркера з використанням свого приватного перетворення підпису­вання Sa і надсилає остаточний маркер ключа

КТді = SA(B||7VP[|gr||BE)

до В.

Верифікація маркера ключа (81.1)

В використовує відкрите перетворення верифікації посилана Уд для верифікації цифрового підпису одержаного маркера ключа КТаі- Потім В контролює ідентифікатор одержувача В і, не­обов’язково, TVP.

Розшифровування ключа (81.2)

В розшифровує блок BE із використанням приватного ключа узгодження ключа hB обчислю­ванням

A||K = BE(gTftemodp.

Потім В контролює ідентифікатор посилана А. Якщо всі перевірки успішні, В приймає ключ К.

  1. Пересилання ключа за RSA

Це приклад передавання ключа механізму 1. Несиметрична система шифрування (Es, Ds) суб'єкта В складається з модуля RSA п = pq, із відкритою експонентою е і приватною експонен­тою d, таких, що ed = 1 mod (р - 1)(q - 1). Припускається, що А має автентичну копію параметрів шифрування (е, л) суб’єкта В.

Конструювання маркера ключа (А1)

А отримує ключ К для пересилання до В. Припускається, що Textl, Text2 і, необов’язковий, TVP всі дорівнюють нулю (тобто опущені). Додатково припускають, що дані відформатовані адек­ватно до виконання алгоритмів RSA (тобто містять певну надлишковість). А створює і надсилає до В блок даних

КТді = Ев(А||К) = (A||K)emodn.

Розібрання маркера ключа (81)

В одержує ці дані і обчислює

(KTAi)dmodn = (А||К).

Одержувач В може відрізнити це повідомлення від випадкового повідомлення, контролюючи певні умови надлишковості у вмісті повідомлення А||К.

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

ДОДАТОК С
(довідковий)

ПРИКЛАДИ ВСТАНОВЛЕННЯ КЛЮЧА,
ЯКІ ҐРУНТУЮТЬСЯ НА ЕЛІПТИЧНИХ КРИВИХ