При реализации алгоритма шифрования MQV столкнулся со следующей проблемой:
Согласно параграфу 10.7. в "Криптографии" Н.Смарта для получения общего ключа шифрования обе стороны производят следующие операции имея две пары своих сгенерированных ключей и публичные ключи противоположной стороны:
Для стороны А:
Дано: ключи
Принимаем:
Рассчитываем:
То же самое, согласно алгоритму, рассчитываем для второй стороны используя эфемерные ключи
и
.
Если принять битовый порядок публичных ключей
, порядок эфемерных ключей равным
, а
, то
порядок
и
составит
порядок
составит
порядок
и
составит
или
Т.е. для хранения одного ключа необходимо
террабайт дискового пространства, что явно невозможно, не говоря уже о дальнейших операциях с таким ключом.
1. В чем моя ошибка при расчете
,
?
2. Могут ли использоваться в качестве
пары ключей, полученные в соответствии с протоколом Диффи-Хеллмана, на основании одних и тех же параметров P и G?