14.3 Неінтерактивний ½от -протокол
Цей
протокол здійснює передачу з забуттям
одного з двох одного з двох повідомлень
,
.
Неінтерактивнісь полягає в тому, що
обмін інформацією в ході протоколу
здійснюється лише від відпровіника до
отримувача.
Стійкість протоколу основана на складності дискретного логарифму.
Параметри та деякі позначення:
- велике
просте число, таке, що функція віднесення
до степеню за модулем
можна вважати одностороннєю;
- елемент
великого порядку поля
;
,
- пара повідомлень, що подлягають передачі
(елементи
)
;
- приватний
ключ отримувача;
- підключ
для піднесення до степеню за
;
![]()
- підключ,
що вказує, яке з пари послідовних
повідомлень має обробити отримувач на
відповідному етапі протоколу;
- відкритий
ключ отримувача,
![]()
;
![]()
- велике
фіксоване число, гарантує, що підключі
,
«суттєво різні» з точки зору піднесення
іх до степеню за модулем
(дів. п.2 протоколу);
,
,
якщо
![]()
;
,
,
якщо
![]()
.
Для
сторонніх невідомо, яке з
має вигляд
![]()
.
Перед
початком протоколу відправник перевіряє,
чи значення
![]()
є задовільним, скажимо, не рівним
.
Таблиця 14.3 Неінтерактивний ½ОТ-протокол
|
1 |
|
|
|
Відправник
надсилає два варіанти допоміжної
інформації для зняття отримувачем
блоків двійкової гами, якою на етапі
2 будуть перешиф-ровані повідомлення
Порядок
передачі
|
|
2. |
|
|
Порядок
передачі
|
Відправник надсилає два шифро-тексти гамування за модулем два. Отримувач
не може побудувати обидва блоки гами,
бо, виходячи з підключа
обчислити
Варіант
Всі інші
шляхи побудови блоку
|
|
4 |
|
|
|
Обчислює
|
Зауважимо,
що відправник не знає, яке саме значення
з пари
буде вибиратися отримувачем для побудови
гами
,
оскільки це регламентовано значенням
приватного підключа
.
З іншого
боку, якщо отримувач не отримує відкритий
текст, що читається, він може зняти
побудовану гаму не з
,
а
(
)
і,
можливо, отримати відкритий текст , якщо
відправник порушив відповідність між
і
.
Але це
не спрацює, якщо тексти, що передаються,
можуть бути випадковими даними. Таким
чином отримувачу є сенс вибирати
повідомлення, відповідно до значення
.
Відправник
може порушити протокол, якщо буде
відсилати
.
При цьому отрумувач отримає повідомлення
з ймовірністю 1, або 0, але не ½.
Очевидно,
отримувач може легко уникнути подібних
випадків, контролюючи
і
.
14.4 Протокол обчислення функції без розголошення аргументу
Нехай
абонент
- власник секретного ключа криптосистеми
з відкритим ключем, де
- відкритий ключ,
- алгоритм зашифрування на ключі
,
- алгоритм розшифрування на секретному
ключі, що відповідає ключу
.
Нехай
абонент
вміє обчислювати функцію
і
звертається до
за значенням
,
але не бажає розкривати
.
Якщо
функція
задовільняє умові
,
то наступной протокол розв’язує
задачу.
Таблиця 14.4 Обчислення функції без розголошення аргументу
|
1 |
|
|
Відправник надсилає перешиф-рований на випадковому ключі аргумент. |
|
4 |
|
|
Отримувач
обчислює
|
Приклад.
Якщо
- дискретний логарифм
за модулем
при основі
,
то
![]()
,
,
оскільки
.
