Professional Documents
Culture Documents
Metodicheskoe Posobie Algebra I Teoriya Chisel PDF
Metodicheskoe Posobie Algebra I Teoriya Chisel PDF
3) ∀g∈G ∃ g −1 ∈G: g −1 ⊗g = g⊗ g −1 = e.
Приклади 1.5.
1. Множина Sn підстановок довжини n утворює групу відносно
операції суперпозиції. Ця група має назву симетричної групи.
2. Множина дійсних чисел R утворює абелеву групу відносно операції
додавання +.
3. Множина R/{0} дійсних чисел без нуля утворює абелеву групу
відносно операції множення.
4. Множина N натуральних чисел утворює напівгрупу відносно
операції додавання +.
5. Множина N натуральних чисел утворює моноїд відносно операції
множення.
6. Множина цілих чисел Z утворює абелеву групу відносно операції
додавання.
7. Множина цілих чисел Z утворює моноїд відносно операції
множення.
8. Множина M n матриць розмірності n×n утворює абелеву групу
операції множення.
Твердження 1.6 (властивості елементів групи).
1. Одиничний елемент е у моноїді єдиний.
Доведення: нехай е' – також одиничний елемент. Тоді е = ее' = е'.
2. Нехай (G, ⋅) – група. Тоді ∀a, b∈G ∃!c∈G: a = b·с і ∃!d∈G: a = d·b.
Доведення: c = a·d–1; d = b–1·a.
3. Нехай (G, ⋅) – група. Тоді:
а) ∀a∈G ∃!а–1; б) ∀a∈G (а–1)–1 = а; в) ∀a, b∈G (а·b)–1 = b–1 ·a–1.
4. Нехай (S, ⊗) – група, G ⊂ S. Тоді (G, ⊗) – група тоді й тільки тоді,
якщо ∀a, b∈G: a·b–1∈G.
Пункти 3, 4 твердження 1.6 рекомендується довести самостійно.
(a ⊕ b) ⊕ c = (a + b + c) mod n = a ⊕ (b ⊕ c).
⊕ 0 1 2 3 4
0 0 1 2 3 4
1 1 2 3 4 0
2 2 3 4 0 1
3 3 4 0 1 2
4 4 0 1 2 3
Приклади 1.12.
1. (Z, +) є підгрупою групи (R, +).
2. Нехай G – група, а∈G. Розглянемо множину <a> = {ak, k∈Z}, де
ak = a
⋅ a
⋅ ...
⋅ a , а–k =(a–1) k, a0 = e. Очевидно, що <a> – підгрупа групи G.
k разів
Приклади 1.15.
1) Нехай G = Z5 (групова операція – додавання за модулем 5); a = 3.
Тоді ord a = 5. Дійсно, ord а ≠ 1, так як а ≠ 0; далі, a +a=1, a+ a+ a=4, a+ a+
a+ a=2, a+ a+ a+ a+ a=0, отже, ord a = 5.
2) У групі (Z, +) будь-який елемент а ≠ 0 є елементом нескінченного
порядку.
b−1a = h2h1−1 ∈ H .
містить елемент.
Означення 2.13: нехай Н – нормальна підгрупа G. Факторгрупою
групи G за підгрупою Н називається група, утворена (лівими) класами
суміжності, з операцією (2.1). Ця група позначається G/H.
Зауваження 2.14: порядок факторгрупи G/H дорівнює кількості
класів суміжності групи G за підгрупою Н (індексу (G: H) підгрупи H у
|G |
групі G). Якщо |G| < ∞ , то |G/H| = , за теоремою Лагранжа.
|H |
Покажемо, що з кожною нормальною підгрупою Н групи G
пов’язаний деякий гомоморфізм. Має місце наступна теорема.
Теорема 2.15 (про ізоморфізм груп).
1) Нехай ϕ: G → G1 – гомоморфізм груп. Тоді ker ϕ – нормальна
підгрупа в G і G / ker ϕ ≅ Im ϕ . ( Тобто факторгрупа за ядром
( )
ϕ g −1hg = eG1 . Дійсно, за означенням гомоморфізму та внаслідок того,
що ϕ (h) = eG , отримаємо:
1
( ) ( ) ( ) ( )
ϕ g −1hg = ϕ g −1 ϕ (h ) ϕ (g ) = ϕ g −1 eG1 ϕ (g )= ϕ g −1 eG1 ϕ (g ) =
= ϕ (g )−1 eG ϕ (g ) = ϕ (g )−1 ϕ (g ) = eG .
1 1
( )
виконуватись ϕ g 2−1 g1 = eG1 , тобто g 2−1g ∈ ker ϕ , що означає рівність
1.22).
2) Нехай Н нормальна підгрупа групи G. Доведемо, що відображення
φ: G → G/H, де φ(g) = gH, є гомоморфізмом. Дійсно,
ϕ(g1g 2 ) = g1g 2 H = (g1H )(g 2 H ) = ϕ(g1 )ϕ(g 2 ), де перша рівність
Нехай G – група, S ⊂ G.
Означення 2.19: нормалізатором множини S⊂G називається
множина
C = {c∈G ∀a∈G: ca = ac }.
G
G дорівнює числу класів суміжності групи G за центром C, тобто .
C
Приклади 3.8.
1. (R, +, ·) – множина дійсних чисел утворює поле відносно операцій
додавання та множення;
2. (Z, +, ·) – цілісне кільце;
3. (Zп, +, ·) – комутативне кільце з одиницею; воно містить дільники
нуля, якщо п – складене число;
4. множина парних чисел з операціями додавання та множення
утворює комутативне кільце без одиниці та без дільників нуля;
5. множина функцій R→R утворює комутативне кільце з одиницею, в
якому операції задані наступним чином:
Приклади 4.7:
1) char Fp = (char Z/(p)) = p; 2) char Z = 0; 3) char Q = 0.
Зауваження 4.8: якщо кільце скінченне, то його характеристика не
дорівнює нулю. Але обернене твердження не вірне: існують нескінченні
кільця, що мають скінченну характеристику: наприклад, кільця поліномів
над полями Галуа.
Теорема 4.9: нехай R – комутативне кільце; char R = p – просте число.
n n n
Тоді ∀a, b ∈ R: (a ± b) p = a p ± b p , ∀n∈N.
ψ
б) R / ker ϕ ⎯⎯→ S – ізоморфізм, де ψ(r ⋅ ker ϕ) = ϕ(r ) .
(c ∈ R, ∃c )⇒ (R /(c) = 0).
−1
23. Нехай R – комутативне кільце з одиницею, a, c ∈ R . Довести: а –
дільник с ⇒ (с)⊂(а).
24. Довести, що кільце цілих чисел – кільце головних ідеалів.
25. Довести, що в кільці головних ідеалів ідеал є простим тоді й тільки
тоді, коли він породжений простим елементом.
26. Довести, що ідеал кільця Z цілих чисел, породжений елементами 2
та 3 (тобто найменший ідеал, що містить ці числа), співпадає з Z.
27. Які ідеали в кільці цілих чисел є простими? максимальними?
28. Довести, що множина всіх оборотних елементів кільця з одиницею
(в тому числі некомутативного) утворює групу відносно операції
множення.
§5. АЛГОРИТМ ЕВКЛІДА. ОСНОВНА ТЕОРЕМА
АРИФМЕТИКИ.
КОНГРУЕНЦІЇ ТА ЇХ ВЛАСТИВОСТІ.
КИТАЙСЬКА ТЕОРЕМА ПРО ЛИШКИ
Наслідок 5.13: нехай р – просте число. Тоді: р|ab ⇒ p|a або p|b.
Доведення: нехай р|ab і p не ділить a, тоді (p, a) = 1, і за наслідком 3
p|b.
Наслідок 5.13 можна узагальнити: якщо добуток довільної кількості
цілих чисел ділиться на просте число, то один з множників ділиться на це
число.
що ni > mi; розділимо ліву і праву частини на pimi . Тоді ліва частина
ділиться на pi (навіть на pini −mi ), отже, права частина теж ділиться на pi.
де ε = ±1 , p1α1 < p2α 2 < ... < psα s і α1, α2, …αs∈N.
5.3. Конгруенції (порівняння) та їх властивості.
⎧ x ≡ x1 (mod n1 );
⎨ (5.4)
⎩ x ≡ x2 (mod n2 ).
⎧⎪ x − x∗ ≡ x1 (mod n1 );
розв’язок, то, за властивостями конгруенцій, ⎨ і,
⎪⎩ x − x∗ ≡ x2 (mod n2 ),
оскільки (n1, n2) = 1, x ≡ x* mod n1n2, тобто x* = x + kn1n2 , для деякого k∈Z.
Якщо існують два розв’язки, що належать Zn1 n2, то, внаслідок (5.5),
×
вони конгруентні за модулем n1n2 і при цьому вони обидва менші за n1n2,
отже, є рівними. Теорему доведено.
ϕ( p α1 ).
⎧ x ≡ x1 (mod m1 ),
⎪ x ≡ x (mod m ),
⎪ 2 2
⎨ (6.1)
⎪ ...
⎪⎩ x ≡ xr (mod mr ),
і = 1, …, r.
Покажемо, що будь-які два розв’язки системи (6.1) конгруентні за
модулем M. Нехай x, y – розв'язки (6.1), тоді (x – y) mod mі = 0, і = 1, …, r, і,
оскільки (mi, mj) = 1, i ≠ j; за властивістю конгруенцій (x – y) mod M = 0;
тобто x ≡ y(mod M). Теорему доведено.
k +1 N < m , m , …, m < k N.
1 2 n
⎧ N1 = N (mod m1 );
⎪
⎨ (6.2)
⎪ N
⎩ k +1 = N (mod mk +1 ).
та обрати у якості числа N найменший додатній розв’язок.
~
Оскільки, за теоремою 6.1, ∃! N ∈[0, m1·…·mk+1], що є розв'язком
k +1
системи порівнянь, і оскільки ∏ mi > N, внаслідок вибору mi > k +1 N ,
i =1
a n1 ≡ a n2 (mod m).
Доведення: нехай n1 > n2, тоді за умовою n1 = n2 + kϕ(m)) для деякого
a ( n1 , n2 ) ≡ 1 mod m.
Доведення: нехай d = (n1, n2) = un1 + vn2, тоді
bn – 1 = (b – 1)××(bn – 1 + bn – 2 + … + b2 + b + 1).
1)
+…+ bm + 1).
Твердження 6.11: нехай p – просте число, p|(bn – 1). Тоді виконується
одна з двох наступних умов:
1) p|(bd – 1) для деякого d|n,
2) p ≡ 1 mod n.
Якщо ж p > 2 і n – непарне, умову 2 можна замінити підсиленою
умовою:
2*) p ≡ 1 mod 2n.
Доведення: р|(bn – 1) ⇒ (bn – 1) ≡ kp ⇒ bn ≡ 1 mod p. Крім того, за
малою теоремою Ферма, bp – 1 ≡ 1 mod p, отже, за твердженням 6.7,
bd ≡ 1 mod p, де d = (n, p – 1).
Якщо d < n, то отримаємо умову 1.
Якщо d = n, то p – 1 = тn і p ≡ 1 mod n, тобто виконується умова 2.
Якщо ж при цьому n – непарне, то 2|(p – 1) і n|(p – 1). Тоді 2n|(p – 1), звідси
(2, n) = 1 і p ≡ 1 mod (2n), виконується умова 2*. Твердження доведено.
n= ∑ ϕ(d ) .
d :d |n
доведено.
Лема 6.13: в будь-якому полі рівняння xn = 1 не може мати більше,
ніж n коренів.
Доведення леми 6.13 використовує апарат теорії скінченних полів і до
нашого курсу не входить.
(l, p − 1) = 1;
3) в групі Zp* рівно ϕ(р – 1) утворюючих елементів.
Перше з даних тверджень пропонується довести самостійно; друге і
третє є безпосередніми наслідками теореми 2.2 про властивості циклічної
групи.
Алгоритм знаходження всіх утворюючих елементів в Z p*
наступний.
1. Обрати довільний g∈Zp* та перевірити виконання умови (6.3). Якщо
умова (6.3) не виконується, обрати інший елемент і т.д.; якщо виконується
– перейти до наступного пункту.
2. Знайти всі такі 1 ≤ l ≤ p − 1 , що (l , p − 1) = 1 .
Довести: (d1, d 2 ) = 1 .
§7. АЛГОРИТМИ ТА ЇХ СКЛАДНІСТЬ.
ПОЛІНОМІАЛЬНІ ТА ЕКСПОНЕНЦІЙНІ
АЛГОРИТМИ. ЧАС РОБОТИ ОСНОВНИХ
АЛГОРИТМІВ
w
великих w можна вважати, що значення w є близьким до 2 .
Означення 7.2: нехай t : N → N – деяка функція. Будемо говорити,
що час роботи алгоритму Λ обмежено деякою функцією t(х), якщо на
кожному вході w він робить не більше, ніж t(|w|) бітових операцій.
с < d, що t (n) ≤ (2n ) d , але при цьому на нескінченній множині входів він
Означення 7.7: якщо існують такі константи 0 < ν < 1 , λ > 0 , що час
( )
роботи алгоритму t (n) = O f ν, λ (n ) , то такий алгоритм називається
субекспоненційним.
Тому при 0 < ν <1 час роботи алгоритму буде проміжним між
поліноміальним та експоненційним. Чим ближче параметр ν до нуля, тим
ближче алгоритм до поліноміального; чим ближче параметр ν до
одиниці, тим ближче алгоритм до експоненційного.
Крім вказаних класів алгоритмів, існують алгоритми, які за часом
роботи є проміжними. Наприклад, алгоритм, час роботи якого
визначається функцією f λ (n) = exp{ λ (ln n)2}, для досить великих
n2
роботи алгоритму обмежений функцією t (n) = , що є поліномом
2
другого степеню.
В термінах |a|, |b|:
k = [log2a] + 1, l = [log2b] + 1,
kl = [log2a][log2b] + [log2a] + [log2b] + 1 ≤ (max{[log2a], [log2b]} + 1)2 =
= ([log2{max(a, b)} + 1])2.
Отримане в результаті число а·b має не більше за k + l розрядів.
Час виконання операції ділення з остачею оцінюється аналогічно; для
нього справедлива та ж сама оцінка.
N0 = N;
N 1 = N 0N = N 2;
…
N n – 1 = N п – 2N = N n.
вихід ϕ.
Зауваження 8.10: слід зазначити, що якщо w = pq, де p, q – невідомі
прості числа, то справедливе і зворотне твердження: задача ∏2
поліноміально зводиться до ∏1.
k
1. Нехай р – просте число, p − 1 = ∏ (qi )αi – його розклад на прості
i =1
p −1
qi
g ≠ 1(mod p) ∀i = 1, k .
Як узагальнити дане твердження для довільної циклічної групи?
Нехай п∈Ν.
Означення 9.1: число х∈Z називають квадратичним лишком за
модулем п, якщо виконані наступні вимоги:
(х, п) = 1;
х ≡ у2 mod n для деякого у∈Zп*.
В цьому випадку число у називають квадратним коренем із х за
модулем п.
Числа, взаємно-прості з п, що не є квадратичними лишками за
модулем п, називають квадратичними нелишками за модулем п.
Квадратичні лишки (нелишки), що належать Zп*, називаються
зведеними квадратичними лишками (нелишками). Множину зведених
квадратичних лишків за модулем п позначатимемо Qn. Зрозуміло, що х –
квадратичний лишок (нелишок) за модулем п тоді й тільки тоді, коли
х mod n – зведений квадратичний лишок (нелишок) за модулем п. Тому
далі ми здебільшого будемо вивчати зведені квадратичні лишки
(нелишки).
Твердження 9.2: (критерій квадратичності) нехай р > 2 – просте
число. Тоді наступні умови еквівалентні:
1) х – квадратичний лишок за модулем р;
p −1
2) x 2 ≡ 1 mod p ;
3) якщо g∈Zp* – утворюючий елемент, то існує таке парне число
p −1
k = 0, , що x ≡ g2k mod р.
2
Доведення: з першого пункту випливає другий, а з третього –
перший, безпосередньо за означенням квадратичного лишку та з
використанням малої теореми Ферма. Отже, залишається довести, що з
другого пункту випливає третій.
Доведемо це від супротивного. Нехай виконується умова другого
p −1
пункту, але при цьому x ≡ g2k+1 mod р для деякого k = 0, . Тоді, за
2
p −1 p −1
малою теоремою Ферма, x 2 mod p = g 2 mod p , де вираз у правій
частині не дорівнює одиниці, за означенням утворюючого елемента.
Доведення закінчено.
Наслідок 9.3: утворюючий елемент циклічної групи Zp* не може бути
квадратичним лишком.
Наслідок 9.4: у групі Zp* рівно ( p − 1) 2 квадратичних лишків і
⎛ x ⎞
Означення 9.5: символом Лежандра ⎜⎜ ⎟⎟ для простого числа р > 2 і
⎝ p ⎠
елемента х∈Z називається величина, що приймає наступні значення:
⎧ 1, якщо х − квадратичний лишок за модулем р;
⎛ x ⎞ ⎪
⎜⎜ ⎟⎟ = ⎨− 1, якщо х − квадратичний нелишок за модулем р;
⎝ p ⎠ ⎪ 0, якщо р | x.
⎩
Теорема 9.6 (критерій Ойлера): нехай х∈Z, р > 2 – просте число. Тоді
p −1
⎛ x ⎞
⎜⎜ ⎟⎟ ≡ x 2 mod p .
⎝ p ⎠
Доведення: якщо р|х, доведення тривіальне.
Якщо р не ділить х і х – квадратичний лишок за модулем р, то, за п. 2
p −1
⎛ x ⎞
твердження 9.2, то ⎜⎜ ⎟⎟ ≡ x 2 mod p .
⎝ p ⎠
Залишилось показати, що якщо х – квадратичний нелишок за модулем
⎛ x ⎞
р, то ⎜⎜ ⎟⎟ ≡ −1 mod p .
⎝ p ⎠
p −1
p −1
Оскільки x ≡ 1 mod p , то x 2 ≡ ±1 mod p , оскільки за лемою 6.13
⎛ x ⎞
квадратичний нелишок за модулем р, то ⎜⎜ ⎟⎟ ≡ −1 mod p . Доведення
⎝ p ⎠
закінчено.
Теорема 9.7 (властивості символу Лежандра): нехай х1, х2∈Z, р > 2 –
просте число. Тоді:
⎛ x ⎞ ⎛ x ⎞
1) якщо х1 ≡ х2(mod р), то ⎜⎜ 1 ⎟⎟ = ⎜⎜ 2 ⎟⎟ ;
⎝ p ⎠ ⎝ p ⎠
⎛ x ⎞⎛ x ⎞ ⎛ x x ⎞
2) ⎜⎜ 1 ⎟⎟⎜⎜ 2 ⎟⎟ = ⎜⎜ 1 2 ⎟⎟ – мультиплікативність символу Лежандра;
⎝ p ⎠⎝ p ⎠ ⎝ p ⎠
⎛ x x 2 ⎞ ⎛ x ⎞
3) якщо р не ділить х2, то ⎜ 1 2 ⎟ = ⎜⎜ 1 ⎟⎟ ;
⎜ p ⎟ ⎝ p ⎠
⎝ ⎠
4) х – квадратичний лишок за модулем р тоді й тільки тоді, коли
⎛ x ⎞
⎜⎜ ⎟⎟ = 1.
⎝ p ⎠
Доведення: доведення першого та четвертого пунктів випливає
безпосередньо з означення символу Лежандра. Доведення другого пункту
випливає з критерію Ойлера. Доведення третього пункту випливає з
⎛ x 2 ⎞
другого, з урахуванням того, що якщо р не ділить х2, то ⎜ 2 ⎟ = 1. Теорему
⎜ p ⎟
⎝ ⎠
доведено.
⎛ x ⎞
⎜⎜ ⎟⎟, i = 1, s – символи Лежандра.
⎝ pi ⎠
Теорема 9.9 (властивості символу Якобі): нехай х1, х2, х3∈Z,
п1, п2, п3 ≥ 3 – непарні. Тоді:
⎛ x ⎞ ⎛ x ⎞
1) якщо х1 ≡ х2 mod п, то ⎜ 1 ⎟ = ⎜ 2 ⎟ ;
⎝ n ⎠ ⎝ n ⎠
⎛ x ⎞⎛ x ⎞ ⎛ x x ⎞
2) ⎜ 1 ⎟⎜ 2 ⎟ = ⎜ 1 2 ⎟ – мультиплікативність символу Якобі;
⎝ n ⎠⎝ n ⎠ ⎝ n ⎠
⎛ x x 2 ⎞ ⎛ x ⎞
3) якщо (х2, п) = 1, то ⎜ 1 2 ⎟ = ⎜ 1 ⎟ ;
⎜ n ⎟ ⎝ n ⎠
⎝ ⎠
⎛ x ⎞ ⎛ x ⎞⎛ x ⎞
4) ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟⎜⎜ ⎟⎟ ;
⎝ n1n2 ⎠ ⎝ n1 ⎠⎝ n2 ⎠
⎛ x ⎞
5) якщо х – квадратичний лишок за модулем п, то ⎜ ⎟ = 1 .
⎝ n ⎠
Доведення: твердження пунктів 1) та 2) випливають безпосередньо з
означення символу Якобі та теореми 9.7.
Твердження пункту 3) отримуємо пунктів з 2) та 5).
Твердження пункту 4) випливає з означення символу Якобі.
Доведемо пункт 5). Нехай х – квадратичний лишок за модулем п;
отже, х ≡ у2 mod n для деякого у∈Zп*, тобто п ділить (х – у2). Але тоді для
будь-якого простого рі з розкладу числа п виконується: рі|(х – у2). Отже,
∀рі: х ≡ у2 mod рі, що рівносильно х ≡ (у mod рі)2 mod рі, тобто х –
⎛ x ⎞
квадратичний лишок за модулем рі для будь-якого рі|n і тому ⎜⎜ ⎟⎟ = 1.
⎝ pi ⎠
⎛ x ⎞
Тоді ⎜ ⎟ = 1 , за означенням символу Якобі. Теорему доведено.
⎝ n ⎠
Зауваження 9.10.
1. На відміну від символу Лежандра, твердження, обернене до 5) у
теоремі 9.9, для символу Якобі не виконується.
⎛ x ⎞
2. Якщо ⎜ ⎟ = −1, то х – точно є квадратичним нелишком, але якщо
⎝ n ⎠
⎛ x ⎞
⎜ ⎟ = 1 , то х може бути як квадратичним лишком, так і нелишком.
⎝ n ⎠
3. Легко бачити, що, за властивістю 1 символу Якобі,
⎛ n ⎞ ⎛ n mod m ⎞
⎜ ⎟ = ⎜ ⎟ .
⎝ m ⎠ ⎝ m ⎠
⎛ 2 ⎞ ⎛ 2 ⎞⎛ 2 ⎞
Приклад 9.11 (до п. 2 зауваження): ⎜ ⎟ = ⎜ ⎟⎜ ⎟ = (−1)(−1) = 1,
⎝ 15 ⎠ ⎝ 3 ⎠⎝ 5 ⎠
тобто 2 є квадратичним нелишком за модулями 3 та 5, отже, і
квадратичним нелишком за модулем 15; але при цьому для відповідного
⎛ 2 ⎞
символу Якобі виконується рівність ⎜ ⎟ = 1 .
⎝ 15 ⎠
Для обчислення символу Якобі за поліноміальний час
використовується наступний результат, що є одним з центральних
результатів в теорії чисел.
Теорема 9.12 (квадратичний закон взаємності Гауса (1796)): нехай
т, п > 2 – непарні, (т, п) = 1. Тоді:
( m −1)(n −1)
⎛ m ⎞⎛ n ⎞ 4
1) ⎜ ⎟⎜ ⎟ = (−1) ;
⎝ n ⎠⎝ m ⎠
n 2 −1
⎛ 2 ⎞ 8 .
2) ⎜ ⎟ = (−1)
⎝ n ⎠
Доведення закону Гауса потребує певних знань з теорії скінченних
полів і виходить за рамки даного курсу.
Використовуючи теореми 9.9 та 9.12, можна побудувати
поліноміальний алгоритм обчислення символу Якобі.
n 2 −1
⎛ y ⎞ ⎛ 2 ⎞⎛ y' ⎞ 8 ⎛⎜ y ' ⎞
2. Якщо y = 2y', то I = ⎜ ⎟ = ⎜ ⎟⎜ ⎟ = (−1) ⎟ ; інакше y' = y.
⎝ n ⎠ ⎝ n ⎠⎝ n ⎠ ⎝ n ⎠
3. Оскільки y' – непарне, тому можливо скористатися теоремою 9.12:
( y '−1)(n −1) ( y '−1)(n −1)
⎛ y ' ⎞ ⎛ n ⎞ 4
⎛ n mod y ' ⎞ 4
⎜ ⎟ = ⎜⎜ ⎟⎟(−1) = ⎜⎜ ⎟(−1) .
⎝ n ⎠ ⎝ y ' ⎠ ⎝ y ' ⎟⎠
⎛ x ⎞
Твердження 9.13: алгоритм обчислення символу Якобі ⎜ ⎟ робить
⎝ n ⎠
не більше за 2 log2 n + 1 описаних вище кроків, що складаються з п.п. 1)-
3).
Довести дане твердження рекомендується самостійно.
2 (3−1)(17−1) 32 −1
⎛ 12 ⎞ ⎛⎜ 2 ⋅ 3 ⎞⎟ ⎛ 3 ⎞ ⎛ 17 mod 3 ⎞ ⎛ 2 ⎞
⎜ ⎟ = ⎜ = ⎜ ⎟ = (−1) 4 ⎜ ⎟ = ⎜ ⎟ = (−1) 8 = −1 ,
⎝ 17 ⎠ ⎝ 17 ⎟⎠ ⎝ 17 ⎠ ⎝ 3 ⎠ ⎝ 3 ⎠
отже 12 – квадратичний нелишок за модулем 17.
p 2 −1
2
на 16, то (р – 1)/8 – непарне число, отже, (−1) 8 = −1 і, за теоремою
9.12, число 2 є квадратичним нелишком за модулем р. Тобто
p−1
2 2 = 24m+ 2 ≡ −1(mod p ) .
x 2m +1 ≡ ±1(mod p ).
⎛ 2 ⎞
Якщо x 2m + 2 ≡ −1(mod p ), то скористаємось тим, що ⎜⎜ ⎟⎟ = −1 , звідки
⎝ p ⎠
Звідси x 2
l −4
h 2l −3 s2
a ≡ ±1(mod p ).
Повторивши процедуру l–3 рази, приходимо до порівняння
⎛ a ⎞
2) обчислити ⎜⎜ ⎟⎟ ;
⎝ p ⎠
3) якщо результат дорівнює 1, – переходимо до пункту 1), інакше
алгоритм видає значення а і закінчує роботу.
Оскільки кількість квадратичних лишків за простим модулем
дорівнює кількості квадратичних лишків, то необхідно в середньому дві
алгоритму.
у = (у1, у2), –у = (р – у1, q – у2), у' = (у1, q – у2), –у' = (р – у1, у2)).
Доведення. 1. Внаслідок ізоморфізму мультиплікативних груп кілець
лишків Z*n ≅ Z*p × Z*q . Тому
⎧⎪ y 2 ≡ x mod p;
⇔ ⎨ 12 1
⎪⎩ y2 ≡ x2 mod q.
Пункт 2 є наслідком пункту 1.
Пункт 3 доводиться безпосередньою перевіркою з використанням
п.п. 1 та 2. Теорему доведено.
⎧⎪ y 2 ≡ x(mod n )
Доведення: якщо ⎨ , то у2 – (y')2 ≡ 0 (mod n) і,
⎪⎩( y' ) 2 ≡ x(mod n )
– гомоморфізм груп.
7. Використовуючи здачу 1, довести, що всі елементи Qn мають
8. Нехай п – непарне.
⎛ x ⎞
8.1. Довести, що відображення f ( x) = ⎜ ⎟ – гомоморфізм
⎝ n ⎠
Z*n → Z* = {±1}.
8.2. Показати, що якщо п – просте, то ker f = Qn .
8.3. Довести, що в Z*n (n = pq) міститься однакова кількість
⎧ ⎛ x ⎞ ⎫
9. Нехай Qn ' = ⎨ x ∈ Z*n ⎜ ⎟ = 1, x ∉ Qn ⎬ – множина псевдоквадратів за
⎩ ⎝ n ⎠ ⎭
модулем п, n = pq. Довести:
а) Qn ' = Qn ;
Q p → Z*p \ Q p .
для будь-якого п.
20. Довести, що множина квадратичних лишків за простим модулем р
утворює циклічну групу відносно операції множення за модулем р. Що
буде утворюючим елементом цієї групи?
21. Довести, що при п = р1р2, де р1р2 – різні прості, множина
ϕ(n)
псевдоквадратів за модулем п містить елементи.
2
Як можна узагальнити дане твердження для п = р1 ,…, рl, де р1 ,…, рl –
різні прості?
§10. ПСЕВДОПРОСТІ ЧИСЛА.
ТЕСТУВАННЯ ПРОСТОТИ
конгруенція:
n −1
⎛ x ⎞ 2
⎜ ⎟ ≡ x mod n . (10.1)
⎝ n ⎠
s
xt mod n, x 2t mod n, x 4t mod n, ...x 2 t mod n . (10.2)
або x t ≡ ±1 mod n ,
(10.3)
j
або ∃j (1 ≤ j < s) : ( xt ) 2 ≡ −1 mod n .
Означення 10.6: непарне натуральне складене число п називається
сильно псевдопростим числом за основою х, якщо в наших позначеннях
виконується одна з умов у (10.3).
Властивість (10.3) також використовується для побудови
імовірнісного алгоритму тестування простоти.
Для того, щоб безпосередньо перейти до побудови тестів простоти,
нам необхідно дві наступні теореми.
Теорема 10.7: для непарного числа п≥3 позначимо
n −1
x ⎞
mod n} . Якщо п – складене, то S n ≤ ϕ(n) 2 .
⎛
Sn = {x ∈ Z n*:⎜ ⎟ ≡ x 2
⎝ n ⎠
Доведення: з властивостей символу Якобі випливає, що S n –
∃y ∈ Z n*\S n .
Випадок 1. Нехай n = p1·…·pk – розклад числа п на різні прості
⎧ y ≡ s mod p1
Z n* ≅ Z*p1 × Z*p2 ...p k та ∃! y ∈ Z*n: ⎨ .
⎩ y ≡ 1mod p2...pk
Для такого у виконується:
⎛ y ⎞ ⎛ y ⎞⎛⎜ y ⎞ ⎛ s ⎞⎛ 1
⎟⎟ = ⎜⎜ ⎟⎟⎜⎜
⎞
⎟⎟ = (−1) ⋅ 1 = −1.
⎜ ⎟ = ⎜⎜ ⎟⎟⎜
⎝ n ⎠ ⎝ p1 ⎠⎝ p2 ... pk ⎠ ⎝ p1 ⎠⎝ p2 ... pk ⎠
n−1
Проте умова y 2 ≡ (−1)(mod n) не може виконуватись, оскільки тоді б
n−1
мало місце співвідношення y 2 ≡ (−1) mod( p2 ... pk ) , що призводить до
суперечності з вибором у. Отже, у – шукане.
Випадок 2. Нехай існує таке просте число р, що р2⎪п. Тоді покладемо
⎛ y ⎞ ⎛ y mod q ⎞ ⎛ 1 ⎞
⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ = 1, оскільки q⎪( n ).
⎝ q ⎠ ⎝ q ⎠ ⎝ q ⎠ p
⎛ y ⎞
Таким чином, ⎜ ⎟ = 1 , за означенням символу Якобі.
⎝ n ⎠
Проте
( n−1)
n−1 n−1 2(( n −1) 2 )! ⎛ n ⎞ n −1
y 2 mod n = (1 + n ) 2 mod n = ∑ ⎜ p ⎟! mod n = 1 + ×
p ( n −1) 2
i = 0 i!( 2 − i )!
⎝ ⎠
n
× mod n ≠ 1 mod n .
p
Отже, у – шукане.
⎛ x ⎞
ефективно: (x,n) обчислюється за допомогою алгоритму Евкліда, ⎜ ⎟ – за
⎝ n ⎠
n −1
алгоритмом з § 9, а x 2 mod n обчислюється за допомогою схеми
Горнера. Всі вказані алгоритми виконують О(log n) операцій ділення з
О(log2 n), час роботи тесту є О(log3 n), тобто тест є поліноміальним.
Тест Міллера-Рабіна.
3. Обчислити y0 = xt mod n .
утворюють підгрупу в Z n* .
p −1
( y − y mod q i ) ≡
qi +1
α −1 p −1
≡ ( ∑ yl q l + zq α ) i +1
(mod( p − 1)) ≡ yi ⋅ p − 1 (mod( p − 1),) i = 0, α − 1 .
l =i q q
p −1
−1 ⎤ qi +1 yi
⎡ ⎛ y mod q i ⎞ ⎛ p−1 ⎞
⎢ x⎜ g ⎟ ⎥ ≡ ⎜⎜ g q ⎟⎟ (mod p ). (11.1).
⎢⎣ ⎝ ⎠ ⎥⎦ ⎝ ⎠
p −1 y0
⎛ p −1 ⎞
x q
≡ ⎜⎜ g q ⎟⎟ (mod p ).
⎝ ⎠
p −1 p −1
Обчислюємо x q , q і починаємо шукати у0 з останньої рівності
g
методом перебору. Нам відомо, що 0 ≤ у0 ≤ q – 1, отже кількість кроків
перебору не перевищує q – 1 (що, в свою чергу, не перевищує s).
p −1 p −1
Піднесемо g q до степеня j: q .
j = 0, q − 1, і порівняємо з x Для
відповідного j: у0 = j.
Після цього можна аналогічним перебором з (11.1) знайти у1,
поклавши і = 1:
p −1 yi
y mod q −1 ⎤ q 2 ⎛ p −1 ⎞
⎡
(
⎢⎣ x g ) ⎥⎦ ≡ ⎜⎜ g q ⎟⎟ (mod p );
⎝ ⎠
p −1 p −1 y
⎛ p −1 ⎞ 1
q 2 ⎛ y0 −1 ⎞ q 2
y mod q = y0 ⇒ x ⎜
⎝
( )
g ⎟
⎠
⎜ q ⎟
≡ ⎜ g
⎜
⎟ (mod p ).
⎟
⎝ ⎠
4. Нехай G1, G2 – циклічні групи, ⎢G1⎢ = d1, ⎢G2⎢ = d2, (d1, d2) = 1.
Довести, що група G1×G2 – циклічна. Чи вірно зворотне твердження, тобто
що якщо G1×G2 – циклічна, то (d1, d2) = 1?
§12. ВАЖКООБОРОТНІ ФУНКЦІЇ, ЯДРО, ПРЕДИКАТ.
ЗАСТОСУВАННЯ ВАЖКООБОРОТНИХ ФУНКЦІЙ
У КРИПТОГРАФІЇ.
КЛАСИЧНІ АСИМЕТРИЧНІ КРИПТОСИСТЕМИ
1 1
∀c > 0 ∃N ∀n > N : P{A( f ( x)) = B( x)} − ≤ .
2 nc
⎧⎪0, якщо x ≤ p −1 ,
B( x) = ⎨ 2
⎪⎩1, в протилежному випадку.
12.2. Застосування важкооборотних функцій для побудови
криптосистем імовірнісного шифрування.
⎛ y ⎞
що ⎜ ⎟ = 1 , але у – квадратичний нелишок за модулем т:
⎝ m ⎠
⎛ y ⎞ ⎛ y ⎞
⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ = −1.
⎝ p ⎠ ⎝ q ⎠
Обчислимо елементи уі, i = 1, k , наступним чином:
K = ( K 2 ) x mod p , (12.1)
K = ( K1 ) y mod p . (12.2)
Формування ключів
Абонент А випадковим чином обирає два різних простих числа p і q,
та обчислює п = pq і ϕ(п). Далі обирає випадкове число е, менше за ϕ(п) та
взаємно просте з ϕ(п), і обчислює d = е–1 mod ϕ(п).
Відкритий ключ: (е, п).
Таємний ключ: d.
Зауваження: до чисел p і q, окрім довжини їх десяткового запису
(порядку 150-200 розрядів), існує ряд інших вимог, як-то: це числа Блюма,
p −1 q −1
, – прості, різниця між ними більша за деяку граничну
2 2
величину, тощо. Також існують певні вимоги до чисел е і d, на яких ми
зараз не будемо зупинятись для спрощення викладення.
Шифрування
Вважаємо, що відкритий текст М відповідає деякому десятковому
числу, меншому за п. В іншому випадку текст розбивається на блоки
відповідної довжини. Шифрування повідомлення М відбувається за
правилом
С = Ме mod п. (12.3)
Формування ключів
Абонент А випадковим чином обирає просте число p і обчислює g –
Формування ключів
Аналогічно до формування ключів у системі шифрування RSΑ.
Відкритий ключ (ключ перевірки) цифрового підпису: (е, п).
Таємний ключ підпису: d.
Формування і перевірка підпису
Вважаємо, що відкритий текст М відповідає деякому десятковому
числу, меншому за п. В іншому випадку до тексту застосовується деяке
вкорочуючи відображення з відповідною областю значень, що має певні
властивості і називається геш-функцією. Абонент А обчислює цифровий
підпис відкритого тексту М за правилом
S = Мd mod п (12.7)
М = Sе mod п. (12.8)
Формування ключів
Аналогічно до формування ключів у системі шифрування Ель-Гамаля.
Відкритий ключ (ключ перевірки) цифрового підпису: (p, g, h).
Таємний ключ підпису: а.
Формування і перевірка підпису
Вважаємо, що відкритий текст М відповідає деякому десятковому
числу, меншому за p. В іншому випадку до тексту застосовується геш-
функція. Для побудови цифрового підпису абонент А обирає випадкове
S = (s1, s2 ) . (12.9)
Формування ключів
Абонент А випадковим чином обирає просте число p, таке, що p – 1
має великий простий дільник q. Також обирає число h ≠ 1, таке, що
S = (s1,s2 ). (12.11)
Формування ключів
Абонент А випадковим чином обирає просте число p, таке, що p – 1
t = s1 . (12.15)
1 2 . 3 . 3 . П р о т о к о л д о в е д е н н я б е з р о з г о л о ш е н н я . У ході
протоколу доведення без розголошення Демонстратор (Д) має переконати
Перевіряючого (П) у тому, що він знає деяку конфіденційну інформацію,
але при цьому не надати Перевіряючому ніяких знань, що можуть бути
застосовані ним для отримання цієї інформації. Протоколи повинні мати
наступні властивості: повноти (чесний Демонстратор переконує
Перевіряючого з імовірністю 1); обґрунтованості (для нечесного
Демонстратора імовірність переконати Перевіряючого близька до 0) та
відсутності розголошення.
Доведення квадратичності
⎧v, якщо b = 0,
Д надсилає П число w = ⎨
⎩vy, в іншому випадку.
Доведення неквадратичності
бієкцією на Z m .
⎧ m
⎪0, 0 ≤ x < 2 ;
Q( x) = ⎨ Довести, що задачі обчислення предикатів
m
⎪1, < x ≤ m − 1.
⎩ 2
еквівалентні.
7. Для кожного асиметричного алгоритму, наведеного у параграфі,
визначити, якими алгоритмами та за який час виконуються окремі кроки.
Чи будуть алгоритми поліноміальними?
8. Переконатись, що при коректному виконанні протоколу Діффі-
Хеллмана абоненти в результаті виконання перетворень (12.1) і (12.2)
дійсно встановлять спільний ключ.
9. Переконатись, що в результаті перетворень (12.3) та (12.4) дійсно
отримаємо відкритий текст М.
10. Переконатись, що алгоритми перевірки цифрового підпису є
коректними.
11. Переконатись, що протоколи доведення без розголошення мають
властивість повноти.
ЛІТЕРАТУРА
Задачі до § 1 12
Задачі до § 2 19
Задачі до § 3 27
Задачі до § 4 32
Задачі до § 5 44
Задачі до § 6 51
Задачі до § 7 60
Задачі до § 8 67
§ 10 Тестування простоти 82
Задачі до § 10 89
Задачі до § 11 95
Задачі до § 12 109
Література 111
Для нотаток