Научная литература
booksshare.net -> Добавить материал -> Математика -> Коблиц Н. -> "Курс теории чисел и криптографии" -> 77

Курс теории чисел и криптографии - Коблиц Н.

Коблиц Н. Курс теории чисел и криптографии — Москва: Научное изд-во ТВП, 2001. — 254 c.
Скачать (прямая ссылка): theory-chisel-kriptographii.djvu
Предыдущая << 1 .. 71 72 73 74 75 76 < 77 > 78 79 80 81 82 83 .. 125 >> Следующая


3. x2 - 1, x0 = 5, п = 7031.

4. x3 + x + 1, x0 = 1, п = 2701.

5. Пусть множество S состоит из г элементов, а отображение / в паре (/, хо) пробегает все биекции S на себя (т. е. / : S —> S есть взаимно однозначное соответствие S с самим собой, т. е. никакие два разных элемента не имеют одинакового

160

ГЛ. V. ПРОСТОТА И ФАКТОРИЗАЦИЯ

образа при отображении /). Как и прежде, пусть ij + i = f(xj), j = 0,1,... Для каждой пары (/, го) пусть к обозначает первый из таких индексов, для которого найдется j < к со свойством Xj = х^. Доказать, что:

а) к не превосходит г и принимает каждое значение от 1 до г с вероятностью 1 /г;

б) среднее значение для к равно (г + 1)/2 (среднее берется по всем парам (/, хо), где / — биекция).

6. Используя упражнение 5, объяснить, почему в ро-методе в качестве f(x) никогда не следует брать линейный многочлен ах + Ъ.

7. Предположим, что ро-метод используется для разложения числа, имеющего простой делитель г. В качестве функции для итерации решено взять f(x) = х2. (Это плохой выбор, что станет ясно ниже.) Нас интересует первое значение к, при котором ц, = Xj (mod г) для некоторого j < к, т.е. первое значение к, при котором не все го, xl, • ¦ ¦ , хк различны (по модулю г). Предположим, что в качестве Io выбран порождающий элемент группы (Z/rZ)*. Положим г — 1 = 2"t, где t нечетно.

а) Написать сравнение по модулю г — 1, эквивалентное соотношению хц = х\ (равенство обозначает сравнение по модулю г).

б) Найти первые значения киї, для которых выполнено условие из а), выразив ответ в терминах s и двоичного разложения дроби 1/t.

в) Сколь велико должно быть к по сравнению с г? Почему сделанный выбор функции f(x) является плохим для ро-метода?

ЛИТЕРАТУРА к §2 ГЛАВЫ V

1. Blair W.D., Lacampagne СВ., Selfridge J.L. Factoring large numbers on a pocket calculator. — Amer. Math. Monthly, 1986, v. 93, p. 802-808.

2. Brent R. P. An improved Monte Carlo factorization algorithm. — BIT, 1980, v. 20, p. 176-184.

3. Brent R. P., Pollard J. M. Factorization of the eighth Fermat number. — Math. Сотр., 1981, v. 36, p. 627-630.

4. Guy R. K. How to factor a number. — In: Proceedings of the 5th Manitoba Conference on Numerical Mathematics, 1975, p. 49-89.

5. Pollard J. M. A Monte Carlo method for factorization. — BIT, 1975, v. 15, p. 331-334.

§ 3. Факторизация Ферма и факторные базы

Факторизация Ферма. Как мы видели раньше (см. упражнение 3 к § I. 2 и упражнение 4 к § IV. 2), существует способ факторизации составного числа тг, который эффективен, если тг — произведение двух целых чисел, близких одно к другому. Этот метод, называемый «факторизацией Ферма», основывается на том факте, что п в этом случае равно разности двух квадратов, значение одного из которых очень невелико.

§ 3. ФАКТОРИЗАЦИЯ ФЕРМА И ФАКТОРНЫЕ БАЗЫ

161

Предложение V.3.I. Пусть п — натуральное число. Существует взаимно однозначное соответствие между факторизациями п в виде п = ab, где a ^ Ь > 0, и представлениями числа п в виде

2 2

t — s , где sut — неотрицательные целые числа. Это соответствие дается уравнениями:

a + b а — b

: = -, a = t + s, о = t — s.

z 2 '

Доказательство. Если дана такая факторизация, мы пи-

2 2

шем п = ab = ((а + Ь)/2) — ((а - b)/2) , таким образом, мы получаем представление в виде разности двух квадратов. Обратно, если дано

2 2

что п = t — s , мы можем разложить правую часть на множители: (t + s)(t - s). Приведенные в предложении уравнения дают в явном виде взаимно однозначное соответствие между двумя способами представления числа п.

Если п = ab, где а и b близки друг к другу, то s = (a — b)/2 мало, и таким образом, t лишь немного больше у/п. В этом случае мы можем найти а и Ь, пробуя все значения для t, начиная с [у/п\ + 1, пока не

2 2

найдем такое значение, при котором і — п = s есть полный квадрат.

Везде в дальнейшем мы будем предполагать, что п никогда не является полным квадратом; тем самым нам не нужно беспокоиться о тривиальных исключениях в тех или иных процедурах и утверждениях.

Пример 1. Разложить на множители 200819.

гешение. Имеем [\/200819] + 1 = 449. Находим, что 449 — 200819 = 782, и это не есть полный квадрат. Далее, мы пробуем t = 450: 4502 - 200819 = 1681 = 412. Итак, 200819 = 4502 - 412 = (450 + 41)(450- 41) = 491 -409.

Заметим, что если даже а и b в разложении п = ab не близки, то метод факторизации Ферма все равно найдет а и о, но только после большого числа проб для t = [у/п\ + 1, [у/Щ + 2,.. . Существует обобщение метода факторизации Ферма, которое зачастую работает лучше в такой ситуации. Мы выбираем малое к, последовательно полагаем і = [\/fcn] + 1,[VAJn] + 2 и т. д. до тех пор, пока не получим

2 2

такое t, для которого t — кп = s является полным квадратом. Тогда (t 4- s)(t - s) = кп, и, таким образом, t + s имеет с п общий нетривиальный делитель. Он может быть найден путем вычисления НОД (t+s, п).

Пример 2. Разложить на множители 141467.

Решение. Если мы попытаемся использовать факторизацию Ферма, полагая t = 377,378,..., то через некоторое время мы утомимся пробовать различные t. Однако, если мы будем пробовать t = [\/Зп]+1 = 652,..., мы скоро обнаружим, что 655 -3-141467 = 68 ;
Предыдущая << 1 .. 71 72 73 74 75 76 < 77 > 78 79 80 81 82 83 .. 125 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed