2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Реализация алгоритма шифрования MQV
Сообщение10.04.2013, 20:13 
Аватара пользователя
При реализации алгоритма шифрования MQV столкнулся со следующей проблемой:
Согласно параграфу 10.7. в "Криптографии" Н.Смарта для получения общего ключа шифрования обе стороны производят следующие операции имея две пары своих сгенерированных ключей и публичные ключи противоположной стороны:
Для стороны А:
Дано: ключи $A, B, C, D, \alpha, \gamma$
Принимаем: $C = i , D = j$
Рассчитываем:
$S_A = ( i (\mod 2^L)) + 2^L$
$T_A = ( j (\mod 2^L)) + 2^L$
$h_A =\gamma + S_A \cdot \alpha$
$p_A = ( D \cdot B^{T_A}) ^ {h_A}$

То же самое, согласно алгоритму, рассчитываем для второй стороны используя эфемерные ключи $\beta$ и $\delta$.

Если принять битовый порядок публичных ключей $Q = 2^{512}$, порядок эфемерных ключей равным $Q/4 = 128$, а $L = Q/2 = 256$, то
порядок $S_A$ и $T_A$ составит $~2^{256}$
порядок $h_A$ составит $~2^{384}$
порядок $p_A$ и $p_B$ составит $~2^{2^{650}}$ или $~2^{{10}^{195}}$
Т.е. для хранения одного ключа необходимо $~10^{182}$ террабайт дискового пространства, что явно невозможно, не говоря уже о дальнейших операциях с таким ключом.

1. В чем моя ошибка при расчете $p_A$, $p_B$?
2. Могут ли использоваться в качестве $A, B, C, D$ пары ключей, полученные в соответствии с протоколом Диффи-Хеллмана, на основании одних и тех же параметров P и G?

 
 
 
 Re: Реализация алгоритма шифрования MQV
Сообщение12.04.2013, 06:56 
Аватара пользователя
Все, разобрался. Может кому пригодится:
при расчете p, каждое арифметическое действие производить по модулю простого числа, например, можно взять параметр P, который использовался при расчете публичных ключей A, B, C, D в соответствии с алгоритмом Диффи-Хеллмана, т.е. для расчета $p_A$ производим следующие действия:
1. $tmp = B^{T_A} \mod P_{DH}$
2. $tmp = tmp \cdot D \mod P_{DH}$
3. $p_A = tmp^{h_A} \mod P_{DH}$
Тема закрыта.

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group