2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Реализация алгоритма шифрования MQV
Сообщение10.04.2013, 20:13 
Аватара пользователя


10/04/13
2
При реализации алгоритма шифрования 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 
Аватара пользователя


10/04/13
2
Все, разобрался. Может кому пригодится:
при расчете 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 ] 

Модераторы: Toucan, maxal, PAV, Karan, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group