Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Zastosuvannya_teoriyi_chisel_u_kriptografiyi_metodi

.pdf
Скачиваний:
21
Добавлен:
30.05.2020
Размер:
512.12 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

СУМСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ

3108 Методичні вказівки з дисципліни «Застосування теорії

чисел у криптографії»

для студентів спеціальностей «Інформатика» та «Прикладна математика» заочної форми навчання

Суми

Сумський державний університет

2011

3

Методичні вказівки з дисципліни «Застосування теорії чисел у криптографії» / укладач О. І. Оглобліна. – Суми: Сумський державний університет, 2011. – 65 с.

Кафедра прикладної та обчислювальної математики

4

ТЕМА 1 ПОДІЛЬНІСТЬ ЦІЛИХ ЧИСЕЛ

1.1. Основні поняття і теореми.

1.2 Найбільший спільний дільник (НСД).

1.3.Найменше спільне кратне (НСК).

1.4.Ознаки подільності чисел.

1.5.Неперервні дроби.

1.1. ОСНОВНІ ПОНЯТТЯ І ТЕОРЕМИ

Означення

Для довільних цілих чисел a і b визначається, що b ділить a , якщо існує таке ціле число q , для якого виконується рівність

a = b × q

Позначається цей факт так: b | a . При цьому b називається

дільником

числаa , відповідно

число a за таких умов

називається кратним числу b .

 

Власним

дільником числа

a називається будь-який

додатний дільник a , відмінний від a . Нетривіальним дільником a називається будь-який додатний дільник a , який не дорівнює 1 або a .

Простим числом називається таке ціле число, яке має за дільники тільки 1 та a . Ціле число, яке має хоча б один нетривіальний дільник, називається складеним числом.

Властивості подільності цілих чисел

1.Якщо b | a і c - будь-яке додатне ціле число, тоb | a ×c .

2.Якщо b | a та c | b , то c | a .

3.Якщо b | a та b | c , то b | a + c .

4. Узагальнення: якщо у рівності k + l + ... + n = p + q + ... + s про всі числа, крім одного відомо, що вони кратні деякому числу b , то і останнє число є кратним b .

3

Теорема про ділення з остачею. Будь-яке ціле число a єдиним способом подається за допомогою додатного цілого числа b рівністю:

a = b × q + r, 0 £ r < b ,

де q - неповна частка, r - остача.

1.2.НАЙБІЛЬШИЙ СПІЛЬНИЙ ДІЛЬНИК (НСД).

1.Будь-яке ціле di , яке одночасно ділить числа a, b,...., l ,

називають спільним дільником (СК) цих чисел. Найбільший із усіх дільників має назву найбільший спільний дільник (НСД)

та позначається d = (a, b,...., l ) .

2. Якщо (a, b,...., l ) = 1, то числа a, b,...., l - взаємно прості,

якщо кожне число з наведеного набору є взаємно простим з кожним іншим числом цього набору, то ці числа – попарно прості. Попарно прості числа є одночасно і взаємно простими,

але не навпаки.

Приклад

Числа 6, 10, 15 – взаємно прості, оскільки (6,10,15) = 1, але вони не попарно прості. Числа 7, 13, 23 – попарно прості, оскільки (7,13) = (7, 23) = (13, 23) = 1 , і одночасно вони взаємно прості.

НСД двох цілих чисел а і b.

1. Якщо b | a , то (a, b) = b і кількість дільників у чисел a

та b збігається з кількістю дільників b .

2. Якщо a = bq + r , то кількість дільників a збігається із кількістю спільних дільників b та r , зокрема

(a, b) = (b, r ) (витікає з властивості 4. п.1.1).

3. Якщо a0 = cq0 + r0 , a1 = cq1 + r1 ,..., an = cqn + rn

4

(a0 , a1 ,..., an , c) = (c, r0 , r1,...rn ) .

Алгоритм Евкліда для знаходження НСД двох чисел a і b

Цей алгоритм ґрунтується на попередніх твердженнях. Розглянемо a та b , причому a ³ b . Тоді можна записати обмежений ланцюжок ділень із остачею:

a = bq0 + r1; 0 < r1 < b

b = r1q1 + r2 ; 0 < r2 < r1

r1 = r2q2 + r3 ;

0 < r3 < r2

....................

 

rn−2 = rn−1qn−1 + rn ;

0 < rn < rn−1

rn−1 = rn qn

 

Останнє ділення –

ділення без остачі, тобто rn | rn−1 .

Досліджуючи цей ланцюжок з останнього ділення уверх, отримаємо

rn | rn−1 rn | rn−2 (rn−2 , rn−1 ) = rn ;

rn | rn−2 rn | rn−3 (rn−3 , rn−2 ) = (rn−2 , rn−1 ) = rn ;

.......................................

rn | r1 rn | b (b, r1 ) = ......

= rn ;

rn | b rn | a (a, b) = ......

= rn

Отже, з вищеподаного випливає:

сукупність дільників a та b збігається зі сукупністю дільників їх НСД;

НСД a та b дорівнює останній ненульовій остачі в

ланцюжку ділень за алгоритмом Евкліда.

1.3. НАЙМЕНШЕ СПІЛЬНЕ КРАТНЕ (НСК).

Подані числа a1 , a2 ,..., am . Довільне число, що є кратним кожному з даних чисел, називається спільним кратним (СК)

5

цих чисел. Найменше з чисел, кратних поданому набору чисел,

називається їх найменшим спільним кратним (НСК).

Позначення НСК

m = [a1 , a2 ,..., am ] .

 

 

Нехай

(a, b) = d ,

 

 

тоді

 

 

a = a1d ,

b = b1d

і

(a1 , b1 ) = 1

(властивості НСД, 2) Нехай

M

-

 

деяке кратне a та b , тобто

 

M = ka

і

M

=

ka

=

ka1d

=

ka1

Î Z . Оскільки

(a , b ) = 1, то k

 

 

 

 

 

 

 

 

 

 

 

 

b b b1d

 

 

 

b1

 

 

 

 

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

повинно ділитися на b1 ,

 

тобто k = b1t .

Для СК буде правильна

формула

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M = ka = ak = ab1t =

ab1d

=

a ×b

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

t .

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

Найменше значення СК буде за умови, що t = 1,

тобто для

НСК виконується формула

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[a, b] = m =

 

ab

,

 

 

(1)

 

 

 

 

 

 

 

 

 

 

 

(a, b)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тоді M = m ×t .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приклад 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Знайти d = (648, 261)

 

та

m = [648, 261] .

 

 

 

Розвязання

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Шукаємо НСД:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

648

:

648 = 261× 2 +126,

 

 

 

a = bq

+ r , r = 126, 0 < 126 < 261;

 

 

 

 

 

 

261

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

261

: 261 = 126 × 2 + 9,

 

 

 

b = r q + r r = 9,

0 < 9 < 126;

 

 

 

 

 

126

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

126

:

126

= 9 ×14 + 0, r =

0 /

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Остання ненульова остача r2 = 9 .

6

Отже, d = (648, 261) = 9 .

2. m = [648, 261] знайдемо, використавши формулу (1),

= [ ] = 648 × 261 = 169128 =

m 648, 261 18792 .

d

9

Відповідь: d = (648, 261) = 9, m = [648, 261] = 18792 .

Приклад 2

Знайти d = (420,126, 525) .

Розвязання

Для знаходження найбільшого спільного дільника трьох чисел використаємо властивість 3.

а) Найменшим з чисел 420, 126 і 525 є число 126. Ділимо два інших числа на 126 і визначаємо остачу від ділення:

 

420

= 3×126 + 42;

r = 42 < 126 ;

 

 

126

 

 

1

 

 

 

 

525

= 4 ×126 + 29;

r = 29 < 126.

 

126

 

 

2

 

 

 

б) За властивістю 3 (525, 420, 126) = (126, 42, 29) .

Найменше число – 29.

126 = 4 × 29 +10 ;

29

42 = 1× 29 +13.

29 в) За властивістю 3 (525, 420, 126) = (126, 42, 29) = (29,13,10) .

Оскільки числа 29 і 13 – прості, то (29,13,10) =1. А це означає, що (525, 420, 126) =1 .

Відповідь: задані числа є взаємно простими.

7

1.4. ОЗНАКИ ПОДІЛЬНОСТІ ЧИСЕЛ

ЗАГАЛЬНІ ПРИНЦИПИ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Будь-яке

 

ціле (n +1) - значне

число

можна подати

у

десятковій системі так:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N = 10n a

n

+10n−1 a

n−1

+ ... +102 a

2

+10a + a ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

 

 

 

 

 

 

0 £ ai £ 9; i =

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0, n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Застосовують ще один запис числа

N

 

як послідовності

цифр:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N =

 

 

;

 

0 £ ai

£ 9;

i =

 

.

 

 

 

 

 

 

an an−1...a2 a1ao

0, n

 

 

Вирішити питання подільності числа

N

на будь-яке інше

число k можна,

розглянувши послідовність остач від ділення

степенів основи числення на k :

 

 

 

 

 

 

 

 

 

 

 

 

r0 = a0 - k × q0 ; r1 = 10 - k × q1;

 

 

 

 

 

 

 

 

 

 

 

 

r = 102 - k × q

; ...; r

= 10n - k × q

n

;

 

 

 

 

 

 

 

 

 

2

 

2

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

де q - відповідні неповні частки від ділення 10i , i =

 

 

 

k .

0, n

на

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ri , i =

 

 

 

 

 

 

Очевидно, що остачі

0, n

 

не перевищують числа

k

за

значенням. Кількість різних цілих остач менша за k . Відповідно до властивостей такої послідовності остач

відносно k можна вивести відповідне правило подільності цілих чисел на число k .

а) Подільність цілого числа на 2:

N = 10n an +10n−1 an−1 + ... +102 a2 +10a1 + a0 .

Усі доданки, крім останнього діляться на 2, отже для подільності N на 2 необхідно, щоб остання цифра числа a0 ділилася на 2 (була парною).

8

б) Подільність на 3 та на 9:

 

 

 

 

 

N =

99...9 +1 a

n

+

99...9 +1 a

n

−1

+ ...

 

 

{

 

 

 

{

 

 

 

 

n

 

 

 

 

n−1

 

 

 

 

 

... + (99 +1) a2 + (9 +1) a1 + a0 =

 

 

 

 

=

9...9 a

+ 9...9 a

n−1

+ ... + 99a

2

+ 9a

 

+

 

 

{ n

{

 

 

 

 

1

 

 

 

 

n

n−1

 

 

 

 

 

 

 

 

 

 

+ (an + an−1 + ... + a2 + a1 + a0 ) .

Перший доданок ділиться на 3 та на 9, отже, для подільності N на 3 або на 9 необхідно, щоб сума цифр числа N ділилася на 3 або на 9 відповідно.

в) Подільність на 4:

N = (10n an +10n−1 an−1 + ... +102 a2 + 8a1 ) + (2a1 + a0 ) .

Отже, для подільності N на 4 необхідно, щоб 2a1 + a0

ділилося на 4.

Наприклад, 183 546 976 ділиться на 4 оскільки 7 × 2 + 6 = 20 , 20 ділиться на 4.

г) Подільність на 5:

N = 10n a

n

+10n−1 a

n−1

+ ... +102 a

2

+10a + a .

 

 

 

 

1 0

Усі доданки, крім останнього, діляться на 5, отже, для

подільності N на 5 необхідно,

щоб остання цифра числа a0

ділилася на 5.

 

 

 

 

 

 

 

д) Подільність на 8:

 

 

 

 

 

 

N = (10n an +10n−1 an−1 + ... + 96a2 + 8a1 ) + (4a2 + 2a1 + a0 ) .

Отже, для подільності

N

 

на 8 необхідно, щоб число

4a2 + 2a1 + a0 ділилося на 8.

 

 

 

 

 

Відома й інша ознака подільності на 8 – для того щоб все

9

число

N =

an an−1...a2 a1ao

ділилося на 8,

необхідно, щоб число

 

 

ділилося на 8.

 

 

 

 

a2 a1a0

 

 

 

 

Для

визначення

подільності

на

8 тризначного

числа зручно розглянути його у такому вигляді

 

 

10 (10a2 + a1 ) + a0 = 8(10a2 + a1 ) + 2 (10a2 + a1 ) + a0 .

Якщо 2 (10a2 + a1 ) + a0 ділиться на 8, то і все число ділиться

на 8.

 

 

 

 

 

Такий спосіб можна застосовувати до чисел, які отримуємо під час перевірки на подільність до тих пір, поки подільність не стане очевидною.

Приклад

Дослідити число 195 347 839 на подільність на 8.

Розвязання

Визначимо, чи ділиться 839 на 8:

839 = 10 ×83 + 9 2 ×83 + 9 = 175 = 10 ×17 + 5

 

10↔2

 

 

 

10↔2

2 ×17 + 5 = 39 10 ×3 + 9

10↔2

 

10↔2

6 + 9 = 15 = 10 ×1+ 5 2 + 5 = 7 .

10↔2

10↔2

За ознакою число 839 не ділиться на 8 без остачі. Остача має

значення 7. Отже, вихідне число N = 195347839 при діленні на

8 має остачу 7.

 

 

 

 

Дійсно,

195347839

= 24 418 479

7

.

 

 

8

8

 

д) Подільність на 7

Для формулювання ознаки подільності на 7 дослідимо послідовність остач від ділення степенів числа 10 на 7:

10 = 7 ×1+ 3, q1 = 1, r1 = 3;

102 = 100 = 7 ×14 + 2, q

2

= 14,

r = 2;

 

 

2

10

Соседние файлы в предмете Защита информации