Мегаобучалка Главная | О нас | Обратная связь


Методы случайных квадратов



2015-12-04 518 Обсуждений (0)
Методы случайных квадратов 0.00 из 5.00 0 оценок




Пусть n – нечетное составное число, не являющееся степенью целого числа. Методы случайных квадратов – это группа методов, основанная на следующей идее:

Пусть n – нечетное составное число, не являющееся степенью целого числа. Целые x, y – такие случайные числа, что x2≡y2(mod n), x ±y(mod n). Тогда n\(x2—y2), но n не делит ни (x+y), ни (x—y), а значит НОД(x—y,n) – нетривиальный делитель n.

Методы случайных квадратов ищут случайным образом числа x, y: x2≡y2(mod n), а затем проверяют, что x ±y(mod n).

Замечание: Если x, y – случайные числа, такие что x2≡y2(mod n), то P(x ±y(mod n)) ≤ 1/2. Действительно, сравнение a≡x2(mod n) имеет 2k различных корней, если n имеет k различных простых делителей, 2k2 из которых подходят к вероятности.

Общий подход к поиску чисел x, y таков: выбирается факторная база S={p1, p2, … , pt}. Как правило, это t первых простых чисел.

Случайно выбирается несколько чисел ai, вычисляются числа bi=ai2 mod n и разлагается по факторной базе bi= . Те числа bi, которые разложить по базе S не удалось, из дальнейшего рассмотрения исключаются. Всего требуется t+1 пара (ai, bi).

Затем из чисел bi составляется такое произведение B= , ci {0,1}, что B оказывается полным квадратом (то есть mod 2=0 для всех j). Вектор c находится путем решения соответствующей системы сравнений. Тогда

x= , y= .

Очевидно, данная пара удовлетворяет сравнению x2≡y2(mod n). Если она удовлетворяет еще и условию x ±y(mod n), то НОД(x—y,n) есть нетривиальный делитель n. Иначе следует повторить данный метод, выбрав другие пары (ai, bi).

 


Алгоритмы дискретного логарифмирования.

Проблема дискретного логарифмирования в группе Zp* состоит в следующем: пусть p – простое число, g – порождающий элемент группы Zp* (или, иначе, примитивный корень по модулю p), a=gx (mod p). Пусть известны g, p, a, но неизвестно x. Требуется найти x, или, иначе, logga mod (p—1), то есть вычислить дискретный логарифм.

В отличие от логарифма непрерывного, дискретный логарифм не является дифференцируемой монотонной функцией, его нельзя найти приближенно, разложив в ряд Тейлора, и вообще никакого приближенного значения здесь не может быть, ведь x – целое число.

Дискретное логарифмирование считается сложной проблемой. С этой проблемой связаны и другие теоретико-числовые проблемы, такие как проблема Диффи-Хеллмана, логарифмирование в Zn. Если удастся решить проблему дискретного логарифма, то приведенные задачи решаются за полиномиальное время.

 

Метод прямого поиска.

Этот наивный метод является самым трудоемким, он требует O(n) умножений, то есть обладает экспоненциальной сложностью. Состоит он в следующем: вычисляются g0, g1, g2,…, gp—1 пока не попадется gi≡a(mod p). Полученное i будет искомым дискретным логарифмом i=logga (mod p—1).

Пример

p=23, g=5, a=19.

i
gi mod p 19

 

Ответ: log519 mod 22 = 15.

 



2015-12-04 518 Обсуждений (0)
Методы случайных квадратов 0.00 из 5.00 0 оценок









Обсуждение в статье: Методы случайных квадратов

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (518)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)