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

Một số vấn đề toán học trong lý thuyết mật mã ( Luận văn thạc sĩ)

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 (247.57 KB, 31 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KHOA HỌC

NGÔ THỊ NGA

MỘT SỐ VẤN ĐỀ TOÁN HỌC
TRONG LÝ THUYẾT MẬT MÃ

LUẬN VĂN THẠC SĨ TOÁN HỌC

Thái Nguyên - Năm 2014


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KHOA HỌC

NGÔ THỊ NGA

Chuyên ngành:

PHƯƠNG PHÁP TOÁN SƠ CẤP

Mã số : 60.46.01.13

LUẬN VĂN THẠC SĨ TOÁN HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC
GS.TSKH: HÀ HUY KHOÁI

Thái Nguyên - Năm 2014



Mục lục

Lời nói đầu

2

1 KIẾN THỨC CƠ SỞ
1.1

1.2

4

Kiến thức cơ sở . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1.1.1

Định lý Euler . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1.1.2

Thuật toán Euclide . . . . . . . . . . . . . . . . . . . . . . . .

7


1.1.3

Đa thức nội suy Lagrange . . . . . . . . . . . . . . . . . . . .

7

Tổng quan về mật mã - Hệ mã công khai RSA . . . . . . . . . . . .

8

1.2.1

Tổng quan về mật mã . . . . . . . . . . . . . . . . . . . . . .

8

1.2.2

Hệ mã mũ của Pohlig và Hellman . . . . . . . . . . . . . . .

11

1.2.3

Hệ mã công khai RSA . . . . . . . . . . . . . . . . . . . . . .

13

2 CHỮ KÍ SỐ - CHỮ KÍ NGƯỠNG


17

2.1

Hàm băm mật mã . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.2

Chữ kí số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

2.3

Chữ kí ngưỡng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

2.3.1

25

Quá trình kí văn bản

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

1



LỜI NÓI ĐẦU
Hiện nay, mạng máy tính ngày càng thể hiện rõ vai trò thiết yếu trong mọi lĩnh
vực của xã hội. Nó đã và đang trở thành phương tiện điều hành các hệ thống, khi
đó nhu cầu bảo mật thông tin được đặt lên hàng đầu. Nét nổi bật trong sự phát
triển của công nghệ bảo mật thông tin ngày nay là sự thâm nhập ngày càng sâu
của phương pháp Toán học vào lĩnh vực này (đặc biệt là của các phương pháp Số
học và Hình hoc Đại số). Với sự tăng truởng nhanh về tốc độ của các bộ vi xử lí,
các phương pháp mã hoá truyền thống (kể cả nhiều máy mã từng nổi tiếng trong
các cuộc Đại chiến Thế giới) đã không thể chống cự nổi khả năng phá khoá của
các siêu máy tính ngày nay. Vì vậy người ta đã buộc phải tìm những phương pháp
mới, dựa trên kết quả nghiên cứu sâu sắc của Toán học. Một điều đã trở thành
rất phổ biến hiện nay là các chuyên gia hàng đầu thế giới về mã hóa đều là nhà
toán học hoặc được đào tạo toán học một cách cơ bản. Chính Toán học đã làm
cho công nghệ mã có một bước nhảy vọt và đáp ứng một cách suất xắc các yêu
cầu của thực tiễn hiện tại. Mục đích của luận văn này nhằm trình bày cơ sở của
việc ứng dụng số học trong lý thuyết mật mã đặc biệt là chữ kí số - chữ kí ngưỡng.
Luận văn gồm 2 chương: Chương I : Kiến thức cơ sở.Chương này nhằm giới thiệu
chung về lý thuyết mật mã, nhắc lại một số khái niệm cơ sở, một số công cụ toán
học sử dụng tong lý thuyết mật mã liên quan đến luận văn, giới thiệu tổng quan về
mật mã và hệ mã công khai RSA. Chương II: Chữ kí số - Chữ kí ngưỡng. Chương
trình trình bày về hàm băm mã, chữ kí số và chữ kí ngưỡng. Luận văn này được
hoàn thành dưới sự hướng dẫn tận tình và nghiêm khắc của Giáo sư - Tiến sĩ khoa
học Hà Huy Khoái. Qua đây cho tôi bày tỏ lònh kính trọng và biết ơn chân thành

2


đối với thầy hướng dẫn, người đã tận tình chỉ bảo, quan tâm động viên và giúp đỡ
tôi hoàn thành bản luận văn này. Đồng thời tôi xin chân thành cảm ơn các thầy

cô, các cán bộ khoa Toán và các cán bộ phòng quản lí Khoa học - Trường Đại học
Khoa học Thái Nguyên đã hết lòng giúp đỡ tôi trong suốt quá trình học tập và
nghiên cứu. Cuối cùng tôi xin cảm ơn các anh,các chị,các bạn lớp cao học toán
K6b của trường Đại học Khoa Học Thái Nguyên đã động viên tinh thần ,chia sẻ
những khó khăn và giúp đỡ tôi hoàn thành luận văn này.
Thái Nguyên, ngày 10 tháng 5 năm 2013
Người viết

Ngô Thị Nga

3


Chương 1

KIẾN THỨC CƠ SỞ
1.1
1.1.1

Kiến thức cơ sở
Định lý Euler

Định nghĩa l.1. Cho n là số tự nhiên, số lượng các số tự nhiên bé hơn n và
nguyên tố cùng nhau với n được gọi là phi hàm Euler của n. Kí hiệu: ϕ (n)
Ví dụ 1.1.ϕ(5) = 4; ϕ(6) = 2; ϕ (7) = 6
Lưu ý: Nếu p là số nguyên tố thì ϕ(p) = p − 1
Định nghĩa 1.2. Một hệ thặng dư đầy đủ modulo n là một tập hợp số nguyên
sao cho mỗi số nguyên tùy ý đều đồng dư modnlo n với đúng một số của tập hợp.
Định nghĩa 1.3. Một hệ thặng dư thu gọn modulo n là một tập gồm ϕ(n) số
nguyên sao cho mỗi phần tử của tập hợp đều nguyên tố cùng nhau với n, và không

có hai phần tử khác nhau nào đồng dư với nhau theo modulo n.
Ví dụ 1.2. Tập hơp 1, 3, 5, 7 là một hệ thặng dư thu gọn modulo 8.
Định lý 1.1. Giả sử r1 ; r2 ; ...rϕ(n) là hệ thặng dư thu gọn modulo n, a là số nguyên
dương và (a,n)= 1. Khi đó, tập hợp ar1 , ar2 ,...arϕ(n) cũng là hệ thặng dư thu gọn
modulo n
Chứng minh.
Trước hết ta chứng tỏ rằng, mỗi số arj nguyên tố cùng nhau với n. Giả sử ngược
lại (arj ; n) > 1 với j nào đó. Khi đó, tồn tại ước nguyên tố p của (arj ;n). Do đó
hoặc p là ước số của a hoặc p là ước của rj ; tức là p là ước số của a và p là ước
của n; hoặc p là ước của rj và p là ước số của n. Tuy nhiên, không thể có p là ước
4


số của rj và p là ước số của n, vì rj và n nguyên tố cùng nhau. Tương tự, không
thể có p là ước số của a và p là ước số của n. Vậy arj và n nguyên tố cùng nhau
với mọi j=1,2,...,ϕ(n)
Còn phải chứng tỏ không có hai số arj ; ark nào đồng dư nhau modulo n. Giả sử
arj ≡ ark modn, j = k và 1 ≤ j ≤ ϕ(n); j = k; 1 ≤ k ≤ ϕ(n). Vì (a,n) = 1 nên ta suy

ra rj ≡ rk mod n. Điều này mâu thuẫn vì rj ; rk cùng hệ thặng dư thu gọn ban đầu
modulo n.
Mệnh đề 1.1. Nếu m, n là hai số tự nhiên nguyên tố cùng nhau thì ta có
ϕ(m.n) = ϕ(m).ϕ(n).

Chứng minh. Ta viết tất cả các số nguyên dương không vượt quá m.n thành bảng
sau:
1

m+1


2

m+ 2

.....
m

2m + 1

...

(n - 1) m + 1

2m + 2

...

.....

.....

.....

2m

3m

.....

(n - l) m + 2


nm

Bây giờ, ta giả sử r là số nguyên không vượt quá m và (m,r)=d với d>l. Khi đó,
không có số nào trên dòng r nguyên tố cùng nhau với m.n, vì mỗi phần tử đều có
dạng k.m+r với 1 ≤ k ≤ n − 1. Ta thấy d là ước số của k.m+r vì d là ước số của m
và r.
Vậy để tìm số hạng nguyên tố cùng nhau với m.n ta chỉ xét trên dòng thứ r với m
và r nguyên tố cùng nhau .
Trên dòng r đó ta có các số: r; m+r; 2m+r; ...;(n-1)m+r. Vì m và r nguyên tố cùng
nhau nên trên dòng r các số đều nguyên tố cùng nhau với n. Như vậy, n số nguyên
trên dòng r lập thành hệ thặng dư đầy đủ modulo n. Do đó, có đúng ϕ(n) số hạng
trên dòng đó nguyên tố cùng nhau với n. Do các số cũng nguyên tố cùng nhau với
m nên chúng nguyên tố cùng nhau với m.n.
Vì có ϕ(m) dòng, mỗi dòng có chứa ϕ(n) số nguyên tố cùng nhau với m.n nên suy
ra ta được ϕ(m.n) = ϕ(m).ϕ(n)

5


Hệ quả
Giả sử n = p1 α1 ...pk αk là phân tích của n thành thừa số nguyên tố. Khi đó ta có:
ϕ (n) = n 1 −

VD 1.3. ϕ (8) = ϕ 23 = 23 1 −

1
2

1

p1

1−

1
p2

.... 1 −

1
pk

.

= 22

Định lý 1.2 (Định lý Euler):
Giả sử m là số nguyên dương với (a,m)=l. Khi đó, aϕ(m) ≡ 1modm
Chứng minh.
Giả sử r1 ; r2 ;...;rϕ(m) là một hệ thặng dư thu gọn gồm các số nguỵên dương không
vượt qua m và nguyên tố cùng nhau với m. Theo định lí trên và do (a,m) = 1, tập
hợp ar1 ; ar2 ,...,arϕ(m) cũng là hệ thặng dư thu gọn modulo m. Như vậy, các thặng
dư bé nhất của ar1 ; ar2 ; ...; arϕ(m) phải là các số nguyên r1 ; r2 ; ...; rϕ(m) xếp theo thứ
tự nào đó.
Dễ thấy rằng : ar1 .ar2 ...arϕ(m) ≡ r1 , r2 ,...,rϕ(m) (mod m)

Do đó ta có: aϕ(m) r1 r2 ...rϕ(m) ≡ r1 r2 ...rϕ(m) modm
Vì (r1 .r2 ...rϕ(m) , m) = 1 nên ta có: aϕ(m) ≡ 1modm
Hệ quả 1.1. Nếu (c, m) = 1 và a ≡ bmodϕ(m) thì ca = cb modm
Chứng minh. a ≡ bmodϕ(m) suy ra a = k.ϕ(m) + b với k là số nguyên suy ra

ca = ck.ϕ(m)+b = ck.ϕ(m) .cb

Theo định lý Euler cϕ(m) ≡ 1modm từ đó suy ra ca ≡ cb modm
Hệ quả 1.2.
Nếu d là số nguyên thỏa ed ≡ 1modϕ(m) và (c,m)= l thì ced ≡ cmodm
Chứng minh:
Thật vậy, ed ≡ 1modϕ(m) suy ra ed = 1 + k.ϕ(m) với k là số nguyên
Vì (c,m)= l nên cϕ(m) ≡ 1modm
Như vậy, ced ≡ c1+k.ϕ(m) ≡ cmodm

6


1.1.2

Thuật toán Euclide

Giả sử r0 = a; r1 = b là các số nguyên không âm và b = 0. Ta áp dụng liên tiếp
thuật toán chia rj = rj+1 .qj+1 + rj+2 với 0 < rj +2 < rj+1 ; j= 0,l,2,...,n - 2 và rn = 0
khi đó (a,b)=rn−1 .
Ta chứng minh rn−1 nói trên là ước số chung lớn nhất.
Thật vậy, giả sử: a = b.q + r ta chứng minh (a,b)=(b,r) Giả sử m là ước chung
nào đó của a và b khi đó m là ước của r. Ngược lại nếu m’ là ước của b và r thì
m’ là ước của a. Như vậy ước chung của a và b trùng ước chung của b và r, nên
(a,b)=(b,r) Từ thuật toán trên giả sử r0 = a; r1 = b là các số nguyên dương và a>b.
Bằng cách áp dụng liên tục thuật toán chia, ta được:
r0 = r1 .q1 + r2 ; 0 ≤ r2 < r1
r1 = r2 .q2 + r3 ; 0 ≤ r3 < r2

.......

rn−2 = rn−1 .qn−1 + rn ; 0 ≤ rn < rn−1
rn−1 = rn .qn

Ta thấy đi đến phép chia với phần dư 0 sẽ được thực hiện sau hữu hạn bước. Vì
a = r0 > r1 > ... ≥ 0

Ngược lại, nếu (a,b)=d từ kết quả trên ta cũng có thể tìm được duy nhất cặp số
nguyên x,y sao cho ax+by=d. Nếu (a,b)=l thì ta cũng tìm được duy nhất cặp số
nguyên x, y thỏa mãn ax+by=l
VD1.4. Tính ước chung lớn nhất d = (18; 84) bằng thuật toán Euclid.
Ta có d = (18; 84) = (12; 18) = (6; 12) = (6; 6) = 6
1.1.3

Đa thức nội suy Lagrange

Bài toán:
Cho f(x) và g(x) là hai đa thức có bậc không quá n. Chứng minh rằng nếu hai đa
thức trên trùng nhau ở n+1 điểm thì hai đa thức đó trùng nhau.
Chứng minh:

7


Thật vậy, giả sử f(x) và g(x) là hai đa thức có bậc không quá n và trùng nhau ở
n+1 điểm (xi ; yi ); i = 1,2...,n+1 Vì f(x) và g(x) là hai đa thức có bậc không quá n
nên suy ra phương trình f(x) - g(x) = 0 là phương trình có bậc không quá n. Nên
số nghiệm của phương trình không vượt quá n.
Theo giả thiết, f(x) và g(x) trùng nhau ở n+1 điểm (xi ; yi );
i= 1,2,...n + 1 nên suy ra phương trình f(x) - g(x) = 0 có n+1 nghiệm xi , i = 1,
2,.....n + 1

Vậy ta có được phương trình f(x) - g(x) = 0 là phương trình có bậc không vượt
quá n nhưng lại có đến n+1 nghiệm.
Điều đó xảy ra khi phương trình f(x) - g(x) = 0 có các hệ số đều bằng không.
Điều đó dẫn đến f(x) - g(x) ≡ 0 hay f(x)≡g(x)
Đa thức nội suy Lagrange:
Cho n+1 điểm (xi ; yi ). Từ n+1 điểm đó ta xây dựng đa thức nội suy Lagrange f(x)
n+1

n+1

=

yi .
i=1

j=1,i=j

x−xj
xi −xj

Ta thấy đa thức được xây dựng như trên thỏa mãn f (xi ) = yi ;i= 1,2, ...,n + 1
Nhận xét:
Từ bài toán trên và Đa thức nội suy Lagrange ta có kết luận sau: Cho đa thức
bậc k: f (x) = a0 + a1 x + a2 x2 + ... + ak xk (ak = 0). Ta lấy k+1 điểm (xi ; f (xi )); i =
1,2,..., k + 1. Từ k+1 điểm đó ta xây dựng đa thức nội suy Lagrange F(x). Khi
đó, ta thấy F (x) ≡ f (x). Thậm chí nếu ta tăng số điểm lên nhiều hơn k+1 điểm
(k+2 điểm trở lên) thì kết quả cho ta vẫn không thay đổi tức là F (x) ≡ f (x)

1.2
1.2.1


Tổng quan về mật mã - Hệ mã công khai RSA
Tổng quan về mật mã

Ta có thể hiểu nôm na, mật mã học là cách ngụy trang văn bản giữa các đối tác
có quan hệ trao đổi thông tin mật với nhau và chỉ có họ mới hiểu và đọc được nội
dung văn bản, mà người khác dù có vô tình hay cố ý có được cũng không thể đọc
được nội dung chính xác của văn bản. Mầm mống mật mã học đã có từ thời Hy
8


lạp cổ đại (khoảng 400 năm trước công nguyên) và nó được dùng chủ yếu trong
bí mật quân sự. Người Hy lạp cổ đại dùng một dải băng dài và quấn thành khối
hình trụ tròn xoay rồi viết chữ lên đó theo cách thức thông thường. Mẫu tin được
chuyển đi dưới dạng dải băng và chỉ có thể đọc ra khi biết được bán kính khối trụ
và quấn lại dải băng như khi đã viết. Trong cách dùng này ta thấy được điều thú
vị ở đây là, giả sử có ai đó có được giải băng mà không biết được đường kính thì
cũng không thể quấn lại được giải băng như mong muốn để đọc nội dung. Rõ ràng
trong cách dùng này thì chỉ có người trong cuộc (những người biết được chính xác
đường kính khối trụ) thì mới có thể đọc được nội dung văn bản, người ngoài cuộc
không thể đọc được nội dung văn bản. Nên vấn đề bảo mật thông tin là có cơ sở.
Ở đây đường kính khối trụ xem như chìa khóa lập và giải mã văn bản. Dù còn
rất sơ khai nhưng chúng ta cũng thấy được sức mạnh sự bảo mật của nó, và đây
đúng thực là cái nôi của mật mã học. Đến thời Hoàng để Caesar thì mật mã được
dùng tinh vi hơn, cụ thể như sau : Hoàng đế Caesar đã từng dùng phép mã thay
thế trong quân sự, trong đó mỗi kí tự được được thay thế bởi kí tự đứng sau nó
ba vị trí trong bảng chữ cái alphabet; nghĩa là chữ A được thay thế bằng chữ D,
chữ B được thay tliế bằng chữ E,... Trong thực tế, việc triển khai một hệ mã như
thế là khá đơn giản và cũng thuận tiện trong việc sử dụng, với việc dùng hai chiếc
đĩa đồng tâm có bán kính khác nhau và có các bảng chữ cái rải đều trên vành đĩa.

Việc xoay một trong hai cái đĩa sao cho chữ A trên vành đĩa nhỏ nằm trên bán
kính nối tâm đĩa vối chữ D trên vành đĩa lớn sẽ xác định được phép mã Caesar.
nói trên, thông qua phép tương ứng giữa các chữ cái trên vành đĩa nhỏ với các chữ
cái trên vành đĩa lớn. Nói chung, việc xoay đĩa theo một góc bất kỳ sẽ mang lại
một phép mã Caesar. Mấu chốt vấn đề là ở chỗ, nếu ta không nắm được qui ước
thay thế thì các kí tự thì không thể dịch văn bản mật thành văn bản gốc được và
vì thế không thể đọc được nội dung văn bản. Từ hai cách dùng trên ta thấy một
điều là tầm quan trọng trong việc bảo mật thông tin của con người . Đặc biệt là
trong lĩnh vực quân sự, nếu thông tin quân sự mật mà bị đối phương nắm bắt thì

9


Luận án đầy đủ ở file: Luận án Full
















×