Tải bản đầy đủ (.pdf) (56 trang)

Các ứng dụng của định lý euler trong số học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (438.02 KB, 56 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
KHOA TOÁN

======

TRỊNH NGỌC MINH

CÁC ỨNG DỤNG CỦA ĐỊNH LÝ
EULER TRONG SỐ HỌC

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Đại số

HÀ NỘI, 2019


TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
KHOA TOÁN

======

TRỊNH NGỌC MINH

CÁC ỨNG DỤNG CỦA ĐỊNH LÝ
EULER TRONG SỐ HỌC
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Đại số

Người hướng dẫn khoa học

Ths.Đỗ Văn Kiên



HÀ NỘI, 2019


Lời cảm ơn

Trước khi trình bày nội dung chính của khóa luận, em xin bày tỏ lòng
cảm ơn tới các thầy cô khoa Toán, trường Đại học Sư phạm Hà Nội 2, các
thầy cô trong bộ môn tổ Đại số cũng như các thầy cô giảng dạy đã tận
tình truyền đạt những kiến thức quý báu và tạo điều kiện thuận lợi để em
hoàn thành tốt nhiệm vụ khóa học và khóa luận.
Đặc biệt, em xin bày tỏ sự kính trọng và biết ơn sâu sắc tới Thầy Đỗ
Văn Kiên, người đã trực tiếp hướng dẫn, giúp đỡ và chỉ bảo tận tình để
em có thể hoàn thành khóa luận này.
Do thời gian, năng lực của bản thân và điều kiệu ngoại cảnh nên bản
khóa luận này không tránh khỏi những thiếu sót. Vì vậy, em rất mong
nhận được những ý kiến đóng góp quý báu của thầy cô và các bạn.

Hà Nội, tháng 5 năm 2019
Sinh viên

Trịnh Ngọc Minh


Lời cam đoan
Em xin cam đoan khóa luận Các ứng dụng của định lý Euler trong số
học là công trình nghiên cứu của cá nhân em dưới sự hướng dẫn của giảng
viên ThS. Đỗ Văn Kiên. Đề tài là sự kết hợp của việc nghiên cứu, tìm tòi
và tổng kết các tài liệu tham khảo nên các nội dung trong khóa luận là
hoàn toàn trung thực. Đề tài sử dụng một số tài liệu tham khảo được ghi

rõ trong danh mục "Tài liệu tham khảo".
Nếu phát hiện bất cứ sự gian lận nào, em xin hoàn toàn chịu trách
nhiệm về khóa luận nghiên cứu của mình !
Hà Nội, tháng 5 năm 2019
Sinh viên

Trịnh Ngọc Minh


Mục lục

Lời mở đầu

1

1 Một số kiến thức chuẩn bị

2

1.1

1.2

1.3

Vành các số nguyên . . . . . . . . . . . . . . . . . . . . .

2

1.1.1. Quan hệ hai ngôi . . . . . . . . . . . . . . . . . .


2

1.1.2. Xây dựng vành các số nguyên . . . . . . . . . . .

3

1.1.3. Vành các lớp thặng dư . . . . . . . . . . . . . . .

6

Số nguyên tố . . . . . . . . . . . . . . . . . . . . . . . .

7

1.2.1. Số nguyên tố . . . . . . . . . . . . . . . . . . . .

7

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

10

Hàm Euler, định lý Euler . . . . . . . . . . . . . . . . . .

12

2 Những ứng dụng của định lý Euler
2.1


15

Mật mã RSA . . . . . . . . . . . . . . . . . . . . . . . .

15

2.1.1. Lịch sử . . . . . . . . . . . . . . . . . . . . . . . .

15

2.1.2. Cơ chế hoạt động . . . . . . . . . . . . . . . . . .

16

2.1.3. Mã hóa . . . . . . . . . . . . . . . . . . . . . . .

19

2.1.4. Giải mã . . . . . . . . . . . . . . . . . . . . . . .

19

2.1.5. Tạo chữ ký số cho văn bản . . . . . . . . . . . . .

22

i


Khóa luận tốt nghiệp Đại học


2.2

2.3

Trịnh Ngọc Minh

2.1.6. Tại sao RSA hiệu quả? . . . . . . . . . . . . . . .

22

Số giả nguyên tố . . . . . . . . . . . . . . . . . . . . . .

24

2.2.1. Số Mersenne . . . . . . . . . . . . . . . . . . . . .

29

2.2.2. Số Fermat . . . . . . . . . . . . . . . . . . . . . .

32

2.2.3. Số Carmichael . . . . . . . . . . . . . . . . . . . .

34

Thuật toán về sự phân tích p − 1 của Pollard . . . . . .

38


2.3.1. Thuật toán p − 1 của Pollard. . . . . . . . . . . .

39

2.3.2. Chú ý . . . . . . . . . . . . . . . . . . . . . . . .

43

2.3.3. Bảo mật RSA . . . . . . . . . . . . . . . . . . . .

44

2.3.4. Sự phân tích thành thừa số của số Mersenne . . .

46

Kết luận

49

TÀI LIỆU THAM KHẢO

50

ii


Khóa luận tốt nghiệp Đại học


Trịnh Ngọc Minh

Lời mở đầu
Leonhard Euler (1707-1783) là một trong những nhà toán học nổi
tiếng của thế kỉ XVII, ông được coi là một trong những nhà toán học vĩ
đại nhất trong lịch sử. Euler đã có những khám phá quan trọng và có
ảnh hưởng đặc biệt trong rất nhiều lĩnh vực toán học như lý thuyết đồ
thị, vi tích phân, lý thuyết số giải tích, giải tích toán học,... Tài lệu khóa
luận này đề cập, tổng hợp và nghiên cứu về một công trình nổi tiếng của
ông, đó là Định lý Euler -định lý đặc biệt quan trọng trong lý thuyết số.

Khóa luận gồm hai chương.
Chương 1 "Một số kiến thức chuẩn bị" trình bày một số khái niệm
và kết quả cơ bản về số nguyên tố, vành số nguyên, hàm Euler và định
lý Euler.
Chương 2 "Những ứng dụng của định lý Euler" trình bày về những
ứng dụng của định lý Euler bao gồm mật mã RSA và một số ứng dụng
của mật mã. Khái niệm số giả nguyên tố và một số dạng số giả nguyên
tố cơ bản. Thuật toán về sự phân tích p − 1 của Pollard.

1


Chương 1
Một số kiến thức chuẩn bị
1.1
1.1.1.

Vành các số nguyên
Quan hệ hai ngôi


Cho hai tập hợp X, Y . Mỗi tập con S của tích Descartes X × Y được
gọi là quan hệ hai ngôi từ X vào Y . Nếu (a, b) ∈ S thì ta nói a có quan
hệ S với b và ký hiệu là aSb. Đặc biệt khi X = Y thì ta nói S là một
quan hệ hai ngôi trên X.
Định nghĩa 1.1. Cho S là một quan hệ hai ngôi trên X. Ta nói S là
một quan hệ tương đương nếu thỏa mãn các tính chất sau:
1. (Phản xạ) Với mọi a ∈ X suy ra aSa.
2. (Đối xứng) Với mọi a, b ∈ X; nếu aSb thì bSa.
3. (Bắc cầu) Với mọi a, b, c ∈ X; nếu aSb và bSc thì aSc.
Định nghĩa 1.2. Cho S là một quan hệ hai ngôi trên X. Ta nói S là
một quan hệ thứ tự nếu thỏa mãn các tính chất sau:
1. (Phản xạ) Với mọi a ∈ X thì aSa.
2


Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

2. (Phản đối xứng) Với mọi a, b ∈ X; nếu aSb và bSa thì a = b.
3. (Bắc cầu) Với mọi a, b, c ∈ X; nếu aSb và bSc thì aSc.
1.1.2.

Xây dựng vành các số nguyên

Trên tập N × N ta định nghĩa một quan hệ tương đương như sau
(a, b) ∼ (c, d) ⇔ a + d = b + c.
Đặt
N×N

= (a, b)|a, b ∈ N

là tập thương của N × N theo quan hệ tương đương ∼, ở đó
(a, b) = (c, d) ∈ N × N|a + d = b + c
là lớp tương đương của (a, b).
N×N
Trên tập
ta trang bị hai phép toán cộng và nhân như sau

(a, b) + (c, d) = (a + c, b + d),
(a, b).(c, d) = (ac, bd).
N×N
là một vành giao hoán có đơn vị (1, 1) = (a, a), ∀a ∈ N.

Xét ánh xạ
N×N
f : N −→

a −→ (a, 0)

Khi đó

3


Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

là đơn ánh và thỏa mãn

f (a.b) = f (a).f (b),
f (a + b) = f (a) + f (b).
Do vậy ta có thể đồng nhất a với f (a), tức là (a, 0) = a. Khi đó phần tử
(a, b) với a ≥ b
(a, b) = (a, 0) + (0, b)
= (a, 0) − (b, 0)
= a − b.
Từ đó
N×N
= (a − b)|a, b ∈ N

= {0; ±1; ±2; ±3; . . . } .
Ta gọi vành

N×N
là vành các số nguyên Z.


Định lý 1.1. Vành Z là một vành cực tiểu, chứa tập hợp các số tự nhiên
N như là nửa nhóm con cộng và nửa nhóm con nhân, nghĩa là mọi vành
con của Z chứa tập hợp số tự nhiên N đều trùng với Z. Hơn nữa mọi
vành cực tiểu chứa tập hợp số tự nhiên N như là nửa nhóm con cộng và
nửa nhóm con nhân đều đẳng cấu với Z.
Chứng minh. (Xem [3-tr.31])
Định nghĩa 1.3. Trên vành số nguyên Z ta xác định một quan hệ hai
ngôi (≤) như sau: ∀x, y ∈ Z, x ≤ y khi và chỉ khi y − x ∈ N.

4



Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

Ta dễ dàng chứng minh được rằng quan hệ (≤) là một quan hệ thứ
tự trên Z. Hơn nữa Z cùng với quan hệ thứ tự đó là một tập sắp thứ tự
toàn phần.
Một phần tử x ∈ Z sao cho 0 ≤ x, tức là x ∈ N, được gọi là phần tử
không âm. Một phần tử x ∈ Z mà x ∈
/ N được gọi là phần tử âm và ký
hiệu x < 0. Hơn nữa quan hệ thứ tự (≤) thu hẹp trên N cũng cho ta một
quan hệ thứ tự toàn phần trên N.
Định nghĩa 1.4. Một vành giao hoán A cùng với một quan hệ thứ tự
toàn phần (≤) trên A được gọi là vành sắp thứ tự nếu các điều kiện sau
được thỏa mãn:
i) x ≤ y kéo theo x + z ≤ y + z với mọi z ∈ A.
ii) 0 ≤ x và 0 ≤ y kéo theo 0 ≤ xy.
Định lý 1.2. Vành số nguyên Z cùng với quan hệ thứ tự thông thường
là một vành sắp thứ tự.
Chứng minh.(Xem [3-tr.33])
Định lý 1.3 (Phép chia với dư). Cho hai số nguyên a, b tùy ý, b = 0.
Khi đó tồn tại duy nhất q, r ∈ Z sao cho
a = bq + r,

với 0 ≤ r < |b| .

Chứng minh.(Xem [3-tr.37])
Hệ quả 1.1. Vành số nguyên Z là một vành chính.

5



Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

Hệ quả 1.2. Vành số nguyên Z cùng với ánh xạ
g : Z∗ −→ N
xa −→ g(x) = |x|

Z∗ = Z − {0}

là một vành Ơclit.
1.1.3.

Vành các lớp thặng dư

Định nghĩa 1.5. Cho a, b, m là các số nguyên, m > 0. Ta nói rằng a
đồng dư với b theo mođun m nếu trong phép chia a và b cho m ta thu
được cùng một số dư.
Ký hiệu: a ≡ b (mod m).
Rõ ràng quan hệ ≡ theo mođun m là một quan hệ tương đương trên
Z.
Định nghĩa 1.6. Tập thương của tập hợp các số nguyên Z theo quan
hệ đồng dư (≡) theo môđun n được gọi là tập các lớp thặng dư môđun
n, và được ký hiệu là Zn . Mỗi phần tử của Zn được gọi là một lớp thặng
dư môđun n.
Định nghĩa 1.7. Trên Zn ta định nghĩa phép toán cộng và phép toán
nhân như sau. Giả sử a, b ∈ Zn . Ta đặt
a+b =a+b



a
¯.b = a.b.

Dễ dàng kiểm tra được rằng các phép toán trên đây được định nghĩa tốt.

6


Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

Định lý 1.4. Tập hợp tất cả các lớp thặng dư môđun n, Zn , cùng với
phép toán cộng và phép toán nhân vừa xác định trên đây là một vành
giao hoán có đơn vị.
Chứng minh. (Xem [3-tr.207])
Mệnh đề 1.1. Số phần tử của vành các lớp thặng dư mođun n được kí
hiệu là |Z∗n | và được xác định như sau
|Z∗n | =

1.2

0 ≤ a < n − 1|U(a, n) = 1 .

Số nguyên tố

1.2.1.


Số nguyên tố

Định nghĩa 1.8. Một số nguyên a > 1 được gọi là một số nguyên tố,
nếu và chỉ nếu a chỉ có các ước số nguyên dương là 1 và a. Các số nguyên
lớn hơn 1 nếu không là số nguyên tố thì sẽ là hợp số.
Tập hợp các số nguyên tố kí hiệu là P.
Định lý 1.5 (Định lý cơ bản của số học). Mọi số tự nhiên a lớn hơn 1
có thể viết một cách duy nhất (không kể sự sai khác về thứ tự các thừa
số) thành tích các thừa số nguyên tố, tức là
a = p1 α1 p2 α2 . . .pk αk ,
trong đó p1 , p2 , , . . ., pk là các số nguyên tố và α1 , α2 , . . . , αk là các số
nguyên dương.
Ta gọi sự phân tích ở trên là sự phân tích tiêu chuẩn của số nguyên
dương a.
7


Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

Chứng minh.
Sự phân tích được: Giả sử a là một số tự nhiên lớn hơn 1, thế thì a
phải có một ước nguyên tố, chẳng hạn là p1 và ta có a = p1 a1 , trong đó
1 ≤ a1 < a. Nếu a1 = 1 thì ta được a = p1 và đó là sự phân tích a thành
thừa số nguyên tố. Nếu a1 > 1 thì a1 phải có một ước nguyên tố p2 chẳng
hạn, và ta có a1 = p2 a2 , do đó a = p1 p2 a2 với 1 ≤ a2 < a1 . Nếu a2 = 1
thì ta được a = p1 p2 là dạng phân tích của a thành thừa số nguyên tố,
còn nếu a2 > 1 thì ta lại lặp lại lý luận trên, ta được thừa số nguyên tố
p3 , . . . Quá trình này phải kết thúc vì ta có a > a1 > a2 > . . . > 0 nên

ắt phải có an = 1 và ta được
a = p1 p2 . . . pn
là dạng phân tích của a thành tích các thừa số nguyên tố.
Tính duy nhất: Giả sử ta có
a = p1 p2 . . . pn = q1 q2 . . . qm
là hai dạng phân tích của a thành tích những thừa số nguyên tố. Thế
thì ta có p1 |q1 q2 . . . qm , do đó p1 phải là ước của một thừa số nguyên tố
nào đó chẳng hạn p1 của tích q1 q2 . . . qm . Vậy ta phải có p1 = q1 và ta
được
p2 p3 . . . pn = q2 q3 . . . qm .
Lập lại lý luận trên với p2 , p3 , . . . cho tới khi đã ước lược hết các thừa
số nguyên tố của một vế trong đẳng thức trên, vì không thể xảy ra
1 = pm+1 . . . pn hoặc 1 = qn+1 . . . qm cho nên ta được m = n và pi = qi

8


Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

với mọi i = 1, 2, 3, . . . n.


Tính duy nhất được chứng minh.
Chẳng hạn
1288 = 23 × 7 × 23,
1700 = 22 × 52 × 17,
13921875 = 34 × 56 × 11.


Các tính chất cơ bản của số nguyên tố được thể hiện trong định lý sau.
Định lý 1.6.

1. Ước tự nhiên khác 1 nhỏ nhất của một số nguyên lớn

hơn 1 là số nguyên tố.
2. Cho p là số nguyên tố; a ∈ N; a = 0. Khi đó
(a, p) = p ⇔ p|a,
(a, p) = 1 ⇔ p a.
3. Nếu tích của nhiều số chia hết cho một số nguyên tố p thì có ít nhất
một thừa số chia hết cho p, tức là nếu
n

p|

ai
i=1

thì tồn tại ai sao cho p là ước của ai .
4. Ước số dương bé nhất khác 1 của một hợp số a là một số nguyên tố

không vượt quá a.
5. Số a > 1 không có ước nguyên tố nào từ 2 đến
9



a thì a là số nguyên



Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

tố.
6. 2 là số nguyên tố nhỏ nhất và cũng là số nguyên tố chẵn duy nhất.
7. Tập hợp các số nguyên tố là vô hạn (tương đương với việc không có
số nguyên tố lớn nhất).
1.2.2.

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

Cho các số nguyên a1 , a2 , . . . , an , ta nói số nguyên c là ước chung lớn
nhất của a1 , a2 , . . . , an nếu thỏa mãn hai điều kiện:
• c là ước của a1 , a2 , . . . , an .
• Ước số bất kỳ của a1 , a2 , . . . , an đều là ước số của c.
Ký hiệu:
U(a1 , a2 , . . . , an ) = max k .
k|ai ,∀i

Nhận xét: U(a1 , a2 , . . . , an ) là ước lớn nhất trong tất cả các ước chung
của a1 , a2 , . . . , an .
Ta xét riêng với trường hợp c là ước chung lớn nhất của a và b. Ký
hiệu U(a, b) = max k . Dễ thấy rằng
k|a
k|b

U(a, b) = U(a, −b) = U(−a, b) = U(−a, −b).
Nói chung, U(a, b) = U(|a|, |b|). 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 có U(a, 0) = |a|. Dễ dàng xác định

được ước chung lớn nhất của hai số nguyên dương, nếu các số này được
phân tích tiêu chuẩn dưới dạng tích của các thừa số nguyên tố. Giả sử
tìm ước chung lớn nhất của a và b với a < b :
10


Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

• Ta xác định được phân tích tiêu chuẩn của a, b như sau:
a = p1 α1 p2 α2 . . .pn αn ,

b = q1 β1 q2 β2 . . .qm βm .

trong đó p1 , p2 , , . . ., pn , q1 , q2 , , . . ., qm là các số nguyên tố và α1 ,
α2 , . . . , αn , β1 , β2 , . . . , βm là các số nguyên dương.
• r là các thừa số chung của a, b.
• γ là số mũ nhỏ nhất của mỗi thừa số chung r.
Khi đó
rγ .

U(a, b) =
r|a,b

Định lý 1.7. Với mọi a1 , a2 , . . . , an luôn tồn tại ước chung lớn nhất của
các số đó.
Chứng minh.
Gọi A là iđêan của vành số nguyên Z sinh ra bởi a1 , a2 , . . . , an . Vì Z
là một vành chính nên A là một iđêan chính, nghĩa là có c ∈ Z để cho

A = cZ, c = 0 vì ai = 0. Ta có thể giả thiết rằng c > 0, ta sẽ chứng
minh rằng c = (a1 , a2 , . . . , an ). Thật vậy, ai = A ∈ cZ nên c|ai với mọi
i = 1, n, nghĩa là c là một ước chung của a1 , a2 , . . . , an .
Mặt khác, vì c ∈ A và A là iđêan sinh bởi a1 , a2 , . . . , an , nên có các
số nguyên x1 , x2 , . . . , xn sao cho c = a1 x1 , a2 x2 , . . . , an xn , do đó, mọi ước
chung của a1 , a2 , . . . , an đều là ước của c. Suy ra c là một ước chung lớn
nhất của a1 , a2 , . . . , an .
Vậy luôn tồn tại ước chung lớn nhất của a1 , a2 , . . . , an .

11




Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

Định nghĩa 1.9. Các số nguyên a và b được gọi là nguyên tố cùng nhau
nếu chúng không có ước số nguyên tố chung, hay U(a, b) = 1.

1.3

Hàm Euler, định lý Euler

Định nghĩa 1.10. Hàm Euler (hay phi hàm Euler) là hàm biểu thị các
số tự nhiên khác 0, không lớn hơn n và nguyên tố cùng nhau với n.
Ký hiêu: ϕ(n).
Bảng một số giá trị của ϕ(n)


n

+0 +1 +2 +3 +4 +5 +6 +7 +8 +9

0+

1

1

2

2

4

2

6

4

6

10+

4

10


4

12

6

8

8

16

6

18

20+

8

12

10

22

8

20


12

18

12

28

30+

8

30

16

20

16

24

12

36

18

24


40+ 16

40

12

42

20

24

22

46

16

42

50+ 20

32

24

52

18


40

24

36

28

58

60+ 16

60

30

36

32

48

20

66

32

44


70+ 24

70

24

72

36

40

36

60

24

78

80+ 32

54

40

82

24


64

42

56

40

88

90+ 24

72

44

60

46

72

32

96

42

60


Hàm Euler là một hàm số học có vai trò rất quan trọng trong lý
thuyết số. Nó có một số tính chất cơ bản dưới đây mà việc chứng minh
là dễ dàng.

12


Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

1. ϕ(1) = 1.
2. Nếu n là số nguyên tố thì ϕ(n) = n − 1.
3. Nếu như n và m là hai số nguyên tố cùng nhau thì
ϕ(nm) = ϕ(n)ϕ(m).
4. ϕ(na ) = na−1 (n − 1).
5. Nếu n = pα1 1 pα2 2 . . . pαk k là phân tích tiêu chuẩn của n thì
ϕ(n) = n 1 −

1
p1

1−

1
p2

... 1 −

1

pk

.

6. |Z∗n | = ϕ(n).
Định lý 1.8 (Định lý Euler). Nếu n là số nguyên dương bất kỳ và a là
số nguyên tố cùng nhau với n, thì
aϕ(n) ≡ 1

(mod n).

Đây là tổng quát hóa của định lý nhỏ Fermat vì nếu n = p là số nguyên
tố thì ϕ(n) = n − 1.
Chứng minh.
Vì U(a, n) = 1 nên ta có a ∈ Z∗n . Gọi X1 , X2 , . . . , Xϕ(n) là tất cả các
phần tử của Z∗n , từ đó ta có
¯ X2 , . . . , a
¯Xϕ(n) .
Z∗n = X1 , X2 , . . . , Xϕ(n) = aX1 , a
Nhân tất cả các phần tử của Z∗n với nhau, theo hai cách biểu diễn ta
13


Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

được đẳng thức sau
a
¯ϕ(n) X1 X2 . . . Xϕ(n) = X1 X2 . . . Xϕ(n) .

Từ đó, vì X1 X2 . . . Xϕ(n) ∈ Z∗n cho nên ta có a
¯ϕ(n) = ¯1, nghĩa là
aϕ(n) ≡ 1

(mod n).


Định lý được chứng minh.

14


Chương 2
Những ứng dụng của định lý Euler
2.1
2.1.1.

Mật mã RSA
Lịch sử

Thuật toán được Ron Rivest, Adi Shamir và Len Adleman mô tả lần
đầu tiên vào năm 1977 tại Học viện Công nghệ Massachusetts (MIT).
Tên của thuật toán lấy từ 3 chữ cái đầu của tên 3 tác giả.
Trước đó, vào năm 1973, Clifford Cocks, một nhà toán học người Anh
làm việc tại GCHQ, đã mô tả một thuật toán tương tự. Với khả năng
tính toán tại thời điểm đó thì thuật toán này không khả thi và chưa bao
giờ được thực nghiệm. Tuy nhiên, phát minh này chỉ được công bố vào
năm 1997 vì được xếp vào loại tuyệt mật.
Thuật toán RSA được MIT đăng ký bằng sáng chế tại Hoa Kỳ vào
năm 1983 (Số đăng ký 4405829). Bằng sáng chế này hết hạn vào ngày

21 tháng 9 năm 2000. Tuy nhiên, do thuật toán đã được công bố trước
khi có đăng ký bảo hộ nên sự bảo hộ hầu như không có giá trị bên ngoài
Hoa Kỳ. Ngoài ra, nếu như công trình của Clifford Cocks đã được công

15


Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

bố trước đó thì bằng sáng chế RSA đã không thể được đăng ký.
2.1.2.

Cơ chế hoạt động

Mô tả sơ lược

Thuật toán RSA có hai loại khóa: khóa công khai (hay khóa công
cộng) và khóa bí mật (hay khóa cá nhân). Mỗi loại khóa là những con
số cố định được sử dụng trong quá trình mã hóa và giải mã. Khóa công
khai là khóa được công khai cho mọi người đều biết, mọi người dựa vào
mã công khai để mã hóa dữ liệu. Tuy nhiên khi giải mã thì những thông
tin mã hóa bằng khóa công khai chỉ có thể được giải mã dựa vào khóa
cá nhân (bí mật) tương ứng. Nói cách khác, mọi người đều có thể mã
hóa nhưng chỉ có người biết khóa cá nhân (bí mật) mới có thể giải mã
được.
Ta có thể mô phỏng trực quan một hệ mật mã khoá công khai như
sau: Nam muốn gửi cho Việt một thông tin mật mà Nam muốn duy
nhất Việt có thể đọc được. Để làm được điều này, Việt gửi cho Nam một

chiếc hộp có khóa đã mở sẵn và giữ lại chìa khóa. Nam nhận chiếc hộp,
cho vào đó một tờ giấy viết thư bình thường và khóa lại (như loại khoá
thông thường chỉ cần sập chốt lại, sau khi sập chốt khóa, ngay cả Nam
cũng không thể mở lại được-không đọc lại hay sửa thông tin trong thư
được nữa). Sau đó Nam gửi chiếc hộp lại cho Việt. Việt mở hộp với chìa
khóa của mình và đọc thông tin trong thư. Trong ví dụ này, chiếc hộp
với khóa mở đóng vai trò khóa công khai, chiếc chìa khóa chính là khóa
bí mật.

16


Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

Tạo khóa

Giả sử Việt và Nam cần trao đổi thông tin bí mật thông qua một
kênh không an toàn (ví dụ như Internet). Với thuật toán RSA, Việt đầu
tiên cần tạo ra cho mình cặp khóa gồm khóa công khai và khóa bí mật
theo các bước sau:
Bước 1: Chọn 2 số nguyên tố lớn p và q với p = q, lựa chọn ngẫu nhiên
và độc lập.
Bước 2: Tính: n = pq.
Bước 3: Tính: giá trị hàm số Euler ϕ(n) = (p − 1)(q − 1).
Bước 4: Chọn một số tự nhiên e sao cho 1 < e < ϕ(n) và là số nguyên
tố cùng nhau với ϕ(n).
Bước 5: Tính: d sao cho de ≡ 1


(mod ϕ(n)).

Một số lưu ý:
• Các số nguyên tố thường được chọn bằng phương pháp thử xác
suất.
• Các bước 4 và 5 có thể được thực hiện bằng giải thuật Euclid mở
rộng.
• Bước 5 có thể viết cách khác: Tìm số tự nhiên x tùy ý sao cho
d=

x(p − 1)(q − 1) + 1
e

17


Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

cũng là số tự nhiên. Khi đó sử dụng giá trị
d (mod (p − 1)(q − 1)).
Khóa công khai

Bao gồm:
• n và mođun n;
• e là số mũ công khai (cũng gọi là số mũ mã hóa).
Khóa bí mật

• n và mođun n, xuất hiện cả trong khóa công khai và khóa bí mật;

• d là số mũ bí mật (cũng gọi là số mũ giải mã).
Một dạng khác của khóa bí mật bao gồm:
• p và q, hai số nguyên tố chọn ban đầu;
• d (mod (p − 1)) và d (mod (q − 1));


1
q

(mod p).

Dạng này cho phép thực hiện giải mã và ký nhanh hơn với việc sử
dụng định lý số dư Trung Quốc (Chinese Remainder Theorem - CRT).
Ở dạng này, tất cả thành phần của khóa bí mật phải được giữ bí mật.
Việt gửi khóa công khai cho Nam và giữ bí mật khóa cá nhân của
mình. Ở đây, p và q giữ vai trò rất quan trọng. Chúng là các phân tố
của n và cho phép tính d khi biết e. Nếu không sử dụng dạng sau của

18


Khóa luận tốt nghiệp Đại học

Trịnh Ngọc Minh

khóa bí mật (dạng CRT) thì p và q sẽ được xóa ngay sau khi thực hiện
xong quá trình tạo khóa.
2.1.3.

Mã hóa


Giả sử Nam muốn gửi đoạn thông tin M cho Việt. Đầu tiên Nam
chuyển M thành một số m < n theo một hàm có thể đảo ngược (từ m
có thể xác định lại M ) được thỏa thuận trước.
Lúc này Nam có m và biết n cũng như e do Việt gửi. Nam sẽ tính c
là bản mã hóa của m theo công thức:
c = me

(mod n).

Hàm trên có thể tính dễ dàng bằng việc sử dụng phương pháp tính
hàm mũ (theo mođun) bằng thuật toán bình phương và nhân. Cuối cùng
Nam gửi c cho Việt.
2.1.4.

Giải mã

Việt nhận c từ Nam và biết khóa bí mật d. Việt có thể tìm được m
từ c theo công thức sau
m = cd

(mod n).

Biết m, Việt tìm lại M theo phương pháp đã thỏa thuận trước. Quá
trình giải mã hoạt động vì ta có
cd ≡ (me )d ≡ med

19

(mod n).



×