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



Pdf көрінісі
бет118/203
Дата26.09.2024
өлшемі2,74 Mb.
#145829
1   ...   114   115   116   117   118   119   120   121   ...   203
Байланысты:
практическая криптография


Глава 12. Алгоритм Диффи–Хеллмана
мере развития компьютерных технологий можем выбирать ключи все боль-
шего и большего размера.
Лучшие оценки того, какой длины должно быть число
p
, содержатся
в работе [62]. Согласно предположениям ее авторов, простое число длиной
2048 бит сможет обеспечить защиту данных до 2022 года, число длиной
3072 бит — до 2038 года, а число длиной 4096 бит — до 2050 года. Упоминав-
шееся нами число 6800 было получено с использованием все тех же формул,
приведенных в [62]. Именно этот размер
p
гарантирует, что для осуществле-
ния атаки злоумышленнику придется выполнить
2
128
шагов.
Будьте крайне осторожны с прогнозами подобного рода. Разумеется, все
они имеют под собой серьезные основания, однако попытки предсказания
будущего всегда небезопасны. Мы можем сделать некоторые осмысленные
предположения относительно размеров ключей на протяжении следующих
10 лет, однако всякие рассуждения о том, как будут обстоять дела через
50 лет, достаточно наивны. Сравните хотя бы текущее положение дел в ком-
пьютерной индустрии и криптографии с тем, что наблюдалось 50 лет назад.
Прогнозы, приведенные в [62], — это лучшие оценки на сегодняшний момент,
однако безоговорочно доверять им тоже не стоит.
Так что же нам делать? Как разработчики криптографических систем,
мы должны выбрать размер ключа, который сможет обеспечить безопас-
ность системы на протяжении по крайней мере следующих 20 лет. Очевидно,
2048 бит — это нижняя граница. Чем больше, тем лучше; но использование
ключей большего размера значительно повышает затраты. Учитывая такую
неопределенность ситуации, мы предпочитаем скептическую точку зрения.
Наш совет выглядит следующим образом: используйте 2048 бит в качестве
абсолютного минимума. (И не забывайте, что с течением времени этот ми-
нимум будет повышаться.) Если позволяет производительность системы, ис-
пользуйте 4096 бит или около того. И еще: обязательно убедитесь, что ваша
система способна работать с параметрами размером до 8192 бит. Это спасет
положение в случае неожиданного усовершенствования атак на системы с от-
крытым ключом. Новые достижения криптоанализа практически неминуемо
приведут к осуществлению успешных атак на ключи меньших размеров. Пе-
реход на ключи б´ольших размеров можно проводить прямо во время работы
системы. Разумеется, это определенным образом скажется на производитель-
ности, однако основная функциональность системы будет сохранена. Это на-
много лучше, чем полная потеря безопасности и необходимость переделывать
всю систему, что потребуется, если система не поддерживает ключи большего
размера.
Некоторые приложения требуют, чтобы секретность их данных сохраня-
лась намного дольше 20 лет. В этом случае большие ключи необходимо ис-
пользовать уже сейчас.


12.8. Практические правила
241
12.8
Практические правила
Приведем несколько практических правил относительно того, как задать
подгруппу, которая будет применяться в протоколе DH.
Выберите в качестве
q
256-битовое простое число. (Показатели степеней
в алгоритме DH могут подвергнуться атакам на основе коллизий, поэтому
длина всех показателей должна достигать минимум 256 бит, чтобы злоумыш-
леннику пришлось проделать не менее
2
128
операций.) Выберите в качестве
p
большое простое число вида
N q
+ 1
для некоторого целого
N
. (О том, какого
размера должно быть число
p
, см. в разделе 12.7. Вычислить соответствую-
щий интервал для
N
не составляет никакого труда.) Выберите случайное
g
,
такое, что
g
6
= 1
и
g
q
= 1
. (Для этого проще всего выбрать случайное
α
, уста-
новить
g
=
α
N
и проверить, подходит ли полученное значение
g
. В случае
неудачи выберите другое
α
и повторите попытку.)
Любой участник общения, который получает описание подгруппы
(
p, q, g
)
,
должен убедиться в следующем:

и
p
и
q
являются простыми числами, длина
q
составляет 256 бит, а длина
p
достаточно велика (не доверяйте ключам слишком малого размера);

число
q
является делителем числа
(
p

1)
;

g
6
= 1
и
g
q
= 1
.
Это необходимо проверить даже тогда, когда описание подгруппы прихо-
дит из надежного источника. Вы бы наверняка удивились, узнав, как часто
системы отказывают самым непредсказуемым образом, особенно когда на них
нападают. Проверка параметров
(
p, q, g
)
занимает определенное время. Впро-
чем, поскольку в большинстве систем одна и та же подгруппа используется на
протяжении долго времени, проводить проверку придется только единожды.
Каждый раз, когда участник общения получает число
r
, которое должно
находиться в заданной подгруппе, он должен удостовериться, что
1
< r < p
и
r
q
= 1
. Обратите внимание: значение
r
= 1
не
допускается.
Используя эти правила, мы получаем версию протокола Диффи–Хеллма-
на, изображенную на рис. 12.3. Оба участника начинают общение с проверки
параметров подгруппы. Каждый участник должен проделать эту процедуру
только единожды при запуске системы. Выполнять ее при каждом запус-
ке протокола DH не нужно. (Несмотря на это, проверку следует повторять
после каждой перезагрузки или повторной инициализации, так как в ходе
последних значения параметров могут измениться.)
Оставшаяся часть протокола DH во многом идентична первоначальной
версии, схема которой представлена на рис. 12.1. Теперь пользователи А и Б
применяют подгруппу, поэтому показатели
x
и
y
будут находиться в диа-
пазоне
1
, . . . , q

1
. Оба пользователя должны проверить, действительно ли


242

Достарыңызбен бөлісу:
1   ...   114   115   116   117   118   119   120   121   ...   203




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

    Басты бет