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

Nâng cao độ an toàn thực tiễn trong hệ mật khóa công khai

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 (1.18 MB, 139 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
tr−êng ®¹i häc b¸ch khoa hµ néi

Vò Huy Hoµng

N©ng cao §é an toµn thùc tiÔn trong
hÖ mËt khãa c«ng khai

LUẬN ÁN TIẾN SĨ KỸ THUẬT

Hà Nội – 2012


B GIO DC V O TO
trờng đại học bách khoa hà nội

V Huy Hong

NNG CAO AN TON THC TI N TRONG
H MT KHểA CễNG KHAI

Chuyờn ngnh: Cụng ngh phn mm
Mó s:
62. 48. 10. 01

LUN N TIN S K THUT

Ngi hng dn khoa hc:
1. PGS.TS. H Thun
2. PGS.TS. ng Vn Chuyt


H Ni 2012


MC LC
Danh mục các ký hiệu và các chữ viết tắt . . . . . . . . . . . . . . . . . . . . . .
Danh mục các bảng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Danh mục các hình vẽ và đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mở đầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chơng 1.
Khái quát về lý thuyết mật mã
1.1 Lý thuyết mật mã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Một số khái niệm về mật mã . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 Bài toán truyền tin an toàn . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.3 ứng dụng của mật mã khoá công khai hiện nay . . . . . . . . . . .

13
13
15
21

1.2 Lý thuyết số học sử dụng trong nghiên cứu mật mã . . . . . . . .
1.3 Đại cơng về thám mã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Một số phơng pháp tấn công hệ mật RSA . . . . . . . . . . . . . . . .
1.4.1 Phân tích các số nguyên lớn . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2. Các tấn công đơn giản . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25
26
27
28

29

1.4.3. Số mũ giải mã bí mật nhỏ . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

1.5 Kết luận chơng 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

Chơng 2, Xây dựng hệ mật RSA an toàn với số mũ giải mã lớn
2.1 Độ an toàn của hệ mật . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Độ an toàn thực tiễn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Độ an toàn không điều kiện . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Xây dựng hệ mật RSA an toàn với số mũ giải mã lớn . . . .
2.2.1 Thuật toán EMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Một số kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Tính đúng đắn của thuật toán . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 Cải tiến thuật toán EMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Một phơng pháp đơn giản xây dựng hệ RSA an toàn với số
mũ giải mã lớn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Kết quả cài đặt thử nghiệm thuật toán . . . . . . . . . . . . . . . . . . .
2.4.1 Kết quả cài đặt thử nghiệm thuật toán EMD1 . . . . . . . . . . . . .
2.4.2 Kết quả cài đặt thử nghiệm thuật toán LA . . . . . . . . . . . . . . . .

01
04
05
06


33
33
34
34
36
37
42
49
57
58
58
60

i


2.5. Một giải pháp truyền tin an toàn dựa trên những kết quả đã
thu đợc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1 Giải pháp về xác thực . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2 Giải pháp về bí mật . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3 Giải pháp đảm bảo cả về bí mật và xác thực . . . . . . . . . . . . . .
2.6 Giải pháp giải mã song song . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7 Kết luận chơng 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chơng 3. Lợc đồ phân chia bí mật-một số kết quả và ứng dụng
3.1 Lợc đồ ngỡng của Shamir . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Lợc đồ chia sẻ bí mật với các tập đợc quyền tối tiểu . . . . . .

63
63
64

65
66
73
74
78

3.2.1 Cấu trúc truy cập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

78

3.2.2. Một số tính chất của tập đợc quyền tối tiểu . . . . . . . . . . . . .
3.2.3 Phát hiện có sự gian lận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79
80

3.3. Mở rộng lợc đồ ngỡng của Shamir cho việc chia sẻ đồng
thời nhiều bí mật . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Phơng pháp sử dụng hệ phơng trình đại số tuyến tính . . . . .
3.3.2 Phơng pháp dựa trên công thức nội suy Lagrange cho các
đa thức . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.3. Ví dụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.4 Một số nhận xét . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Phơng pháp phát hiện sự gian lận và nhận diện những

81
82
83
84
91

93

ngời gian lận dễ cài đặt trong thực tiễn
3.4.1 Lợc đồ phân chia bí mật và phơng pháp phát hiện gian lận

94

3.4.2 Lợc đồ phân chia nhiều bí mật và phơng pháp phát hiện
gian lận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 Kết luận chơng 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Danh mục công trình của tác giả . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tài liệu tham khảo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Phục lục A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Phục lục B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Phục lục C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

96
98
100
102
103
109
121
124
ii


1


Danh mục các ký hiệu và các chữ viết tắt
Các ký hiệu
A

Ngời gửi (Alice)

B

Ngời nhận (Bob)

C

Không gian các bản mã

D

Ngời điều phối

K

Khoá

K

Không gian các khoá

M

Không gian các bản rõ


P

Một tập gồm w thành viên

DK

Một họ các phép biến đổi giải mã

DA

Phép biến đổi giải mã bí mật của Ngời A

DB

Phép biến đổi giải mã bí mật của Ngời B

EK

Một họ các phép biến đổi mã hoá

EA

Phép biến đổi mã hoá công khai của Ngời A

EB

Phép biến đổi mã hoá công khai của Ngời B

Se


S e = r Z e r (r 1) Z *e là tập con của Z *e

T(e)

T(e) = r Z *e

Zp

Zp = {0, 1, 2, ..., p-1} là tập các số nguyên modulo p

{

{

}
(r 1)Z } là tập con của Z
*
e

*
e

Z *e

Z *e = { r Z e gcd(r, e) = 1} là nhóm nhân của Ze

|B|

Lợc lợng của tập B


a-1

Nghịch đảo nhân của số a

c

Bản mã

cj

cj = xj

d

Số mũ giải mã

ei j

mod n i j bản mã của x j


2
e

Số mũ mã hóa

h

Hàm băm


kj

Giá trị tính theo công thức k j = k j + h(x j ) (mod p)

l(x)

Độ dài bit trong biểu diễn nhị phân của x

m

Bản rõ (thông báo)

n

Tích hai số nguyên tố p và q (n = p.q)

p

Số nguyên tố lớn (thứ nhất) trong hệ mật RSA

q

Số nguyên tố lớn (thứ hai) trong hệ mật RSA

rp

rp = p (mod e) Z *e là phần d của p mod e

rq


rq = q (mod e) Z *e là phần d của q mod e

(x j , y j )

Phần chia tơng ứng của thành viên p i j

gcd(.,.)

ớc số chung lớn nhất của hai số nguyên khác nhau

lcm(.,.)

Bội số chung nhỏ nhất của hai số nguyên khác nhau

sigk(.)

Thuật toán tạo chữ ký

verk(.,.)

Thuật toán kiểm tra

(n)

Hàm Euler đợc định nghĩa là số các nguyên dơng
nhỏ hơn n và nguyên tố cùng n

x

Hàm sàn trả số nguyên lớn nhất không vợt quá x



3
C¸c ch÷ viÕt t¾t
AES

Advanced Encryption Standard

CA

Certification Authority

CRT

Chinese Remainder Theorem

CSDL

C¬ së d÷ liÖu

DES

Data Encryption Standard

DSA

Digital Signature Algorithm

DSS


Digital Signature Standard

EMD

L.H. Encinas, J.M.MasquÐ and A.Q. Dios

FEAL

Fast Data Encipherment Algorithm

IDEA

International Data Encryption Algorithm

LA

Tªn cña mét thuËt to¸n cã trong LuËn ¸n

PKC

Public Key Cryptography

PKI

Public Key Infrastructure

RSA

Rivest Shamir Adleman


SHA

Secure Hash Algorithm

TT1

TiÕn tr×nh 1

TT2

TiÕn tr×nh 2

TT3

TiÕn tr×nh 3

VPN

Virtual Private Network


4

DANH MC CC BNG
Bảng 2.1

Biểu diễn 9ì25 số nguyên dơng đầu tiên

46


Bảng 2.2

Biểu diễn 45 số trong tập T(9.25)

47

Bảng 2.3

Kết quả thử nghiệm bớc 2 của thuật toán EMD1

54

Bảng 2.4

Kết quả thử nghiệm bớc 2 của thuật toán EMD

55

Bảng 2.5

So sánh thời gian giải mã song song và giải mã thông

72

thờng


5

DANH MC CC HèNH V V TH

Hình 1.1

Sơ đồ đảm bảo tính mật

14

Hình 1.2

Sơ đồ tính xác thực

15

Hình 1.3

Tính mật và tính xác thực trong hệ mật đối xứng

16

Hình 1.4

Tính mật trong hệ mật khoá công khai

18

Hình 1.5

Tính xác thực trong hệ mật khoá công khai

18


Hình 3.1

Lợc đồ ngỡng (t, w) của Shamir

76

Hình B.1

Menu chính của chơng trình

121

Hình B.2

Chọn chức năng Bảo vệ File dữ liệu

122

Hình B.3

Chọn chức năng Giải mã File dữ liệu

123

Hình C.1

Cửa sổ chính chơng trình bảo mật th điện tử

126


Hình C2

Mã hoá tệp

127

Hình C3

Giải mã tệp

128

Hình C4

Mã hoá thông báo

129

Hình C5

Giải mã và xác thực

130


6

M U
Thế kỷ 21, Công nghệ thông tin tiếp tục đợc coi là một trong những ngành
khoa học và công nghệ mũi nhọn. Nhng trong ngữ cảnh mạng máy tính toàn

cầu, vấn đề đảm bảo bí mật và toàn vẹn thông tin trên đờng truyền và trong các
hệ thống máy tính (còn gọi là an toàn thông tin) có những đặc thù riêng vì:
c Dữ liệu dễ bị truy nhập, lấy cắp, sử dụng trái phép, thay thế hoặc sửa đổi
làm sai lệch nội dung, bằng nhiều biện pháp khác nhau, nhng việc phát hiện,
ngăn chặn, xử lý rất khó khăn.
d CSDL, phần mềm đợc chia sẻ dùng chung, nhất là trong Internet,
Intranet, mạng LAN, nên việc đảm bảo tính sẵn sàng, tính toàn vẹn tất yếu sẽ
phức tạp hơn so với trờng hợp sử dụng đơn lẻ.
e Nhiều mạng máy tính, CSDL bị tấn công vì mục đích chính trị, kinh tế,
xã hội. Tuy chính sách an toàn thông tin, quản trị hệ thống nói chung có thể đợc
đề cập, thực thi, quản lý khá chặt chẽ, nhng vẫn còn nhiều kẽ hở, bất cập với
những đối tợng là tin tặc (Hacker) nhằm tới hệ thống với mục tiêu, âm mu, ý
đồ lợi dụng, chiếm đoạt, phá hoại.
f An toàn thông tin đang thật sự cần thiết đối với nhiều tổ chức và doanh
nghiệp. Tuy nhiên hoạt động triển khai thực tế không tơng xứng với yêu cầu đặt
ra: các giải pháp an toàn thông tin lại thiếu đồng bộ, đặc biệt là không sử dụng
các giải pháp mật mã; thiếu đội ngũ chuyên gia về an toàn thông tin đủ sức t vấn
cho các nhà lãnh đạo, quản lí.
Vì vậy, vấn đề an toàn thông tin đang thật sự cần thiết đối với nhiều tổ chức,
doanh nghiệp và mỗi quốc gia. Trong các công nghệ bảo vệ thông tin thì mật mã
đóng vai trò quan trọng hàng đầu. Mật mã có khả năng đảm bảo các yêu cầu cơ
bản của an toàn thông tin:
c Xác thực nguồn gốc thông tin
d Đảm bảo tính mật nội dung thông tin


7
e Kiểm định tính toàn vẹn của thông tin
Để đảm bảo các yêu cầu trên, kỹ thuật mật mã đợc thiết kế và cài đặt theo
bốn loại hình:

c Các hệ mật đối xứng (hệ mật là cách gọi ngắn gọn của hệ mật mã)
d Các hệ mật khoá công khai hay còn gọi là hệ mật phi đối xứng
e Hệ chữ ký số
f Quản lý khóa
Mật mã đã đợc nhiều cơ sở nghiên cứu ở trong và ngoài nớc tiếp cận,
nghiên cứu và ứng dụng vào thực tiễn. Sau đây chúng tôi sẽ điểm qua một số nét
lớn về tình hình nghiên cứu ở trong và ngoài nớc theo hớng nâng cao độ an
toàn thực tiễn cho hệ mật RSA, để thấy đợc những kết quả trình bày trong luận
án là mới và không trùng lặp với những kết quả đã công bố.
Tại một số cơ sở nghiên cứu mạnh nớc ngoài
Những hớng nghiên cứu về hệ mật đối xứng [46], [48], [56] và hệ mật khóa
công khai thu hút đợc nhiều quan tâm của các nhà nghiên cứu [46], [56]. Trong
các hớng nghiên cứu về hệ mật khóa công khai, thì hệ mật RSA và các kiểu tấn
công khác nhau vào hệ mật RSA là hớng đã và đang đợc quan tâm nhiều [19],
[25], [41].
Chia sẻ bí mt l mt công c quan trng v c nghiên cu rng rãi trong
mt mã v tính toán phân tán. Vì vậy, cùng với sự phát triển của các kỹ thuật mật
mã thì lợc đồ chia sẻ bí mật đợc nghiên cứu và phát triển mạnh mẽ nh các
lợc đồ đợc trình bày trong [8], [26], [27], [30], [34], [36], [37], [38], [43], [59].
Nhng không có lợc đồ chia sẻ nhiều bí mật nào thực hiện việc dùng ngay t
bí mật cần chia sẻ làm các hệ số của đa thức nội suy cần xây dựng, trong khi với
lợc đồ ngỡng gốc của Shamir chỉ dấu bí mật K cần chia sẻ ở hệ số a0 của đa
thức.


8
Tình hình nghiên cứu trong nớc: Hiện nay những nghiên cứu về mật mã
ngày càng trở nên quan trọng cùng với sự phát triển theo chiều rộng, chiều sâu
của kỷ nguyên Internet và thông tin số. Những nghiên cứu về mật mã tại một số
cơ sở đào tạo và nghiên cứu lớn nh: Trờng Đại học Bách khoa Hà Nội, Viện

Công nghệ thông tin, Học viện Kỹ thuật Quân sự và Ban Cơ yếu Chính phủ,
Phần lớn tập trung vào việc triển khai ứng dụng các hệ mật mã đã đợc các cơ sở
nghiên cứu nớc ngoài công bố [1], [3], [4].
Trong những năm qua những cơ sở nghiên cứu trong nớc đã có một số đề
tài nghiên cứu về mật mã, ví dụ nh:
1. Lều Đức Tân (2005), Nghiên cứu hệ tiêu chuẩn cho các tham số và cách
dùng an toàn hệ mật RSA, Đề tài cấp Ban, Ban Cơ yếu Chính phủ.
2. Lu Hồng Dũng (2008), Đánh giá hiệu quả tích hợp thuật toán mật mã Crypt
(D)-128 trên FPGA, Tạp chí Nghiên cứu Khoa học Kỹ thuật và Công nghệ
Quân sự, Viện khoa học và Công nghệ Quân sự, (25), tr.56-61.
3. Trần Hồng Thái (2010), Nghiên cứu xây dựng các hộp thế, lợc đồ khóa có
tính chất mật mã tốt sử dụng trong mã khối. Đề tài cấp Ban, Ban Cơ yếu Chính
phủ.
4. Nguyễn Đức Mạnh, Thái Danh Hậu, Trần Duy Lai (2011),Một thuật toán
sinh số nguyên tố tất định, Tạp chí Nghiên cứu Khoa học Kỹ thuật và Công
nghệ Quân sự, Viện khoa học và Công nghệ Quân sự, (11), tr.49-53.
Những hạn chế trong nớc:
Các thiết bị mật mã trong nớc nghiên cứu, thiết kế và chế tạo/sản xuất còn
hạn chế về chất lợng, chủng loại và cha đợc triển khai ứng dụng nhiều.
Tính ổn định của các thiết bị mật mã cha cao. Các giải pháp an ninh hệ
thống và an toàn nghiệp vụ cha đợc đầu t nghiên cứu thỏa đáng.
Khả năng làm chủ các công nghệ tiên tiến trong lĩnh vực khoa học công
nghệ mật mã còn hạn chế.


9
Đội ngũ cán bộ khoa học công nghệ mật mã còn thiếu về số lợng, trình độ,
đồng thời cha đợc phát huy hết tiềm năng.
Các kết quả nghiên cứu trong nớc phần nào đã góp phần nâng cao độ an
toàn cho các hệ mật đợc sử dụng.

Tuy nhiên cho đến nay cha có nhiều kết quả nghiên cứu đề cấp cụ thể tới:
- Hớng xây dựng hệ mật RSA an toàn tránh đợc những kiểu tấn công hệ
mật RSA do việc sử dụng các số mũ giải mã d nhỏ.
- Nghiên cứu và đề xuất phơng pháp phân phối khóa hiệu quả về không
gian lu trữ và khối lợng tính toán, lợc đồ chia sẻ bí mật với các tập đợc
quyền tối tiểu, bao gồm: cỏc cu trỳc truy cp, một số tính chất của tập đợc
quyền tối tiểu, phơng pháp chung phát hiện có sự gian lận, và xỏc nh (nhn
din) tt c nhng ngời gian ln, những phơng pháp phát hiện gian lận đơn
giản và dễ áp dụng trong thực tiễn.
Vì vậy mục tiêu của đề tài là:
c Điểm qua một số hệ mật khóa công khai đang đợc sử dụng rộng rãi hiện
nay nh hệ mật RSA, hệ mật Ba lô (Knapsack System), hệ mật Elgamal, trong
đó chủ yếu nghiên cứu sâu về hệ mật RSA và các kiểu tấn công khác nhau vào hệ
mật RSA [19], [25], [41]. Wiener [58] đã chng minh rng, các s m bí mt nh
n 0.25
có th c khôi phc hiu qu nu d <
và kt qu ny c ci tin bi
3

Boneh v Durfee [14], ch ra mt kt qu tng t với d < n0.292. Hn na hai tác
gi ny còn phng đoán rng h mt RSA không an ton vi d < n . Dựa vào ý
tởng đó, luận án nghiên cứu theo hớng xây dựng hệ mật RSA an toàn tránh
đợc những kiểu tấn công vào hệ RSA do việc sử dụng các số mũ giải mã nhỏ.
d Khi sử dụng mật mã để bảo vệ thông tin thì một vấn đề quan trọng là
quản lý không gian các khóa. Quản lý khóa chính là nói đến toàn bộ hoạt động
liên quan đến một vòng đời của khóa nh việc sinh khóa, phân phối khóa, sử


10
dụng, lu trữ và huỷ bỏ khóa. Dù một hệ mật phức tạp và tin cậy đến đâu nó vẫn

dựa trên việc sử dụng các khóa. Trong quản lý khóa việc phân phối khóa là quá
trình đặc biệt quan trọng, phải đảm bảo đợc hai yếu tố:
- Linh hoạt và chính xác,
- Che dấu các khóa đợc phân phối.
Để đảm bảo đợc hai yếu tố trên, một phơng pháp hay đợc sử dụng là
lc phõn chia bớ mt (hay chia sẻ bớ mt). Do vậy cần phải nghiên cứu một
số lc phõn chia bớ mt, trên cơ sở đó đề xuất phơng pháp phỏt hin có sự
gian ln, nhn din nhng ngi gian ln và xem xét phơng pháp chia sẻ bí mật
hiệu quả về không gian lu trữ và khối lợng tính toán.
Hệ mật RSA là một hệ mật khóa công khai mà độ an toàn của hệ mật đợc
dựa trên tính khó (về mặt tính toán) của bài toán phân tích số nguyên lớn ra các
thừa số nguyên tố. Nhng để đảm bảo cho hệ mật RSA an toàn (hệ mật RSA an
toàn trong luận án đợc hiểu là độ an toàn thực tiễn (tức độ an toàn tính toán)
của hệ mật RSA), cũng cần phải chú ý tới việc sử dụng số mũ giải mã bí mật d,

sao cho tránh đợc những kiểu tấn công vào hệ mật RSA do việc sử dụng các số
mũ giải mã bí mật nhỏ. Do vậy:
Mục đích của đề tài:
c Nâng cao độ an toàn của hệ mật khóa công khai RSA, đảm bảo tránh
đợc các kiểu tấn công do việc dùng số mũ giải mã d nhỏ.
d Để nâng cao độ an toàn của hệ mật khóa công khai thì phân phối khóa
cũng là phần quan trọng, có tính quyết định. Vì vậy, cần phải nghiên cứu và đề
xuất phơng pháp phân phối khóa hiệu quả về không gian lu trữ và khối lợng
tính toán.
Giới hạn của đề tài:
Đề tài tập trung nghiên cứu hệ mật RSA, các kỹ thuật tấn công vào hệ mật
RSA, từ đó đa ra một phơng pháp nâng cao độ an toàn thực tiễn cho hệ mật


11

RSA, tránh đợc những kiểu tấn công vào hệ mật RSA do việc sử dụng các số
mũ giải mã nhỏ, nghiên cứu lợc đồ phân chia bí mật, đề xuất phơng pháp phân
chia đồng thời nhiều bí mật sao cho hiệu quả về không gian lu trữ và khối lợng
tính toán, cùng với phơng pháp phát hiện, nhận diện những ngời gian lận.
Nội dung luận án gồm có phần mở đầu, ba chơng, phần kết luận, tài liệu
tham khảo và ba phụ lục:
Chơng 1: Khái quát về lý thuyết mật mã. Trong chơng này giới thiệu
chung về lý thuyết mật mã, tập trung vào sự phát triển của mật mã, nhắc lại một
số khái niệm cơ sở liên quan đến luận án, giới thiệu một số phơng pháp tấn
công hệ mật RSA và hớng tiếp cận của luận án. Các kết quả mới của luận án
đợc giới thiệu trong chơng 2 và chơng 3.
Chơng 2: Xây dựng hệ mật RSA an toàn số mũ giải mã lớn. Chơng này,
trình bày một số kết quả xung quanh vấn đề: Xây dựng hệ mật RSA an toàn với
số mũ giải mã lớn bao gồm: chứng minh một số mệnh đề, cũng nh chứng minh
theo một cách khác một số tính chất của tập Se để làm cơ sở cho việc phân tích và
cải tiến thuật toán trong [31]. Đề xuất một phơng pháp đơn giản xây dựng hệ
mật RSA an toàn với số mũ giải mã lớn dễ áp dụng trong thực tiễn, đợc gọi là
thuật toán LA. Phần tiếp theo của chơng là một số kết quả thử nghiệm chạy
thuật toán cải tiến và thuật toán LA. Cuối cùng là một giải pháp truyền tin an
toàn dựa trên những kết quả thu đợc, có thể thực hiện đợc trong thực tiễn. Bớc
đầu đề xuất một giải pháp giải mã song song.
Chơng 3: Lợc đồ phân chia bí mật-một số kết quả và ứng dụng.
Chơng này giới thiệu lợc đồ ngỡng của Shamir, trình bày các kết quả của luận
án về lợc đồ chia sẻ bí mật hiệu quả về không gian lu trữ và khối lợng tính
toán, lợc đồ chia sẻ đồng thời nhiều bí mật với các tập đợc quyền tối tiểu, bao
gồm: cỏc cu trỳc truy cp, một số tính chất của tập đợc quyền tối tiểu, phơng
pháp phát hiện có sự gian lận, và xỏc nh (nhn din) tt c nhng ngời gian
ln dễ áp dụng trong thực tiễn.



12
Phần kết luận: Nêu những kết quả chính của luận án và đề xuất các hớng
nghiên cứu phát triển tiếp theo.
Phụ lục A: Trình bày các kết quả cài đặt và chạy thử nghiệm thực tiễn thuật
toán xây dựng hệ mật RSA an toàn với số mũ giải mã lớn.
Phụ lục B: Giới thiệu chơng trình Bảo mật File dữ liệu, trong đó có cài đặt
thử nghiệm các thuật toán đợc đề xuất trong luận án.
Phụ lục C: Giới thiệu chơng trình Bảo mật th điện tử là một ứng dụng bảo
mật chạy trên nền hệ điều hành Windows, có thể mã hóa, giải mã nội dung th và
các file đính kèm theo các khuôn dạng khác nhau.
Các kết quả của luận án đã đợc báo cáo và thảo luận tại Seminar khoa học
của Bộ môn Truyền thông và Mạng Máy tính, Viện Công nghệ Thông tin &
Truyền thông, Đại học Bách khoa Hà Nội. Những kết quả nghiên cứu bớc đầu
đã áp dụng thành công vào triển khai thực tiễn trên mạng máy tính của Cục Cơ
yếu 893, mạng máy tính của ba tỉnh uỷ Hòa Bình, Thanh Hóa và Tuyên Quang.
Một số kết quả của luận án đã đợc công bố trong các công trình [1], [2],
[3], [4], [5], [6].


13
Chơng 1

Khái quát về lý thuyết mật m
1.1. Lý thuyết mật mã
1.1.1 Một số khái niệm về mật mã
Mật mã (Cryptography) là khoa học nghiên cứu tìm ra các phơng pháp
nhằm đảm bảo tính bí mật của bản tin, còn đợc gọi là bản rõ (Plain Text, Clear
Text). Ngời mã hóa cần áp dụng các phép biến đổi của mình để biến đổi bản rõ
thành bản mã (Cryptogram). Quá trình biến đổi đó gọi là mã hoá (Encipherment).
Quá trình biến đổi ngợc lại từ bản mã thành bản rõ đợc gọi là giải mã

(Decipherment). Để điều khiển quá trình mã hóa và giải mã, ngời làm mật mã
luôn sử dụng khoá. Thông thờng khoá đợc gửi đi nhờ một phơng pháp tin cậy
nào đó, mà sau đó ngời và máy sẽ sử dụng nó để tạo ra các bản mã tức các bản
tin cần đợc bảo vệ [5].
Hệ mật mã (Cryptosystem) hay còn gọi ngắn gọn là hệ mật là một bộ 5
(M, C, K , EK, DK) thoả mãn các điều kiện sau:
c M là một không gian các bản rõ (thông báo)
d C là một không gian các bản mã
e K là một không gian các khoá
f Một họ các phép biến đổi mã hoá EK, là ánh xạ: M C , K K
g Một họ các phép biến đổi giải mã DK, là ánh xạ: C M, K K
Mỗi EK: M C và DK: C M là những hàm mà: DK(EK(M)) = M với mọi
bản rõ M M
Nh vậy nếu một bản rõ m đợc mã hoá bằng EK và bản mã nhận đợc c sau
đó đợc giải mã bằng DK thì thu đợc bản rõ ban đầu m. Trong một hệ mật mỗi
phép biến đổi mã hoá (Enciphering transformation) EK đợc xác định bởi một
thuật toán mã hóa E và một khoá K để phân biệt nó với các phép biến đổi khác.


14
Mỗi phép biến đổi giải mã (Deciphering transformation) DK đợc xác định bởi
một thuật toán giải mã D và một khoá K.
Trong một hệ mật các phép biến đổi EK và DK đợc mô tả bởi các tham số
đợc dẫn xuất từ khoá K (hoặc trực tiếp bởi K) [21]
Các hệ mật phải thoả mãn những yêu cầu chung sau:
Các phép biến đổi mã hóa và giải mã phải hiệu quả với mọi khoá. Vì trong
các ứng dụng tin học dữ liệu thờng đợc mã hóa và giải mã trong thời gian
truyền và các phép biến đổi đó không đợc dẫn tới hiện tợng nghẽn cổ chai.
Hệ mật phải dễ sử dụng
Tính mật của khóa đợc thể hiện ở chỗ ngời thám mã không thể xác định

đợc khóa từ bản mã chặn đợc.
Các hệ mật phải thoả mãn yêu cầu đặc thù đối với tính mật (Secrecy) và
tính xác thực (Authenticity):
Tính mật đợc thể hiện ở chỗ ngời thám mã không thể xác định bản rõ
từ bản mã chặn đợc. Sơ đồ đảm bảo tính mật đợc thể hiện trong hình 1.1.
Đợc bảo
vệ
c

m
Mã hoá
với EK

m
Giải mã
với DK
Ngời B

Ngời A
Không
đợc
phép
m

Hình 1.1 Sơ đồ đảm bảo tính mật
Nói cách khác, ngời thám mã về mặt tính toán là không thực hiện đợc để


15
xác định đợc bản rõ m từ bản mã chặn đợc c, nếu không có phép biến đổi giải

mã.
Tính xác thực của dữ liệu đòi hỏi ngời thám mã không thể dùng một bản
mã sai c thay cho bản mã c mà không bị phát hiện. Tính xác thực đợc thể hiện
trong hình 1.2.
Đợc bảo
vệ
c

m

Giải mã
với DK

Mã hoá
với EK
Ngời A

m
Ngời B

c
Không
đợc phép

m

Hình 1.2 Sơ đồ tính xác thực
Nói cách khác, với ngời thám mã thì về mặt tính toán là không làm đợc
để tìm một cách có hệ thống bản mã c sao cho DK(c ) là một bản rõ hợp thức
(Valid) trong tập M.

1.1.2 Bài toán truyền tin an toàn
Bài toán truyền tin an toàn thông tin kinh điển là ngời sử dụng A muốn gửi
đến ngời B một thông báo m. Để những ngời khác không thể đọc đợc thì A và
B thoả thuận truyền đi một bản mã c thay cho m. Chỉ có A biết cách biến m
thành c, không ai khác ngoài A và B biết cách biến c thành m đối với hệ mật đối
xứng, hoặc chỉ có ngời B biết cách biến c thành m đối với hệ mật khóa công
khai.
1.1.2.1 Hệ mật đối xứng
Với hệ mật đối xứng (hệ mật mã đối xứng), cả ngời sử dụng A và B cùng
dùng chung một khóa K cho cả hai phép mã hóa EK(m) = c và giải mã DK(c) = m,


16
trong đó K là khóa bí mật, chỉ hai ngời biết. Vì vậy ngời thám mã không thể
truy cập EK và DK. Do đó, tính mật và tính xác thực đợc thỏa mãn trong các hệ
mật đối xứng. Trờng hợp hệ mật đối xứng trong đó khóa mã hóa và khóa giải
mã là khác nhau thì biết đợc một khóa dễ dàng tính đợc khóa kia. Hình 1.3
minh họa tính mật và tính xác thực trong hệ mật đối xứng.
Vậy các hệ mật đối xứng cũng cho một cách thức tốt để bảo vệ thông tin
truyền qua mạng máy tính. Nếu cả ngời gửi và ngời nhận có chung khoá
truyền giao bí mật đáng tin cậy, thì tính mật và tính xác thực của truyền giao
đợc đảm bảo. Có hai hệ mật đối xứng tiêu biểu là hệ mật mã dòng và hệ mật mã
khối.
Đợc bảo
vệ

Đợc bảo
vệ
c
m


Mã hoá
với EK

Giải mã
với DK

Ngời A

m

Ngời B

Hình 1.3 Tính mật và tính xác thực trong hệ mật đối xứng
- Hệ mật mã dòng, giả thiết cả m và c đều là các dãy n bít 0 và 1. Một cách
tốt nhất là mỗi lần truyền tin, hai ngời A và B cùng có một dãy n bít ngẫu nhiên
r, mã hóa và giải mã bằng cách thực hiện phép cộng theo modulo 2 các bít của m
và c với các bít tơng ứng của r. Phơng pháp mã này đợc gọi là phơng pháp
mã dòng (Stream Cipher) [48], [56]. Đối với hệ mật mã này khi truyền tin trên
mạng máy tính sẽ có những khó khăn là:
Làm thế nào để tạo đợc dãy bít thực sự ngẫu nhiên
Làm thế nào mà thông báo cho nhau biết dãy bít ngẫu nhiên đó, mà ngời
thám mã không có cách nào để biết đợc.
Độ dài khóa phải bằng độ dài bản rõ, khóa chỉ đợc sử dụng một lần.


17
Nếu giải quyết đợc ba yêu cầu trên thì hệ mật mã dòng có độ an toàn
không điều kiện.
- Hệ mật mã khối, sử dụng một ánh xạ từ bản rõ có độ dài cố định vào một

bản mã có cùng độ dài. Để có thể giải mã đợc thì các bản rõ khác nhau phải ánh
xạ vào các bản mã khác nhau. Các thuật toán mã khối hay dùng nh: DES (Data
Encryption Standard) là chuẩn mã hoá dữ liệu của Mỹ trong vòng 20 năm (19771997) và hiện nay nó đang đợc thay bằng AES (Advanced Encryption
Standard), FEAL (Fast Data Encipherment Algorithm) là chuẩn mã dữ liệu của
châu Âu ...
Mã khối có một u điểm so với mã dòng là tốc độ mã hóa rất nhanh, nó
có thể đáp ứng cho việc mã hóa dữ liệu, tiếng nói.
1.1.2.2 Hệ mật khoá công khai

Hệ mật khoá công khai (hay còn đợc gọi là hệ mật phi đối xứng) tách riêng
hai quá trình mã hóa và giải mã với hai khoá riêng biệt.
Trong hệ mật khoá công khai mỗi ngời dùng A có một phép biến đổi mã
hoá công khai (a Public Enciphering Transformation) EA có thể đợc đăng ký
trong một danh bạ công cộng và một phép biến đổi giải mã bí mật (Private
Deciphering Transformation) DA mà chỉ A biết.
Phép biến đổi bí mật DA đợc mô tả bởi một khoá bí mật, còn phép biến đổi
công khai EA bởi một khoá công khai, đợc suy từ khoá bí mật bởi một phép biến
đổi một chiều (One Way Transformation) hay hàm một chiều (One Way
Function). Hàm một chiều f: Df Rf, tính dễ dàng f(x) = y với x Df. Nhng
tính f -1(y) = {x/f(x)=y} là rất khó. Nh vậy đặc điểm của hệ mật khoá công khai
là việc tính toán DA khi biết EA trên thực tế là không thực hiện đợc trong thời
gian hạn chế (còn lý thuyết thì có thể)
Trong hệ mật khoá công khai tính mật và tính xác thực đợc cung cấp bởi
các phép biến đổi riêng biệt.


18
Đảm bảo tính mật, giả sử ngời sử dụng A muốn gửi thông báo m cho
ngời B thì:
(i). Ngời A dùng khoá công khai của B để mã hóa c = EB(m) và gửi bản mã

c cho ngời B.
(ii). Nhận đợc bản mã c thì ngời B dùng phép biến đổi riêng DB của B và
tính DB(c) = DB(EB(m)) = m.
Tính mật trong khoá công khai đợc mô tả trong hình 1.4
Bí mật
Công khai
(Private)
(Public)
m

m

c
DB

EB
Ngời A

Ngời B
Hình 1.4 Tính mật trong hệ mật khoá công khai

Nh vậy tính mật (Secrecy/ Privacy) đợc đảm bảo. Tính xác thực cha
đợc đảm bảo, bởi vì một ngời dùng bất kỳ chặn đợc c thì thay m bằng m và
mã EB(m) = c; ở đây m m. Ngời B nhận và không biết đợc m m.
Đảm bảo tính xác thực có nghĩa ngời sử dụng A gửi thông báo gì cho
ngời B, thì ngời B nhận đợc đúng thông báo đó sau khi giải mã. Cũng giả sử
ngời sử dụng A muốn gửi thông báo m cho ngời B thì:
(i). Ngời A dùng khoá riêng DA của mình, khoá này chỉ duy nhất có A biết,
mã hoá c = DA(m), sau đó gửi bản mã c cho ngời B.
(ii). Nhận đợc bản mã c, B tính EA(c) = EA( DA(m)) = m

Tính xác thực trong khoá công khai đợc mô tả trong hình 1.5
Công khai
Bí mật
(Public)
(Private)
m
DA
Ngời A

m

c
EA

Ngời B

Hình 1.5 Tính xác thực trong hệ mật khoá công khai


19
Nh vậy tính xác thực đợc đảm bảo. Nhng tính mật không đợc đảm
bảo, vì khi gửi c = DA(m) trên đờng truyền, ngời trộm tin chặn đợc bản mã
c sẽ giải mã bằng cách dùng EA(c) = m.
Để đảm bảo đợc đồng thời cả tính mật và tính xác thực cần có các yêu
cầu sau: không gian bản mã C phải tơng đơng với không gian bản rõ M; EA,
DA là nghịch đảo của nhau.
Để thực hiện đợc tính mật và tính xác thực, ngời gửi và ngời nhận mỗi
ngời phải áp dụng hai tập các phép biến đổi.
Giả sử A muốn gửi một thông báo m cho B. Quá trình đợc thực hiện theo
lợc đồ sau:

(i). Ngời A gửi c = EB(DA(m)) cho B
(ii). Nhận đợc c thì ngời B tính:
EA(DB(c)) = EA(DB(EB(DA(m)))) = m
Lợc đồ trên đảm bảo đợc tính mật và tính xác thực.
ý tởng về một hệ mật khoá công khai đã đợc Diffie và Hellman đa ra
vào năm 1976. Việc hiện thực hoá hệ mật khoá công khai do Rivest, Shamir và
Adleman đa ra đầu tiên vào năm 1978. Họ đã tạo ra hệ mật RSA nổi tiếng. Kể
từ đó đã có thêm một số hệ mật khoá công khai đợc công bố, độ an toàn của các
hệ mật dựa trên độ khó của các bài toán khác nhau. Trong đó, một số hệ mật
khóa công khai thu hút đợc sự chú ý của nhiều nhà nghiên cứu, đó là các hệ mật
sau:
- Hệ mật Ba lô (Knapsack System): Dựa trên tính khó giải của bài toán tổng
các tập con.
- Hệ mật Mc Eliece dựa trên các mã sửa sai vì nh đã biết bài toán giải
mã một mã tuyến tính bất kỳ là NP-khó.
- Hệ mật Elgamal dựa trên tính khó giải của bài toán logarit rời rạc trên các
trờng hữu hạn
- Hệ mật trên các đờng cong Elliptic. Hệ mật này làm việc trên các đờng


20
cong elliptic, chứ không phải là các trờng hữu hạn và đảm bảo độ mật với khoá
nhỏ hơn các hệ mật khoá công khai khác.
Một giới thiệu đầy đủ về những hệ mật khóa công khai nêu trên có thể đợc
tìm thấy trong [3], [46] và [56].
Đến những năm 80-90 của thế kỷ XX, đã xuất hiện một xu hớng hoàn toàn
mới của mật mã là mật mã lợng tử (xem [4], [24] và [52]). Việc ứng dụng mật
mã lợng tử trong tơng lai đòi hỏi cần đầu t nhiều thời gian nghiên cứu kỹ
lỡng về lý thuyết và triển khai thử nghiệm. Do đó nhiệm vụ cải tiến các hệ mật
đối xứng và hệ mật khóa công khai vẫn còn là cấp thiết.

Ví dụ, vào năm 2000 sau khi mở cuộc thi quốc tế công khai về mật mã, Mỹ
đã chấp nhận chuẩn mã đối xứng quốc gia mới với tên viết tắt là AES (Advanced
Encryption Standard).
1.1.2.3 Hệ mật RSA

Hệ mật RSA đợc dựa trên cơ sở là hầu nh không có khả năng khôi phục
hai số nguyên tố lớn p và q từ tích của chúng n = p.q. Hệ mật khóa công khai này
có tính đối xứng theo nghĩa là cùng một quá trình giống nhau đợc sử dụng cho
cả mã hóa và giải mã. Ta có thể mô tả nh sau:
Ngời sử dụng (A) chọn hai số nguyên tố ngẫu nhiên lớn p và q (có ít nhất
100 chữ số trong biểu diễn thập phân). Sau đó tính:
n = p.q là tích của 2 số nguyên tố lớn cùng kích thớc (l(n)/2 bit cho mỗi
số, trong đó l(n) là độ dài nhị phân của n). Kích thớc thờng cho n là l(n)=1024
bit, gồm khoảng 309 chữ số thập phân. Mỗi thừa số khoảng 512 bit.
(n) = (p-1).(q-1). Trong đó là hàm Ơ le (Euler) quen thuộc
e đợc chọn sao cho gcd(e, (n)) =1, tức là ớc số chung lớn nhất của e
và (n) là 1
Tìm một số d thỏa mãn hệ thức đồng d
e.d 1 (mod (n) ) hay d = e-1 mod (n)


21
Phơng trình đồng d có một nghiệm vì e và (n) là nguyên tố cùng nhau.
Có thể tìm nhanh d bằng thuật toán Euclide mở rộng.
- Các số p, q, (n) và d đợc giữ bí mật, d là số mũ giải mã.
- Hai số e và n làm thành khóa mã hoá công khai cùng với tên, địa chỉ ngời
sử dụng đợc công khai ở danh bạ công cộng. Trong đó:
n đợc gọi là modulus
e số mũ mã hoá
Tóm lại: Trong hệ mật RSA hàm một chiều là n = p.q và d đợc gọi là thông tin

cửa sập bí mật.
Mã hóa và giải mã
Giả sử có hai ngời sử dụng A và B cần trao đổi thông tin mật với nhau, thì
quá trình mã hóa và giải mã dùng hệ mật RSA đợc mô tả nh sau:
Mã hoá
Trớc tiên ta biểu thị bản rõ nh một từ trên bảng chữ {0,1,2,3,...,8,9}. Từ
đợc chia thành các khối có kích thớc thích hợp. Một kích thớc thích hợp của
các khối là số nguyên i duy nhất thỏa mãn bất đẳng thức 10i-1chữ số thập phân, n = p.q)
Các khối đợc mã hóa riêng bằng cách áp dụng cặp (n, e), đợc lấy từ danh
bạ công cộng và thực hiện phép mã hóa theo công thức:
c = me mod n

(m: message)

Bản mã c đợc gửi cho A theo kênh công khai
Giải mã
Nhận đợc bản mã c từ ngời B gửi tới, A tiến hành giải mã nh sau:
m = cd mod n

hay

cd m (mod n)

Nh vậy việc giải mã là dễ dàng nếu ta có đợc thông tin cửa sập bí mật d.
Số mũ giải mã trong hệ mật RSA là d, hiểu biết về d có liên quan chặt chẽ với sự
hiểu biết của p và q.



×