Показать сообщение отдельно
  #1 (permalink)  
Старый 13.09.2016, 22:07
Новичок на форуме
Отправить личное сообщение для Morr123 Посмотреть профиль Найти все сообщения от Morr123
 
Регистрация: 09.08.2016
Сообщений: 4

Возведение в степень больших чисел. Алгоритм DH
Хочу сгенерировать на клиенте ключи по алгоритму Диффи — Хеллмана

формула такая A = g^a mod p
Для работы с большими числами использую BigNumber

Есть такой код
пусть будут такие чилса

var g = new BigNumber('5377521262291226325198505011805525673063229037935769709693');
var p = new BigNumber('3805108391982600717572440947423858335415441070543209377693');
var a = new BigNumber('3156118255187236272351299799643367174059608931247836642734');


Вычисляю по формуле так:

var pow1 = g.pow(a);
    var publ = pow1.mod(p);


Но при выполнении данного кода браузер виснет т.к. слишком долго идет var pow1 = g.pow(a);
Как можно это реализовать подругому ?
Вот пример где работает данный алгоритм http://www-cs-students.stanford.edu/~tjw/jsbn/ecdh.html но я не пойму по какой формуле происходит возведение в степень.
Ответить с цитированием