Криптографические протоколы распределения ключей для групп

       

Используемые в протоколах термины и обозначения


Определим некоторые обозначения:

     n          - число участников протокола;

     i, j        - индексы для участников групп;

     Mi        - i-ый участник группы;

     G         - подгруппа Zp*

порядка q, где p и q – простые;

     q          - порядок алгебраической группы;

     a,g      - образующие элементы в группе G ;

     xi            - долговременный секретный ключ Mi;

     ri          - случайное (секретное) число Î Zq , вырабатываемое Mi;

Sn         - групповой ключ n участников;

Sn(Mi)  - вклад Mi -го участника в групповой ключ;

Kij        - долговременная секретная величина, выработанная Mi

и Mj , i¹j.

Все вычисления проводятся в циклической группе G простого порядка q, которая является подгруппой Zp* порядка p, где p=kq+1 для некоторого kÎN[1].

Для того, чтобы предотвратить атаки методами подмены или утечки секретных величин, каждый участник протокола должен иметь возможность проверить, что те значения, которые он получает, являются элементами подгруппы.

Заметим, что p и q – общие для всех пользователей. Поскольку они вырабатываются один раз, необходимо качественно проработать процесс генерации, чтобы исключить (возможно умышленное) получение слабых или каких-то специфических простых чисел. В частности, рекомендуется использовать метод из стандарта США, описанный в FIPS 186 или же на основе метода, изложенного в стандарте ГОСТ Р34.10-94.

В таком контексте, возможности активного противника довольно сильно ограничены. Действительно, любое сообщение может быть представлено как aсmod p, где a -образующий элемент циклической подгруппы Zp* порядка q и c – некоторая экспонента. Получение c упирается в проблему дискретного логарифмирования.



Содержание раздела