![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| 1nsane |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 1.12.2006 Репутация: нет Всего: нет |
Помогите пожалуйста оптимизировать функции, кот ишут ключи для RSA
Сразу скажу, работает только с небольшими числами... //при вызове возвращает случайное значение в диапазоне 1..(k-1)
//возвращает случайное значение e<n и удовлетворяющее условию НОД(e,phi)=1
//находит такое значение d<phi при котором выполняется условие e*d mod phi=1
Условия e<n и d<phi достигабтся с помощью функций rand(n) и rand(phi) соответственно Выполнение данных функций частенько вызывает зависание программы(бесконечный цикл-CPU загружен на 100%). Знаю что, что-то с циклами а может проверкой НОД но исправить к сожалению не могу. Кратко алгоритм можно описать следующим образом: 1. Выбираются два больших простых числа p и q. 2. Вычисляется их произведение (открытая компонента ключа) n=p*q 3. Находится функция Эйлера по формуле phi=(p-1)(q-1) 4. Выбирается большое простое число e (e<n), такое что НОД(e,phi)=1, т.е. e является взаимно простым со значением phi. 5. Определяется число d, удовлетворяющее условию e*d mod phi=1 Два числа (e,n) – открытый ключ, (d,n) - закрытый. |
||||||
|
|||||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |