Составители:
Рассмотрим один цикл протокола.
1. Пользователь А выбирает некоторое случайное число r = 16 и
вычисляет
х = 16
2
mod 35 = 11,
затем посылает это значение х пользователю В.
2. Пользователь В отправляет пользователю А случайную
двоичную строку из четырех бит b
i
{1, 1, 0, 1}.
3. Пользователь А вычисляет значение
y = r ⋅ (S
1
b
1
⋅ S
2
b
2
⋅…⋅S
K
b
K
) mod n = 16 ⋅ (3
1
⋅ 4
1
⋅9
0
⋅8
1
) mod 35 =31 и
отправляет полученное значение пользователю В.
4. Пользователь В проверяет значение х
x = y
2
⋅ (V
1
b
1
⋅V
2
b
2
⋅…⋅V
K
b
k
) mod n = 31
2
⋅ (4
1
⋅11
1
⋅16
0
⋅29
1
)mod 35 = 11.
Пользователи А и В повторяют этот протокол t раз, меняя
случайное число r, пока пользователь В не будет удовлетворён.
При малых значениях величин не достигается настоящей
безопасности. Однако если n представляет собой число длиной
более 512 бит, то пользователь В не сможет узнать секретного
ключа пользователя А.
Рассмотренный протокол позволяет
включить
идентификационную информацию, формируемую в центре выдачи
интеллектуальных карт, по заявке пользователя А. Эта информация
l есть двоичная строка, представляющая идентификационную
информацию о владельце карты (имя, адрес, персональный
идентификационный номер, физическое описание) и о карте (дата
окончания действия и т.п.).
Используя одностороннюю функцию f(⋅) вычисляют значения
V
j
= f (l, j),
где j – некоторое двоичное число, сцепляемое со строкой l.
При этом для небольших значений j, отбирают k разных
значений j, для которых V
j
являются квадратичными вычетами по
модулю n. Для отобранных квадратичных вычетов V
j
вычисляют
85
Страницы
- « первая
- ‹ предыдущая
- …
- 81
- 82
- 83
- 84
- 85
- …
- следующая ›
- последняя »