Показать сообщение отдельно

  #4  
Старый 15.10.2009, 19:32
KaZ@NoVa
Постоянный
Регистрация: 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). Ну или гугли длинную арифметику
 
Ответить с цитированием