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

Zastosuvannya_teoriyi_chisel_u_kriptografiyi_metodi

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

x2

º 9 +11× 2 = 31(mod 55) ,

 

 

 

x3

º 9 +11×3 = 42 (mod 55) , x4

º 9 +11× 4 = 53(mod 55) .

Якщо додати ще

один

модуль

11, то отримаємо

x5 º 9 + 5 ×11 = 64 º 9(mod 55).

 

 

 

Тобто розв’язки x0 , x1 , x2 , x3 , x4

не конгруентні між собою за

модулем 55, а x5

º x0 (mod 55) .

 

 

 

Отримали 5

неконгруентних

між

собою класів, які є

розв’язками вихідної конгруенції. У

загальному вигляді

розв’язок можна подати так:

 

 

 

x º 9 +11t(mod 55),

t = [0,..., d -1]= [0,...,4].

в) Розв’язати конгруенцію 10x º 33(mod 55).

Розвязання

(10,55) = 5 > 1, але 33 на 5 не ділиться, отже, ця конгруенція не має розв’язків.

4.2.2. ВИКОРИСТАННЯ ПІДХІДНИХ ДРОБІВ ДЛЯ РОЗВЯЗАННЯ КОНГРУЕНЦІЙ.

Випадок ax º b(mod m) , (a, m) = 1. Розкладемо у неперервний дріб відношення

m

= q +

1

.

 

 

a

1`

q2 + ...

 

 

 

+ 1 qn

Будемо мати набір неповних часток q1 , q2 ,..., qn . За відомою

схемою побудуємо підхідні дроби di

=

Pi

. Розглянемо два

 

 

 

Qi

51

останніх підхідних дроби: δn−1 =

Pn−1

, δn

=

Pn

=

m

.

 

Qn

 

 

 

 

Qn−1

 

 

a

 

З

властивостей

підхідних

 

дробів

відомо:

PnQn−1 Qn Pn−1 = (− 1)n , отже

mQn−1 aPn−1 = (− 1)n .

Враховуючи,

що Qn−1

ціле число, можна mQn−1 вважати за модульний період,

який можна відкинути. Тобто маємо

aPn−1 = (− 1)n−1 mod(m).

Помножимо ліву і праву частини на число (−1)n b :

 

a(− 1)n−1 bPn−1 b(mod m).

Отже, розв’язок конгруенції буде x (− 1)n Pn−1b(mod m) .

Приклад

Розв’язати конгруенцію 256x ≡ 179(mod 337)

Розвязання

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(256,337) = 1

 

розв’язок

єдиний.

Розкладемо

відношення

 

337

 

у неперервний дріб:

 

 

 

 

 

 

 

 

 

 

 

256

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

337

= 1+

 

81

; q = 1;

256

= 3 +

13

; q = 3;

 

 

 

 

 

 

 

 

 

 

 

 

 

256

 

 

 

256

 

 

1

 

81

 

 

 

81

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

81

= 6 +

 

3

; q = 6;

 

13

= 4 +

1

; q

 

= 4;

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

13

 

 

13

 

3

 

 

3

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

= 3; q5

= 3 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Будуємо схему.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

і

 

0

 

 

 

 

1

 

 

 

 

2

 

 

 

 

3

 

4

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

qi

 

 

 

 

 

 

 

1

 

 

 

 

3

 

 

 

 

6

 

4

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Pi

 

1

 

 

 

 

1

 

 

 

 

4

 

 

 

 

25

 

104

337

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Qi

 

0

 

 

 

 

1

 

 

 

 

3

 

 

 

 

19

 

79

256

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Із схеми маємо

52

n = 5, Pn−1 = P4 = 104, b = 179

x = (-1)4 104 ×179 (mod 337);

104 ×179

= 55 +

81

.

337

 

 

337

 

Отже, x º 81(mod 337).

4.2. ОБЕРНЕНИЙ ЕЛЕМЕНТ ЗА МНОЖЕННЯМ

Отримавши правила для розв’язання конгруенцій з одним невідомим, можемо дати відповідь на питання:

ДЛЯ ЯКИХ ЕЛЕМЕНТІВ ПОВНОЇ СИСТЕМИ ЛИШКІВ ЗА ДОВІЛЬНИМ МОДУЛЕМ m ІСНУЄ ОБЕРНЕНИЙ ЕЛЕМЕНТ З МНОЖЕННЯ?

Щоб дати відповідь на це питання, необхідно розглянути розв’язання конгруенції

ax º 1(mod m) .

Виходячи з вимог існування розв’язку такої конгруенції – (a, m) = 1, оскільки права частина конгруенції дорівнює 1. Якщо

за a взяти елементи повної системи найменших додатних лишків (як базу для всіх класів чисел за модулем m ), то очевидно, що конгруенція не завжди буде мати розв’язок. Наприклад, m = 15, a = 5 . Отже, з повної системи необхідно відкинути всі елементи, кратні модулю. Отримаємо зведену систему лишків, кількістю j(m) елементів. Для будь якого елементу зведеної системи за модулем m обернений елемент буде розв’язком конгруенції ax º 1(mod m) :

x º aϕ(m )−1 (mod m).

Позначимо обернений елемент через a−1 .

Отже, для складеного модуля m обернений елемент існує

тільки для його зведеної системи лишків. Для будь-якого елемента a з класу зведеної системи лишків він дорівнює

53

a−1 aϕ(m )−1 (mod m) .

Якщо модуль є просте число p , то зведена система лишків

для нього збігається з повною системою лишків.

Отже, для будь-якого елемента повної системи лишків за простим модулем p обернений елемент заданий та єдиний:

a−1 a p−2 (mod p).

Знайти обернений елемент просто, використовуючи неперервні дроби.

a1 = (1)n 1 Pn 1

Приклад

Знайти обернений елемент для числа a = 131 за модулем m = 437 .

Розвязання

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Розглянемо

 

 

дріб

a

=

437

.

Подамо

цей

 

дріб через

 

 

 

 

131

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

ланцюжок неповних часток:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

437

= 3

44

 

;

 

q = 3;

131

= 2

43

;

q

 

= 2;

 

44

= 1

1

 

;

 

 

 

 

 

 

 

2

 

 

 

131

131

 

 

 

1

 

44

 

44

 

 

 

 

43

 

43

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q = 1;

43

= 43;

q

 

= 43 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отже,

437

= [3,2,1,43]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

131

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Будуємо таблицю підхідних дробів.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

і

 

0

 

 

 

 

 

 

1

 

 

2

 

 

 

 

3

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

qi

 

 

 

 

 

 

 

 

 

3

 

 

2

 

 

 

 

1

 

 

 

43

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

Pi

 

1

 

 

 

 

 

 

3

 

 

7

 

 

 

 

10

 

 

437

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

Qi

 

0

 

 

 

 

 

 

1

 

 

2

 

 

 

 

3

 

 

 

131

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Використовуючи властивості підхідних дробів, можна записати:

54

P ×Q - P ×Q = (-1)4 або 437 ×3 -10 ×131 =1.

4 3 3 4 123

≡0 (mod 437 )

Отже, можемо записати (-10)×131 º1(mod 437) .

Звідси 131−1 º -10(mod 437) або 131−1 º 427(mod 437).

Відповідь

Обернений елемент для числа a = 131 за модулем m = 437

становить a −1 = -10 (серед

повної

 

системи абсолютно

найменших лишків), що відповідає

a −1

 

= 427 серед повної

системи найменших додатних лишків.

 

 

 

 

4.3. СИСТЕМИ КОНГРУЕНЦІЙ ПЕРШОГО СТЕПЕНЯ З ОДНИМ

 

 

 

 

НЕВІДОМИМ

 

 

 

 

Розглянемо систему конгруенцій

 

 

 

 

 

a1 x º b1

(mod m1 ),

(a1 , m1 ) = 1,

 

a

x º b

(mod m

),

(a

, m

 

) = 1,

 

 

2

2

2

 

2

2

 

(1)

 

K K K K K K K

 

 

a

x º b (mod m ),

(a

, m ) = 1

 

 

k

k

k

 

k

 

k

 

 

з одним невідомим за різними модулями. Будемо вважати також, що m1 , m2 ,..., mk - попарно прості:

(mi , m j )= 1, i = 1, k; j = 1, k; i ¹ j .

Розвязок системи конгруенцій з одним невідомим є таке ціле число α , яке задовольняє усі конгруенції даної системи.

По-перше,

спростимо

цю

систему.

Оскільки

(ai , mi ) = 1, i =

 

,

 

 

 

 

1, k

то для ai

існує

обернений

елемент

ai −1 : ai × ai −1 º 1(mod mi ) . Помноживши кожне рівняння системи на свій зворотний елемент, перейдемо до еквівалентної системи:

55

x c1

(mod m1 ) ,

 

x c

(mod m

),

(2)

 

2

2

 

K K K K

).

 

x c

(mod m

 

 

k

k

 

 

Отже, розв’язавши систему (2), ми тим самим знайдемо розв’язок системи (1).

Відповідь про існування та структуру розв’язку системи (2)

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

Нехай дані k попарно простих чисел m1 , m2 ,..., mk та чисел

c1, c2 ,..., ck , таких, що 0 ≤ ci mi − 1, i =

1, k

. Тоді

існує таке

єдине ціле число α , у якого остача від ділення на mi

становить

ci (тобто α ≡ ci (mod mi )).

 

Доведення

Доводити будемо побудовою числа α . Позначимо через M НСК усіх модулів. Оскільки вони попарно прості, то M = m1m2 ...mk . Далі побудуємо систему чисел

 

 

=

M

=

m1m2 ...mi ...mk

= m m ...m m

...m , i =

 

.

M

i

1, k

 

 

 

 

mi

 

 

1 2 i−1 i+1

k

 

 

 

 

mi

 

 

 

Кожне M i є взаємно простим з числом mi , тому для нього існує обернений елемент

M

i

−1

M

ϕ(mi )−1 mod(m ).

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

Побудуємо число α = M i M i −1ci .

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

Тоді розв’язком системи (2) буде клас лишків, що

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

 

 

 

 

 

 

 

 

x ≡ α(mod M ) .

 

 

 

 

 

 

 

 

 

 

Дійсно, підставимо α у першу конгруенцію системи (2):

M

1

M

−1c + M

2

M

−1c

2

+ ... + M

k

M

k

−1c

k

c

(mod m ).

 

 

1 1

 

 

2

 

 

 

1

1

56

 

Усі доданки, починаючи з другого, діляться на m1 , оскільки

 

 

i =

 

 

як множник. Тому всі ці

цей модуль наявний у

Mi ,

2,k

доданки

конгруентні

0

за

модулем m1 . Добуток

M

M

−1 ≡ 1(mod m ) за

побудовою,

(M

, m ) = 1 . Залишається

1

 

1

1

 

 

 

 

1

1

тотожна конгруенція c1 c1 (mod m1 ).

У другому рівнянні неконгруентним 0 за модулем m2 буде

тільки доданок M 2 M 2 −1c2 . Отже, α є розв’язком для другої

конгруенції і т. д.

Розв’язок підійде до кожної конгруенції через свою структуру.

Висновок

Розвязок системи (2) існує, і це є клас чисел x = α + Mt, t Z .

Наведемо приклад практичного розв’язання систем з невеликою кількістю конгруенцій.

Приклад

Розв’язати систему конгруенцій

743x ≡ 16 (mod13),≡ ( )59x 128 mod 5 ,

136x ≡ 82 (mod 3).

Розвязок

Маємо систему з трьох конгруенцій за простими модулями. КРОК 1. Спрощуємо систему. Замінимо числа в кожній

конгруенції на найменші лишки за відповідними модулями.

2x ≡ 3(mod13),≡ ( )4x 3 mod 5 ,

x ≡ 1(mod 3).

Зведемо систему до вигляду (2):

57

2x º 3 +13

(mod13) 2x º 16 (mod13)

x º 8(mod13) ,

 

 

 

 

(2,13)=1

4x º 3 + 5(mod 5) 4x º 8(mod 5)

x º 2 (mod 5),

 

 

 

(4,5)=1

 

x º 1(mod 3).

 

 

Отримали зведену систему

 

 

x º 8(mod13) ,

 

 

 

º 2 (mod 5),

 

 

x

 

 

 

º 1(mod 3).

 

 

x

 

 

Розв’язок для такої системи конгруенцій за Китайською

теоремою існує і єдиний.

 

x º 8(mod13) Таку

Розглянемо

першу конгруенцію

конгруенцію можна записати через рівність:

 

 

x = 8 +13t1 .

 

(*)

Оскільки x є розв’язком для кожної конгруенції, підставимо

його до другої конгруенції системи і визначимо значення t1 :

8 +13t1 = 2 (mod 5) 13t1 º -6 (mod 5)3t1 º -6 + 5 ×3(mod 5) 3t1 º 9 (mod 5) .

Оскільки (3,5) =1 поділимо обидві частини конгруенції на 3:

t1 º 3(mod 5) , а оскільки t1 = 3 + 5t2 .

 

Підставимо t1 до (*):

 

x = 8 +13(3 + 5t2 ) = 8 + 39 +13 ×5t2 = 47 +13 ×5t2

а оскільки

x º 47(mod13×5).

 

x = 47 +13×5t2 .

(**)

Отриманий x підставимо у третю конгруенцію:

 

47+13×5t2 º 1(mod 3) 65t2 º -46 (mod 3)

-t2 º -1(mod 3) t2 º1(mod 3) t2 =1+ 3t3 .

Підставимо t2 у (**):

58

x = 47 +13 ×5(1 + 3t3 ) = 47 + 65 +13 ×5 ×3t3 =112 +13 ×5 ×3t3 .

Отже, можна записати розв’язок:

x º112(mod13×5 ×3), а оскільки x º112(mod195).

Відповідь

x º112(mod195).

Перевірка

 

 

 

2 ×112 = 224 = 13×17 + 3 2 ×112 º 3(mod13) ,

 

 

 

 

 

×112 = 448

º 3(mod 5),

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

112 = 3×37 +1 112 º 1(mod 3).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Система розв’язана правильно.

 

 

 

Зауваження

 

 

 

 

 

 

 

 

 

 

1.

Якщо

у

системі

(1)

для

будь-якої

конгруенції

ai x º bi (mod mi ),

 

(ai , mi ) = d > 1, d | bi

,

то

скорочуючи

конгруенцію

 

на

d ,

переходимо

до

конгруенції

 

a

i

 

b

 

m

 

 

 

 

 

 

 

 

 

x º

i

mod

i

 

і вже

цю

конгруенцію

підставляємо до

 

 

 

 

 

 

d

d

d

 

 

 

 

 

 

 

системи.

Якщо для нової системи збереглася попарна простота модулів, то вона має єдиний розв’язок, згідно з китайською теоремою про остачі. Але в цьому випадку i - та конгруенція має

d

розв’язків:

x º c + t

 

mi

(mod m ), t

 

=

0, (d -1),

отже,

 

 

 

 

 

 

i

j d

i

 

j

 

 

 

 

необхідно розглянути відповідно d

систем, у кожній з яких на

i − му місці буде стояти відповідний розв’язок конгруенції.

2.

Система

з двох рівнянь виду

x º c1

(mod m1 ),

у разі

x º c

(mod m ).

(m1 , m2 ) = d > 1

 

 

 

 

 

 

 

 

2

2

 

буде

мати

 

розв’язок

тільки за умови, що

d | c2 - c1 . В іншому

разі

система

не

сумісна. Якщо

умова

59

виконана і розв’язок є, він буде знайдений за модулем, який дорівнює НСК m1 та m2 .

3. Якщо система складається з k > 2 конгруенцій з модулями, що мають НСД>1, то перевірку необхідно проводити поступово. У разі, коли хоча б одна з отриманих конгруенцій у ході розв’язання не має розв’язку, то і вся система несумісна. Якщо розв’язок є, то це буде конгруенція за НСК усіх модулів.

ЗАВДАННЯ ДЛЯ ВИКОНАННЯ ІНДИВІДУАЛЬНИХ КОНТРОЛЬНИХ РОБІТ ЗА ТЕМОЮ 4.

Завдання 8

Знайти обернений елемент для числа a за модулем m .

1.

2.

3.

4.

5.

6.

a = 142,

a = 137,

a = 95,

a = 37,

a = 37,

a = 113,

m = 439

m = 932

m = 308

m = 107

m = 217

m = 311

 

 

 

 

 

 

7.

8.

9.

10.

11.

12.

a = 221,

a = 41,

a = 31,

a = 93,

a = 23,

a = 137,

m = 367

m = 101

m = 142

m = 133

m = 691

m = 323

 

 

 

 

 

 

13.

14.

15.

16.

17.

18.

a = 97,

a = 101,

a = 103,

a = 91,

a = 137,

a = 59,

m = 323

m = 931

m = 1031

m = 323

m = 837

m = 311

 

 

 

 

 

 

19.

20.

21.

22.

23.

24.

a = 97,

a = 113,

a = 89,

a = 47,

a = 67,

a = 64,

m = 433

m = 923

m = 323

m = 311

m = 691

m = 531

 

 

 

 

 

 

25.

26.

27.

28.

29.

30.

a = 64,

a = 71,

a = 83,

a = 93,

a = 128,

a = 29,

m = 743

m = 531

m = 323

m = 531

m = 1025

m = 531

 

 

 

 

 

 

Завдання

Розв’язати систему конгруенцій, попередньо спростивши її.

60

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