Кав = РвА modр.
Конструювання ключа (81)
З використанням свого власного приватного ключа узгодження ключа hB і відкритого ключа узгодження ключа рА суб’єкта А, В обчислює розподілений ключ як
Кав = pAsmod р.
Механізм, оснований на тотожності
Це приклад [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.
Узгодження ключа за ЕльГамалем
Це приклад [7] узгодження ключа, механізм 2.
Зазначимо, що р повинне бути суворо простим числом і експоненти не мають форму 0, +1, -1 modp.
Конструювання маркера ключа (А1)
А випадково і таємно генерує г у {1 р - 2), обчислює gr modp і конструює маркер ключа
KT/ц = grmodp
і надсилає його до В.
Конструювання ключа (А2)
А обчислює розподілений ключ
Кав = (рв/modp = ghBrmodp.
Конструювання ключа (81)
В обчислює розподілений ключ
KAB= (gr)hB= ghBrmodp.
Узгодження ключа за Нібергом-Рюппелем
Це приклад [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 р.
Узгодження Діффі-Гелмана
Це приклад [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.
Узгодження ключа А(0) за Макумото-Такашіма-Імаі
Це приклад [1] узгодження ключа, механізм 5.
Одним із рекомендованих методів є використання суворо простого числа і контроль, що експоненти не мають форму 0, +1, -1 modp.
Конструювання маркера ключа (А1)
А випадково і таємно генерує гА в {1,..., р - 2), обчислює маркер ключа
КТді = grA modp
і надсилає його до В. Конструювання маркера ключа (81) В випадково і таємно генерує гв в {1 р - 2), обчис
лює маркер ключа
КТВ1=grBmodp
і надсилає його до А.
Конструювання ключа (82)
В обчислює розподілений ключ як
/ іх-г ЬВ гВ. ,ут-ЬВ гВ ,
Кав = со(КТді, рА ) = КТді, рА modp.
Конструювання ключа (А2)
А обчислює розподілений ключ
, _ . гА гВ >
Кав = ®(Рв, КТВ1 ) = КТ/и, рд modp.
Протокол Беллера-Якобі
Ця частина додатка надає опис оригінального протоколу Беллера-Якобі [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 суб’єкта В. Якщо верифікація успішна, А приймає и як розподілений таємний ключ.
Пересилання ключа за ЕльГамалем
Це приклад [7] передавання ключа механізму 1.
Обирають і роблять відкритими необхідне просте число р і генератор д із ZP* Приватний і відкритий ключі узгодження ключа суб’єкта В, відповідно, hB і
Рв = gftflmodp.
Конструювання маркера ключа (А1)
А отримав ключ К (в межах 0 < R < р) і хоче переслати його надійно до В. А випадково і таємно генерує випадкове ціле г, (1 < г < р) і зашифровує К як
BE = К (рв)гmodp.
Потім А конструює маркер ключа
КТА1 = BE||gr modp
і надсилає його до В.
Розібрання маркера ключа (S1)
В відновлює ключ Кіз використанням свого приватного ключа узгодження ключа hB, обчислюючи
К =
Пересилання ключа з підписом автора за ЕльГамалем
Це приклад передавання ключа механізму 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.
Потім В контролює ідентифікатор посилана А. Якщо всі перевірки успішні, В приймає ключ К.
Пересилання ключа за RSA
Це приклад передавання ключа механізму 1. Несиметрична система шифрування (Es, Ds) суб'єкта В складається з модуля RSA п = pq, із відкритою експонентою е і приватною експонентою d, таких, що ed = 1 mod (р - 1)(q - 1). Припускається, що А має автентичну копію параметрів шифрування (е, л) суб’єкта В.
Конструювання маркера ключа (А1)
А отримує ключ К для пересилання до В. Припускається, що Textl, Text2 і, необов’язковий, TVP всі дорівнюють нулю (тобто опущені). Додатково припускають, що дані відформатовані адекватно до виконання алгоритмів RSA (тобто містять певну надлишковість). А створює і надсилає до В блок даних
КТді = Ев(А||К) = (A||K)emodn.
Розібрання маркера ключа (81)
В одержує ці дані і обчислює
(KTAi)dmodn = (А||К).
Одержувач В може відрізнити це повідомлення від випадкового повідомлення, контролюючи певні умови надлишковості у вмісті повідомлення А||К.
Припустимо також, що тотожність А в цьому відновленому повідомленні має деяку надлишковість, яку можна перевірити, або очікуваний формат, В контролює, що відновлений ідентифікатор А має очікувану форму, і приймає повідомлення лише в разі успішності перевірки.
ДОДАТОК С
(довідковий)
ПРИКЛАДИ ВСТАНОВЛЕННЯ КЛЮЧА,
ЯКІ ҐРУНТУЮТЬСЯ НА ЕЛІПТИЧНИХ КРИВИХ