
- •§1. Основні означення та властивості алгебраїчних систем
- •1.1. Алгебраїчні системи з однією операцією
- •1.2. Підгрупи, класи суміжності. Теорема Лагранжа
- •Питання для самоконтролю
- •Задачі до §1
- •§2. Властивості циклічних груп. Відображення груп
- •2.1. Властивості циклічних груп
- •2.2. Відображення груп. Нормальні підгрупи. Терема про ізоморфізм груп
- •2.3. Внутрішні автоморфізми групи та спряжені елементи
- •2.4. Нормалізатор множини. Центр групи
- •Питання для самоконтролю
- •Задачі до §2
- •§3. Алгебраїчні системи з двома операціями. Ідеал кільця, Факторкільце за ідеалОм
- •3.1. Означення та основні властивості кілець
- •3.2. Ідеал кільця. Факторкільце за ідеалом
- •3.3. Відображення кілець
- •Питання для самоконтролю
- •Задачі до §3
- •§4. Характеристика кільця, Характеристика скінченного поля. Факторкільця за різними ідеалами, їх властивості
- •4.1. Характеристика кільця, її властивості
- •4.2. Залежність властивостей факторкільця від ідеалу
- •Питання для самоконтролю
- •Задачі до §4
- •§5. Алгоритм Евкліда. Основна теорема арифметики. Конгруенції та їх властивості. Китайська теорема про лишки
- •5.1. Прості числа, нсд, нск. Розширений алгоритм Евкліда, його наслідки
- •5.2. Розклад на прості множники. Фундаментальна теорема арифметики
- •5.3. Конгруенції (порівняння) та їх властивості
- •5.4. Кільця лишків Zn, їх властивості
- •Питання для самоконтролю
- •Задачі до §5
- •§6. Подільність, факторизація. Застосування факторизації
- •6.1. Узагальнення Китайської теореми про лишки
- •6.2. Наслідки теореми Ойлера
- •6.3. Структура мультиплікативної групи скінченого поля
- •Питання для самоконтролю
- •Задачі до §6
- •§7. Алгоритми та їх складність. Поліноміальні та експоненційні алгоритми. Час роботи основних алгоритмів
- •7.1. Означення часу роботи алгоритму. Типи алгоритмів
- •7.2. Час роботи основних алгоритмів
- •1. Додавання двійкових чисел
- •2. Множення двійкових чисел
- •Питання для самоконтролю
- •Задачі до §7
- •§8. Імовірнісні алгоритми. Алгоритми з оракулами. Порівняння складності задач
- •8.1. Означення імовірнісного алгоритму. Типи імовірнісних алгоритмів
- •8.2. Алгоритми з оракулами
- •Питання для самоконтролю
- •Задачі до §8
- •§9. Квадратичні лишки та нелишки. Добування квадратного кореня у кільці лишків
- •9.1. Означення та властивості квадратичних лишків
- •9.2. Символ Лежандра та символ Якобі. Їх властивості та обчислення
- •3. Оскільки y' – непарне, то : .
- •9.3. Добування квадратного кореня
- •Питання для самоконтролю
- •Задачі до §9
- •§10. Псевдопрості числа. Тестування простоти
- •10.1. Найпростіші алгоритми тестування простоти
- •10.2. Псевдопрості числа: означення та властивості
- •10.3. Імовірнісні алгоритми тестування простоти
- •Питання для самоконтролю
- •Задачі до §10
- •§11. Означення дискретного лОгАриФму. Алгоритм знаходження дискретного логарифму у мультиплікативній групі скінченНого поля Zp
- •Питання для самоконтролю
- •Задачі до §11
- •§12. Важкооборотні функції, Ядро, Предикат. Застосування важкооборотних функцій у криптографії. Класичні асиметричні криптосистеми
- •12.1. Важкооборотні функції. Предикат, ядро важкооборотної функції
- •12.2. Застосування важкооборотних функцій для побудови криптосистем імовірнісного шифрування
- •12.3. Застосування односторонніх функцій для побудови класичних асиметричних криптосистем
- •Питання для самоконтролю
- •Задачі до §12
- •Література
- •Предметний покажчик
Питання для самоконтролю
1. Доведіть, що прості елементи кільця цілих чисел – це прості числа.
2. Як, декілька разів застосувавши алгоритм Евкліда, можливо обчислити НСД від довільної кількості чисел?
3. Як визначити НСД та НСК двох чисел, якщо відомі їх канонічні розклади на прості множники?
4. Чи є різниця між твердженнями x y (mod n) і x = y mod n?
5. Як визначити число елементів мультиплікативної групи кільця лишків за модулем натурального числа?
6. Вкажіть критерій оборотності елемента кільця лишків.
Задачі до §5
1. Довести: НСД(а, b)·НСК(а, b) = а·b.
2. Використовуючи властивості конгруенцій, знайти 1212121 mod 9 та –1212121 mod 9.
3. Знайти НСД(959, 791), використовуючи алгоритм Евкліда. Подати НСД(959, 791) у вигляді лінійної комбінації чисел 959 та 791.
4. Довести: НСД – асоціативна бінарна операція.
5. Знайти такі u, vZ, що 137u + 113v = 1. Знайти 113–1 mod 137.
6. Довести: НСД(а, b) дорівнює найменшому натуральному числу, яке можна подати у вигляді u а + v b, де u, vZ.
7. Використовуючи властивості конгруенцій, довести ознаку подільності на 9: число ділиться на 9 тоді й тільки тоді, коли сума його цифр ділиться на 9.
8. Розкласти число 1934064 на прості множники та обчислити значення функції Ойлера від цього числа.
9. Знайти таке число х, що х ≡ 40 mod 137 та х ≡ 50 mod 113.
10. Для яких п значення (п) будуть непарними числами?
11.
Довести, що для уZп
відображення
,
де fy(x) = (yx) mod n,
є перестановкою множини Zп.
12. Довести, що означення НСД та НСК не зміняться, якщо умову 2) означень 5.1 та 5.2 замінити на умови 2*) та 2**), відповідно.
13.
Скласти алгоритм для розв’язку в цілих
числах рівняння
,
де
Z
– деякі параметри.
§6. Подільність, факторизація. Застосування факторизації
6.1. Узагальнення Китайської теореми про лишки
Теорема 6.1 (узагальнення Китайської теореми про лишки): нехай
{m1,
m2,
…, mr}Z;
(mi,
mj)
= 1,
,
i
j;
Z.
Тоді існує розв'язок xZ системи порівнянь
(6.1)
причому, якщо x, y – два різних розв'язки системи, то x y (mod M), де M = m1·…·mr. Зокрема, існує єдиний розв’язок на інтервалі від 0 до М-1 включно.
Доведення:
позначимо Мі = M/mі.
Тоді (Mi,
mi)
= 1, отже, Ni:
MiNi
1 mod
mi.
Нехай
x =
MiNi.
Тоді x mod mi = xiMiNi mod mi = xi mod mi,
і = 1, …, r,
звідки
,
тобто x
є розв’язком (6.1).
Покажемо, що будь-які два розв’язки системи (6.1) конгруентні за модулем M. Нехай x, y – розв'язки (6.1), тоді (x – y) mod mі = 0, і = 1, …, r, і, оскільки (mi, mj) = 1, i j; за властивістю конгруенцій (п.6 твердження 5.20), (x – y) mod M = 0; тобто x y(mod M).
Єдиність розв’язку на вказаному інтервалі також випливає з конгруенції x y(mod M). Теорему доведено.
Розглянемо цікавий приклад застосування узагальненої Китайської теореми для розв’язку задачі про розподіл таємниці.
Приклад 6.2 (задача про розподіл таємниці): нехай одній людині відоме число N – велике натуральне число. Це число і є таємницею, яку власник повинен розділити між n = 2k + 1 іншими людьми (тобто роздати їм деяку, взагалі кажучи, різну, інформацію) так, щоб були виконані наступні умови:
1) будь-яка група з (k + 1) або більше людей, відкривши свою інформацію, разом зможуть обчислити число N,
2) ніяка група з t < k + 1 людей, обмінявшись відомою їм інформацією, не зможуть обчислити число N.
Розв'язок: виберемо n = 2k + 1 взаємно простих чисел m1, m2, …, mn так, щоб виконувались нерівності:
< m1,
m2,
…, mn
<
.
Кожна людина отримує свою частину інформації у вигляді Ni = N mod mi, i = 1, …, n.
Тоді, якщо зберуться не менше за k + 1 володарів інформації, для відновлення числа N їм потрібно розв’язати систему порівнянь:
(6.2)
та обрати у якості числа N найменший додатній розв’язок.
Оскільки,
за теоремою 6.1, !
[0, m1·…·mk+1],
що є розв'язком системи порівнянь, і
оскільки
> N,
внаслідок вибору mi >
,
то
N
=
N0
– частковий канонічний розв’язок
(6.2). Якщо ж кількість рівнянь у системі
менша за k + 1,
то
< N
(так як mi <
),
і можна лише зазначити, що N
буде одним з безлічі розв’язків системи.
Як було показано у попередньому параграфі, якщо відомий розклад натурального числа n на прості множники, можна легко обчислити функцію Ойлера за теоремою 5.38. А якщо n = pq, де p, q – прості числа, то справедливим є і обернене твердження.
Твердження
6.3:
нехай
відомо деяке непарне натуральне число
n,
яке є добутком двох (невідомих) простих
чисел (позначимо їх p
і q).
Тоді числа p, q
є розв’язками квадратного рівняння
.
Доведення: нехай n = p q, тоді (n) = (p – 1)(q – 1) = pq – p – q + 1 = = n – (p + q) + 1, звідки p +q = n – (n) + 1.
З
урахуванням n = pq
отримаємо квадратне рівняння
,
розв’язками якого є числа
,
де
.
Твердження доведено.