Добавил:
Допоможу чим зможу) Відсигнальте якщо знайшли шось корисне) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
55
Добавлен:
11.03.2020
Размер:
636.81 Кб
Скачать

Міністерство освіти і науки України

Національний університет “Львівська політехніка”

ІКТА

кафедра ЗІ

ЗВІТ

до лабораторної роботи №4

з курсу:“ Основи криптографії ”

на тему:“ Генерація простих чисел, що використовуються в

асиметричних системах шифрування

Виконав:

ст. гр. КБ-24

Войтович О.О.

Прийняв:

доцент

Шандра З. А.

Львів – 2019

Мета роботи: вивчення методів генерації простих чисел, що використовуються в системах шифрування з відкритим ключем, та перевірка чисел на простоту.

Завдання

    1. Перевірити на простоту два довільних цілих числа розрядністю не менше 5.

    2. Розподіл простих чисел.

Заданий інтервал виду [x, x+L]. Обрахувати кількість П(x,L) простих чисел в інтервалі і порівняти з величиною L/ln(x). При яких умовах П(x,L)/ L є близьким до 1/ ln(x) при заданих x=2000, L=500, кількість простих чисел для ділення 5 – 15, кількість основ 1 – 2?

    1. Визначити в інтервалі (1000, 1000+300) усі прості числа. Нехай L(i) –різниця між двома сусідніми простими числами. Побудувати гістограму для L(i) . Обрахувати вибіркове середнє Lсеред. Порівняти з величиною ln(x), де x – середина інтервалу. Задано: кількість простих чисел для ділення 5 – 20, кількість основ 1 – 3.

    2. Для заданого набору чисел {k} оцінити відносну похибку формули для k -го простого числа: p(k)= k/lnk, k={10,15,20,30,35}

    3. В інтервалі (500, 500+200) побудувати графік відносної кількості натуральних чисел, що проходять «решето Ератосфена», тобто таких, що не діляться на перші k простих. Розрахунок зробити для всіх k 10.

    4. Для інтервалу (1500, 1500+300):

а) розрахувати точну кількість Р0 простих чисел в інтервалі, тобто при перевірці задати тільки тест на подільність. Кількість перших простих чисел для ділення визначається з розрахунку: максимальне число для ділення дорівнює квадратному кореню з максимального значення інтервалу;

б) скласти тест з більшою, ніж у попередньому випадку, кількістю пробних ділень та двома або трьома основами в тесті Ферма. Розрахувати кількість Р2 ймовірно простих чисел , які задовольняють цьому тесту. Проаналізувати отримані результати.

4.7. Відомо, що в заданому інтервалі є числа Кармайкла. Визначити їх. Варіанти інтервалів: (1050, 1050+100), (1700, 1700+100), (2400, 2400+100).

Скріншоти виконаної роботи

1.

Рис.1 Перевірка першого числа тестом пробних ділень

Рис.2 перевірка числа на простоту тестом Ферма

Перевірити на простоту два довільних цілих числа розрядністю не менше 5 і виходячи з рисунків визначили що в першому та другому випадках використали не прості числа.

2.

Рис.3 пошук простих чисел в інтервалі 2000-2500

Рис.4 умови для пошуку

500/2000) = 65.78

П < L/ln(x)

П(x,L)/ L є близьким до 1/ ln(x) при малому інтервалі.

3.

Рис. 5 Пошук чисел на інтервалі 1000-1300

Рис.6 умови виконання пошуку

Рис.7 Гістограма для різниці між двома сусіднімичислами

Розгянувши гістогаму знаходимо L(сер.)

7.52

та порівнюємо з Ln(x), в результаті отримаємо що

1151)=7.048

L>ln(x)

4.

Виконавши дані обчислення дійдемо до висновку, що відносна похибка формули для k -го простого числа досить висока.

5.

Рис.8 визначення простих чисел на інтервалі 500-500+200

Рис.9 дані для пошуку на інтервалі

Рис.10 графік відносної кількості натуральних чисел

6.а)

Рис.11 Кількість простих чисел відносно завдання

Рис.12 дані для пошуку на інтервалі

6.б)

Рис.13 Пошук простих чисел

Рис.14 дані для виконання

Висновоки: в ході даної лабораторної роботи я ознайомився з спеціальною програмою та методами генерації простих чисел, що використовуються в системах шифрування з відкритим ключем, та перевірив числа на простоту. Також я розрахував точну кількість простих чисел в деякому заданому інтервалі. Під час генерації простих чисел я перевірив їхню простоту за допомогою грубого перебору діленням та методом Ферма.

Числа Кармайкла

Соседние файлы в папке Лаби готові