![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
.
З урахуванням того, що в (1.63) операція модульна, маємо
, k =1,2,... (1.64)
Якщо розкласти (1.64) як різницю квадратів, маємо
, (1.65)
причому N = P * Q.
Вираз (1.65) означає, що:
(1.66)
У випадках 1 і 2 P або Q знайти не можна. У випадках 3 та 4 маємо розв’язок.
Якщо х - у / Р, то ми можемо скористатися алгоритмом Евкліда та обчислити найбільший спільний дільник:
(1.67)
Вирази (1.67) дозволяють знайти P або Q.
1. Нехай N – число, яке необхідно факторизувати. Побудуємо деяку базу , з таким значенням, щоб
, де
– прості числа невеликого розміру, Z – база двійкового решета.
2. Знайдемо , округливши знизу. Потім побудуємо числа виду
і знайдемо
. У результаті отримаємо рівняння:
.
Таким чином, ми маємо
.
Приклад.
Нехай N =209. Факторизуємо N, використавши квадратичне решето.
Побудуємо базу .
Знайдемо . Результати зведемо в таблицю 1.2.
Таблиця 1.2 – Результати
I | ![]() | ![]() | |||||
.. .. | 1+14=15 | ![]() ![]() ![]() | - | - - - - | - - - | - - - - | + - + + |
Ми знайшли два числа Х =15 та Y =4 таких, що
.
Знайшовши НСД для х - у маємо
.
Значить Р =19. Далі знаходимо Q = N / P =209/19=11.
На практиці при великих N матриця таблиці має дуже великий розмір. Так для таблиця має розмір
. Потім комбінуючи рядки, у яких розкладання виконане за базисом можна домогтися, що
, знайшовши таким чином Х та Y.
Дата публикования: 2015-01-14; Прочитано: 328 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!