
15.10.2009, 19:32
|
|
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
С нами:
9394886
Репутация:
1467
|
|
Сообщение от 0ldbi4
Доброго времени суток. Неподскажите ли алгоритм прощета данного примера:
A=G^m mod P;многие поняли это процесс шифрования в RSA, DSA и подобных.
Проблемма длина чисел в процессе, даже extanded помоему 64 символа, а в шифровании количество обычно не менее ~200 и сильно более.
Для справки X^m mod N = X^a mod N * X^b mod N * X^c mod N.
Заранее спасибо за информацию.
P.S. JAVA Плохо знаю
>A=G^m mod P;
А нафига тут extеnded ? Тут надо что-нибудь целочисленное - быстрее работать будет. Насколько помню, в Java нету "больших" целых чисел - т.е. стандартные и не длиннее 40 символов.
Выхода вижу 2:
1) в лоб. Реализовать (скачать) на Java алгоритмы длинной арифметики (хранить данные либо в массиве, либо в строке) и тупо выполнить действие.
2) математически. Попытаться математически упростить данную формулу, чтоб ушло возведение в степень.
Советую погуглить для начала "RSA, DSA" на русском - мб где статья была, или готовый исходник. Дальше можно скачать готовую реализацию DSA (например, в linux все проги open-source). Ну или гугли длинную арифметику
|
|
|