
1 Sk n,
де n – порядок базової точки Р.
2. Обчислюється точка на еліптичній кривій – відкритий ключ W:= s P.
3. Вибираються позитивні цілі числа mLen і rLen – такі, що
.
(3.120)
4. У якості відкритого кортежу встановлюється
,
(3.121)
5. На вихід видається кортеж (pk, sk).
Необхідно відзначити, що кортеж pk є відкритим, а ключ sk особистий.
Алгоритм зашифрування
Вхідними даними є повідомлення m довжини mLen і відкритий кортеж pk. Абоненти повинні узгодити використання загальної функції гешування Hash(.). Алгоритм зашифрування виконується в такій послідовності.
1. Генерується випадковий рядок бітів r довжини rLen.
2. Обчислюється значення
.
3. Обчислюється значення точки на еліптичній кривій
.
4.
Обчислюється точка та виділяється
x-координата
.
5. Здійснюється зашифрування згідно з правилом
.
(3.122)
6. Видаються на вихід криптограми С2 та відкритий ключ С1
.
Алгоритм розшифрування
Вхідними
даними для розшифрування є криптограма
С
і секретний ключ sk.
Також використовується узгоджена
функція гешування.
.
Алгоритм розшифрування виконується в
такій послідовності.
1. Криптограма C подається у вигляді (C1, C2).
2. Обчислити точку sC та виділити її x-координату.
3. Установити значення m і r так, щоб вони мали відповідні розміри бітових рядків, які задовольняють умові
.
(3.123)
4. Обчислити значення
(3.124)
5.
Перевірити, що справедливе твердження
.
Інакше вивести Invalid Ciphertext і припинити
виконання алгоритму.
6. Вивести розшифроване повідомлення m.
Більш докладно PSEC-1 наведений у [55], в тому числі й результати аналізу безпеки механізму.
Але необхідно враховувати, що PSEC-1 має дуже обмежений простір повідомлень.
3.13.13. Механізм нш psec-3
Важливим є розгляд ще одного НШ проекту з PSEC. Його стійкість заснована на складності вирішення Діффі-Геллмана проблеми на еліптичних кривих. Закінчену специфікацію PSEC-3 можна знайти в [60].
Механізм у якості складових має алгоритми генерації ключів, зашифрування і розшифрування.
Алгоритм генерування ключів
Алгоритм генерування ключів для PSEC-3 подібний до алгоритму PSEC-KEM [див. п.3.13.5]. Він реалізується з використанням криптоперетворень у групі точок еліптичної кривої.
Алгоритм генерації ключів виконується в такій послідовності.
Генерувати випадкове ціле число
sk
n..
Обчислити значення точки
W:
=
.
3. Сформувати кортеж відкритих параметрів і ключів
pk:
= (E, P, p, qLen, W,)
(3.125)
4. Сформувати кортеж з особистим ключем
(pk, sk). (3.126)
Алгоритм зашифрування
Зашифрування
виконується направлено. Вхідними є
повідомлення m
і
відкритий ключ pk.
Необхідно також узгодити використання
функції гешування
,
вироблення ключів KDF(×)
і симетричної схеми шифрування
(Sym.Encrypt, Sym.Decrypt).
Алгоритм зашифрування виконується в такій послідовності.
1. Генерується випадкове ціле число – ключ сеансу
.
2. Обчислюється точка еліптичної кривої
C1:
=
.
3. Виділяється x-координата точки
.
4. Генерується випадковий рядок бітів u довжиною qLen.
5. Обчислюється
C2 = u Å x.
6. Обчислюється симетричний ключ
K: = KDF(u).
7. Повідомлення m зашифровується з використанням узгодженого симетричного алгоритму
C3
= Sym.crypt(,
K).
13. Формується
C4
=
(C1ú
çC2,ú
ç
C3ú
ç
u çç
).
9. Виводиться C = (C1, C2, C3, C4).
Алгоритм розшифрування
Вхідними
даними служать зашифрований текст C
і секретний ключ sk.
Необхідно також узгодити використання
функції гешування
,
вироблення ключів KDF(×)
і симетричної схеми шифрування
(Sym.Encrypt, Sym.Decrypt).
Алгоритм розшифрування виконується в такій послідовності.
1. Подається зашифрований текст C як
(C1, C2, C3, C4).
2. Виділяється x-координата точки C1.
3. Обчислюється значення
u = C2 Å x.
4. Обчислюється симетричний таємний ключ
K: = KDF(u).
5. З використанням ключа К розшифровується криптограма C3, тобто отримуємо
:
= Sym.Decrypt(C3, K).
6. Перевіряється умова, що
C4
=
(C1ú
çC2,ú
ç
C3ú
ç
u çç
).
Якщо це не так, то Invalid Ciphertext і припинити виконання алгоритму.
7. Видається відкритий текст m.
При аналізі безпеки PSEC-3 припускається, що реалізація використовує шифр Вернама.
Необхідно відзначити, що методологія KEM-DEM проектування гібридного шифрування націлена на оцінку або, у підсумку, на стандартизацію примітивів шифрування. Робота щодо вдосконалення цієї методології продовжується.