Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Представимо (1.63) у вигляді



.

З урахуванням того, що в (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; Прочитано: 304 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...