В. Р. Гинзбург Перевод с английского



Pdf көрінісі
бет143/203
Дата26.09.2024
өлшемі2,74 Mb.
#145829
1   ...   139   140   141   142   143   144   145   146   ...   203
Байланысты:
практическая криптография


Глава 15. Протокол согласования ключей
15.7
Окончательная версия протокола
Если представить окончательную версию протокола в сокращенном виде
(рис. 15.4), это сделает его читабельным и легким для понимания. Тем не
менее, чтобы сделать протокол читабельным, мы опустили множество этапов
проверки. Мы просто пишем “Проверить
(
p, q, g
)
”, что на самом деле включает
в себя сразу несколько проверок. Протокол со всеми необходимыми крипто-
графическими проверками представлен в полном виде на рис. 15.5.
Пользователю Б нужно выбрать подходящий размер для
p
. Это зависит от
минимального размера
p
, который требуется пользователю А, и минимально-
го размера
p
, который требуется самому пользователю Б. Разумеется, поль-
зователь Б должен проверить, находится ли значение
s
в разумных пределах.
Мы не хотим, чтобы пользователь Б начал генерировать 100 000-битовые про-
стые числа только потому, что он получил неаутентифицированное сообще-
ние с большим значением
s
. Точно так же пользователь А не должен начинать
проверку очень больших простых чисел только потому, что их прислал поль-
зователь Б. Поэтому оба пользователя ограничивают максимальный размер
числа
p
. Использование фиксированного максимума ограничивает гибкость
протокола; если неожиданный прогресс в области криптоанализа заставит вас
перейти к использованию чисел большего размера, наличие фиксированного
максимума обернется настоящей проблемой. Использование настраиваемого
Пользователь Б
Пользователь А
минимальный размер 
Выбрать 
Проверить 
Проверить 
Рис. 15.4.
Окончательная версия протокола в сокращен-
ном виде


15.7. Окончательная версия протокола
291
Пользователь Б
Пользователь А
s
a

минимальный размер 
p
N
a
R
0, ..., 2
256
-1
s
a
, N
a
Выбрать 
(p, q, g)
, чтобы 
x
R
{1, ..., 
q-
1}
(p, q, g), X := g
x
,

AUTH
B
Y := g
y

AUTH
A
y
R
{1,...,
q-
1}
Проверить 
(p, q, g), X, 
AUTH
B
Проверить 
Y, 
AUTH
A
k
SHA
d
-256(
Y
x
)
k
SHA
d
-256(
X
y
)
s
b

минимальный размер 
p
s
max(
s
a
, s
b
)
log
2
1
p
s
s
s
b
2
?
s
p
s
q
a
a
1
2
255
256
2
2
log
log
q
p
g
g
X
X
q
q
1
1
1
1
1
| (
)
Проверить, что 
p
и 
q
простые
Y
Y
q
1
1
?
?
?
?
?
?
?
?
?
?
?

Рис. 15.5.
Окончательная версия протокола в развернутом виде
максимума влечет за собой все проблемы, присущие любому настраиваемому
параметру, в котором практически никто не разбирается. Поэтому мы решили
использовать динамический максимум. И пользователь А и пользователь Б
отказываются применять простое число, длина которого более чем в два ра-
за превышает заданную ими длину. Наличие динамического максимума не
мешает обновлению системы и в то же время позволяет избежать исполь-
зования слишком больших простых чисел. Конечно, вы можете усомниться
в том, действительно ли множитель 2 будет достаточно эффективным. При
желании можно использовать не 2, а 3; особой роли это не играет.
Оставшаяся часть протокола (см. рис. 15.5) — это всего лишь развернутое
представление этапов его сокращенной формы. Если пользователи А и Б до-
статочно сообразительны, они оба будут кэшировать подходящие параметры
алгоритма DH. Это избавит пользователя Б от необходимости каждый раз


292

Достарыңызбен бөлісу:
1   ...   139   140   141   142   143   144   145   146   ...   203




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет