You are on page 1of 33

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ


«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ
імені ІГОРЯ СІКОРСЬКОГО»

МАТЕМАТИЧНІ ОСНОВИ КРИПТОЛОГІЇ

КУРС ЛЕКЦІЙ
ЧАСТИНА І. ЕЛЕМЕНТИ ТЕОРІЇ ЧИСЕЛ

Рекомендовано Методичною радою КПІ ім. Ігоря Сікорського


як навчальний посібник для здобувачів ступеня бакалавра за освітніми програмами
«Системи, технології та математичні методи кібербезпеки»,
«Системи технічного захисту інформації» спеціальності 125 «Кібербезпека»
та «Математичні методи моделювання, ропізнавання образів та комп’ютерного
зору» спеціальності 113 «Прикладна математика»

Київ
КПІ ім. Ігоря Сікорського
2023
Математичні основи криптології. Курс лекцій. Частина І. Елементи теорії чисел.
[Електронний ресурс]: навч. посіб. для студ. спец. 125 «Кібербезпека» та 113
«Прикладна математика» / КПІ ім. Ігоря Сікорського; уклад.: Л.О. Завадська. –
Електронні текстові дані (1 файл: 172 Кбайт). – Київ: КПІ ім. Ігоря Сікорського, 2023.
– 32 с.

Гриф надано Методичною радою КПІ ім. Ігоря Сікорського


(протокол № 8 від 02.06. 2023 р.)
за поданням Вченої ради науково-навчального фізико-технічного інституту
КПІ ім. Ігоря Сікорського (протокол № 7 від 15.05.2023 р.)

Електронне мережне навчальне видання

МАТЕМАТИЧНІ ОСНОВИ КРИПТОЛОГІЇ


КУРС ЛЕКЦІЙ
ЧАСТИНА І. ЕЛЕМЕНТИ ТЕОРІЇ ЧИСЕЛ

Укладач: Завадська Людмила Олексіївна, канд. фіз.-мат. наук, с.н.с.

Відповідальний
редактор: Литвинова Тетяна Василівна, канд. техн. наук, доц.

Рецензент: Смирнов СергійАнатолійович, канд. фіз.-мат.наук, c.н.с.

Дисципліна «Математичні основи криптології» призначена для ознайомлення


студентів з основами теорії чисел та абстрактної алгебри, які є необхідним
теоретичним фундаментом для опанування дисципліни «Криптографія» та інших
дисциплін, пов’язаних з криптографічним захистом інформації. У даному
навчальному виданні викладений матеріал першого розділу курсу лекцій, а саме,
основи теорії чисел: конгруенції та їх властивості, розширений алгоритм Евкліда для
знаходження оберненого за модулем, функція Ойлера, теореми Ферма (мала) та
Ойлера, алгоритми розв’язання лінійних конгруенцій та систем лінійних конгруенцій
з одним невідомим (китайська теорема про остачі). Також детально розглянуто
поняття квадратичності та наведено алгоритми здобування квадратних коренів з
квадратичних лишків за модулями різних видів.

 КПІ ім. Ігоря Сікорського, 2023

2
ЗМІСТ

Вступ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 4

1. Конгруенції та їх властивості. Обернені за додаванням та множенням


за модулем m. Розширений алгоритм Евкліда . . . . . . . . . . . . . . . . . . . . . . 5

2. Розв’язання лінійних конгруенцій. Функція Ойлера. Теореми Ферма


(мала) та Ойлера. Китайська теорема про остачі . . . . . . . . . . . . . . . . . . . . 11

3. Квадратичні лишки та нелишки. Символи Лежандра та Якобі . . . . . . . . 19

4. Здобування квадратних коренів за простим модулем та за модулем,


що є добутком двох нерівних простих чисел . . . . . . . . . . . . . . . . . . . . . . . . . 24

Список використаної літератури . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3
ВСТУП

Комплексні системи захисту інформації неодмінно мають у своєму складі


криптографічні засоби. В свою чергу, сучасні криптосистеми (особливо
асиметричні) ґрунтуються на досягненнях теорії чисел та сучасної алгебри.
Дисципліна «Математичні основи криптології» призначена для ознайомлення
студентів з основами теорії чисел та абстрактної алгебри (групи, кільця,
скінченні поля), які є необхідним теоретичним фундаментом для опанування
дисципліни «Криптографія» та інших дисциплін, пов’язаних з
криптографічним захистом інформації. У даному навчальному виданні
викладені основи теорії чисел: конгруенції та їх властивості, розширений
алгоритм Евкліда для знаходження оберненого за модулем, функція Ойлера,
теореми Ферма (мала) та Ойлера, алгоритми розв’язання лінійних конгруенцій
та систем лінійних конгруенцій з одним невідомим (китайська теорема про
остачі). Також детально розглянуто поняття квадратичності та наведено
алгоритми здобування квадратних коренів з квадратичних лишків за простим
модулем та за модулем, що є добутком двох нерівних простих чисел.
Викладений теоретичний матеріал ілюструється численними прикладами.
Тексти лекцій супроводжуються питаннями для самоконтролю а також
набором задач, що сприяє кращому засвоєнню матеріалу.

4
1. КОНГРУЕНЦІЇ ТА ЇХ ВЛАСТИВОСТІ.
РОЗШИРЕНИЙАЛГОРИТМ ЕВКЛІДА

Надалі всі числа, які ми будемо розглядати, вважатимемо цілими, якщо


не зазначено інше. Множину цілих чисел позначимо Z . Множину натуральних
чисел позначимо N .
Кажуть, що числоa конгруентне числу b за модулем m ,¿ 1) (позначається
a ≡ b mod m), якщо при діленні на т вони дають однаковий лишок (остачу).
Наприклад, 23≡13 mod 10; 15≡0 mod 3; –2≡ 3mod 5. Інакше кажучи, числа a і b
можна записати у виді:

a=km+r , b=tm+r , (1.1)

де k , t , 0 ≤ r <m – деякі цілі числа. Так, у наведених прикладах 23= 2·10+3, 13=
1·10+3; 15=5·3+0, 0=1·0+0; –2= (–1)·5+3, 3=0·5+3.
З (1.1) також випливає, щоa ≡ b mod m тоді і тільки тоді, коли a−b
ділиться наm. Цей факт позначають наступним чином: m│ ( a−b ) (т є дільником а
– b).
При заданому модулі m усі цілі числа розбиваються на класи чисел, які
дають однакові лишки від ділення на m. Наприклад, при m=2 всі цілі числа
робиваються на 2 класи: парні числа (дають при діленні на 2 лишок 0) і непарні
(дають при діленні на 2 лишок 1). При m=3 маємо 3 класи чисел: ті, що діляться
на 3 (тобто дають в остачі 0 при діленні на 3, позначимо цей клас як [ 0 ] , ті, що
дають лишок 1(позначимо цей клас як [1]) і ті, що дають лишок 2 (позначимо
цей клас як [2]). Для довільного m маємо m класів лишків: [0], [1],…, [m−1].
Класи лишків не перетинаються, а їх об’єднання дає всю множину цілих чисел
Z .Коли ми додаємо, віднімаємо, множимо, робимо будь-які операції над
числами за модулем m, то ми насправді працюємо з класами чисел за модулем
т (числа, що належать одному класу лишків ми не розрізняємо). Наприклад,
запис 2+3≡0 mod 5 означає, що сума будь-якого числа з класу [2] і будь-якого
числа з класу [3] за mod 5 потрапить у клас 0 mod 5. Читач може впевнитися в
цьому, розглянувши відповідні приклади.

Властивості конгруенцій
5
Нехай a ≡ b mod m m, c ≡d mod m Тоді:

1) (а+с) ≡(b+d) mod т,тобто конгруенції можна почленно додавати


(надалі дужки у подібних виразах будемо пропускати: вважається, що
«mod т» стосується всього виразу, який стоїть перед ним, тобто а, b, c, d –
це не просто числа, а класилишків [а], [b], [c], [d], і операції над ними
також виконуються у класах лишків за mod т).

З властивості 1) випливає наступна властивість:

2) ak ≡ bk mod m, k∈Z, тобто обидві частни конгруенції можна множити на


одне й те саме ціле число (адже можна конгруенцію a ≡ b mod m додати саму
до себе k разів, отже, властивість 2) вірна для будь-якого натурального k;
справедливість 2) для від’ємних k стане зрозумілою, коли ми будемо
розглядати від’ємні лишки.

3) ac ≡bd mod m ,тобто конгруенції можна почленно перемножати, звідки


випливає , що

4) a k ≡ bk mod m для будь-якого натурального k; тобто обидві частини


конгруенції можна підносити до того ж самого степеня.

5) Якщо а=а1d, b=b1d, m=m1d, d ∈ Z , то а1≡b1 mod т1, тобто всі частини
конгруенції, включно з модулем, можна ділити на будь-який спільний
дільник чисел а, b, т .

6) Якщо а=а1d, b=b1d, НСД(т,d) =1 (тобто т і d – взаємно прості числа;


надалі букви «НСД» будемо опускати: запис (а,b) означатиме найбільший
спільний дільник чисел а і b), то а1≡b1mod т, тобто ліву і праву частини
конгруенції можна скорочувати на множник, взаємнопростий з
модулем.

7) Якщо a ≡ b mod m, тоa ≡ b mod k , де k – будь-який дільник т (випливає з


рівностей (1.1)).

8) Якщо (т,п) = 1 (т і п – взаємно прості числа), то з a ≡ b mod m, a ≡ b mod n,


випливає, що a ≡ b mod mn, (дійсно, якщо а – b ділиться як на т,так і на п і т
та п не мають спільних дільників, то а – b має ділитися на добуток тп).

Зазначені властивості конгруенцій дозволяють при обчисленні суми (добутку)


за модулем т брати за модулем окремо кожен доданок (співмножник) і

6
результати додавати (множити) за mod т; при піднесенні числа до степеня за
mod т брати основу за модулем і лишок підносити до степеня, після чого
результат брати за модулем. Формулою це можна записати таким чином: нехай

Аі, BіZ, Аі≡аі mod т, Bі≡bі mod т, k i N, 1≤і≤п.


Тоді
Σ i=1 Ai Bi = Σ i=1 a i b i mod m
n ki n ki

У подальшому в конгруенціях замість “≡” будемо писати просто “=”, бо


якщо в кінці виразу вказано “mod т”, то мається на увазі, що ліва і права
частини рівності належать тому самому класу лишків.
Зазвичай ми позначаємо класи лишків їх найменшими невід’ємними
представниками: [0] = 0mod т, [1] = 1mod т,…,[т–1] = (т–1)modт. Позначимо
множину класів лишків за mod т як Z m: Z m={[0], [1], …, [т–1]} або просто Z m
={0, 1, …, т–1}; операції додавання і множення у Z m робляться за mod т.
У цілих числах – а – це таке число, що в сумі з а дає нуль. Так само і у
множині лишків за mod т –[a] – це такий клас лишків, який у сумі з класом [a]
дає клас [0]. Це означає, що сума будь-якого числа з класу –[a] з числом з
класу [a] дасть число з класу [0], тобто число, що ділиться на т. Так,
(т–а) + а=т=0 mod т, отже, – а = т – а mod т. Наприклад, –2=3 mod 5, бо
3+2 =5 =0 mod 5.

Означення 1.1. Клас лишків – а або, що те саме, т – а називається


оберненим за додаванням до класу а за mod т.

Розширений алгоритм Евкліда


Щодо обернених за множенням справа виглядає дещо складніше.

Означення 1.2. Оберненим за множенням до класу лишків а∈Zm


називається такий клас а-1∈Zm, що а·а-1=1mod т.

Але а-1 mod т не завжди існує. Так, перебравши всі лишки від ділення на
6, ви не знайдете такого лишка, щоб при множенні його на 2 вийшла 1за mod 6,
отже, 2-1mod 6 не існує. Дійсно, якби існував лишок х =2-1 mod 6, то мала б
виконуватись рівність 2х = 6k + 1 для деякого k∈Z, звідки 2х – 6k =1, що
неможливо, бо ліва частина останньої рівності ділиться на 2, а права – ні.
Аналогічно можна довести загальне

7
Твердження 1.1
а-1 mod т існує тоді і тільки тоді, коли числа а і т взаємно прості: (а,т)=1.

Для малих значень т a−1 ∈Zm можна знайти перебором. Наприклад,


перебором можна знайти, що 2−1 mod 5=3 , 4 −1 mod 7=2 і т.п. Але для дуже
великих чисел (таких, які, наприклад, використовуються у криптографії)
перебір не є адекватним методом. Для цього існує так званий розширений
алгоритм Евкліда.
Взагалі алгоритм Евкліда (який, доречі, вивчається у середній школі)
дозволяє знайти найбільший спільний дільник двох натуральних чисел а і т.
Нагадаємо його.
Нехай 0< a<m і d=(a , m) – їх НСД.Виконуючи низку ділень з лишком, отримуємо
послідовність рівностей:

m=q1·a+r1;
a=q2·r1 + r2;
r1=q3·r2 + r3;
…………….. (1.2)
r n−3 =qn−1·r n−2 +r n−1;
r n−2=qn ·r n−1+ r n;
r n−1=qn·r n .

Останній ненульовий лишок r n і є найбільшим спільним дільником а і т.


Виражаючи з передостанньої рівності в (1.2)r n черезr n−1таr n−2 :

d=r n=r n−2–q n·r n−1 (1.3)

і підставляючи в (1.3) замість r n−1 його вираз черезr n−2 таr n−3 , отриманий з
попередньої рівності в (1.2), і так продовжуючи аж до першої рівності,
отримаємо вираз для d через а і т виду:
d=um+ va, (1.4)

де u і v – деякі цілі числа (одне з них обов’язково буде від’ємним). Так як ми


шукаємо а-1mod т, то згідно з тврдженням 1.1 а і т мають бути взаємно
простими, отже,d=1і (1.4) набуває виду:

1=um+ va . (1.5)

Взявши ліву і праву частину (1.5) за mod т, отримаємо:

8
1=va mod m, (1.6)
тому що um=0 mod m .
З (1.6) випливає, що коефіцієнт v є оберненим до a за mod т:
−1
v=a mod m .

Приклад 1.1

Знайти 152-1mоd1089. Застосуємо алгоритм Евкліда для знаходження


НСД(152, 1089):
1089 = 7 ∙ 152 + 25;
152 = 6 ∙ 25 + 2;
25 = 12∙ 2 + 1;

Отже, (152, 1089) = 1.


Використовуючи цю послідовність рівностей у зворотному порядку,
представляємо 1 у виді u1089 + v 152:

1 = 25–12 ∙ 2 = 25 – 12( 152 – 6 ∙25) = –12 ∙ 152 + 73 ∙ 25 =


= –12 ∙ 152 + 73 ( 1089 – 7 ∙ 152) = 73 ∙ 1089 +(– 523) ∙ 152.

Зауважимо, що–523 = 1089 – 523 = 566 mod1089, отже, 152-1 = 566 mod1089.
Обчисливши добуток 152∙566 =86032 і взявши це число за модулем 1089,
отримуємо 1, що підтверджує вірність результату. ( Зручно превірку робити
таким чином: перевірити, що 86032 – 1=86031 дорівнює 0 за модулем 1089,
тобто ділиться націло на 1089.)
Алгоритм знаходження a-1 mod m можна представити у більш зручному
виді. А саме, нехай при застосуванні алгоритму Евкліда отримано ланцюжок
рівностей(1.2). Тоді a-1modm= pn , де pi=−qi pi−1 + p i−2 , і=1,..., n ; p−1 =0 , p 0=1 .
Обчислення pn зручно здійснювати за допомогою таблички:

−q 1 −q 2 ... −q n
0 1 p1 p2 ... pn

Для нашого прикладу табличка має вид:

–7 –6 –12
0 1 –7 43 –523
9
Як бачимо, відповідь співпадає з отриманою раніше.

Питання для самоконтролю


1) Як позначають множину цілих чисел, множину натуральних чисел,
множину класів лишків за mod т?

2) Що означає вираз а ≡ b mod т?

3) Які властивості конгруенцій ви пам’ятаєте?

4) Що є оберненим за додаванням до класуа за mod т?


5) Що є оберненим за множенням до класу а за mod т?

6) У якому випадку існує а-1mod т?

7) За яким алгоритмом обчислюють а-1mod т?

8) Назвіть всі елементи Z10. Скільки елементів у цій множині класів лишків?
Який клас лишків у Z10 є оберненим за додаванням до 1 (тобто –1 )?
А що є –5 у Z10? Які елементи мають обернений за множенням у Z10?

Задачі
1) Довести третю властивість конгруенцій.

2) Обчислити (усно) 6391 mod8.

3) Довести ознаку подільності чисел на 9 за допомогою конгруенцій.


Сформулювати ознаку подільності на 11.

4) Обчислити178310! mod10 (у показнику 10 факторіал).

5) Обчислити 19-1 mod127.

2. РОЗВ’ЯЗАННЯ ЛІНІЙНИХ КОГРУЕНЦІЙ.


ТЕОРЕМИ ФЕРМА (МАЛА) ТА ОЙЛЕРА.
КИТАЙСЬКА ТЕОРЕМА ПРО ОСТАЧІ

10
Степінь конгруенції. Розв’язання лінійних конгруенцій
Розглянемо конгруенцію виду:
an хn + an-1хn-1+ an-2хn-2 … + a0 = 0 modm, (2.1)

де n,m∈N, aі∈Z, 0 ≤ i ≤ n, х–невідоме.

Означення 2.1. Якщо an ≠ 0 mod m, то n називається степенем конгруенції


(2.1).
Розв’язати конгруенцію (2.1) означає зайти всі значення х, які їй
задовольняють. Якщо число х задовольняє (2.1), то і всі числа, конгруентні х за
модулем m, теж теж задовольняють цій конгруенції. Весь цей клас чисел
вважається одним розв’язком. Отже, вважатимемо, що конгруенція за модулем
m має стільки розв’язків, скільки класів лишків із Z mїй задовольняють.
Наразі розглянемо конгруенції першого степеня (інакше – лінійні конгруенції).
Ці конгруенції можна записати у виді:

а х =b mod m . (2.2)

Для того, щоб розв’язати конгруенцію (2.2), потрібно спочатку визначити


найбільший спільний дільник а і т. При цьому можливі три випадки:

1) Якщо (а, т) =1, то існує а-1mod т і рівняння (2.2) має єдиний


розв’язок:
х= а-1b mod т. (2.3)

Приклад 2.1. Розв’яжемо рівняння

17х=3mod 23.

(17, 23)=1. Обчислюємо 17-1 mod 23 за допомогою розширеного


алгоритму Евкліда:
3=1·17+6;
17=2·6+5;
6=1·5+1.

Використовуємо табличку:

11
–1 –2 –1
0 1 –1 3 –4

Отже, 17-1mod 23 = – 4=19 mod 23. Підставляючи це значення у (2.3),


маємо:
х=19·3=57=11 mod 23.

2) Якщо (а, т) = d >1, то можливі два підвипадки:


2a) b не ділиться на d. Тоді рівняння (2.2) не має розв’язку;
2б) b ділиться на d. Тоді а=а1d, b=b1d, m=m1d і за п’ятою властивістю
конгруенцій у рівнянні (2.2) можна скоротити на d ліву, праву частини і
модуль. Після скорочення маємо:

а1 х=b1modm1 (2.4)

У скороченому рівнянні (2.4) (а1, т1)=1, і ми потрапляємо в умови випадку 1).


Отже,
х1=а1-1b1mod m1.

Обидві частини конгруенції і модуль можна не тільки поділити, але й


помножити на на одне й те саме число, зокрема, на d. Таким чином, кожен
розв’язок скороченого рівняння (2.4) буде задовольняти і вихідному рівнянню
(2.2); х1 і х2=х1+ m1 співпадають за mod m1, це той самий розв’язок рівняння
(2.4), проте обидва вони є розв’язками рівняння (2.2) і за mod m це різні класи
лишків. Тож х2 – це другий розв’язок рівняння (2.2)так само, як і

х3 = х2+m1 = х1+2m1, ..., x d = х1 + (d-1)m1.

Але х1 + dm1 = х1 + m = х1 mod т, і далі розв’язки (2.2) будуть повторюватись.


Отже, у випадку 2б) рівняння (2.2) має d розв’язків:

x 1 mod m, x 2 mod m, ... , x d mod m.

Приклад 2.2.

20х = 16mod 52. (2.5)

12
(20,52) = 4, відповідно рівняння має 4 корені. Скорочуємо його:
5х = 4 mod 13.

Неважко порахувати за розширеним алгоритмом Евкліда (або просто


здогадатись), що 5-1=8 mod 13. Отже, скорочене рівняння має розв’язок

х1 =8·4=32 = 6mod 13.

Згідно із сказаним раніше, х1 є також першим розв’язком вихідного рівняння


(2.5). За наведеним вище алгоритмом ми отримуємо всі розв’язки вихідного
рівняння:

х1 =6mod 52, х2 = 6+13 = 19mod 52, х3 = 19+13 = 32mod 52,

х4 = 32+13 = 45mod 52.

Функція Ойлера
Означення 2.2. Функція Ойлераφ визначена на множині натуральних
чисел. φ ( 1 )=1; приm>1 φ ( m )дорівнює кількості натуральних чисел, менших за m і
взаємно простих зm.

Наприклад, φ (5) = 4 (всі числа від 1 до 4 включно є взаємно простими з 5), φ (6)
= 2 (взаємно простими з 6 у проміжку від 1 до 5 є числа 1 і 5). У теорії чисел, а
також у деяких інших розділах математики, наприклад, теорії скінченних
полів, функція Ойлера грає значну роль. На практиці потрібно обчислювати
функцію Ойлера від великих чисел. Для цього існує нескладна формула.
Зрозуміло, що для простого числа р φ(р) = р–1. Розглянемо φ(р2), де р –
просте число. Серед цілих чисел від 1 до р2 кожне р-те число ділиться на р (це
числа р, 2р,3р, ... , р·р= р2 ), всього їх р2/р= р. Решта цілих чисел у цьому
проміжку взаємно прості з р. Отже, φ(р2) = р2–р. Аналогічно

φ (p n)=p n− pn−1. (2.6)

Наприклад, φ (25) = φ (52) = 52 –5 = 20, φ (16) = φ(24) = 24 –23 =8.


Функція Ойлера має властивість, яка називається мультиплікативністю. Це
означає, що для взаємно простих натуральних чисел т і п

φ ( mn )=φ ( m ) φ ( n ).

13
Будь-яке натуральне число т можна розкласти на прості дільники, тобто
зобразити у виді
m= pk1 …, pkn , 1
(2.7)
n

де p1, p2,..., pn– різні прості дільники т. Використовуючи розклад (2.7), а також
мультиплікативність функції Ойлера, маємо формулу для обчислення φ(т) для
будь-якого натурального числа т, а саме: якщо (2.7) – розклад т на прості
дільники, то
φ (m) = ( pk1 − p1k −1 ¿( pk2 − p2k −1 ) ... ( pkn − p kn −1).
1 1 2 2 n n
(2.8)

Винісши з кожної дужки правої частини (2.8) pki , і=1,...,п, отримуємо інший вид
i

формули для обчислення φ (m):

1 1 1
φ ( m )= p 1 …, pn (1– )(1– p2) ... (1– pn ) =
k1 kn
p1

1 1 1
= т (1– p 1 )(1– p2) ... (1– p n ). (2.9)

Приклад 2.3. Порахуємо φ (360).

360=23∙32∙5; φ (360)=(23-22)∙(32-3)∙(5-1)= 4∙6∙4= 96

або за формулою (2.9)

1 1 1 1 2 4
φ (360)= 360 (1– )(1– )(1– ) = 360· · · = 96.
2 3 5 2 3 5

Теореми Ферма (мала) та Ойлера

Мала теорема Ферма

Нехай а – ціле, р – просте числа, а не ділиться на р. Тоді

a
p−1
=1 mod p. (2.10)

Наприклад, 4 –ціле, 3 –просте, 4 не ділиться на 3. 42=1 mod 3.

14
Зауваження 2.1. Теорему можна сформулювати і для будь-яких цілихчисел а,
тобто і для тих, які діляться на р включно. Помноживши ліву і праву частини
(2.10) на а, маємо:
a =a mod p.
p

Для а, які діляться на р, обидві частини конгруенції дорівнюють 0.


Мала теорема Ферма суттєво полегшує обчислення великих степенів
цілих чисел за простим модулем.

Приклад 2.4.

513 = (56)2∙5= (56 mod7)2·5=12·5 = 5 mod 7.

Наслідок з малої теореми Ферма

Нехайa і р такі, як у малій теоремі Ферма, п – довільне натуральне число.


Тоді
n
a =a
nmod ( p−1)
mod p.

Справедливість наслідку випливає з того, що будь-яке натуральне число


п можна записати як

n = [n/(p-1)] (p-1) + ( п mod (р-1)),

де [х] – ціла частина числа х. (У прикладі 2.4 13 = [13/6] · 6 + (13mod 6) =


2·6+1).

Цей наслідок ще більше полегшує обчислення великих степенів за


простим модулем. Так, у нашому прикладі відразу можна було записати:
513 = 5mod7, бо 13=1mod 6.
За допомогою малої теореми Ферма можна також знаходити обернений
за множенням a-1 mod р.
Дійсно, з (2.10) випливає, що ар-2 ∙ а =1mod р, отже, ар-2 = a-1mod р. Проте
зазвичай користуватися розширеним алгоритмом Евкліда зручніше.

Узагальненням малої теореми Ферма на випадок довільного модуля є торема


Ойлера.

Теорема Ойлера

Нехай а – ціле, т – натуральне числа, (а,т)=1. Тоді a φ(m)=1 mod m .

15
Приклад 2.5.

Обчислити 1463 mod99.

(14, 99)=1; φ(99)=φ(11∙32)=10∙6=60. Отже, 1460=1mod99.

1463=1460 ∙143=1∙142∙14=196∙14=97∙14=(–2)∙14= –28=71mod99.

Звісно, можна було відразу порахувати 14 3 і обчислити лишок від


ділення цього числа на 99. Але тут на прикладі показано, як можна
спрощувати обчислення, використовуючи властивості крнгруенцій та
від’ємні лишки.
За аналогією з наслідком з малої теореми Ферма можна сформулювати

Наслідок з теореми Ойлера

Нехай а і т такі, як у теоремі Ойлера, п – довільне натуральне число. Тоді

a n=a nmod φ(m) mod m.

Цим наслідком ми практично вже користувались у прикладі 2.5.

Китайська теорема про остачі


Теорема
Нехай є система конгруенцій:

х = а1 mod т1;
х = а2mod т2;
...........
х = апmod тп. (2.11)

Якщо (ті, тj) =1 при і ≠ j, 1≤ і, j ≤ n, (модулі попарно взаємно прості), то


система (2.11) має розв’язок, єдиний з точністю до модуля M =т1т2 .... тп..

Зауваження 2.2. Цю теорему часто називають скорочено: КТО


(китайська теорема про остачі, слова «остачі» і «лишки» в даному розумінні
є синонімами ), а в англомовній літературі – CRT (Chinese remainder
theorem).
Зауваження 2.3. Звернімо увагу на те, що у системі (2.11) п рівнянь,
але одне невідоме.Розв’язати систему означає знайти таке число х, яке при
діленніна т1 дає у лишку а1, при діленні на т2 дає у лишку а2 і т.д.

16
Зауваження 2.4. Єдиність розв’язку з точністю до модуля М означає,
що на відрізку від 0 доМ розв’язок x єдиний; решта розв’язків мають вид
x +k М, k∈Z, тобто конгруентні x заmod М.

Доведення.
Спочатку доведемо єдиність. Нехай є два розв’язки системи (2.11): х1 і
х2. Тоді х1 – х2 = 0mod ті, 1≤ і ≤ n, тому що обидва розв’язки задовольняють
кожному з рівнянь системи. А це означає, що ті│(х1 – х2) для всіх1≤ і≤ n.
Враховуючи той факт, що модулі попарно взаємно прості, та сьому
властивість конгруенцій, бачимо, що х1 – х2 ділиться на добуток усіх
модулів, а це й означає, що х1 = х2 mod М.
Тепер знайдемо сам розв’язок, довівши тим самим його існування.
Уведемо позначення: Мі =М/ті (тобто Мі – це добуток усіх модулів, окрім
ті); Ni=Мі-1 mod ті (подумайте, чому такий обернений існує). Тоді розв’язок
системи (2.11) знаходиться як
х = а1М1N1 + а2М2N2 + ... + ап Мп Nпmod М.

Беручи до уваги, що М1N1 = 1mod т1, а М2, ... , Мп діляться на т1 і,


використовуючи сьому властивість конгруенцій, бачимо, що х = а1 mod т1.
Так само х задовольняє і решті рівнянь системи.

Приклад 2.6.

Розглянемо систему: х=3 mod 5;


х=6 mod 7;
х=1mod 2.

М=5∙7∙2=70; М1=7∙2=14; М2=5∙2=10; М3=5∙7=35.


N1=14-1mod5 = 4-1 mod 5 = 4 mod 5;
N2=10-1mod7 = 3-1 mod 7 = 5 mod 7;
N3=35-1mod2 =1-1 mod 2 = 1 mod 2.
х=3∙14∙4+6∙10∙5+1∙35∙1 = 503 = 13 mod 70.

Підставляючи х=13 у кожне рівняння системи, впевнюємося у вірності


розв’язку.
Питання для самоконтролю
1) У якому випадку конгруенція виду а х =b mod m не має розв’язків?

17
А уяких випадках має розв’язки і скільки саме?

2) Дайте означення функції Ойлера. Яка область визначення цієї


функції?

3) Яке значення приймає функція Ойлера якщо вхідний аргумент є


простим числом? Степенем простого числа?

4) Що таке мультиплікативність функції Ойлера? Як обчислити


функцію Ойлера від довільного натурального числа?

5) Сформулюйте малу теорему Ферма.


6) Сформулюйте теорему Ойлера. Чим вона відрізняється від малої
теореми Ферма?
7) Що таке «КТО»? Сформулюйте цю теорему.

Задачі
1) Розв’язати рівняння:
а) 15х = 7 mod 81; б) 21х = 18 mod 33, в) 9х = 6 mod 13.

2) Обчислити φ(14553).

3) Довести, що мала теорема Ферма є частинним випадком теореми


Ойлера.

4) Обчислити 582 mod 24.

5) Вивести просту формулу дляφ (2¿¿ n)¿ .


6) Довести існування Ni = Мі-1 mod ті при розв’язанні системи лінійних
конгруенцій за КТО.

8) Розв’язати cистему:

x= 2 mod 5;
x= 8 mod 13;
x= 2 mod 9;
x= 5 mod 7.

18
3. КВАДРАТИЧНІ ЛИШКИ ТА НЕЛИШКИ. СИМВОЛИ
ЛЕЖАНДРА ТА ЯКОБІ, ЇХ ВЛАСТИВОСТІ

Означення 3.1. Число аZ називають квадратичним лишком за модулем


mN, якщо (a,m) =1 і існує таке bÎZ, що a=b2 mod m. У цьому випадку b
називають квадратним коренем за модулем m. Якщо такого числа b не існує і
(a,m) =1, то а називається квадратичним нелишком за модулем m.

Нас будуть насампeред цікавити квадратичні лишки за модулем, що є


простим числом: m = р, р>2.

Теорема 3.1.
p−1
Нехай р – просте число, р>2, аZ. Тодіa 2
=1mod p якщо а – квадратичний
p−1
лишок, іa 2
=−1 mod p , якщо а – квадратичний нелишок за модулем р. Серед
ненульових елементів Zр рівно (р-1)/2 є квадратичними лишками і (р -1)/2 –
квадратичними нелишками замодулем p.

Доведення.
Нехай а – квадратичний лишок за модулем p, тоді (a,р) =1 і за малою
теоремою Ферма а(р-1) = 1 mod p. Так як р –1 – парне, то

( −1 )(a )= 0
p−1 p−1
a p−1−1 ¿ 1 a 2 2
+1 mod p. (3.1)

Отже, для будь-якого цілого а, що не ділиться на р, або перша, або друга


дужка у (3.1) дорівнює 0, тобто або

p−1
a 2
=1mod p , (3.2)

або
p−1
a 2
=−1 mod p . ¿3)

Для жодного а (3.2) і (3.3) одночасно виконуватись не можуть, бо інакше,


віднявши почленно (3.3) від (3.2) ми б отримали 2= 0 mod p, що неможливо,
тому що 2 не ділиться на р. Використаємо без доведення той факт, що

19
конгруенція степеня п за простим модулем має не більше, ніж п розв’язків.
(3.2) і (3.3) можна розглядати як конгруенції степеня (р-1)/2 з невідомим а.
Тому існує не більше за (р-1)/2 таких aÎZp, що виконується (3.2) і не більше за
(р-1)/2 таких aÎZp, що виконується (3.3). А так як для усіх р-1ненульових
лишків за модулем р виконується мала теорема Ферма, то рівно для половини з
них виконується (3.2), а для іншої половини виконується (3.3).
Якщо а – квадратичний лишок, то a=b2 mod р для деякого bÎZ, і (b, р) =1, тож
p−1
a 2 =b p−1=1 mod p за малою теоремою Ферма. Отже, для квадратичних нелишків
p−1
a 2
=−1 mod p .
Таким чином, серед ненульових елементів Zр рівно половина –
квадратичні лишки і половина – квадратичні нелишки. Теорма довдена.

Символ Лежандра
Теорема 3.1 Надає критерій розпізнавання квадратичних лишків. Проте
існує для цього більш зручний інструмент, що спирається на теорему 3.1 і
називається символом Лежандра.

3 a a a
( ) ( )( )
Означення 3.2. Символ Лежандра 5 p p ¿ p ¿ « а по відношенню до

р»), де а – ціле, а p > 2 – просте числа, визначається наступним чином:

( ap )=¿1, якщо а – квадратичний лишок;


( ap )=¿–1, якщо а – квадратичний нелишок;
( ap )=¿ 0, якщо а ділиться на р.

Інакше можна сказати, що

()
p−1
a
=a 2
mod p , a ÎZ. (3.4)
p

20
Властивості символа Лежандра

1. ( 1p )= 1;
( ) −1 p−1
2. p
= (−1) 2 ;

a b
3. Якщо а ≡b mod p, то p = p ( ) ( );
4. ( abp )=( ap )·( bp );

( )=( bp );
2
a b
5.
p

6. ( 2p )=¿;
7. Якщо p, q – прості, p ≠ q, то q =¿. ( p)
Властивості 1-5 легко вивести з (3.4), в той час як властивості 6-7 є
одним з найважливіших результатів теорії чисел і доводяться зовсім не так
просто. Зокрема, властивість 7 називається квадратичним законом взаємності
Гаусса.

Символ Якобі
Узагальненням символа Лежандра є символ Якобі.

Означення 3.3. Нехай a – ціле, п – натуральне непарне числа , п>1 і

п = pk1 1
p k2 … pks – розклад числа п на прості множники. Символом Якобі числа
2 s
a по
відношенню до п називається значення добутку

( )=( ) ( ) ( ) ,
k1 k2 ks
a a a a

n p1 p2 ps

де ( ap ) ,i=¿1, … , s – символи Лежандра.


i

21
Властивості символа Якобі

Нехай a, bÎZ, пÎN – непарнe, більшe за 1. Тоді:

1. ( 1n )= 1;
2. ( −1n )=¿;
3.
a
()()
b
Якщо a b mod п, то n = n ;

4. ( abn )=( an )( bn )– мультиплікативність символу Якобі, звідки


( ) ( );
2
a b b
5. p
= p

6. ( 2n )=¿;
( ) ( mn );
m−1 n−1
m 2
·
2
7. Нехай т, n  1 – непарні, (т, п) = 1. Тоді: n =(−1)

8 . Якщо a– квадратичний лишок за модулем п, то a є квадратичним лишком


a
за модулями р1, р2, ..., рs i n =1. ()
Як бачимо, властивості символа Якобі дуже схожі на властивості символа
Лежандра (крім останньої властивості символа Якобі). Проте є істотна
відмінність: символ Якобі не свідчить про квадратичність. А саме: якщо

( an )=−1, то a точно є квадратичним нелишком, але якщо( an )= 1 то а може бути


як квадратичним лишком, так і нелишком.

Приклад 3.1.

( 152 )=( 23 )( 25 )= (–1)(–1) = 1, тобто 2 є квадратичним нелишком за


модулями 3 та 5, отже, і квадратичним нелишком за модулем n (див.
Твердж.4.1), але при цьому для відповідного символа Якобі виконується
2
рівність 15 =1. ( )
22
Символ Якобі спочатку був призначений для прискорення обчислення
символу Лежандра. Адже при застосуванні квадратичного закону взаємності
Гаусса чисельник і знаменник символа Лежандра (p i q) мають бути простими
числами. Якщо ж чисельник не є простим числом, то його треба розкласти на
прості дільники (факторизувати) і, скориставшись мультиплікативністю
символа Лежандра, застосувати квадратичний закон взаємності до кожного з
співмножників. Проте, якщо чисельник є великим числом, що не є добутком
малих простих чисел, то задача його факторизації є дуже складною.
Властивість 6 символа Якобі дозволяє його перевертати, не переймаючись
простотою чисельника і знаменника (за умови їх непарності і взаємної
простоти, яка легко перевіряється за допомогою алгоритму Евкліда).
Наразі символ Якобі використовується у криптографії і в іншому аспекті
(наприклад, у схемі Рабина).
Доведення властивостей символів Лежандра та Якобі можна знайти у
книзі [3], §9.

Питання для самоконтролю


1) Що таке квадратичний лишок, квадратичний нелишок, корінь
квадратний за модулем т (mN)?

2) Як визначити, чи єa Z квадратичним лишком за модулем р (р – просте,


р>2)?

3) Сформулюйте означення символа Лежандра. Які властивості


символа Лежандра ви пам’ятаєте?

4) Сформулюйте означення символа Якобі. Чим він відрізняється від


символа Лежандра?

5) Скільки існує квадратичних лишків за простим модулем р?


А квадратичних нелишків ?

Задачі
1) Чи є 18 квадратичним лишком за модулем 53?

2) Знайдіть всі квадратичні лишки за модулем 13, не використовуючи


символ Лежандра.

( 312 )
3) Обчислити символ Лежандра 643 (число 643 –просте).

23
24
4. ЗДОБУВАННЯ КВАДРАТНИХ КОРЕНІВ ЗА ПРОСТИМ
МОДУЛЕМ ТА ЗА МОДУЛЕМ, ЩО Є ДОБУТКОМ ДВОХ
НЕРІВНИХ ПРОСТИХ ЧИСЕЛ

Здобування кваратних коренів за простим модулем


Розглянемо конгруенцію:

х 2 = а mod p, (4.1)

де p¿ 2–просте число. Розв'язати конгруенцію (4.1) означає здобути квадратний


корінь з а за модулем р. Проте (4.1) має розв’язки лише тоді, коли а –
квадратичний лишок за модулем р. Отже, спочатку перевіряємо цю умову,
обчислюючи символ Лежандра p . (a)
a
()
Якщо p =−1, то а – квадратичний нелишок і конгруенція (4.1) розв’язків не

має. ( p )
−1

Якщо ( p )=
a
1, то а – квадратичний лишок і конгруенція (4.1) має два

розв’язки: ± х. В цьому разі a


p−1
2 =1. Розглянемо можливі випадки. ( −1p )
1. p= 4k+3, kÎ N {0} (або, що те саме, р=3mod 4).
p−1
Тодіa 2 = а2k+1= 1mod pmodp=¿, звідки

a2k+2 = (аk+1)2= а modp. (4.2)

Порівнюючи (4.1) і (4.2),бачимо, що

х = ±аk+1 mod p. (4.3)

Приклад 4.1.

Розв’яжемо конгруенцію: x2 = 3 mod 23.

25
( 233 )=¿(–1) ( 233 )= – ( 23 )= – (–1)
1∙11 (9-1)/8
=1. Отже,3–квадратичний лишок

за модулем 23. 23=4·5+3, звідки x=± 36 =± 7mod 23.

2. p= 8k+5
p−1
Тоді a 2 = a 4 k+ 2= (a 2 k+1)2 = 1mod p, звідки

a = 1mod p
2 k+1
(4.4)
або
a 2 k+1= –1mod p. (4.5)

Якщо виконується (4.4) (це треба превірити безпосереднім обчисленням), то


a =a mod p і, порівнюючи цю рівність з (4.1), згідно (4.3) маємо 2 розв’язки:
2 k+2

х = ±аk+1modp.

Якщо ж шляхом обчислення ми переконались, що виконується (4.5), то


алгоритм розв’язання ускладнюється: треба позбавитись мінуса перед
одиницею у правій частині (4.5). Для цього знайдемо квадратичний нелишок b
за mod p(шляхом перебору і обчислення символу Лежандра). Нехай b –
квадратичний нелишок, тоді
p −1
b 2
=b4 k+2=¿ – 1mod p(4.6)

Перемножаючипочленно (4.5) і останню конгруенцію в (4.6), отримуємо:


=1 mod p ,
звідкиa 2 k+2 b4 k +2=a mod pі, аналогічно до попереднього,
2 k+1 4 k +2
a b
знаходимо розв'язки:

х = ± ak +1 b 2 k+1 mod p .

Задача дещо полегшується тим, що при р виду 8k+5 двійка завжди є


квадратичним нелишком. Таким чином, при виконанні (4.5) остаточна формула
для розв’язків набуває виду:

х =± ak +1 22 k +1 mod p.
Приклад 4.2.

26
x2= 10 mod 13; 13=8∙1+5 (k = 1)

( 1013 )=( 135 )∙( 132 )= (–1) ( 35 )∙( 132 )= (–1) ( 23 )∙( 132 )= – (–1¿
2∙6 1∙2 (13¿¿2−1)/8 ¿
=

¿–(−1)12∙ 1 4/ 8 = – (–1)21 = 1, отже, 10 – квадратичний лишок за mod 13;

102 k+ 1= 10 = –27 = –1 mod 13;


3

102 k+ 1 24 k+2= 10 2 = 1 mod 13;


3 6

104 26 = 10 mod 13;

х = ± 102 23 =± 9 ∙8 =± 7mod 13.

3. p= 8k+1

Перевіряємо а на квадратичність. Якщо а – квадратичний лишок за mod p , то


p−1
a 2
=a =a
4k 2s d =1mod p. (4.7)

р−1
(Ми ввели позначення: 2
– непарне натуральні числа,
= 4k =2s d , де s≥2, d
тобто винесли у показнику максимальний степінь двійки). Наша мета –
перетворити праву частину конгруенції (4.7) у таку, де б зліва а було в
непарному степені, а справа – одиниця. Тоді, помноживши, як і в попередніх
випадках, ліву і праву частини на а, ми б знайшли розв’язок.
Обчислюємо a 2 d mod p . В результаті можемо отримати як 1, так і
s−1

–1, бо це є корінь квадратний з 1. Якщо a 2 d=1 mod p, то знову здобуваємо


s−1

s−2

квадратний корінь, тобто обчислюємо a 2 d mod p ,що теж може дорівнювати 1


або – 1. Якщо ж

=– 1 mod p ,
s−1

a
2 d
(4.8)

знаходимо b – квадратичний нелишок за mod p. Тож маємо:

b =– 1 mod p.
s
2d
(4. 9)

Перемноживши ліві і праві частини конгруенцій (4.8) та (4.9), отримуємо

(4.10)
s−1 s
2 d 2 d
a b =1 mod p

27
і обчислюємо a 2 d b2 d mod p ¿ корінь з лівої частини (4.10)) і отрмуємо при
s−2 s −1

цьому +1 або – 1 mod p . Так продовжуємо здобувати квадратні корені, доки a не


буде у непарному степені d, кожний раз домножaючи почленно на (4.9), як
тільки вийшла – 1. В результаті отримаємо конгруенцію:

= 1mod p, (4.11)
t
d 2d
a b

де натуральне число t визначається тим, скльки разів зустрілася – 1 у


вищенаведеному алгоритмі.
Звернімо увагу на те, що у (4.11) а в непарному степені, а b – в парному, що дає
нам змогу, помноживши ліву і праву частини на а, отримати співвідношення:

= аmod p,
t
d+ 1 2
a b

звідки маємо розв’язки:


d +1
х = ±a 2
b2
t−1
d mod p.

Приклад 4.3.
x = 5 mod 41; (4.12)
2

( 415 )=¿ (–1) ( 415 )=( 15 )=1,звідки


2∙ 20

520=1 mod 41;


обчислюємо:
510= (53)3∙5= 23∙5=40= –1mod 41;

шукаємо квадратичний нелишок за mod 41:

( 412 )=( – 1) (41¿¿2−1)/8 ¿


=1mod 41,

тож 2 – квадратичний лишок за модулем 41;

( 413 )=¿(–1) ( 413 )= ( 23 )= ( – 1 )


1·20 (9−1)/8
= – 1.

Отже, 3–квадратичний нелишок за mod 41, звідки

28
41−1
3 2 =320 = – 1 mod 41. (4.13)

Таким чином,
510∙320 = 1mod 41;
обчислюємо:
55∙310= 53∙25∙(34)2∙9= 2∙25∙( – 1)2∙9= 81= – 1 mod 41,

Отже, потрібно знову використати (4.13):

55∙310∙320 =1 mod 41, (4.14)

множимо ліву і праву частини (4.14) на 5:

56∙330 =(53∙315)2 = 5 mod 41, (4.15)

звідки, порівнюючи (4.15) та (4.1), маємо:

x= ± 53∙315= ±13mod 41.

Здобування кваратних коренів за модулем, що є добутком двох


нерівних простих чисел
Твердження 4.1.
Нехай p, q – прості числа, p, q>2, p ≠ q, n=pq .
аZ є квадратичним лишком за mod n тоді і тільки тоді, коли a –
квадратичний лишок за mod р і за mod q.

Справедливість цього твердження випливає з сьомої та восьмої


властивостей конгруенцій. Якщо а – квадратичний лишок за mod n, то існує
bÎZ, таке, що a=b2 mod n, тобто а - b2 = 0 mod n. За сьомою властивістю
конгруенцій рівність а - b2 =0 виконується як за модулем p, так і за модулем q,
бо вони є дільниками n. Отже, а є квадратичним лишком за mod р і за mod q.
Навпаки, якщо а – квадратичний лишок за mod р і за mod q, то а - b2 =0 mod n
внаслідок взаємної простоти p і q (восьма властивість конгруенцій).
Здобування квадратного кореня з а за модулем n, тобто розв’язання
рівняння х 2 = а mod n, полягає в наступному.
Після перевірки а на квадратичність за модулями р і q розв’язуємо два
рівняння:
х 2 = а mod p, х 2 = а mod q, (4.16)

29
їх розв’язки позначимо відповідно ± x p mod pта ± x q mod q.
Розв’язок рівняння (4.15) має задовольняти обом рівнянням (4.16), бо якщо
конгруенція виконується за деяким модулем n, то вона виконується і за будь-
яким модулем, що є дільником n. Таким чином, pозв’язок рівняння (4.15) має
задовольняти системі рівнянь

{ x=± x p mod p
x=± xq mod q
,

звідки маємо 4 системи:

{ x=x mod p
1) x=x p mod q
q
{ x=−x mod p
{x=−x mod p
2) x=−x p mod q 3 ¿ x =x pmod q 4) x=−xp mod q
q q q
{ x=x mod p

Розв ’язок системи 1) за китайською теоремою про остачі дорівнює

Х1= x р ∙ q ∙(q¿¿−1 mod p)¿ + x q ∙ p ∙( p¿¿−1 mod q) mod n ¿.


Розв ’язок системи 2) дорівнює

−x q ∙q ∙ (q¿¿−1 mod p)−x p ∙ p ∙( p¿¿−1 mod q) ¿ ¿modn= −¿ Х1 mod n.

Аналогічно, якщо розв’язок системи 3) позначити через Х2, то розв’язок


системи 4) дорівнює – Х2. Таким чином, маємо 4 розв’язки рівняння (4.15):

±Х1 mod n, ±Х2 mod n.

Це 4 квадратних корені з а за mod n.

Приклад 4.4.
x2 = 23 mod 91 (4.17)

91= 7∙13, тож перевіряємо квадратичність 23 за модулем 7 та за модулем 13:

( 237 )=( 27 )=(−1) 49−1


8
=1;

( ) ( ) ( )( ) () ()
169−1
23 10 5 2 3 2 9−1

13
= 13
= 13 13
=( – 1 ¿2·6
5
(−1) 8
=
3
( – 1 ) =−(−1) 8 =¿ 1.

30
Отже, 23 є квадратичним лишком як за mod 7, так і за mod 13 і, внаслідок
тведження 4.1, є квадратичним лишком за mod 91. Таким чином, рівняння
(4.17) має 4 розв’язки. Знайдемо їх.

x2=23mod7; x2 =23 mod 13;


x2=2mod7; x2 =10 mod 13;
7−1 13−1
2 2 =23 = 1mod7; 10 2 =106=1mod 13;
24=2mod7; 103= – 1 mod 13;
х=± 4mod7. 13=8∙1+5¿>¿ 2 – кв. нелишок за mod 13:
26 = – 1mod 13
103∙26 = 1 mod 13 ;
104∙26 = 10 mod 13 ;
х=± 102∙23=± 9∙8= ± 7mod13

Розв’язуємо першу систему:

{x=7
x=4 mod 7
mod 13

Х1 = 4∙13∙(13-1mod7) + 7∙7∙(7-1mod13) = 4∙13∙6 + 7∙7∙2 = 312 + 98 = 410 =

= 46 mod 91;

і третю систему:

{x=–
x=4 mod 7
7 mod 13

Х2= 4∙13∙6 – 7∙7∙2 = 312 – 98 = 214 = 32 mod 91.

Відповідь: ± 46 mod91; ± 32 mod 91.

Питання для самоконтролю


1) Скільки розв’язків може мати конгруенція х2 = а mod p (p¿ 2 ,просте
число)? Для кожного з можливих випадків вкажіть відповідні умови.

31
2) Скільки розв’язків може мати конгруенція х 2 = а mod n (n = pq, де p, q
– прості числа, p, q>2, p≠ q)?

3) Сформулюйте в загальних рисах алгоритм розв’зання рівняння


х 2 = а modp, де р – просте число виду 8k+ 1.

4) Сформулюйте в загальних рисах алгоритм розв’зання рівняння


х 2 = а mod n, де n = pq.

Задачі
1) Доведіть, що для простого р виду 8k + 5 двійка є квадратичним
нелишком за модулем р.

2) Розв’яжіть конгруенції:

х2 = 24 mod 47;
х2 = 24 mod 37;
х2 = 37 mod 53;
х2 = 18 mod 73;
х2 = 15 mod 119.

32
Список використаної літератури

1. Бородін О.І. Теорія чисел.– К.: «Радянська школа», 1960. – 244 с.

2. Ковальчук Л. В., Яремчук Ю. Є. Прикладна алгебра. Частина 1. Основи


абстрактної алгебри. Вінниця: ВНТУ, 2015.– 98с.

3. Клесов О.І. Елементарна теорія чисел та елементи криптографії :


підручник. – Київ: ТВіМС, 2016. – 412 с.

4. Кузнецов Г. В., Фомичов В. В.,Сушко С. О., Фомичова Л. Я. Математичні


основи криптографії. Дніпропетровськ: НTУ, 2004.–391с.

33

You might also like