15.10. Сложность протокола
297
малого размера. “Переломная” точка находится примерно на уровне 3000 бит.
Причина такого эффекта состоит в том, что алгоритм DH всегда использует
256-битовые показатели степеней, в то время как размеры показателей RSA
возрастают вместе с размером модуля.
Мы пришли к выводу, что при используемых размерах открытых ключей
объем вычислений для алгоритма DH примерно равен объему вычислений
для схемы цифровых подписей RSA. Описанная выше нагрузка составляет
основной объем вычислений нашего протокола, но она находится в разумных
пределах.
Если для аутентификации применяются цифровые подписи RSA, вычис-
лительная нагрузка примерно удваивается. (Проверку подписей RSA можно
не учитывать, так как она выполняется очень быстро.) Тем не менее данную
нагрузку все еще нельзя назвать чрезмерной. Скорость процессоров стреми-
тельно растет изо дня в день, и, как показывает практика, коммуникацион-
ные задержки и передача служебной информации отнимают гораздо больше
времени, чем криптографические вычисления.
15.9.1
Методы оптимизации
Вычисления, выполняемые в рамках протокола DH, поддаются оптими-
зации. С помощью эвристики аддитивной цепочки (addition chain heuristics)
каждую операцию возведения в степень можно осуществлять путем меньшего
количества умножений. Более того, пользователь А должен вычислить значе-
ния
X
q
и
X
y
. Используя эвристику аддитивной последовательности (addition
sequence heuristics), эти значения можно вычислить параллельно, сэкономив
при этом около 250 операций умножения. Более подробно это рассматрива-
ется в работе Боса (Bos) [10, глава 4].
Существуют также разнообразные приемы, которые позволяют быстрее
генерировать случайное число
y
и вычислять
g
y
, но они настолько усложняют
систему, что мы предпочитаем обходиться без них.
15.10
Сложность протокола
Описанный протокол согласования ключей является прекрасным приме-
ром того, почему структура большинства протоколов столь сложна. Даже
простой протокол наподобие нашего разрастается на целую страницу, а ведь
мы еще не включили в его описание все правила генерации параметров алго-
ритма DH и все необходимые проверки, выполняемые в рамках схемы аутен-
тификации (на нашем уровне абстракции они неизвестны). Несмотря на это,
уследить за всем, что происходит в рамках такого протокола, уже очень труд-
но. Спецификации более сложных протоколов занимают еще больше места.