Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên...

26
CHƯƠNG 2 GIỚI THIỆU VỀ LÝ THUYẾT SỐ Hầu hết các thuật toán mật mã khóa công khai được xây dựng dựa trên các khái niệm của lý thuyết số. Trong chương này sẽ trình bày ngắn gọn những kiến thức cơ bản về lý thuyết số, nó là công cụ hữu ích để hiểu sâu một thuật toán mật mã nào đó. 2.1 Các số nguyên tố và các số nguyên tố cùng nhau 2.1.1 Các ước số Nói rằng, b (một số khác 0) là ước số của a nếu a = mb, với một giá trị m nào đó, ở đây a, b, m là các số nguyên. Như vậy, b là ước số của a, nếu như chia a cho b không còn lại số dư. Để kí hiệu b là ước số của a thường sử dụng cách viết ba. Có các quan hệ sau: o Nếu a1, thì a = 1. o Nếu ba ab, thì a = b. o Số b bất kỳ khác 0 là ước số của 0. o Nếu bg bh, thì b(mg + nh) đối với bất kì số nguyên m, n. Để chứng minh khẳng định cuối cùng, cần chú ý như sau: nếu bg thì g có dạng g = b * g 1 , đối với số nguyên g 1 nào đó, nếu bh thì h có dạng h = b * h 1 , đối với giá trị nguyên h 1 nào đó, Vì vậy: mg + nh = mbg 1 + nbh 1 = b * (mg 1 + nh 1 ) Cuối cùng, b là ước số của mg + nh. Ví dụ 2.1: Các số 1, 2, 3, 4, 6, 8, 12 và 24 là các ước số của 24. Ví dụ 2.2: b = 7, g = 14, h = 63, m = 3, n = 2 714 và 763. Yêu cầu chứng minh rằng 7(3 * 14 + 2 * 63). Chúng ta có: ( 3 * 14 + 2 * 63 ) = 7(3 * 2 + 2 * 9) Như vậy, rõ ràng rằng 77(3 * 2 + 2 * 9). 2.1.2 Các số nguyên tố Một số nguyên p > 1 được gọi là số nguyên tố, nếu chỉ có 1 và p là ước số của nó. 1

Transcript of Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên...

Page 1: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

CHƯƠNG 2

GIỚI THIỆU VỀ LÝ THUYẾT SỐ

Hầu hết các thuật toán mật mã khóa công khai được xây dựng dựa trên các khái niệm của lý thuyết

số. Trong chương này sẽ trình bày ngắn gọn những kiến thức cơ bản về lý thuyết số, nó là công cụ hữu

ích để hiểu sâu một thuật toán mật mã nào đó.

2.1 Các số nguyên tố và các số nguyên tố cùng nhau

2.1.1 Các ước số

Nói rằng, b (một số khác 0) là ước số của a nếu a = mb, với một giá trị m nào đó, ở đây a, b, m là các

số nguyên. Như vậy, b là ước số của a, nếu như chia a cho b không còn lại số dư. Để kí hiệu b là ước số

của a thường sử dụng cách viết ba.

Có các quan hệ sau:

o Nếu a1, thì a = 1.

o Nếu ba và ab, thì a = b.

o Số b bất kỳ khác 0 là ước số của 0.

o Nếu bg và bh, thì b(mg + nh) đối với bất kì số nguyên m, n.

Để chứng minh khẳng định cuối cùng, cần chú ý như sau:

nếu bg thì g có dạng g = b * g1, đối với số nguyên g1 nào đó,

nếu bh thì h có dạng h = b * h1, đối với giá trị nguyên h1 nào đó,

Vì vậy: mg + nh = mbg1 + nbh1 = b * (mg1+ nh1)

Cuối cùng, b là ước số của mg + nh.

Ví dụ 2.1: Các số 1, 2, 3, 4, 6, 8, 12 và 24 là các ước số của 24.

Ví dụ 2.2: b = 7, g = 14, h = 63, m = 3, n = 2

714 và 763. Yêu cầu chứng minh rằng 7(3 * 14 + 2 * 63).

Chúng ta có: ( 3 * 14 + 2 * 63 ) = 7(3 * 2 + 2 * 9)

Như vậy, rõ ràng rằng 77(3 * 2 + 2 * 9).

2.1.2 Các số nguyên tố

Một số nguyên p > 1 được gọi là số nguyên tố, nếu chỉ có 1 và p là ước số của nó.

Một số nguyên bất kỳ a > 1 có thể phân tích thành các thừa số và được trình bày dưới dạng:

ở đây: p1 < p2 < … < pt là các số nguyên tố, còn các giá trị i > 0.

Ví dụ 2.3: 91 = 7 * 13; 11011 = 7 * 112 * 13.

Nếu P là kí hiệu tập hợp tất cả các số nguyên tố, thì đối với một số nguyên dương bất kì được viết

duy nhất dưới dạng:

ở đây tất cả các ap 0

1

Page 2: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

Trong công thức này, biểu thức ở vế phải sau dấu bằng, ký hiệu tích theo tất cả khả năng của các số

nguyên tố p. Đối với mỗi giá trị cụ thể của a thì giá trị lớn nhất của chỉ số ap sẽ bằng 0.Ví dụ 2.4: 3600 = 24 * 32 * 52.

Các giá trị của một số nguyên dương bất kỳ có thể liệt kê dưới một dạng đơn giản của tất cả các chỉ

số khác không theo công thức ở trên.

Ví dụ 2.5: Số nguyên 12 có thể trình bày như {a2 = 2, a3 = 1}.

Số nguyên 18 có thể trình bày như {a2 = 1, a3 = 2}.

Phép nhân hai số nguyên tương đương với phép cộng các giá trị các chỉ số phù hợp:

k = m * n kp = mp + np, đối với tất cả các p.

Ví dụ 2.6: k = 12 * 18 = 216,

k2 = 2 + 1 = 3, k3 = 1 + 2 = 3,

216 = 23 * 33

Bổ đề: Một số nguyên dương bất kì dạng pk chỉ có thể chia hết cho một số nguyên, khi số bị chia có

bậc của số nguyên tố p với chỉ số không vượt hơn k, nghĩa là số pj với j k. Như vậy:

ab ap bp, đối với tất cả p.

Ví dụ 2.7: a = 12 , b = 36 , 1236, 12 = 22 * 3, 36 = 22 * 32

a2 = 2 = b2,

a3 = 1 2 = b3.

2.1.3 Các số nguyên tố cùng nhau

Chúng ta sẽ sử dụng ký hiệu gcd( a, b) để chỉ ước số chung lớn nhất (UCLN) của số a và b. Nói rằng,

một số nguyên dương c là UCLN của a và b, nếu:

o c là ước số của a và b.

o Ước số bất kỳ của a và b đều là ước số của c.

Có thể định nghĩa tương đương như sau:

gcd(a, b) = max [k, khi ka và kb].

Bởi vì, đòi hỏi rằng UCLN là một số dương, chúng ta có gcd(a, b) = gcd(a, –b ) = gcd(–a, b) =

gcd(–a, –b ). Nói chung, gcd(a, b) = gcd(|a|, |b|).

Ví dụ 2.8: gcd(60, 24 ) = gcd(60, –24 ) = 12.

Bởi vì tất cả các số nguyên khác không đều là ước số của số 0, chúng ta luôn luôn có: gcd(a, 0 ) = |a|.

Dễ dàng xác định được UCLN của hai số nguyên dương, nếu các số này được trình bày dưới dạng

tích của các thừa số nguyên tố.

Ví dụ 2.9:

300 = 22 * 31 * 52,

18 = 21 * 32.

gcd(18, 300) = 21 31 50 = 6.

Trong trường hợp chung:

k = gcd(a, b) kp = min (ap, bp), đối với tất cả các p.

2

Page 3: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

Việc xác định các thừa số nguyên tố của các số lớn là bài toán không đơn giản, bởi vì rằng các trình

bày ở trên không cho một khả năng thực tiễn để tính UCLN của hai số.

Các số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên tố chung, hay ước

số chung duy nhất của chúng là 1. Nói một cách khác a và b là hai số nguyên tố cùng nhau nếu gcd(a, b)

= 1.

Ví dụ 2.10: Số 8 và số 15 là các số nguyên tố cùng nhau, bởi vì ước số của 8 là 1, 2, 4 và 8, còn các

ước số của 15 là 1, 3, 5 và 15. Như vậy, 1 là ước số chung duy nhất của hai số này.

2.1.4 Số học trong lớp số dư

Đối với bất kỳ một số nguyên dương n và một số nguyên a bất kỳ, khi chia a cho n, ta nhận được một

số nguyên q nào đó và số dư r, phù hợp với quan hệ sau:

a = qn + r, 0 r < n, q = a / n.

ở đây x ký hiệu số nguyên lớn nhất, không lớn hơn x.

Đối với một số dương a và một số nguyên dương n, luôn luôn có thể tìm được q và r, phù hợp với

quan hệ tính toán trên.

Ví dụ 2.11: a = 11; n = 7; 11 = 1 * 7 + 4; r = 4.

Nếu a là một số nguyên, còn n là một số nguyên dương, thì a mod n, được xác định như phần dư của

phép chia a cho n. Như vậy, đối với một số nguyên a bất kỳ có thể viết :

a = a / n * n + (a mod n)

Ví dụ 2.12: 11 mod 7 = 4 ; –11 mod 7 = 3.

2.2 Lý thuyết về đồng dư

Định nghĩa 2.1 (Đồng dư)

Cho , . Ta nói a đồng dư với b theo modulo n, khi a và b chia cho n có cùng số dư, và

được viết dưới dạng sau:

.Chứng minh: Giả sử chia a và b cho n và thu được các thương nguyên và phần dư. Các phần dư nằm

giữa 0 và n – 1, nghĩa là và . Trong đó và . Khi đó có

thể dễ dàng thấy rằng khi và chỉ khi . Như vậy: khi và chỉ khi

.

Chúng ta đi tìm hiểu một số tính chất quan trọng của đồng dư.

Tính chất 2.1: Nếu và thì

Chứng minh: Từ giả thuyết ta có và , suy ra

, điều này có nghĩa là .

Tính chất 2.2: Nếu và thì

Chứng minh: Từ giả thuyết ta có và , suy ra

, điều này có nghĩa là

Tính chất 2.3: Nếu như , thì

3

Page 4: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

Chứng minh: Từ giả thuyết ta có , mà , nên suy ra , hay

.

Ví dụ 2.13: Chứng minh rằng 37n+2+16n+1+23n chia hết cho 7.

Giải: Rõ ràng chúng ta thấy rằng , và , từ tính chất 2.2 có:

, , .

Từ tính chất 2.1 có: 37n+2+16n+1+23n , và từ tính chất 2.3 suy ra điều phải chứng minh.

2.3 Các số nguyên modulo n

Các số nguyên modulo n (ký hiệu ) là tập hợp các số nguyên bao gồm 2 phép

toán cộng và nhân. Việc cộng và nhân trong được thực hiện giống như cộng và nhân các số nguyên,

ngoại trừ một điểm là các kết quả sẽ được rút gọn theo modulo n.

Ví dụ 2.14: Tính trong . Tương tự như với các số nguyên ta có . Để rút gọn

143 theo modulo 16, ta thực hiện phép chia bình thường: , bởi vậy .

Do đó trong .

Các định nghĩa trên phép cộng và phép nhân trong thoả mãn hầu hết các quy tắc quen thuộc trong

số học. Sau đây ta sẽ liệt kê mà không chứng minh các tính chất này:

o Phép cộng là đóng, tức với bất kì .

o Phép cộng là giao hoán, tức là với bất kì thì: a + b = b + a.

o Phép cộng là kết hợp, tức với bất kì :

(a + b) + c = a + (b + c).

o 0 là phần tử đơn vị của phép cộng, có nghĩa là với bất kì :

a + 0 = 0 + a = a.

o Phần tử nghịch đảo của phép cộng của một phần tử bất kì là m – a, nghĩa là a + (m – a) =

(m – a) + a = 0 với bất kì .

o Phép nhân là đóng, tức với bất kì , .

o Phép nhân là giao hoán, nghĩa là với bất kì , .

o Phép nhân là kết hợp, nghĩa là với , .

o 1 là phần tử đơn vị của phép nhân, tức là với bất kì :

.

o Phép nhân có tính chất phân phối đối với phép cộng, tức là đối với ,

và .

2.4 Hàm Euler, định lý Euler và định lý Fermat

Định nghĩa 2.2 (Hàm Euler)

Cho n là số nguyên dương, đặt là số các phần tử của tập hợp, mà tập này là các số nguyên trong

khoảng và nguyên tố cùng nhau với n, thì gọi là hàm Euler.

4

Page 5: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

Ta công nhận một số tính chất quan trọng của hàm Euler:

1.

2. Nếu p là số nguyên tố thì

3. Nếu như p và q là hai số nguyên tố cùng nhau thì

4.

5. Nếu như , ở đây , , …, là số nguyên tố, thì

Trên bảng 2.1 trình bày 30 giá trị đầu tiên của . Giá trị (1) là không xác định, nhưng coi rằng

nó bằng 1.Bảng 2.1: Một số giá trị của hàm Euler

n (n) n (n) n (n)

1 1 11 10 21 12

2 1 12 4 22 10

3 2 13 12 23 22

4 2 14 6 24 8

5 4 15 8 25 20

6 2 16 8 26 12

7 6 17 16 27 18

8 4 18 6 28 12

9 6 19 18 29 28

10 4 20 8 30 8Định lý Euler: Cho , và là hàm Euler. Khi đó ta có:

Ví dụ 2.15: a = 3, n = 10, (10) = 4, 34 = 81 1 mod 10, a = 2, n = 11, (11) = 10, 210 = 1024 1 mod 11.Chứng minh: Giả sử – là các số tự nhiên khác nhau, nhỏ hơn n và nguyên tố cùng nhau

với n.

Hãy xét tất cả các khả năng của tích , với . Bởi vì a nguyên tố cùng nhau với n và

nguyên tố cùng nhau với n, nên tích cũng nguyên tố cùng nhau với n, do đó có .

Chú ý rằng các phần dư của phép chia cho n là khác nhau. Nếu điều này không đúng, có nghĩa là

tồn tại , sao cho

5

Page 6: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

Cho nên . Bởi vì a nguyên tố cùng nhau với n, nên biểu thức cuối cùng tương

đương với

Điều này là mâu thuẫn, bởi các số là các cặp khác nhau theo modulo n.

Hãy nhân tất cả đẳng thức , thì thu được:

Hay

Bởi vì số nguyên tố cùng nhau với n nên đẳng thức cuối cùng tương đương với

hay

Ta có một công thức quan trọng sau: a (n ) + 1 a mod n.

Định lý Fermat nhỏ: Cho p là số nguyên tố, a là số nguyên dương không chia hết cho p. Khi đó ta có

.

Chứng minh: Ta có , áp dụng định lý Euler ta có điều phải chứng minh.

Từ định lý Fermat chúng ta có các hệ quả quan trọng sau:

1. Cho , p là số nguyên tố, thì ta có:

2. Cho , p là số nguyên tố

Ví dụ 2.16: Chứng mình rằng 118 +218 +318 +418 +518 +618 –1 mod 7

Giải: Các số 1, 2, 3, 4, 5, 6 là số nguyên tố cùng nhau với 7. Nên theo định lý Fermat chúng ta có các

phương trình sau:

; ; ; ; ;

Lấy bậc ba hai vế từng phương trình và cộng lại ta được:

118 +218 +318 +418 +518 +618

2.5 Thuật toán Euclide và thuật toán Euclide mở rộng

2.5.1 Thuật toán Euclide

Định lý Euclide: Cho , tồn tại duy nhất cặp giá trị (q, r) với và thỏa

mãn:

, .

ở đây r gọi là số dư.

Có một số ký hiệu cho số dư như sau:

, mod .

Một số tính chất đơn giản của về số dư:

1. , bởi vì

6

Page 7: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

2. , bởi vì

.

Nếu như r = 0 thì ta nói a chia hết cho b, ký hiệu là .

Định lý 2.1: Đối với bất kỳ các số :

.

Chứng minh: Nếu như và , thì . Lúc này .

Có nghĩa là:

. (*)

Tương tự giả sử rằng và . Lúc này .

Có nghĩa là:

. (**)

Từ (*) và (**) chúng ta có đẳng thức gcd(a,b)=gcd(a+ib,b).

Định lý 2.2: Đối với bất kỳ , ta có:

Chứng minh.

Bởi vì ,

.

Từ định lý 2.2 ta có thuật toán Euclide. Đây là thuật toán giúp tìm UCLN của hai số nguyên dương a0

và a1 với a0 > a1.

Thuật toán được miêu tả bằng dãy các phép chia như sau:

0 < a2 < a1

0 < a3 < a2

0 < ak < |ak-1|

Dựa vào định lý 2.1, nhận được gcd(a0, a1) = gcd(a1, a2) = … = gcd(ak, 0) = ak.

Ví dụ 2.17 (Thuật toán Euclide): Tìm gcd(814, 187).

Giải: Khai triển dãy phép tính theo thuật toán Euclide:

814 = 4 * 187 + 66

187 = 2 * 66 + 55

66 = 1 * 55 + 11

55 = 5 * 11 + 0

Vậy gcd(814, 187) = 11.

Thuật toán có thể viết như sau:

Vào: Hai số nguyên dương a và b với a > b

7

Page 8: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

Ra: UCLN của a và b

(1) While b # 0 do

r a mod b, a b, b r

(2) Return (a). 2.5.2 Thuật toán Euclide mở rộng

Định nghĩa 2.3 (Phần tử nghịch đảo)

Cho . Phần tử nghịch đảo của a là phần tử sao cho . Kí

hiệu phần tử nghịch đảo của a là a-1.

Định lý 2.2: Cho số nguyên a > 0 nguyên tố cùng nhau với n, thì luôn tồn tại phần tử nghịch đảo của

a theo modulo n.

Chứng minh: Hãy xét tập hợp . Nhân từng phần tử của tập hợp với a theo modulo n,

nhận được tập hợp , tập này sẽ bao gồm các số 1,

2,…, n – 1, có nghĩa đối với một số giá trị i nào đó sẽ thỏa mãn điều kiện . Điều này dẫn

đến một mâu thuẫn nếu như tồn tại hai giá trị h và k thỏa mãn điều kiện trên, nghĩa là

. Điều này dẫn đến , vì gcd(a, n) = 1, suy ra h = k. Vậy ta tìm

được i là phần tử nghịch đảo của a và i là duy nhất.

Hệ quả 2.1: Nếu như p là số nguyên tố, thì bất kỳ số a, 0 < a < p, luôn tồn tại phần tử nghịch đảo

theo modulo p.

Chúng ta sẽ tìm hiểu về cách tìm phần tử nghịch đảo thông qua thuật toán Euclide mở rộng.

Từ dãy chia của thuật toán Euclide

0 < a2 < a1

0 < a3 < a2

0 < ak < ak-1

Ta dễ dàng rút ra dãy sau:

mà nên suy ra ,

tương tự như thế, chúng ta rút ra , đến cuối cùng chúng ta có được biểu thức dạng sau:

(2.1)

Nếu như , chúng ta có x là phần tử nghịch đảo của a0 theo modulo a1.

Ví dụ 2.18 (Thuật toán Euclide mở rộng):

1. Tìm x và y trong biểu thức (2.1) với a0 = 814 và a1 = 187.

Giải: Theo ví dụ 2.17 ta thu được dãy:

814 = 4 * 187 + 66

187 = 2 * 66 + 55

66 = 1 * 55 + 11

55 = 5 * 11 + 0

8

Page 9: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

Suy ra: 11 = 66 – 1 * 55 = 66 – 1 * (187 – 2 * 66) = 3 * 66 – 1 * 187 = 3 * (814 – 4 * 187) –187 = 3 *

814 – 13 * 187. Vậy x = 3 và y = –13.

2. Tìm phần tử nghịch đảo của 17 theo modulo 74.

Giải: Theo ví dụ trên ta có được 3 * 74 – 13 * 17 = 1. Nên phần tử nghich đảo của 17 là –13,

nhưng chỉ lấy số dương, nên phần tử nghịch đảo của 17 là 74 – 13 = 61.

2.6 Giải phương trình đồng dư trong nhóm thương

Có nhiều phương pháp giải phương trình đồng dư, nhưng chúng tôi muốn trình bày với bạn đọc một

phương pháp khá hay dựa vào định lý sau:

Định lý 2.3: Cho n > 1, gcd(a, n) = 1. Khi đó phương trình đồng dư có nghiệm duy

nhất, và nghiệm đó là:

Chứng minh: Theo định lý Euler, ta có , suy ra . Vậy

nghiệm

Ví dụ 2.19: Giải phương trình 7x 3 mod 10.

Chúng ta tính như sau:

= 4; x 3 * 74-1 mod 10 1029 mod 10 9.

Thế nhưng cách này sẽ khó thực hiện nếu bậc của a đủ lớn. Bởi vậy chúng ta xem cách sau.

Chúng ta đã biết định lý về phần tử nghịch đảo, nếu như gcd(a, n) = 1, thì luôn tồn tại phần tử nghịch

đảo a-1. Nên từ phương trình , suy ra

Ví dụ 2.20: Giải phương trình .

Chúng ta thấy . Nên nghiệm của phương trình x = 3 * 3 mod 10 = 9.

Định lý 2.4: Cho n >1, để phương trình có nghiệm thì điều kiện cần và đủ là gcd(a,

n)|b.

Chứng minh: Phương trình có thể viết dưới dạng phương trình tuyến tính sau

ax + kn = b, (2.2),

k là số nguyên.

Ta chứng minh điều kiện cần. Giả sử hoàn thành điều kiện (2.2). Bời vì số gcd(a, n) là ước của vế

trái, nên nó cũng phải là ước của vế phải.

Chứng minh điều kiện đủ. Ứng dụng thuật toán Euclide đối với hai số a và n, có thể tính

(2.3)

Bởi vì b/gcd(a, n) là số nguyên, nên nhân hai vế (2.3) cho b/gcd(a, n) và nhận được công thức (2.2),

và ở đây là một nghiệm.

Dễ dàng kiểm tra phương trình đã có nghiệm dạng

, i = 0, 1, 2, .., gcd(a, n) – 1.

9

Page 10: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

Tức là phương trình đã cho có gcd(a, n) nghiệm khác nhau, nghiệm này nhỏ hơn n.

Ví dụ 2.21:

1. Giải phương trình

Vì gcd(2, 10) = 2, vì 2 không là ước của 5 nên phương trình trên vô nghiệm, nếu không dựa vào định

lý cũng dễ dàng thấy rằng 2x + 10y = 5 cũng vô nghiệm, vì vế trái là số chẳn, còn vế phải là số lẻ. Điều

này là không thể.

2. Giải phương trình . Vì gcd(6, 36)|18. Nên phương trình này có 6 nghiệm: 3,

9, 15, 21, 27 và 33.

2.7 Định lý phần dư Trung Hoa.

Định lý này nhằm giúp chúng ta giải hệ phương trình đồng dư thức, định lý phát biểu như sau:

Giả sử cho các số n1, n2, …, nk là các số nguyên dương nguyên tố cùng nhau từng đôi một và c1, c2,

…, ck là các số nguyên khi đó hệ phương trình đồng dư:

Có nghiệm duy nhất theo modulo n và nghiệm đó là:

(2.4)

ở đây và .

Chứng minh:

Nếu ta chứng minh hệ trên tương đương với một phương trình sau:

ở đây thì coi như chúng ta đã chứng minh được định lý trên.

Ta có Ni chia hết cho ns, khi s i. Điều này dẫn đến , từ đó

. Điều này có nghĩa hệ trên tương đương với hệ sau:

...

Điều này tương đương với một phương trình sau . Mà ta đã biết phương trình này có

nghiệm duy nhất là mod n.

Ví dụ 2.22: Giải hệ phương trình đồng dư sau:

10

Page 11: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

Giải: Ta có n = 7 * 11 * 13 = 1001; N1 = n/5 = 143; N2= n/11 = 91; N3 = n/13 = 77

Ta đi tính phần tử nghịch đảo của Ni theo modulo ni

143-1 mod 7 = 5; 91-1 mod 11 = 4 và 77-1 mod 13 = 12.

Áp dụng công thức (2.4) ta có được nghiệm của hệ phương trình là:

x = (5.143.5 + 3.91.4 + 10.77.12) mod 1001 = 894.

2.8 Bậc và căn nguyên thủy

Định nghĩa 2.4 (Bậc)

Cho gcd(a, n) = 1. Bậc a mod n là số nguyên dương nhỏ nhất thỏa mãn phương trình đồng dư thức:

,

Kí hiệu bậc là Ordn(a).

Ví dụ 2.23: Tìm bậc của 2 mod 5

Giải: 21 mod 5 = 2; 22 mod 5 = 4; 23 mod 5 = 3; 24 mod 5 = 1; vậy Ord5(2) = 4.

Định nghĩa 2.5 (Căn nguyên thủy)

Nếu như bậc của a modulo n bằng giá trị của hàm Euler của n. Thì a gọi là căn nguyên thủy của n.

Ví dụ 2.24: Số 2 là căn nguyên thủy của 5. Vì Ord5(2) = 4.

2.9 Thặng dư bậc hai

Thặng dư bậc hai đóng vai trò rất quan trọng trong lý thuyết số. Ví dụ, thuật toán phân tích số

nguyên ra thừa số. Ngoài ra thặng dư bậc hai cũng ứng dụng lớn trong mật mã cũng như trong các giao

thức mã hóa.

Định nghĩa 2.6 (Thặng dư bậc hai)

Cho n là số nguyên và . Số từ nhóm gọi là thặng dư bậc hai theo modulo n, nếu trong nhóm

tồn tại số x, thỏa mãn điều kiện , trường hợp ngược lại gọi là không thặng dư bậc hai.

Tập hợp các số thặng dư bậc hai theo modulo n ký hiệu QRn, tập hợp không thặng dư bậc hai ký hiệu là

QNRn.

Ví dụ 2.25: Tính QR11 là tập tất thặng dư bậc hai theo modulo 11.

Chúng ta có , trong ví

dụ, chúng ta tính QR11 bằng cách lựa chọn các phần tử của nhóm .

Độc giả có thể kiểm tra lại rằng . Điều này sẽ

tìm hiểu qua định lý sau:

Định lý 2.5: Cho p là số nguyên tố. Khi đó những khẳng định sau đây là đúng.

1. .

2. Nhóm chia ra hai tập con, QRp và QNRp có số phần tử bằng nhau.

Chứng minh:

11

Page 12: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

Chúng ta chứng minh điều khẳng định thứ nhất. Rõ ràng rằng

. Để chứng minh , điều này sẽ đúng nếu như chúng ta

chứng minh được rằng .

Chọn một số a bất kỳ . Tồn tại số x < p, thỏa mãn điều kiện . Nếu như

, thì . Giả sử rằng x > (p – 1)/2. Như thế và

. Chứng tỏ, .

Ta đi chứng minh điều khẳng định thứ hai. Để chứng minh ,thì nó sẽ tương đương

với việc chứng minh rằng đối với tất cả số x, thỏa mãn bất đẳng thức , thì thỏa mãn

điều kiện . Giả sử điều này sai: Dẫn đến, p|(x + y)

hoặc p|(x – y). Bởi vì x + y < p và p là số nguyên tố. Nên chỉ có thể là x = y. Điều này trái ngược với giả

thuyết. Vậy . Mà # , nên điều khẳng định thứ hai hoàn toàn đúng.

Thường xuất hiện bài toán, xác định xem số n có phải là thặng dư bậc hai theo modulo đã cho hay

không. Vấn đề này gọi là bài toán về thặng dư bậc hai. Bài toán này được giải quyết thông qua định lý

sau:

Định lý 2.6 (Tiêu chuẩn Euler): Cho p là số nguyên tố. Đối với bất kỳ số , x là thặng dư bậc

hai khi và chi khi thỏa mãn điều kiện sau:

.

Chứng minh: Đối với thì tồn tại số sao cho . Theo định lý Fermat

chúng ta có, .

Ngược lại, nếu như , như vậy x là nghiệm của đa thức

. Chúng ta đã biết là một trường. Mà ta dễ dàng thấy rằng mỗi phần tử của

trường là nghiệm của đa thức . Hay nói cách khác, mỗi phần tử khác không của

trường là nghiệm của đa thức:

Mà tất cả các nghiệm này phải khác nhau, bởi vì đa thức có bậc p – 1. Điều này dẫn đến (p – 1)/2

nghiệm của đa thức phải khác nhau. Mà theo định lý về số phần tử của tập

thặng dư bậc hai ta có tập QRp có (p – 1)/2 phần tử, mỗi phần tử là nghiệm của phương trình

. Và bất kỳ phần tử nào khác của nhóm cũng phải thỏa mãn phương trình

. Vậy .

Khi chứng minh định lý này chúng ta có thể điều khẳng định sau: Nếu như mà tiêu chuẩn

Euler không thỏa mãn thì:

.

2.10 Các ký hiệu Legendre và Jacobi

12

Page 13: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

Ký hiệu Legendre là một công cụ hữu ích để xem xét liệu một số nguyên a có là thặng dư bậc hai

theo modulo của một số nguyên tố p hay không?

2.10.1 Ký hiệu Legendre

Định nghĩa 2.7

Nếu p là số nguyên tố lẻ và a là một số tự nhiên, thì ký hiệu Legendre

được xác định như sau:

o 0 nếu a|p;

o 1 nếu ;

o −1 nếu

Các tính chất của ký hiệu Legendre:

Cho p là một số nguyên tố lẻ và a, b Z. Khi đó ký hiệu Legendre có các tính chất sau:

1.

2. Nếu , thì

3.

4.

5.

6.

7.

8.

9. Nếu p và q là các số nguyên tố lẻ thì

Tiêu chuẩn Euler có thể viết lại như sau: Euler chứng minh rằng với mọi số nguyên tố p và số a,

,

.

Ví dụ 2.26: Tính ký hiệu Legendre

13

Page 14: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

2.10.2 Ký hiệu Jacobi

Định nghĩa 2.8

Ký hiệu Jacobi là tổng quát hóa của ký hiệu Legendre cho số tự nhiên lẻ n. Giả sử

là dạng phân tích tiêu chuẩn của n. Với số nguyên a bất kỳ, ký hiệu Jacobi là:

, trong đó tất cả các ký hiệu bên vế phải là ký hiệu Legendre.

Các tính chất của ký hiệu Jacobi:

Cho n là các số tự nhiên lẻ và a, b Z. Kí hiệu Jacobi có các tính chất sau:

1. Nếu n là số nguyên tố thì ký hiệu Jacobi là ký hiệu Legendre

2.

3.

4.

5. , điều này dẫn tới là 0 hoặc 1.

6. Nếu , thì

7.

8.

14

Page 15: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

9.

10.

Ví dụ 2.27:

Vì 331 là số nguyên tố nên từ đó 37035 là thặng dư bậc hai mod 331.

Có hai tính chất đúng với ký hiệu Legendre nhưng không thể mở rộng cho ký hiệu Jacobi.

+ Khác với ký hiệu Legendre, ký hiệu Jacobi không cho biết liệu a có phải là một thặng dư bậc hai

theo modulo n hay không. Sự thực nếu a QRn thì . Tuy nhiên thì không có nghĩa là a

QRn.

+ Tính chất thứ hai không thể mở rộng gắn với đồng dư thức Euler với số

nguyên tố p và số nguyên a bất kỳ. Một cách tự nhiên đồng dư thức Euler mở rộng từ ký hiệu Legendre

sang ký hiệu Jacobi là với hợp số lẻ dương n. Tuy nhiên đồng dư thức này là sai

với ít nhất một nửa của các a mod n khi n là hợp số.

2.10.3 Bổ đề Gauss

Nếu như p và q là 2 số nguyên tố khác 2 thì:

Hay nói cách khác, nếu như một trong 2 số p hoặc q có dạng 4n + 1, thì p bình phương theo modulo q

khi và chỉ khi q là bình phương theo modulo p. Nếu như cả 2 số p và q có dạng 4n + 3, thì p bình phương

theo modulo q khi và chỉ khi q không là bình phương theo modulo p.

Chứng minh:

Cho rằng , xét trường và cũng biết đây là cũng là nhóm cyclic. Theo định lý nhỏ Fermat

thì chia hết cho q, nên trong nhóm tồn tại phần tử có bậc là q. Chúng ta xem nó là w, lúc này

và trong . Bây giờ xác định tổng Gauss:

Chúng ta sẽ chứng minh 2 điều khẳng định sau:

15

Page 16: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

Điều khẳng định 1: Ta có đẳng thức sau

.

Chứng minh:

Từ tổng cuối cùng x lấy giá trị trong tập . Khi , có:

.

Từ đây

,

với .

Rõ ràng

.

Nếu như , thì nhận các giá trị trong tập , cho nên:

,

Bởi vì , còn trong số lượng phần tử là bình phương và số lượng phần tử không là

chính phương là như nhau. Từ đây:

.

Vậy đã chứng minh được điều khẳng định 1, chúng ta chứng minh tiếp điều khẳng định tiếp theo.

Khẳng định thứ 2: Ta có đẳng thức sau:

.

Chứng minh: Theo định thức Newton rút ra:

,

Vậy điều khẳng định thứ hai đã được chứng minh.

Kết hợp hai khẳng định trên chúng ta có đẳng thức:

16

Page 17: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

2.11Tính căn bậc hai theo modulo số nguyên

2.11.1 Tính căn bậc hai theo modulo là số nguyên tố

Cho p là số nguyên tố, thì có 2 phương án tính như sau:

Phương án 1:

Trong trường hợp này số p + 1 chia hết cho 4. Cho . Ta định nghĩa x như sau:

,

Bởi vì theo tiêu chuẩn Euler, , nên . Như

vậy số x là căn bậc hai của a theo modulo p.

Phương án 2:

Trường hợp này thì p + 3 chia hết cho 8. Bởi vì số (p – 1)/2 là số chẵn, số –1 thỏa mãn tiêu chuẩn

Euler và là thặng dư bậc hai. Cho , ta định nghĩa x như sau:

,

Từ điều kiện

. Điều này chứng tỏ x được định nghĩa ở trên là căn bậc hai của a

hoặc –a. Nếu như số dương thì thuật toán giải quyết xong, nếu số âm thì:

Dẫn đến là số cần tìm. Như vậy bài toán dẫn đến tìm .

Cho số b là số không thặng dư bậc hai theo modulo p. Như vậy theo tiêu chuẩn Euler ta có

, như vậy có thể thay bằng . Bởi vì

. Mà ta đã biết , nên có

thể dùng thay cho

Ngoài ra trong trường hợp tổng quát ta có thể tính như sau: Từ tiêu chuẩn Euler, đồng dư thức

giải được khi và chỉ khi a là thặng dư bậc hai theo modulo p, có nghĩa:

.

Giả sử rằng đẳng thức cuối cùng là đúng. Cũng có thể giả sử rằng, chúng ta biết một số số N là không

thặng dư bậc hai theo modulo p, có nghĩa là biết N với tính chất:

.

Giả sử , l là số lẻ. Chúng ta sẽ tìm dãy số sao cho:

.

17

Page 18: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

Có thể đặt . Nếu như đã tìm được và , khai căn, chúng ta nhận được rằng so

sánh với 1 và –1 theo modulo p. Trong trường hợp thứ nhất thiết lập quan hệ , trong trường hợp

thứ hai thì . Cuối cùng ta có , từ đây , có nghĩa là:

.

2.11.2 Tính căn bậc hai theo modulo là hợp số

Chúng ta biết rằng , p và q là số nguyên tố, nhóm đồng cấu với không gian . Bởi

vì đồng cấu đảm bảo tính chất lệnh số học nên , thỏa mãn khi và chỉ khi biểu thức trên

đúng với modulo p và modulo q. Điều này có nghĩa nếu triển khai được n ra thừa số thì căn bậc hai theo

modulo n có thể tính được theo thuật toán sau:

Thuật toán 2.1:

Đầu vào 2 số nguyên tố p, q thỏa mãn điều kiện n = pq, số nguyên .

Đầu ra: Căn bậc hai của y theo modulo n

xp

xq

return vp * xp + vq * xq mod n

2.12 Thuật toán bình phương và nhân

Thuật toán “bình phương và nhân” để tính . Đây là thuật toán tính hàm mũ hiệu quả,

mà trong các chương tiếp theo chúng ta sẽ áp dụng nó để tính giá trị hàm mũ đối với trường hợp số mũ

lớn.

Trong thuật toán này, ta coi rằng số mũ b được biểu thị ở dạng nhị phân như sau:

Trong đó bi = 0 hoặc 1, .

Thuật toán tính: gồm các bước như sau:

1. z = 1

2. for i = l – 1 down to 0 do

3.

4. if bi = 1 then

Ví dụ : Tính 97263533 mod 11413

3533 = 211+210+28+27+26+23+22+1 = 110111001101

z = 1

i bi z mod 11413

18

Page 19: Chương 2fit.mta.edu.vn/files/FileMonHoc/Chương 2 - Lý thuyết... · Web viewCác số nguyên a và b là nguyên tố cùng nhau, nếu chúng không có ước số nguyên

11 1 12 * 9726 = 9726

10 1 97262 * 9726 = 2659

9 0 26592 = 5634

8 1 56342 * 9726 = 9167

7 1 91672 * 9726 = 4958

6 1 49582 * 9726 = 7783

5 0 77832 = 6298

4 0 62982 = 4629

3 1 46292 * 9726 = 10185

2 1 101852 * 9726 = 105

1 0 1052 = 11025

0 1 110252 * 9726 = 5761

Vậy 97263533 mod 11413 = 5761

19