Хочу представить вашему вниманию один из вариантов алгоритма факторизации составного числа.
Как уже отмечалось [1], существуют закономерности в распределении значений квадратичных остатков как для простых, так и для составных чисел.
Следует привести известную зависимость [2].
Если число А , целое, положительное, равно произведению простых чисел а И б , то всегда найдутся такие два числа с И д , Что с 2 –д 2 = А или с 2 –д 2 = нА , Где н целое число от 1 до (А–1) .
В которой, с 2 –д 2 = (с + d)(c – d) , т.е.
(в+г) И (CD) кратные делителям а И б .
Для упрощения рассмотрим матрицу остатков составного числа А=35 , как и в [1], показано на рис.
1.
34 | 1 | 34 | 1 | 34 | 1 | 34 | 1 | 34 | 1 | 34 | 1 | 34 | 1 | 34 | 1 | 34 | 1 | 34 | 1 | 34 | 1 | 34 | 1 | 34 | 1 | 34 | 1 | 34 | 1 | 34 | 1 | 34 | 1 |
33 | 4 | 27 | 16 | 3 | 29 | 12 | 11 | 13 | 9 | 17 | 1 | 33 | 4 | 27 | 16 | 3 | 29 | 12 | 11 | 13 | 9 | 17 | 1 | 33 | 4 | 27 | 16 | 3 | 29 | 12 | 11 | 13 | 9 |
32 | 9 | 8 | 11 | 2 | 29 | 18 | 16 | 22 | 4 | 23 | 1 | 32 | 9 | 8 | 11 | 2 | 29 | 18 | 16 | 22 | 4 | 23 | 1 | 32 | 9 | 8 | 11 | 2 | 29 | 18 | 16 | 22 | 4 |
31 | 16 | 6 | 11 | 26 | 1 | 31 | 16 | 6 | 11 | 26 | 1 | 31 | 16 | 6 | 11 | 26 | 1 | 31 | 16 | 6 | 11 | 26 | 1 | 31 | 16 | 6 | 11 | 26 | 1 | 31 | 16 | 6 | 11 |
30 | 25 | 15 | 30 | 25 | 15 | 30 | 25 | 15 | 30 | 25 | 15 | 30 | 25 | 15 | 30 | 25 | 15 | 30 | 25 | 15 | 30 | 25 | 15 | 30 | 25 | 15 | 30 | 25 | 15 | 30 | 25 | 15 | 30 |
29 | 1 | 29 | 1 | 29 | 1 | 29 | 1 | 29 | 1 | 29 | 1 | 29 | 1 | 29 | 1 | 29 | 1 | 29 | 1 | 29 | 1 | 29 | 1 | 29 | 1 | 29 | 1 | 29 | 1 | 29 | 1 | 29 | 1 |
28 | 14 | 7 | 21 | 28 | 14 | 7 | 21 | 28 | 14 | 7 | 21 | 28 | 14 | 7 | 21 | 28 | 14 | 7 | 21 | 28 | 14 | 7 | 21 | 28 | 14 | 7 | 21 | 28 | 14 | 7 | 21 | 28 | 14 |
27 | 29 | 13 | 1 | 27 | 29 | 13 | 1 | 27 | 29 | 13 | 1 | 27 | 29 | 13 | 1 | 27 | 29 | 13 | 1 | 27 | 29 | 13 | 1 | 27 | 29 | 13 | 1 | 27 | 29 | 13 | 1 | 27 | 29 |
26 | 11 | 6 | 16 | 31 | 1 | 26 | 11 | 6 | 16 | 31 | 1 | 26 | 11 | 6 | 16 | 31 | 1 | 26 | 11 | 6 | 16 | 31 | 1 | 26 | 11 | 6 | 16 | 31 | 1 | 26 | 11 | 6 | 16 |
25 | 30 | 15 | 25 | 30 | 15 | 25 | 30 | 15 | 25 | 30 | 15 | 25 | 30 | 15 | 25 | 30 | 15 | 25 | 30 | 15 | 25 | 30 | 15 | 25 | 30 | 15 | 25 | 30 | 15 | 25 | 30 | 15 | 25 |
24 | 16 | 34 | 11 | 19 | 1 | 24 | 16 | 34 | 11 | 19 | 1 | 24 | 16 | 34 | 11 | 19 | 1 | 24 | 16 | 34 | 11 | 19 | 1 | 24 | 16 | 34 | 11 | 19 | 1 | 24 | 16 | 34 | 11 |
23 | 4 | 22 | 16 | 18 | 29 | 2 | 11 | 8 | 9 | 32 | 1 | 23 | 4 | 22 | 16 | 18 | 29 | 2 | 11 | 8 | 9 | 32 | 1 | 23 | 4 | 22 | 16 | 18 | 29 | 2 | 11 | 8 | 9 |
22 | 29 | 8 | 1 | 22 | 29 | 8 | 1 | 22 | 29 | 8 | 1 | 22 | 29 | 8 | 1 | 22 | 29 | 8 | 1 | 22 | 29 | 8 | 1 | 22 | 29 | 8 | 1 | 22 | 29 | 8 | 1 | 22 | 29 |
21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 | 21 |
20 | 15 | 20 | 15 | 20 | 15 | 20 | 15 | 20 | 15 | 20 | 15 | 20 | 15 | 20 | 15 | 20 | 15 | 20 | 15 | 20 | 15 | 20 | 15 | 20 | 15 | 20 | 15 | 20 | 15 | 20 | 15 | 20 | 15 |
19 | 11 | 34 | 16 | 24 | 1 | 19 | 11 | 34 | 16 | 24 | 1 | 19 | 11 | 34 | 16 | 24 | 1 | 19 | 11 | 34 | 16 | 24 | 1 | 19 | 11 | 34 | 16 | 24 | 1 | 19 | 11 | 34 | 16 |
18 | 9 | 22 | 11 | 23 | 29 | 32 | 16 | 8 | 4 | 2 | 1 | 18 | 9 | 22 | 11 | 23 | 29 | 32 | 16 | 8 | 4 | 2 | 1 | 18 | 9 | 22 | 11 | 23 | 29 | 32 | 16 | 8 | 4 |
17 | 9 | 13 | 11 | 12 | 29 | 3 | 16 | 27 | 4 | 33 | 1 | 17 | 9 | 13 | 11 | 12 | 29 | 3 | 16 | 27 | 4 | 33 | 1 | 17 | 9 | 13 | 11 | 12 | 29 | 3 | 16 | 27 | 4 |
16 | 11 | 1 | 16 | 11 | 1 | 16 | 11 | 1 | 16 | 11 | 1 | 16 | 11 | 1 | 16 | 11 | 1 | 16 | 11 | 1 | 16 | 11 | 1 | 16 | 11 | 1 | 16 | 11 | 1 | 16 | 11 | 1 | 16 |
15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 | 15 |
14 | 21 | 14 | 21 | 14 | 21 | 14 | 21 | 14 | 21 | 14 | 21 | 14 | 21 | 14 | 21 | 14 | 21 | 14 | 21 | 14 | 21 | 14 | 21 | 14 | 21 | 14 | 21 | 14 | 21 | 14 | 21 | 14 | 21 |
13 | 29 | 27 | 1 | 13 | 29 | 27 | 1 | 13 | 29 | 27 | 1 | 13 | 29 | 27 | 1 | 13 | 29 | 27 | 1 | 13 | 29 | 27 | 1 | 13 | 29 | 27 | 1 | 13 | 29 | 27 | 1 | 13 | 29 |
12 | 4 | 13 | 16 | 17 | 29 | 33 | 11 | 27 | 9 | 3 | 1 | 12 | 4 | 13 | 16 | 17 | 29 | 33 | 11 | 27 | 9 | 3 | 1 | 12 | 4 | 13 | 16 | 17 | 29 | 33 | 11 | 27 | 9 |
11 | 16 | 1 | 11 | 16 | 1 | 11 | 16 | 1 | 11 | 16 | 1 | 11 | 16 | 1 | 11 | 16 | 1 | 11 | 16 | 1 | 11 | 16 | 1 | 11 | 16 | 1 | 11 | 16 | 1 | 11 | 16 | 1 | 11 |
10 | 30 | 20 | 25 | 5 | 15 | 10 | 30 | 20 | 25 | 5 | 15 | 10 | 30 | 20 | 25 | 5 | 15 | 10 | 30 | 20 | 25 | 5 | 15 | 10 | 30 | 20 | 25 | 5 | 15 | 10 | 30 | 20 | 25 |
9 | 11 | 29 | 16 | 4 | 1 | 9 | 11 | 29 | 16 | 4 | 1 | 9 | 11 | 29 | 16 | 4 | 1 | 9 | 11 | 29 | 16 | 4 | 1 | 9 | 11 | 29 | 16 | 4 | 1 | 9 | 11 | 29 | 16 |
8 | 29 | 22 | 1 | 8 | 29 | 22 | 1 | 8 | 29 | 22 | 1 | 8 | 29 | 22 | 1 | 8 | 29 | 22 | 1 | 8 | 29 | 22 | 1 | 8 | 29 | 22 | 1 | 8 | 29 | 22 | 1 | 8 | 29 |
7 | 14 | 28 | 21 | 7 | 14 | 28 | 21 | 7 | 14 | 28 | 21 | 7 | 14 | 28 | 21 | 7 | 14 | 28 | 21 | 7 | 14 | 28 | 21 | 7 | 14 | 28 | 21 | 7 | 14 | 28 | 21 | 7 | 14 |
6 | 1 | 6 | 1 | 6 | 1 | 6 | 1 | 6 | 1 | 6 | 1 | 6 | 1 | 6 | 1 | 6 | 1 | 6 | 1 | 6 | 1 | 6 | 1 | 6 | 1 | 6 | 1 | 6 | 1 | 6 | 1 | 6 | 1 |
5 | 25 | 20 | 30 | 10 | 15 | 5 | 25 | 20 | 30 | 10 | 15 | 5 | 25 | 20 | 30 | 10 | 15 | 5 | 25 | 20 | 30 | 10 | 15 | 5 | 25 | 20 | 30 | 10 | 15 | 5 | 25 | 20 | 30 |
4 | 16 | 29 | 11 | 9 | 1 | 4 | 16 | 29 | 11 | 9 | 1 | 4 | 16 | 29 | 11 | 9 | 1 | 4 | 16 | 29 | 11 | 9 | 1 | 4 | 16 | 29 | 11 | 9 | 1 | 4 | 16 | 29 | 11 |
3 | 9 | 27 | 11 | 33 | 29 | 17 | 16 | 13 | 4 | 12 | 1 | 3 | 9 | 27 | 11 | 33 | 29 | 17 | 16 | 13 | 4 | 12 | 1 | 3 | 9 | 27 | 11 | 33 | 29 | 17 | 16 | 13 | 4 |
2 | 4 | 8 | 16 | 32 | 29 | 23 | 11 | 22 | 9 | 18 | 1 | 2 | 4 | 8 | 16 | 32 | 29 | 23 | 11 | 22 | 9 | 18 | 1 | 2 | 4 | 8 | 16 | 32 | 29 | 23 | 11 | 22 | 9 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 Матрица остатков составного числа А = 35. Свойства разности квадратов составного числа А привести к некоторым цифрам е , квадратичные остатки числа А , второй столбец (рис.
1), равны полному квадрату меньшего числа А .
Числа в первом столбце (рис.
1), равноудаленные от номера е по значению квадратного корня из е , кратные делителям числа А .
Например, для числа 17 , первый столбец (рис.
1), квадратичный остаток, столбец 2, равен 9 .
Требуется от 9 извлеките квадратный корень и прибавьте его к 17 и забери его у 17 .
Мы получаем, (17 + 3 = 20) , 20 деленное на 4 равно 5 , (17 – 3 = 14) , 14 деленное на 2 равно 7 .
Полученные номера 20 И 14 кратные делителям числа А , из них, используя Алгоритм Евклида[3], всегда можно найти делители числа А .
Аналогичные результаты будут получены и для других чисел, квадратичные остатки которых равны идеальному квадрату.
Для 24 , квадратичный остаток равен 16 , а числа, кратные делителям, равны (24 +4 = 28) И (24 – 4 = 20) .
Следует отметить, что квадратичные остатки (рис.
1), столбец 2, сгруппированы симметрично вокруг середины числового интервала числа А , т.е.
относительно чисел (А+1)/2 И (А – 1)/2 , и всегда иметь четыре повторяющихся значения во всем числовом диапазоне первого столбца.
Для номера А=35 (рис.
1), это значения 1, 4, 9, 11, 16, 29 .
Числа, у которых в каждой половине числового интервала числа А , значения квадратичных остатков совпадают и подтверждают следующие закономерности.
Если складывать и вычитать числа с равными квадратичными остатками друг от друга, мы получим числа, кратные делителям числа.
А , т.е.
а И б .
Для чисел 16 И 9 (рис.
1) квадратичный остаток равен 11 .
Давайте добавим 16 И 9 , мы получаем 25 , разделять 25 на 5 , мы получаем 5 .
От 16 вычесть 9 , мы получаем 7 .
Найденные значения кратны делителям числа А .
Чтобы найти числа с одинаковыми квадратичными остатками, рассмотрим еще одно свойство таблицы (рис.
1).
Относительно середины числового интервала А , то есть числа (А + 1)/2 И (А – 1)/2 , квадратичные остатки (рис.
1), столбец 2, увеличиваются на значение арифметической прогрессии.
Остаток 17 , в квадрате, разделенный на 35 , равно 9 .
Для 16 остаток 11 , Для 15 остаток 15 , Для 14 остаток 21 , Для 13 остаток 29 , Для 12 остаток 4 .
Оказывается 9 + 2 = 11 , 11 + 4 = 15 , 15 + 6 = 21 , 21 + 8 = 29 , 29 + 10 = 39 , деленное на 35 , остаток 4 .
Это характерная зависимость арифметической прогрессии.
Числа в столбце 1, имеющие одинаковые квадратичные остатки, отделены друг от друга суммой членов арифметической прогрессии, равной числу А , умножается на 2н , Где н принимает значения в диапазоне от 1 до (А – 1) .
Сумма членов арифметической прогрессии равна 2нА , не обязательно должен занимать весь диапазон числа А для чисел членов арифметической прогрессии и использовать первый или последний из ее членов.
Это работает следующим образом.
Число А=35 , умножить на 2 , 35 * 2 = 70 , извлеките квадратный корень из 70 , мы получаем 8 И 6 в остатке.
На номер 8 добавлять 1 и умножить на 8 , мы получаем 72 .
Число 72 это восьмая позиция прогрессии и от А умножается на 2 , то есть от 70 оно отличается на 2 единицы измерения.
Число 2 , это первая позиция прогрессии.
Требуется от (А – 1)/2 =17 еда на вынос 8 , мы получаем 9 и из 17 еда на вынос 1 , мы получаем 16 .
Для 9 И 16 , квадратичный остаток (рис.
1) равен 11 .
Дальше, 16 + 9 = 25 , 16 – 9 = 7 .
Получаются два значения, кратные делителям числа А=35 .
Больше примеров Пример 1. 2 в 11-й степени минус 1 равно 2047. 2047 = 23 * 89 Первая попытка.
2047 * 2 = 4094, Квадратный корень из 4094 = 63, остаток 125, 63*64=4032, меньше 4094, 64 * 65 = 4160, 4160 – 4094 = 66, не попадает в значения суммы членов прогрессии.
Вторая попытка.
2047 * 4 = 8188, Квадратный корень из 8188 = 90, остаток 88, 90 * 91 = 8190, 8190 – 8188 = 2, это первый член прогрессии, 2047 – 1 = 2046, 2046 / 2 = 1023, 1023 – 90 = 933, 1023 – 1 = 1022, 1022 + 933 = 1955, 1955/85 = 23, первый делитель, 1022 – 933 = 89, второй делитель.
Пример 2. 216527 = 293 * 739, Первая попытка.
216527 * 2 = 433054, Квадратный корень из 433054 = 658, остаток 90, 658 * 659 = 433622, 433622 – 433054 = 568, не попадает в значения суммы членов прогрессии.
Опустим описание неудачных попыток.
Пятая попытка.
216527 * 10 = 2165270, Квадратный корень из 2165270 = 1471, остаток 1429, 1471 * 1472 = 2165312, 2165312 – 2165270 = 42, это шестой член прогрессии.
216527 – 1 = 216526, 216526 / 2 = 108263, 108263 – 1471 = 106792, 108263 – 6 = 108257, 108257 – 106792 = 1465, 1465/5 = 293, первый делитель.
108257 + 106792 = 215049, 215049/291=739, второй делитель.
Литература.
1. «Симметрия чисел», habrahabr.ru/post/218053 .
2. «Метод факторизации Ферма».
ru.wikipedia.org/wiki/Factorization_Method_Farm 3. «Алгоритм Евклида», ru.wikipedia.org/wiki/Euclidean_Algorithm Теги: #a* #криптография #математика
-
Обновлена Платформа Тестирования Google.
19 Oct, 24