
3.13.6. Механізм нш rsa-kem
Механізм RSA-KEM з використанням RSA є одним з найпростіших механізмів інкапсуляції ключів. У ньому використовується RSA перетворення як механізм безпеки. Хоча RSA-KEM ніколи не був формально представлений у Європейському проекті NESSIE, він був включений в процес оцінки, оскільки де-факто є стандартом для KEM-DEM і тому був запропонований для включення в стандарт ISO/IEC 18033-2 [42]. Технічні вимоги до механізму RSA-KEM наведені в [57, 42].
Механізм RSA-KEM складається з таких алгоритмів:
генерування асиметричної пари ключів та загальних параметрів;
алгоритм інкапсуляції ключів;
алгоритм деінкапсуляції ключів.
Генерування асиметричної пари ключів та загальних параметрів
Алгоритм
генерації ключів для RSA-KEM ґрунтується
на алгоритмі RSA. Є ймовірно стійким [див.
3.3].
Як вхідні дані використовується параметр
безпеки
.
Генерування асиметричної пари ключів і загальних параметрів виконується в такій послідовності. (Детально ці питання розглянуті в п.3.3 цієї монографії).
1. Генерується відкритий ключ e, непарне ціле число – більше ніж 1.
2.
Випадково генерується просте (краще
«сильне») число p
довжиною
,
але таке, що
3.
Випадково
генерується просте (краще «сильне» )
число q
довжиною
,
але таке, що
.
4. Обчислюється значення модуля
n:= p q.
5. Розв’язується рівняння
,
де
,
(3.115)
і на його основі визначається особистий (конфіденційний) ключ d.
6.
Формується кортеж відкритих
і конфіденційних
загальних параметрів і ключів.
7. Виводиться асиметрична пара ключів (pk,sk).
Алгоритм інкапсуляції ключів
Алгоритм інкапсуляції є ймовірнісним алгоритмом, для якого вхідними даними є відкритий ключ pk. В алгоритмі також використовується функція вироблення відкритого ключа KDF(×).
Алгоритм інкапсуляції ключів виконується в такій послідовності.
1.
Генерується випадкове ціле число
.
2. Обчислюється значення
.
(3.116)
3. Обчислюється таємний симетричний ключ
.
(3.117)
4.
Формується інкапсульована пара ключів
.
Алгоритм деінкапсуляції ключів
Вхідними даними є відкрите значення C і особистий (конфіденційний) ключ sk. В алгоритмі також використовується функція вироблення ключів KDF(×).
Алгоритм деінкапсуляції ключів виконується в такі послідовності.
Обчислюється значення
(3.118)
Обчислюється таємний симетричний ключ
(3.119)
Виводиться симетричний таємний ключ K.
Аналіз безпеки механізму RSA-KEM можна знайти в [47]. Ряд даних щодо криптографічної стійкості наведено в п.3.3 розділу 3 та в розділі 9 цієї монографії.
RSA-KEM був обраний де-факто як стандарт, оскільки в процесі аналізу було показано, що його стійкість не нижче за інші RSA механізми.
Також відзначимо, що механізм RSA-KEM є направленим, оскільки інкапсуляція виконується з використанням відкритого ключа, а деінкапсуляція – з використанням особистого (конфіденційного) ключа.
3.13.7. Механізм нш psec-1
Механізм PSEC-1 реалізований з використанням криптоперетворень на еліптичній кривій. Він призначений для генерування асиметричної пари ключів для еліптичної кривої з порядком точки еліптичної кривої q та довжиною qLen. Причому абонент, який генерує, має доступ до особистого ключа, а абонент, який зашифровує, має доступ до відкритого ключа.
Генерування асиметричної пари ключів
Алгоритм генерації ключів
Алгоритм генерації ключів є ймовірнісним алгоритмом, вхідними даними для якого є загальні параметри еліптичної кривої.
Алгоритм генерації виконується в такі послідовності.
1. Генерується випадкове ціле число – особистий ключ, таке, що