Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_2 криптограф чн нструменти.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
224.77 Кб
Скачать

Лабораторна робота №10

Тема:Визначення псевдопростих чисел Ейлера

Мета: Навчитися визначати псевдопрості числа Ейлера

Теоретичні відомості.

Критерій Ейлера стверджує, що якщо п - непарне просте число, то для всіх виконується конгруенція . Непарне п, котре задовольняє цю конгруенцію, але не є простим, називається псевдопростим числом Ейлера за основою х.

Завдання.

1. Програмно реалізувати визначення псевдопростих Ейлера.

2. Визначити будь-які два псевдопрості числа Ейлера.

Лабораторна робота №11

Тема:Тест простоти Міллера-Рабіна

Мета: Навчитися використовувати ймовірнісний тест простоти Міллера-Рабіна

Теоретичні відомості.

Тест Міллера-Рабіна ймовірнісний і є формальним підсиленням тесту Соловея-Штрассена із вдвічі кращою оцінкою помилки. Розглянемо сам тест: Вхід: п - непарне натуральне число, .

  1. Вибрати випадкове х таке, що 1 <х<п.

  2. Якщо НСД(х, п) 1, то зупинитись з резолюцією "п складене", інакше продовжувати.

  3. Обчислити .

  4. Якщо , то зупинитись з резолюцією "просте", інакше продовжувати.

  5. Обчислювати , доки не виявиться, що

  6. Якщо , то зупинитись з резолюцією "складене", а якщо , то зупинитись з резолюцією "просте".

Завдання.

  1. Програмно реалізувати алгоритм Міллера-Рабіна.

  2. Знайти всі прості числа на відрізку [800;900].

Лабораторна робота №12

Тема: Генерування випадкового простого числа заданого порядку

Мета: Навчитися генерувати прості числа заданого порядку

Теоретичні відомості.

Вибирається випадкове натуральне число п заданого порядку. Далі перебираються числа п+1, п+2, п+3 і т.д., кожне з яких випробовується обраним тестом простоти. Цей процес продовжується поки чергове число n+m не витримає тест. Воно й береться в якості шуканого простого.

Завдання.

  1. Програмно реалізувати алгоритм генерування простого числа заданого порядку.

  2. Згенерувати випадкове просте число дванадцятого порядку.

Лабораторна робота №13

Тема: Добування квадратного кореня за простим модулем

Мета: Навчитися добувати квадратний корінь за простим модулем

Теоретичні відомості.

З означення квадратного кореня його значення у існує лише тоді, коли х - квадратичний лишок за модулем р, а оскільки квадратичність за простим модулем розпізнається ефективно, то можемо обмежитись згаданим випадком (х -квадратичний лишок за модулем р). У наступних двох часткових випадках задача розв'язується детермінованим чином.

Випадок 1: р=4m+3.

Значення y шукаємо за формулою .

Випадок 2: p=8m+5.

Обчислюємо значення . Якщо отримуємо значення 1, то . В іншому випадку (отримується значення -1), то .

Завдання.

1. Програмно реалізувати алгоритм добування квадратного кореня за простим модулем.

2. Обчислити .

Лабораторна робота №14

Тема: Добування квадратного кореня за модулем n=pq

Мета: Навчитися добувати квадратний корінь за модулем n=pq

Теоретичні відомості.

Нехай n=pq є добутком двох різних непарних простих чисел. Припустимо, що число х взаємно просте з п, і позначимо , . Тоді мають місце такі факти.

1) Якщо у задовільняє конгруенцію

(1)

то лишки

, (2)

задовільняють конгруенції

, (3).

Навпаки, якщо у1 та у2 задовільняють конгруенцію (3), то кожне у, що задовільняє (2), задовільняє також і (1).

  1. х є квадратичним лишком за модулем п тоді і лише тоді, коли х є квадратичним лишком за кожним з модулів р і q.

  2. Якщо х є квадратичним лишком за модулем п, то конгруенція (1) має в рівно 4 різних розв'язки: у з лишками , -y з лишками , у' з лишками , та ' з лишками .

Згідно цього твердження, для того, щоб розв'язати поставлену задачу (розв'язати конгруенцію (1)), потрібно перейти від модуля п до модулів р і q. Отже, задача розпізнавання квадратичності та добування квадратного кореня за модулем n=pq зводиться до факторизації чисел виду n=pq.

Коли нам стають відомі числа р та q, ми можемо діяти наступним чином. Слід розв'язати обидві конгруенції (3) за допомогою алгоритму добування квадратного кореня за простим модулем, отримавши в результаті y1 і у2. Після цього квадратний корінь у визначається з умов (2) і Китайської теореми про остачі , де u1 i u2 ефективно знаходяться з за допомогою розширеного алгоритму Евкліда.

Завдання.

1. Програмно реалізувати алгоритм добування квадратного кореня за модулем п = pq .

2. Обчислити .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]