|
Немного о факторизации
|
|||
---|---|---|---|
#18+
А что мы знаем о числе N = x * y, которое необходимо факторизировать? 1. Корень из N - для начала поиска чисел А и В. 2. Длина в битах - можно использовать для поиска окрестностей единиц. 3. Последние цифры - для определения последних цифр чисел x и y, и для определения шага (x + y) или А. А что ещё? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2020, 09:05 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov А что мы знаем о числе N = x * y, которое необходимо факторизировать? 1. Корень из N - для начала поиска чисел А и В. 2. Длина в битах - можно использовать для поиска окрестностей единиц. 3. Последние цифры - для определения последних цифр чисел x и y, и для определения шага (x + y) или А. А что ещё? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2020, 09:13 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone Gennadiy Usov А что мы знаем о числе N = x * y, которое необходимо факторизировать? 1. Корень из N - для начала поиска чисел А и В. 2. Длина в битах - можно использовать для поиска окрестностей единиц. 3. Последние цифры - для определения последних цифр чисел x и y, и для определения шага (x + y) или А. А что ещё? мы не можем найти все такие остатки для больших чисел. А если пользуясь термином "сокращает количество ... примерно в два раза", то, зная остатки по 140 простым числам, уменьшаем в 2^140 раз? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2020, 09:21 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov А если пользуясь термином "сокращает количество ... примерно в два раза", то, зная остатки по 140 простым числам, уменьшаем в 2^140 раз? Можно попробовать использовать что-то типа решета: вычеркивать недопустимые остатки. Только нужен кусок памяти размером порядка квадратного корня из N. Если придумаете, как построить число, которое лежит в нужном диапазоне, и одновременно имеет остатки по простым модулям из числа допустимых - сможете сломать RSA :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2020, 11:19 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone Gennadiy Usov А если пользуясь термином "сокращает количество ... примерно в два раза", то, зная остатки по 140 простым числам, уменьшаем в 2^140 раз? Мы знаем, что остаток по каждому модулю - один из нескольких возможных. Если выбрать по одному произвольному из допустимых остатку, и по китайской теореме собрать остаток по модулю произведения этих 140 простых - получим огромное число, гораздо больше N. Можно попробовать использовать что-то типа решета: вычеркивать недопустимые остатки. Только нужен кусок памяти размером порядка квадратного корня из N. Если придумаете, как построить число, которое лежит в нужном диапазоне, и одновременно имеет остатки по простым модулям из числа допустимых - сможете сломать RSA :) Где-то после 2^20 идёт серьёзное увеличение по времени расчёта. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2020, 11:29 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone Остатки по любым простым модулям. Каждый остаток по простому модулю сокращает количество возможных значений x+y примерно в два раза: (x+y) 2 /4 - N mod p должно быть квадратичным вычетом. Меньше выборок по остаткам. А по разным простым модулям будут сложные построения. Или все остатки собирать в одном массиве, чтобы число в массиве было равно количеству модулей. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2020, 16:42 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone, было бы идеально если бы можно было свести задачу к другому модулю ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2020, 21:01 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone Каждый остаток по простому модулю сокращает количество возможных значений x+y примерно в два раза: (x+y) 2 /4 - N mod p должно быть квадратичным вычетом. (x+y) 2 /4 - N = (x-y) 2 /4 mod p ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2020, 19:47 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Обычно, в тесте Ферма при определения остатков перебираются показатели степени для определённого основания степени. А есть ли работы по перебору оснований степени? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2020, 11:15 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone Gennadiy Usov А если пользуясь термином "сокращает количество ... примерно в два раза", то, зная остатки по 140 простым числам, уменьшаем в 2^140 раз? Можно попробовать использовать что-то типа решета: вычеркивать недопустимые остатки. Только нужен кусок памяти размером порядка квадратного корня из N. Если придумаете, как построить число, которое лежит в нужном диапазоне, и одновременно имеет остатки по простым модулям из числа допустимых - сможете сломать RSA :) группа остатков по простым модулям это собственно "система остаточных классов", там как бы проблем то нет если этим можно представить q^2|n=1 и q < n, то остатков то не так много нужно за счёт чего " (x+y)2/4 - N mod p должно быть квадратичным вычетом " уменьшает количество значений вдвое? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2020, 09:47 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) за счёт чего " (x+y)2/4 - N mod p должно быть квадратичным вычетом " уменьшает количество значений вдвое? Мы пытаемся представить нечетное составное N в виде N = s² - d² и, рассматривая это равенство по модулям маленьких простых чисел, получаем ограничения на возможные значения s или d. Ну например, допустим N mod 5 == 1. Тогда s mod 5 не может быть 2 или 3, потому что 3 - квадратичный невычет по модулю 5. А если N mod 5 == 3, то s mod 5 не может быть 0, 1 и 4. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2020, 12:40 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone kealon(Ruslan) за счёт чего " (x+y)2/4 - N mod p должно быть квадратичным вычетом " уменьшает количество значений вдвое? Необходимо рассматривать комбинацию разностей остатков для s и d. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2020, 13:11 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone, но так выходит дофига комбинаций, которые надо проверять т.е. уменьшения в два раза то и нету т.е. допустим для представления N нам достаточно СОК из K простых чисел у нас выходит П(P i /2, i = 1..k) вариантов для перебора, что приблизительно равно N/ 2^K - и это очень дофига ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2020, 16:31 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Решил поработать с р-методом логарифмирования. Много разных публикаций с разными алгоритмами. Скачал на Питоне программу, которая не всегда работает https://ru.wikibooks.org/wiki/Реализации_алгоритмов/P-метод_Полларда_дискретного_логарифмирования Было бы интересно обсудить данный метод. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2020, 05:21 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Потерял сообщение (не помню топик), в котором говорилось о максимальном количестве простых чисел, чтобы была реше сетка для факторизации. А у меня вопрос: на настоящий момент какое количество простых чисел удалось применить в одной сетке и какой размер ячеи такой сетки? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2020, 16:58 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Допустим, есть число n = x * y, где x и y – два простых числа. Над числом n есть кольцо вычетов Zn. Согласно алгоритму Гельфонда –Шенкса можно построить в кольце вычетов Zn две сетки чисел, с помощью которых можно найти все вычеты для определённого некоторого числа q, которых будет несколько в Zn. Получается сетка чисел размером m = (n^(1/2) x (n^(1/2), тогда, количество элементов сетки будет m. И для определения числа q (или нескольких q) будет «шаг» на отрезке (1, n-1), равный n/m . Согласно 22097181 ищется число q = 1, и не каждое число, а только определённое число q =1, на «расстоянии» (x + y) - 1 от последнего элемента кольца вычетов Zn. Для этого вычета q = 1 достаточно ограничить отрезок (2*(n^(1/2), k*(n^(1/2)), где k надо посчитать после учёта малых делителей. Получается новая сетка чисел размером m1 = (((k-2)*(n^(1/2))^(1/2)) x (((k-2)*(n^(1/2))^(1/2)). И «шаг» для определения числа A = (х + y)/2 будет равен 2*m / m1. А какой «шаг» даст нам метод Ферма с перебором простых чисел? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2020, 06:53 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
У алгоритма Гельфонда -Шенкса есть одно неудобство: необходимо сравнивать каждое число второй сетки с каждым числом первой сетки. А если на первую сетку "наложить" третью сетку? Некоторая сортировка. Тогда в несколько раз можно уменьшить количество сравнений между первой и второй сетками. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 20:38 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, какую цель ты преследуешь? Мы, программисты добиваемся того чтобы ответ от программы был получен за разумное время. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2020, 21:45 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
mayton, почти во всех известных методах факторизации за основу берется уравнение n = A^2 - B^2. (или во всех ?) А если за основу методов факторизации взять 2^(x + y) = 2^(n + 1) mod n? Или за основу взять лучшее от этих двух уравнений. Второе уравнение применяется только про дискретном логарифмировании.(?) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2020, 06:06 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov mayton, почти во всех известных методах факторизации за основу берется уравнение n = A^2 - B^2. (или во всех ?) Для поиска x используется то, что если a x =1 mod p то и a x*y =1 mod p при любом y Метод эллиптических кривых работает так же, только вместо вычетов по модулю N использует точки на эллиптической кривой. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2020, 06:42 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov, не во всех, есть ещё Метод разложения Эйлера Я это имел в виду, а есть там + или - , то это уже вторично. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2020, 11:34 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Заинтересовал метод факторизации (p-1) - метод Полларда. И появилась задачка для выходных: найти с помощью этого метода делители числа 3277. То есть, выбрать с помощью этого метода набор простых делителей со степенями для определения делителей числа 3277 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2020, 09:21 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
https://ru.wikipedia.org/wiki/P?1-метод_Полларда В этой статье спутаны 2 понятия. Сначала - "сильные простые числа" А потом - "Пусть N B-гладкостепенное" Разница есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2020, 18:55 |
|
|
start [/forum/topic.php?fid=16&msg=39986564&tid=1339626]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
others: | 244ms |
total: | 529ms |
0 / 0 |