Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Возведение в степень больших чисел. Алгоритм DH (https://javascript.ru/forum/dom-window/64921-vozvedenie-v-stepen-bolshikh-chisel-algoritm-dh.html)

Morr123 13.09.2016 22:07

Возведение в степень больших чисел. Алгоритм 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 но я не пойму по какой формуле происходит возведение в степень.


Часовой пояс GMT +3, время: 20:23.