P(простые)
Не знаю, будет ли это интересно?
У меня есть (ОЧЕНЬ БЫСТРЫЙ) метод при помощи которого можно со 100 % уверенностью сказать простое Р или нет. Причем процессорного времени потребуется ровно столько, сколько займет деления 2^100 или 2^1000 на 2 или, к примеру, на 4.
Это не алгоритм, а программное решение задачи. :!: В связи с этим у меня вопрос.
1. Возможно, ли это применить для перебора ключей. :?:
2. Если возможно, то какое максимальное Р (простое) будет использоваться для этого. :?:
комментариев: 11558 документов: 1036 редакций: 4118
Насколько мне известно (а мне кое-что известно), на сегодня нет ни одного способа, дающего ответ, является ли случайное p простым, а не составным, с вероятностью, равной единице. (Это не то же самое, что взаимная простота двух чисел. Она стопроцентно определяется по алгоритму старика Евклида.) В современных прикладных криптосистемах применяется ряд статистических тестов и алгоритмов, позволяющих "отловить" составное число, но всё равно остаётся небольшой шанс, что итоговый результат не будет простым. Степень вероятности зависит только от избыточности проверки.
Однако то, о чём говорите Вы, вообще не имеет отношения к простым числам. Простое число — это число, делящееся без остатка только на себя и на 1. Это значит, что у него нет других делителей. Но это НЕ значит, что оно обязательно должно быть чётным. Число 15 составное, но ни на 2, ни на 4 вы его не разделите. Как и число 17, являющееся простым.
Теперь по поставленным вопросам.
1. Так или иначе, ответ на вопрос, является ли конкретное p простым, ничего вам не даст для взлома асимметричного ключа. Простые p и q, используемые для формирования модуля m, после генерации ключа не подлежат компрометации. Чтобы взломать ключ, вам нужно узнать из каких p и q составлено m. На этом и основана надёжность RSA.
2. То есть числа каких порядков используются для формирования ключа? Примерно от тех самых 2^1000. И выше.
комментариев: 31 документов: 8 редакций: 0
Помоему деление на два приведено только для оценки времени работы алгоритма, но само по себе деление именно на 2 тут не при чем.
А мне известен такой способ. Называется "решето Эратосфена".
А если вас не устраивает скорость, то можно применить алгоритм с полиномиальной сложностью, открытый в прошлом году индийцами (имён, увы, не помню, но дома у меня распечатка лежит).
Прошу прощение за долгое отсутствие
Если возможно то тут по подробнее как простые p и q, используются для формирования модуля m.
Что их перемножают или что с ними делают???
И Wizzard прав пример 2^1000 был приведен только для оценки времени работы алгоритма.
комментариев: 11558 документов: 1036 редакций: 4118
Перемножают и сразу отбрасывают (уничтожают). Краткое описание RSA здесь.
Уважаемый SATtva, если алгоритм не используется в современной криптографии, то это не означает, что его нет! Детерминированных алгоритмов определения простоты больше, чем вероятностных. Ну, например, рассчет порядка элемента в циклической группе. Правда для осуществления такого теста надо кое-что разложить на множители, а это долго и неудобно (по меркам соременных реализаций). Вот и пользуются алгоритмами основанными на малой теореме Ферма (например Миллера-Рабина). Кстати из справедливости расширенной гипотезы Римана (пока не доказанной) следует, что алгорим Миллера-Рабина становится тоже детерминированным при условии проведения проверок до определенной границы.
комментариев: 11558 документов: 1036 редакций: 4118
Нильсон & Чанг, переводное издание, 2006, стр. 24.
Грамотный, вы, наверно, уже сдали матминиум, прежде чем сеть в судейское место? :-)
[/offtop]
Вообще-то противопоставлять сообразительность и малограмотность не совсем грамотно :)
[/offtop]