Генерация простых чисел Миронович Светлана Юрьевна.

Презентация:



Advertisements
Похожие презентации
Желаю успеха в выполнении теста!!!. Укажите числа, кратные 9, удовлетворяющие неравенству: 142 < y ; ; ; ; 153.
Advertisements

Полиномиальный алгоритм проверки простоты числа Комалёва Ольга.
Целочисленные алгоритмы © К.Ю. Поляков, Алгоритм ЕвклидаАлгоритм Евклида 2.Решето ЭратосфенаРешето Эратосфена 3.Длинные числаДлинные числа 4.Целочисленная.
NP-полнота Теорема Кука. Полиномиальная сводимость Пусть Π 1 =(X 1,Y 1 ) и Π 2 =(X 2,Y 2 ) задачи распознавания. Будем говорить, что Π 1 полиномиально.
Вычислительные аспекты RSA. Электронная подпись Лекция 6.
Модуль 2. Математичні основи криптографії 1. Лекция 3 Хэш-функции и аутентификация сообщений. Часть 1 1. Хэш-функции. Общие понятия. 2. Хэш-функции основных.
Повторение Определите понятие Исполнитель. Приведите примеры. Определите понятие Исполнитель. Приведите примеры. Чем формальный исполнитель отличается.
Элементы теоретического программирования Что такое алгоритм?
Алгоритм
АЛГОРИТМИЧЕСКАЯ КОНСТРУКЦИЯ ВЕТВЛЕНИЕ ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ.
Тест Тест тест.
1 тест234.
Сөйлемнің түрлері! Тест сұрақтары сұрақ...
АЛГОРИТМИЧЕСКАЯ КОНСТРУКЦИЯ ВЕТВЛЕНИЕ ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ.
– 9 = 48.
Модуль 2. Математичні основи криптографії 1. Лекция 6 Криптография с использованием эллиптических кривых 1. Основные понятия 2. Способы использования.
Протокол Диффи Хеллмана Подготовил: Жембловский Алексей 4 курс 9 группа.
Является ли равенство верным: 3 · ( х + 7) = 3 х + 21? Если неверно, объясните, в чем ошибка.
выход
– 24;
Транксрипт:

Генерация простых чисел Миронович Светлана Юрьевна

Генерация простых Есть два подхода. A: проверка простоты 1. Выбираем случайно n {2^{k-1},…,2^k} 2.M(n)-ПВМТ, допускает одностороннюю ошибку. Говорит о том, является ли n вероятно простым 3. Если M(n)=1, то возвращаем n B: построение простых 1. n – натуральное специального вида (этот вид известен противнику) 2. M – специальная МТ распознавания простоты 3. Если M(n)=1, то возвратить n

Распределение простых Алгоритм проверки простоты: Вход: k N (битовая длина) Выход: n – k-битное вероятно простое Шаги: 1. случайно выбираем нач.k-битное число n 2. Для i=1,…,d: 1)Если M(n)=0, то вернуться в ш.1 3. Возвратить n Если (x) – количество простых чисел x, то (x) = x/ln(x), x

Тест Ферма n – псевдопростое по основанию а, если a^{n-1} = 1 mod n. Алгоритм теста Ферма: Вход: n N Выход: 1, если n вероятно простое, иначе 0 Шаги: 1. a {1,2,…,n-1} 2. Если (a,n) 1, то возвратить 0 3. Если a^{n-1} 1 mod n, то возвратить 0 4. Возвратить 1

Тест Рабина-Миллера n=2^s * r + 1, r нач. – сильно псевдопростое по основанию а, если: a^r = 1 mod n и a^{r*2^i} = -1mod n Алгоритм теста Миллера-Рабина: Вход: n N, n=r*2^s + 1, r нач. Выход: 1, если n вероятно простое, иначе 0 Шаги: 1. a {1,2,…,n-1} 2. Если (a,n) > 1, то возвратить 0 3. u a^r mod n 4. Если u=1 mod n, то возвратить 1 5. Для I = 0,1,…,s-1: 1)u=-1 mod n, то возвратить 1 2)u u^2 mod n 6. Возвратить 0

Построение простых Теорема Диемитко: n=qR+1, q-простое, R-четное, R < 4(q+1). Если 2^{qR} = 1 mod n и 2^R 1 mod n, то n – простое. Схема генерации: L_0 – битовая длина окончательного простого числа, L_1 = (L_0+1)/2,…, L_d = (L_(d-1)+1)/2 L_d мало (32,16). Начинаем справа, берем простое p_d битовой длины L_d. Двигаемся влево, определяем простые числа для i:d-1,…,0: p_i p_{i+1}*R_i + 1, R_i – выбрано случайно так, чтобы удовлетворять теореме Диемитко P_0 – искомое простое заданной длины