Прежде чем привести описание протокола
Прежде чем привести описание протокола аутентичного обмена для двух сторон A-DH, важно подчеркнуть, что существует множество разнообразных протоколов аутентичного обмена для выработки ключа, но одни из них не поддерживают двусторонний вклад в общий ключ (как в El Gamal), другие требуют большого числа сообщений или предполагают априорный доступ к сертифицированным долговременным ключам. Многие не обладают свойством PFS. Поэтому, наиболее подходящим протоколом для групп в соответствии с [1] считают A-DH. Необходимо также отметить, что протокол предполагает наличие у участников аутентичных открытых ключей друг друга.
Протокол A-DH. Пусть p,q,G – величины, определенные выше и пусть a - образующий элемент G. Предварительный этап. Пусть x1 и x2 – два целых числа, т. ч. 1£ x1 ,x2 £ q-1. Пусть M1 и M2 – два участника, которые хотят выработать общий ключ и пусть (x1 ,ax1 mod p) и (x2 ,ax2 mod p)- секретные и открытые ключи M2 и M2 соответственно. Открытые величины системы: (p, q, a, ax1 ,ax2 ). Этап 1: M1 выбирает случайное r1 ÎR Zq* , M1 ® M2 : a r1 mod p. Этап 2: M2 выбирает случайное r2 ÎR Zq* и вычисляет K=F(a x1x2 mod p), M2 ® M1 : a r2K mod p. Когда M1 получает J=a r2K mod p, он вычисляет K-1 mod q и затем J r1K-1 mod p. Получаемый в результате ключ будет S2=a r2r1 mod p. Функция F() может быть либо F(x)=x mod q либо F(x)=h(x), где h – хэш-функция : {0,1}*® Zq* . |