|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Эпиграф: Barlone Эратосфен - это скучно. Разобрали бы лучше решето числового поля ну или хотя бы квадратичное решето Кстати, неплохая книга для изучения факторизации. Очень интересный метод (р – 1)-метод Полларда: перемножаем несколько степеней минимальных простых чисел (по модулю n) и с помощью н.о.д. сразу определяется минимальный множитель. Данный метод годится только для чисел, у которых один из множителей мал. А другой сколь угодно большой. Пробные расчеты показали, что можно проводить следующие исследования: - зависимость количества базовых простых чисел от величины малого множителя; - зависимость предела степеней каждого базового простого числа от величины малого множителя. Получается, что можно построить некоторую функцию по двум переменным, отражающую предел по определению множителей. Пример: n = 1427*23456234562345623461 Кстати, второй множитель может быть сколь угодно большим. Первый множитель определяется, если имеем более 10 первых простых чисел , и если предел степеней больше 30 (добавляется простое число 31). Далее, из перечня базовых простых чисел от 2 до 31 нельзя убирать числа 2, 23, 31, а все остальные можно: останутся только числа 2, 23, 31. И так далее… Получается, что этот метод может соперничать с методом предварительного деления исследуемого числа (до определённого простого числа): для проверки делимости на 225 простых чисел (до 1427 - простое число) достаточно от 3 до 11 простых чисел ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 06:39 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Не перемножаем несколько степеней простых чисел по модулю n, а возводим некоторое начальное число в степень, равную этому самому произведению степеней маленьких простых. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 09:05 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
И метод годится не только для чисел, у которых один из множителей мал, но и для чисел, у которых функция Эйлера для одного из множителей раскладывается на маленькие сомножители. Например, множитель - число Прота с маленьким k (но сам по себе большой) можно найти. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 09:49 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone Не перемножаем несколько степеней простых чисел по модулю n, а возводим некоторое начальное число в степень, равную этому самому произведению степеней маленьких простых. В результате: "перемножаем несколько степеней минимальных простых чисел, возводим некоторое начальное число (например, 2) в степень, равную полученному произведению (по модулю n) и с помощью н.о.д. сразу определяется минимальный множитель." Кстати, ещё можно "поиграть" этими основаниями степеней. (в предыдущий раз это помогло) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 11:35 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
В продолжение рассмотрения темы (р – 1)-метода Полларда попробовал составить программу: перебор всех простых чисел, начиная с 3, до некоторого числа, и для каждого из этих чисел увеличивал В - предел Полларда. И при этом данные числа умножал на очень большое простое число. Оказалось, что для того, чтобы определить множители большого числа, равные от 3 до 101 (простые числа), достаточно применить В = 27. Для определения множителей, равных от 3 до 1000, достаточно применить В = 882. Для определения множителей, равных от 3 до 2000, достаточно применить В = 1902. Для определения множителей, равных от 3 до 5000, достаточно применить В = 8732. Причем, для определения множителя 4931 достаточно В = 27, а для определения множителя 4919 достаточно В = 2453. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2019, 13:53 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
При этом, если (р-1)-метод определяет число, это не значит, что получен окончательный ответ. Этот метод может "зацепить" сразу несколько малых простых чисел. Причём, некоторые числа могут быть и достаточно большими. Поэтому необходимо ещё одно применение (р-1)-метода к полученному числу (при этом число В будет намного меньше). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2019, 19:37 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
А самый плохой вариант для (р-1)-метода: проверяемое число есть произведение очень большого числа простых небольших чисел. Тогда (р-1)-метод выдаст это самое число (если в проверяемом числе есть степень простого числа, то в "ответе" будет это число, но без степени). ..., начинай с начала. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2019, 21:12 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone, в задачах факторизации числа n применяется mod(n). А если применять mod (а), где а = целое(n^1/2)? И было ли такое применение? При этом существенно уменьшается база квадратов чисел. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 11:08 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, если ты найдёшь как, зная факторизацию n+1, найти факторизацию n, то ты решишь эту задачу ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 12:31 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, вот интересный вопрос, есть такое опредление Первообразные корни авторПервообразным корнем по модулю n (primitive root modulo n) называется такое число g, что все его степени по модулю n пробегают по всем числам, взаимно простым с n. вот интересно, а как пробежаться по этим же числам в модуле n^2 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 23:30 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov, вот интересный вопрос, есть такое опредление Первообразные корни авторПервообразным корнем по модулю n (primitive root modulo n) называется такое число g, что все его степени по модулю n пробегают по всем числам, взаимно простым с n. вот интересно, а как пробежаться по этим же числам в модуле n^2В статье дано некоректное определение числа а: "то для любого целого a такого, что ..." Надо добавить: а < n. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2019, 07:51 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov В статье дано некоректное определение числа а: "то для любого целого a такого, что ..." Надо добавить: а < n. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2019, 09:02 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Главное - это соотношение чисел n и g. Число а - это "проверочный материал". Проверяется от 0 до n - 1. А далее - просто: (а + v*n) (mod n) = a. Зачем усложнять условие? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2019, 09:19 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
А в вики https://ru.wikipedia.org/wiki/Первообразный_корень_(теория_чисел) по другому определяются эти корни. И без всяких "для всех а". ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2019, 09:37 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, пофиг а вот kealon(Ruslan) а как пробежаться по этим же числам в модуле n^2 уже интересный вопрос ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2019, 11:53 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) вот интересно, а как пробежаться по этим же числам в модуле n^2 Если n = 11, то получаются числа от 1 до 10, причем 1 - два раза. Если n = 11^2, то нет чисел, кратных 11. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2019, 13:38 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, просто хочу записать ((g^k) mod n^2) mod n более простым способом, без mod n причём если порядок будет другой - это некритично ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2019, 16:17 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov, просто хочу записать ((g^k) mod n^2) mod n более простым способом, без mod n причём если порядок будет другой - это некритично ((g^k) mod n^2) mod n "превращается" в уравнение ((g^k) mod n ) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2019, 09:18 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, думаешь я о таком не догадался? а вот вообще без mod n? только через степени g по модулю n^2 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2019, 23:36 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov, думаешь я о таком не догадался? а вот вообще без mod n? только через степени g по модулю n^2 Ранее я говорил, что по модулю n^2 имеем в остатке все числа до n^2, кроме кратных n. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2019, 07:17 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, что непонятного то? нужно получить все числа от 1 до n-1 в кольце n^2 операциями степени ... |
|||
:
Нравится:
Не нравится:
|
|||
01.01.2020, 15:44 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov, что непонятного то? нужно получить все числа от 1 до n-1 в кольце n^2 операциями степени что непонятно в моих ответах? В кольце n^2 (по mod n^2) получаются все числа от 1 до n^2, кроме чисел, кратных n. Если для этого кольца применить (mod n), то данное кольцо "разбивается" на n колец (mod n), в каждом из которых все числа от 1 до n-1. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 07:54 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov, а вот теперь без (mod n) - 22052029 По остальным g (2, 5,7) получается очень много чисел в кольце. Кстати, проверил, другие варианты (небольшие). И везде много чисел. Вариант 3 и 11 - пока единственный, где мало чисел! И что? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 13:12 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Чтобы такой результат получился (всего 5 или очень немного чисел на большое кольцо), необходимо решить следующее уравнение: найти g, n, b для g^b =1 mod (n^2) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 13:31 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, всё довольно просто посмотри как перемножаются числа вида vp+1 в кольце p^2 [(v1 p+1) * (v2 p+1)]|p^2 = [v1* v2 p^2+(v1 + v2) p +1]|p^2 = [(v1 + v2) p +1]|p^2 находим n' : n*n' - v1 * p = 1 берём члены нашего кольца g(1) и g(-1) находим v2 : g(1) * g(-1) = v2 p + 1 исходя из правила умножения получаем: x = [[v2 -1 ]| p * v1] | p + i*p все делители n будут лежать в множестве [g(1) ^ x] | p^2 для отсечки лишних нужно выполнение условия [g(1) ^ x] < n и [g(-1) ^ x] < n т.е. если мы имеем такой p для которого можно вывести "итератор" по числам <p в кольце p^2, то мы можем разложить на множители любое число n < p ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 17:49 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) находим n' : n*n' - v1 * p = 1 Есть n' и n. Или это одно число? И из какого уравнения они (оно) определяются? Ведь известны (?) пока v1, v2, р. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 18:20 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, находим n' и v1 с помощью расширенного алгоритма Евклида , n' обычно обозначают n -1 |p, он равен n^(fi(p)-1)|p = n^(p-2)|p если p простое x находим из полученного ранее соотношения [(vp+1)^x]| p^2 = [vx p +1] | p^2 подменив v*x -> (n'*n - 1)/p v -> (G(1)*G(-1) - 1)/p собственно опять же с помощью расширенного алгоритма Евклида ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 19:29 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) находим n' : n*n' - v1 * p = 1 находим n' и v1 с помощью расширенного алгоритма Евклида , n' обычно обозначают n -1 |p, он равен n^(fi(p)-1)|p = n^(p-2)|p если p простое Но р - число простое, а n < р. Следовательно, у n и р не может быть общих делителей. Или я что-то не так понял... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 20:41 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Хотя, есть общий делитель - 1. И поэтому можно найти коэффициенты. Хорошо. А что у нас известно: n и p. А что ещё? Тогда можно получить некоторые числа а и b. Почему эти числа будут v1 и n', которые определены по формулам? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 20:50 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov Хотя, есть общий делитель - 1. И поэтому можно найти коэффициенты. Хорошо. А что у нас известно: n и p. А что ещё? Тогда можно получить некоторые числа а и b. Почему эти числа будут v1 и n', которые определены по формулам? 1. ничего 2. в общем-то не будут алгоритм даёт a,b,d: an + bp = d где d будет =1, так как n и b взаимнопростые - это НОД(n,p) и либо a, либо b будет меньше нуля, но об этом обычно не пишут, так как довольно очевидно, что знак можно поменять, добавив np или -np [an + np] + [bp - np] = d приводишь результаты к виду n*n' - v1 * p = 1 и всё ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 08:12 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Попробую "перевести" на циферки. Так проще. n = 45, p = 61 Тогда n' = 45, v1 = 14. g(1) = 2 и g(-1) = 2197... Пока всё верно? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 09:19 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
тороплюсь: Тогда n' = 19, v1 = 14. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 09:21 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov тороплюсь: Тогда n' = 19, v1 = 14. Gennadiy Usov g(1) = 2 и g(-1) = 2197... Пока всё верно? для теста пока пойдёт и он "итератора" то, про который я говорил - 22052583 , у нас пока так и нет соответственно x=14 + i*p ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 09:34 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) исходя из правила умножения получаем: x = [[v2 -1 ]| p * v1] | p + i*p kealon(Ruslan) все делители n будут лежать в множестве [g(1) ^ x] | p^2 Но если следовать этой логике: для p = 11 быстро найдем (что-то), хотя n должно быть меньше р. а для р = 2^3217-1 будем искать очень долго. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 16:50 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, ну так у нас и итератора аналитического нет. Что проще? умножать постоянно непонятно сколько или вычислить несколько вариантов пусть даже в очень большой степени? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 18:37 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
т.е. если бы мы, например, знали что все числа <p пробегаются с помощью формулы g k*a | p2 решение системы было бы тривиально ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 18:51 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) соответственно x=14 + i*p У меня получилось, что достаточно проверить i от 1 до 23, далее повтор. Какие числа "выберем" из этих 23-х чисел? Как известно, делители (множители) числа 45 - числа 5 и 9. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 20:33 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov kealon(Ruslan) соответственно x=14 + i*p У меня получилось, что достаточно проверить i от 1 до 23, далее повтор. Какие числа "выберем" из этих 23-х чисел? Как известно, делители (множители) числа 45 - числа 5 и 9. нет ????, значит наш заход неверен ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 21:50 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov А что должно получиться, если применить mod p для этой формулы? У меня получилось, что достаточно проверить i от 1 до 23, далее повтор. Какие числа "выберем" из этих 23-х чисел? Как известно, делители (множители) числа 45 - числа 5 и 9. нет ????, значит наш заход неверен А ошибка в главном: в начальной постановке вопроса kealon(Ruslan) посмотри как перемножаются числа вида vp+1 в кольце p^2 [(v1 p+1) * (v2 p+1)]|p^2 = [v1* v2 p^2+(v1 + v2) p +1]|p^2 = [(v1 + v2) p +1]|p^2 Эта формула определяет числа, намного большие р. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 06:40 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Кстати, а как можно отредактировать сообщение? Чтобы не делать повторные сообщения. На этом топике было несколько таких редактирований. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 07:11 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
У тебя кнопка внизу есть. Но она доступна сразу после публикации. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 10:36 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
mayton У тебя кнопка внизу есть. Но она доступна сразу после публикации. Нашел кнопку! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 11:17 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov А ошибка в главном: в начальной постановке вопроса kealon(Ruslan) посмотри как перемножаются числа вида vp+1 в кольце p^2 [(v1 p+1) * (v2 p+1)]|p^2 = [v1* v2 p^2+(v1 + v2) p +1]|p^2 = [(v1 + v2) p +1]|p^2 Эта формула определяет числа, намного большие р. ты спросил "зачем?" я привёл это выражение, которое дополняет систему а по поводу того, что числа > p, так это произведение двух чисел мы же пытаемся получить n'*n через произведение двух чисел - если итератор пробегаетcя по всем числам, то он обязательно одним из чисел зацепит делитель либо n либо n' ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 19:51 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) мы же пытаемся получить n'*n через произведение двух чисел - если итератор пробегаетcя по всем числам, то он обязательно одним из чисел зацепит делитель либо n либо n' ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 20:49 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, так у тебя есть итератор? так что вполне ожидаемый результат ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 21:01 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov, так у тебя есть итератор? так что вполне ожидаемый результат 1. Что он ищет 2. Как он ищет (формула поиска). Так что из этого есть в задаче 22053148 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 09:20 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, эта формула даёт n'*n, даёт? даёт ... а то что подаёшь на входе фигню, и получаешь фигню - вполне закономерно ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 11:11 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov, эта формула даёт n'*n, даёт? даёт ... а то что подаёшь на входе фигню, и получаешь фигню - вполне закономерно Так ты проверял свои умозаключения или просто выплеснул мысли вслух? На форуме мне всегда говорили: сначала проверь на своём ПК, а потом сообщай остальным. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 11:26 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, неправильно понимаешь я то проверил, всё что написал, всё верно. согласен? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 13:16 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov, неправильно понимаешь я то проверил, всё что написал, всё верно. согласен? как завершается наш пример - число 45 и р = 61. Где последние расчёты, где получаемые множители? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 13:41 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, а я обещал их найти? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 20:42 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov, а я обещал их найти? Как известно: мужик сказал, ... Или метод 22053148 никуда не годится? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 21:30 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, у меня всё сходится 2^14 | p2 = 1500 31^14 | p2 = 3089 [1500 * 3089] | p2 = 855 Код: plaintext 1. 2. 3.
насчёт слева: "дай итератор степенной, гуляющий по числам < p" ..., есть ???? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 22:32 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Составил программу факторизации с помощью метода с использованием непрерывных дробей. https://old.kpfu.ru/f9/bibl/Monograph_ishm.pdf Исходное 11111 = 41*271. Перебираю разные простые числа вместо 41 и всё получается. А на числе 13 - не получается. Интересно! И на числах 23, 53, 73,... Что-то мне подсказывает, что не "проходят" числа, у которых последняя цифра 3. Хотя прошло 11 * 283. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2020, 07:58 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Нашел у себя ошибку: не до конца прочитал условие алгоритма. Если не получилось, то надо продолжать (следующий прогон). И всё. Взял за основу перебор нечётных числ от 3 до 100 (первое число) и число 257 (второе число). Обычно множители находятся за 1 - 2 прогона. Множитель 13 найден за 14 прогонов, 71 - за 40 прогонов, 73 - за 14 прогонов, 83 - за 48 прогонов, 97 - за 53 прогона. А на 89 - программа зависла - очень много прогонов... (в результате не хватает места для одного из массивов) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2020, 20:02 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Продолжаю исследования метода с использованием непрерывных дробей. Взял за основу перебор нечётных числ от 3 до 255 (первое число) и число 257 (второе число). Наблюдаю за количеством прогонов для каждой пары чисел при определении множителей произведения этих чисел. Если количество прогонов ограничить числом 100000 (!), то получается, что невозможно найти множителей (кроме 1 и произведения двух чисел) для произведения двух чисел, когда первое число: 89, 139, 151, 181, 197, 211, 229, 239, 251 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2020, 09:45 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Немного подумал и "проскочил" 89. Например, для числа 167 необходимо 36 прогонов и здесь "фигурируют" числа в районе Е+200. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2020, 19:19 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Составил программу факторизации с помощью метода с использованием квадратичных форм. https://old.kpfu.ru/f9/bibl/Monograph_ishm.pdf Формулы похожие на формулы непрерывных дробей. Было бы интересно объединить эти два метода, однако при применении этих методов повторяются числа, по которым нельзя найти множители. Например, при переборе нечётных чисел от 3 до 1000 (первое число) и для числа 257 (второе число) не находятся множители по двум методам для чисел: 113, 191, 193, 313, ... и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 09:21 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov Составил программу факторизации с помощью метода с использованием квадратичных форм. https://old.kpfu.ru/f9/bibl/Monograph_ishm.pdf Формулы похожие на формулы непрерывных дробей. Было бы интересно объединить эти два метода, однако при применении этих методов повторяются числа, по которым нельзя найти множители. Например, при переборе нечётных чисел от 3 до 1000 (первое число) и для числа 257 (второе число) не находятся множители по двум методам для чисел: 113, 191, 193, 313, ... и т.д.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 09:42 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov Составил программу факторизации с помощью метода с использованием квадратичных форм. Было бы интересно объединить эти два метода, однако при применении этих методов повторяются числа, по которым нельзя найти множители. Например, при переборе нечётных чисел от 3 до 1000 (первое число) и для числа 257 (второе число) не находятся множители по двум методам для чисел: 113, 191, 193, 313, ... и т.д.
Эти два перечня имеют некоторое пересечение. Поэтому объединение этих методов позволит несколько уменьшить количество чисел, для которых нельзя найти множителей при использовании одного из методов. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 11:41 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Если взять число 113 х 271 = 30623, то имеем бесконечный цикл из только 5-6 чисел. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2020, 07:39 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov Если взять число 113 х 271 = 30623, то имеем бесконечный цикл из только 5-6 чисел. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2020, 10:49 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone Gennadiy Usov Если взять число 113 х 271 = 30623, то имеем бесконечный цикл из только 5-6 чисел. Помогло 2 и 23, дальше из простых не смотрел. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2020, 11:26 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Проверка показала, что для каждого простого числа, на которое умножается искомое число, существует свой перечень не определяемых чисел. Эти перечни могут пересекаться, а могут и не пересекаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2020, 12:35 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
При составлении алгоритмов всегда было интересно: какие операции на ПК выполняются быстрее? А если вместо одного возведения в квадрат выполнять несколько сложений? и т.д. Сделал тест на питоне в виде цикла от 1 до 10000000. Сам цикл (чистый) занимает 0,59 сек. Если в цикле одно сложение (2**100-1) + (2**101-1), то время работы 1,23 сек. Если в цикле одно умножение (2**100-1) * (2**101-1), то время работы 1,56 сек. Если в цикле одно действие по остатку (2**100-1) % (3**20), то время работы 3,17 сек. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2020, 19:12 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Усов. Бросай свои числа. Go-go решать задачи. https://www.sql.ru/forum/1321195/zadacha-s-korobkami-iz-vetki-pro-terver ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2020, 19:58 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov Составил программу факторизации с помощью метода с использованием квадратичных форм. https://old.kpfu.ru/f9/bibl/Monograph_ishm.pdf Формулы похожие на формулы непрерывных дробей. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 15:30 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone Gennadiy Usov Составил программу факторизации с помощью метода с использованием квадратичных форм. https://old.kpfu.ru/f9/bibl/Monograph_ishm.pdf Формулы похожие на формулы непрерывных дробей. Но еще неплохо бы понимать теорию, почему он вообще работает. Почему в первом цикле должна встретится квадратная форма? Почему во втором цикле должна встретиться неоднозначная форма, и почему из ее коэффициентов можно найти делитель? Методы работают не для всех чисел, но для многих чисел работают, и то хорошо. Влезать в теорию алгоритма пока нецелесообразно, поскольку не понятно: а зачем? Осталось понять: а как эти методы применить, если применять. Если применять, то можно влезать в алгоритмы. Или это остаётся экзотикой. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 16:02 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Решил продолжить исследования 22060146 времени работы операций на ПК (Питон): Получились коэффициенты: сложение - 12 умножение - 12 остаток по модулю - 24 корень квадратный - 55 по-битовое определение единичек в числе - 8 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 19:13 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Работаю в Питоне. Заметил, что программа "ошибается" при делении на 2 для чисел около 10^18. 398222426974351438 199111213487175712 Что посоветуете? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 20:27 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov Заметил, что программа "ошибается" при делении на 2 для чисел около 10^18. 398222426974351438 199111213487175712 Что посоветуете? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 00:12 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov Работаю в Питоне. Заметил, что программа "ошибается" при делении на 2 для чисел около 10^18. 398222426974351438 199111213487175712 Что посоветуете? Python пытается вывести тип данных из текста который ты лупишь. Смотри. Ввожу просто разные числа. Разной длины. И с десятичной точкой и без. Код: python 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Если выводимый тип - неудачен - то дальше вся цепочка вычислений будет нехорошей. Типы данных - это самая первая наука которую учат на уроках информатики. И контроль за ними должен быть предельно жёстким. Как только ты объявляешь переменную - ты должен знать какие числа в ней будут лежать. Целые или вещественные. И если целые то какой максимальный диспазон надо обеспечить. В последней строке я попытался Питону объявить что единичка имеет тип long. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 00:58 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
У меня Python 3.7.4. И в нём нет "long". Пробую дальше. Вместо / поставил // и получилось. И результат становится int (как положено). То есть: не int (a/2), a a // 2 Хотя // должен отбрасывать дробные части, ещё уменьшая целое число. В справочниках: "Получение целой части от деления" ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2020, 06:44 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Изучаю китайскую ттеорему об остатках. Нашел: http://vuz.exponenta.ru/PDF/book/ChinaT.html посмотрел на поиск yi... mayton, поиск yi ничего не напоминает? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2020, 11:42 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Нет ничего не напоминает. Я давно уже не слежу за твоими числовыми исследованиями. Мне они пока неинтересны. Я целиком в графовых задачах и в изучении ФП. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2020, 12:04 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
mayton Я целиком в графовых задачах ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2020, 12:24 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
mayton Нет ничего не напоминает. Я давно уже не слежу за твоими числовыми исследованиями. Мне они пока неинтересны. Я целиком в графовых задачах и в изучении ФП. Поворачиваем доску на 90 градусов и находим решение с одного шага. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2020, 12:28 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov mayton Нет ничего не напоминает. Я давно уже не слежу за твоими числовыми исследованиями. Мне они пока неинтересны. Я целиком в графовых задачах и в изучении ФП. Поворачиваем доску на 90 градусов и находим решение с одного шага. Я-бы был рад в это поверить если не другой факт. Этой задачей занимались много лет и никто не доказал существование полиномиального решения для остаточной расстановки. Зачем мы тревожим труп? Пускай себе лежит. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2020, 13:15 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
mayton, ты столько потревожил ...., этих, на форуме "Программирование", что одним больше, одним меньше... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2020, 14:57 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Вот я раскаялся в этих действиях и ушел в Тибет читать молитвы графы решать графовые задачи на ФП. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2020, 15:21 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov Найти решение системы сравнений x=2(mod 5), x=15(mod 17), x=5(mod 12). Код: python 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2020, 07:01 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone, спасибо за программу! А при прогоне идут ошибки компиляции... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2020, 07:23 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov А при прогоне идут ошибки компиляции... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2020, 07:38 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python2.7/py_compile.py", line 117, in compile raise py_exc py_compile.PyCompileError: File "prog.py", line 36 nonlocal mod_mults, p_mods ^ SyntaxError: invalid syntax При копировании прошла сдвижка влево на 6 позиций. Стрелка под s. А в Python 3.7.4 прошло! 797 >>> ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2020, 07:44 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Получилась интересная ситуация с китайской теоремой. С первого раза находится число, если оно меньше произведения всех модулей. Далее надо прибавлять это произведение модулей до нахождения нужного. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2020, 07:30 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, Гугли "система остаточных классов" ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2020, 21:43 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Кстати, а какое соотношение между площадью и периметром прямоугольника? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 07:58 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov Кстати, а какое соотношение между площадью и периметром прямоугольника? Никакого ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 08:05 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov Кстати, а какое соотношение между площадью и периметром прямоугольника? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 09:00 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Если z = f(x,y) = x * y/[2(x + y)] то это поверхность близкая к плоскости, и вдоль прямой x = y эта поверхность рвётся и улетает либо в минус бесконечность либо в плюс. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 10:23 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov Кстати, а какое соотношение между площадью и периметром прямоугольника? А потому что это отношение похоже на задачу факторизации. N = A**2 - B**2, N = x*y, A = (x + y)/2 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 10:44 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, оно даже больше, чем похоже fi(p1*p2) = (p1 - 1) (p2 - 1) = p1 * p2 + 1 - (p1 + p2) но я уже где-то показывал, что размеры нашей вселенной ничто в сравнении цифрами, используемыми даже в текущей криптографии ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2020, 21:30 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov, оно даже больше, чем похоже fi(p1*p2) = (p1 - 1) (p2 - 1) = p1 * p2 + 1 - (p1 + p2) но я уже где-то показывал, что размеры нашей вселенной ничто в сравнении цифрами, используемыми даже в текущей криптографии 2^N = 2^(x + y - 1) mod(N), где N = x * y - только два множителя. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2020, 09:03 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, я могу ещё более весомое утверждение дать, в силу отсутствия собственного корня при x<>y Код: plaintext
только толку от этого мало ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 13:50 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov, я могу ещё более весомое утверждение дать, в силу отсутствия собственного корня при x<>y Код: plaintext
а числа от 1 до (x + y)/2 при переборе 2^. А если N +1 можно делить ещё раз на 2 (и не один раз), то ещё меньше чисел придётся перебирать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 14:49 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov kealon(Ruslan) Gennadiy Usov, я могу ещё более весомое утверждение дать, в силу отсутствия собственного корня при x<>y Код: plaintext
а числа от 1 до (x + y)/2 при переборе 2^. А если N +1 можно делить ещё раз на 2 (и не один раз), то ещё меньше чисел придётся перебирать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 17:16 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov А если N +1 можно делить ещё раз на 2 (и не один раз), то ещё меньше чисел придётся перебирать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 17:58 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Gennadiy Usov Чем хорошо это уравнение, так это в том, что перебираются не числа от 1 до x + y, а числа от 1 до (x + y)/2 при переборе 2^. А если N +1 можно делить ещё раз на 2 (и не один раз), то ещё меньше чисел придётся перебирать. Будет верно для (N +1)/4, если (N +1)/8 - чётное. И так далее. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 20:28 |
|
Немного о факторизации
|
|||
---|---|---|---|
#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 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
И это прекрасно. Очередное доказательство того, "какая гадость - эта ваша"(цэ) смердепедия. Сколько уже можно наталкиваться на некомпетентность? Кто-то продолжает думать, что статьи не заказные, что их пишут не по заданию, не штатные писатели, к-рым одинаково равно что Гегель, что Гоголь, что пишут их компетентные специалисты? Жду желающих исправить статью)) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2020, 22:31 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov https://ru.wikipedia.org/wiki/P?1-метод_Полларда В этой статье спутаны 2 понятия. Сначала - "сильные простые числа" А потом - "Пусть N B-гладкостепенное" Разница есть? авторИменно появление данного алгоритма привело к изменению понятия сильного простого числа, используемого в криптографии, нестрого говоря, простого числа, для которого p-1 имеет достаточно большие делители. авторПусть N B-гладкостепенное это собственно и является условием применимости данного алгоритма а так же и появившимся в криптографии, после открытия этого метода критерием НЕ "сильного простого числа" ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2020, 00:13 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Прочитал - "гладкоствольное". Воистину могуч... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2020, 12:46 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Тут мы говорим о сильных числах, о том, что (р – 1) - метод Полларда не способен работать с сильными числами. А вот и нет. Пример: N = 668027303194148809 * 9929 Здесь сомножители делителей числа N и (р-1), и (р+1) [2, 2, 2, 17, 73] [2, 2, 2, 2, 2, 2, 2, 2, 5, 47, 373, 2998279] [2, 3, 5, 331] [2, 3, 3, 109, 18401, 1863581] Чтобы определить делитель 668027303194148809, необходимо определить делитель 9929. Иначе нельзя. Однако, если задать в (р – 1) - методе Полларда для произведения М только один сомножитель 2^8, то (р – 1) - метод Полларда первым определяет делитель: 668027303194148809 Спрашивается: число 668027303194148809 сильное число относительно числа 9929? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2020, 13:19 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Gennadiy Usov, авторИменно появление данного алгоритма привело к изменению понятия сильного простого числа, используемого в криптографии, нестрого говоря , простого числа, для которого p-1 имеет достаточно большие делители.опять могучий и великий... что-то мне говорит, что не обязательно число с мелкими делителями для p-1 будет хорошо факторизовываться этим методом вот в замечании более сильное условие есть тынц авторС помощью данного метода мы сможем найти только такие простые делители ... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2020, 20:20 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) что-то мне говорит, что не обязательно число с мелкими делителями для p-1 будет хорошо факторизовываться этим методом вот в замечании более сильное условие есть тынц авторС помощью данного метода мы сможем найти только такие простые делители ... Самое важное: сомножители "определяют" не делители числа, а те (2^М - 1), которые в дальнейшем "определят" делителей. Видите разницу! Вот что забыли в методе! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2020, 21:30 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Есть ещё интересный пример: 2^ 97 – 1 = 11447 * 13842607235828485645766393 11447 – 1 = 2 * 59 * 97 13842607235828485645766393 – 1 = 2^3 * 97 * 1297 *13753593975618284111 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2020, 07:31 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Пример 22195171 , в котором повторяется число 97 в делителях, может быть только с простыми числами. Здесь - 97. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2020, 12:56 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Какое простое число более сильное: р = 12000047, (р - 1) = 2 * 6000023, 6000023 - простое число или р = 12000071, (р - 1) = 2 * 5 * 1200007, 1200007 - простое число Конечно, относительно В1 = 1000000 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2020, 20:24 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Докину сюда. Проба пера еще в одном языке. Код: python 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 18:07 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
mayton, тоже докину сюда свою мысль, не могу найти как определить есть ли ненулевые целые решения у Диафантово уравнение второй степени с двумя неизвестными, вида (x r+ a) (y r + b) = c ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 22:48 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Я помню что для диофанта 1-й степени подходят генетические алгоритмы как наиболее быстрый способ поиска возможного решения. Это просто ... в голове отложилось от чтения статей по ГА. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 11:10 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) mayton, тоже докину сюда свою мысль, не могу найти как определить есть ли ненулевые целые решения у Диафантово уравнение второй степени с двумя неизвестными, вида (x r+ a) (y r + b) = c ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 12:00 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone Начать с факторизации c? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 13:10 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) вида (x r+ a) (y r + b) = c ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 17:56 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
exp98 kealon(Ruslan) вида (x r+ a) (y r + b) = c Напоминает криптографию. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 18:15 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
exp98 kealon(Ruslan) вида (x r+ a) (y r + b) = c да мне как бы и не решение нужно, а проверка есть ли оно ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 18:57 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Если сделать такое преобразование. Код: sql 1.
И искать минимум этой функции через симуляцио отжига. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 20:29 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
mayton, не-не, цифры очень большие, симуляции или разложение на множители явно не подойдут простым проверкам типа (a*b) mod r = c mod r уравнение удовлетворяет в p-адических числах решение тоже имеет, так как c - составное (состоит из произведения 3-х простых чисел) найти нужно: существует или не существует решение ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 22:31 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan), а что такое "очень большие"? Известно примерное соотношение количества бит в r, a, b, c? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 11:06 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Если сделать факторизируемое число - это упростит подобный класс задач? Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 11:13 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) простым проверкам типа (a*b) mod r = c mod r уравнение удовлетворяет ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 12:20 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone, нет конечно, если бы было легко разложить вопрос бы не возник ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 16:04 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
А про размер чисел? Хотя, есть большое подозрение, что даже умение отвечать на вопрос, существует ли решение, не давая этого решения, может сильно помочь факторизации... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 16:07 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone, ну нормальные такие, бит на тысячу-две ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 16:13 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
а порядок r ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 16:18 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone, в общем суть такая, известны простые {p1,p2, ...} про которые известно, что для (x r+ a) (y r + b) = n * П ({p1,p2, ...}) есть решение нужно выкинуть из уравнения максимальное количество pi, так что для уравнения будет существовать решение (r здесь - степень двойки) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 16:20 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Подождите, "известны простые..." и "трудно разложить на множители" это же диаметрально противоположные утверждения? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 16:26 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone Подождите, "известны простые..." и "трудно разложить на множители" это же диаметрально противоположные утверждения? a = n mod r ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 16:29 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Barlone Подождите, "известны простые..." и "трудно разложить на множители" это же диаметрально противоположные утверждения? a = n mod r ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 18:58 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone Выкинуть такое подмножество pi, что их произведение равно 1 mod r не подходит? r > n kealon(Ruslan)... есть ли ненулевые целые решения у Диафантово уравнение второй степени с двумя неизвестными, вида (x r+ a) (y r + b) = c собственно a и = n ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 21:51 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Barlone, в общем суть такая, известны простые {p1,p2, ...} про которые известно, что для (x r+ a) (y r + b) = n * П ({p1,p2, ...}) есть решение нужно выкинуть из уравнения максимальное количество pi, так что для уравнения будет существовать решение (r здесь - степень двойки) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 07:27 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) Barlone Выкинуть такое подмножество pi, что их произведение равно 1 mod r не подходит? r > n kealon(Ruslan)... есть ли ненулевые целые решения у Диафантово уравнение второй степени с двумя неизвестными, вида (x r+ a) (y r + b) = c собственно a и = nУсловие, что произведение выкидываемых равно 1 mod r очевидно необходимое, иначе сломается тождество (a*b) = c mod r ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 09:17 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone, собственно исходное уравнение такое (x r+ n) (y r + b) = n * П({Pi}) тривиальное решение при x=0, естественно не нужно r может быть и меньше n при r=2^k я всегда могу найти набор из (к - 1) простых чисел ({Pi}), при которых у этого уравнения будет хотя бы 1 ненулевое решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 10:22 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone Условие, что произведение выкидываемых равно 1 mod r очевидно необходимое, иначе сломается тождество (a*b) = c mod r ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 10:27 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
kealon(Ruslan) при r=2^k я всегда могу найти набор из (к - 1) простых чисел ({Pi}), при которых у этого уравнения будет хотя бы 1 ненулевое решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 10:49 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Barlone, в половине случаев это просто поиск простых удовлетворяющих условию Pi mod r = ([n^(fi(r1) - 1)] ^ i) mod r, i = 1..k-2 и ещё одно нужно для устранения симметрии P0 mod r = -[n^(fi(r1) - 1)] mod r, i = 1..k-2 при выполнении этих условий 1 из множителей n по модулю r можно гарантированно составить из элементов этого набора, и уравнение будет иметь ненулевое решение самое интересное: к этому же уравнению можно свести задачу о рюкзаке. была какая-то теорема, что диафантовым уравнением 2-й степени с 2-мя неизвестными можно описать любое множество чисел. наверное можно так же и другие NP-полные задачи свести к этому уравнению. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 11:36 |
|
Немного о факторизации
|
|||
---|---|---|---|
#18+
Вот небольшой рефакторинг. Некто Филипп (вот его канал https://www.youtube.com/channel/UC3xdLFFsqG701QAyGJIPT1g) x divisors $ tail primesVals primes - пускай побудет в видимости модуля. Может еще для чего пригодится. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 11:32 |
|
|
start [/forum/topic.php?all=1&fid=16&tid=1339626]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
175ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
145ms |
get tp. blocked users: |
2ms |
others: | 47ms |
total: | 416ms |
0 / 0 |