‘Tinh mat va tinh x4c thực trong hệ mật đối xứng "Tĩnh mat tong hệ mật khoá công khai Tính xác thực trong hệ mật khoá công khai Lược đổ ngưỡng t, w cla Shamir Memu chính của chương trì
Trang 1
BO GIAO DUC VA DAO TAO
TRUONG DAI HOC BACH KHOA HA NOL
v0 HUY HOANG
NÂNG CAO BO AN TOAN THỰC TIỀN TRONG
HỆ MẬT KHÓA CÔNG KHAI
LUẬN ẤN TIÊN SĨ KỸ THUẬT
Tà Nội -2012
Trang 2
Vũ Huy Hoàng
NANG CAO BO AN TOAN THUC TIEN TRONG
HE MAT KHOA CONG KHAI
Chuyên ngành: Công nghệ phan mém
Mã số: 62 48 10 01
LUẬN ÁN TIÊN SĨ KỸ THUẬT
Người hưởng dẫn khoa học:
1 PGS.TS Hỗ Thuần
2 PGS.TS Đặng Văn Chuyết
Hà Nội —2012
Trang 3MỤC LỤC
Danh mục các ký hiệu và các chữ viết tẮt
Danh mue ede hang
1.1.2 Bài toán truyền lin an toần
1.1.3 Ứng dụng của mật ma khod cong khai hiện nay
2.1.2 Độ an toàn không điều kiện
.2 Xây dựng hệ mậ( RSA an tuần với số mũi giải mã lớn
1 Thuật toán EMD
2 Một số kết quả :
lĩnh đúng đắn của Thuật toán
2.2.4 Cải tiến thuật toán EM
3.3 Một phương pháp đơn giãn xây dụng hệ RSA an toàn với số
24 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
ƠI
Sa aga
Trang 4Chương 3 Lược đồ phân chia bí mật-một số kết quả và ứng dụng
3.1 Lược dỗ ngưỡng của Shamir
3-2 Luge dé chia sẻ bí mật với các lập được quyền tối tiểu
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
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 đựa trên công thức nội suy Laprange cho các
người gian lận dễ cài đặt trong thực tiễn
3.4.1 Lược đổ phan chia bí mật và phương pháp phát hiện gian lận
3.4.2 Lược đỏ phân chia nhiều bí mật và phương pháp phát hiệu
3.5 Kết luận chương 3
Kết luận
Danh mục công trình của tác
Tài liệu tham khẩu
Trang 5“KY HIỆU VÀ CAC CHOVIET TAT
Người gửi (Alice)
Người nhận (Bơb)
Không gian các bản mã Người điều phối
Phép biến đổi giải mã bí mật của Người B
Một họ các phép biến đổi mã hoá Phép biến đổi mmä hoá công khai của Người A
Phép biển đổi ¡nã hoá công khai của Người B
S, =ẲrcZ,Ed=1)Z2 | tập con của Z;
T@) =[re⁄4 |t extra tap con của 2;
Z„— {0, 1,2, p-1} là tập các số nguyên modulo
Z2 = {rc Z, | gedfe, e) = 1} Tà nhóm nhân của Z,
Lược lượng của tập B
Nghịch đảo nhân của số a Bầu mã
” MGđ Đụ, bản mã của X,
Số mũi piải mã
Trang 6Giá trị tính theo công thức k; = k,+ h(X,) (mod p)
Độ dài bịt trong biểu diễn nhị phân cia x
đản rõ (hông báo}
'Tích hai số nguyên tố p và q (0 — p.q)
Số nguyên tố Tớn (thứ nhất) trong hệ mặt RA
Số nguyên tố lớn (thứ hai) trong hệ mật RSA
f, =Đ (160đ €) € Z2 là phản đư của pmod e
ï, —q(mode)€ Z2 là phẩn dư củaq mod e
Phan chia tong ứng của thành viên Pị,
Ước số chung lớn nhất của hai số nguyên khác nhau
Tội số chung nhỏ nhất của hai số nguyên khác nhau Thuật toáu tạo chữ ký
"Thuật toán kiểm tra
1iầm Iinler được định nghĩa là số các nguyên dương nhỏ hơn ñ và nguyên tố cùng 11
‘Hann sin trả số nguyên lớu nhất không vượt quá x
Trang 7Data Encryption Standard
Digital Signature Algorillan Digital Signature Standard
LH Encinas, J.M.Masqué and A.Q Dios
Kast Data Kneipherment Algorithm Intemational Data Encryption Algorithm
“Tên của một thuật toán có trong Luận Án Public Key Cryptography
Public Key Infrastructure
Rivest Shamir Adlemau
Secure Hash Algorithm
Tién trinh 1
Tiếu trình 2 Tiến trình 3 Virtual Private Network
Trang 8Xếi quả thứ nghiệm bước 2 của thuật toầu EMDL
Kết quả thử nghiệm bước 2 của thuật toán RMI2
So sánh thời gian giải mã song song và giải mã thớng
Thường
46
47
55 72
Trang 9‘Tinh mat va tinh x4c thực trong hệ mật đối xứng
"Tĩnh mat tong hệ mật khoá công khai
Tính xác thực trong hệ mật khoá công khai
Lược đổ ngưỡng (t, w) cla Shamir Memu chính của chương trình
hẹn chức năng Báo vệ Rik: dữ Hiệu
Chọn chức năng Giải mã Hile đữ liệu
Cửa số chính chương trình bảo mật thư điện tử
Mã hoá tệp
Giải mã lộp
Mã hoá thóng báo Giải mã và xác thực
Trang 10
The ky 21, Công nghệ thông tin tiếp tục được cơi là một trong những ngành
khoa học và công nghệ mũi nhọn Nhưng 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ì:
4) Dữ liệu để 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 đung, bằng nhiễu biện pháp khác nhau, nhưng việc phát hiện,
ngăn chặn, xử lý rất khó khăn
@ CSDL, phén mém được chia sẻ dùng chung, nhất là trong Internet,
Tnưanel, mạng LAN, nên vide dai bao tink san sing, th toda ven (it yeu st
phức tạp hơn so với trường hợp sử dụng đơn lẻ
® Nhiều mạng máy tính, CSL 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 thủ, quán lý khá chặt chế, nhưng vẫn cồn nhiều kê hở, bất cập với những đối tượng là tin tạ (Hacker) nhằm tới hộ thống với mục tiêu, âm mưu, ý
đồ lợi dụng, chiếm đoạt, phá hoại
@ An toan thong tin dang that 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
Tả: lái pháp am toàn thông tỉn lại tiểu đồng bộ, đặc biệt là không sứ đụ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 tín đang thật sự cầu 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 fhì 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:
£ŒÐ Xác thục nguồn gốc thông tin
@ Dấm báo lính mật nội đụng thông tin
Trang 11® Kiém dinh tinh toan ven cita théng tin
Dé đấm bảo các yêu cầu trên, ký thuật mật má được thiết kế va cai dat theo
trốn loại lằnh:
4 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ã)
Ø Các hệ mật khoá công khai hay còn gọi là hệ mật pÌủ đối xứng
® Hệ chữ ký số
#® 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 lình nghiên cứu ở trong và ngoài nước (eo hướng nâng cao độ an
toàn thực tiễn cho hệ mật RSA, để thấy dượ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 cu về hệ mật dố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, thi he mat RSA va cdc kiểu tấn
công khác nhau vào hệ mật RSA 1à hưởng đã và dang dược quan tâm nhiều [19],
1251, [41]
Chia sé bí mật là một công cụ quan trọng và được nghiên cửu rộng rãi trong
mật mmã 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]
Những không có lược đồ của sẽ nhiều bí mật nào thực triệu việc dùng ngay L
tí mật cầu chúa sẻ lầu các hệ số của đa Uiức nội suy cầu xây đựng, trong khử với
lược đổ ngưỡng gốc của Shamir chỉ dấu bí mật K cần chia sẻ ở hệ số a, của da
thức
Trang 12củ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 trang vào việc triển khai ứng đụng các hệ mật mâ đã được các cơ sở
nghiên cứu nước ngoài cóng bố [1I, |3], 141
"Trong những năm qua những cơ sở nghiên cứu trong nước đã có một số dé
tài nghiên cứu về mat ma, vi dụ như:
1 Lêu Đức Tân (2005), “Wghiên cứu hệ riêu chuẩn cho các tham số và cách
dùng an toàn hệ một SA”, Đề tài cấp Han, Ban Cơ yếu Chính phủ
2 Tam Hồng Dũng (2008), “Đánh giá hiệu quả tích hợp thuật toán mật mã Crypt
(2)-128 trên HPGA”, lạ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à Cang nghệ Quân sự, (25), 1r.56-61
3 Trấu Hồng Thái (2010), “Nghiên cứu xây dựng các hộp thế, lược đồ kháa cá
tinh chat mat md tất sử dụng trong mã khói” Đề tài cấp Ban, Ban Cơ yếu Chính
phủ
4 Nguyễn Dức Mạnh, Thái Danh Hậu, Trần Duy Lai (20H1),”MộtI thuật toán
sinh số nguyên tổ tất dị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ự, (LD, 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/šân xuất còu hạn chế về chất lượng, chủng loại và chưa được triển khai ứng dụng nhiễu
Tính ổn định của các thiết bị mật mã chưa cao Các giải pháp an nỉnh hệ
thống và an toàn nghiệp vụ chưa đượ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 lnh vực khoa học công
nghệ mật mã còn hạn chế,
Trang 13Độ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 chưa được phát huy hết tiểm năng
Các kết quả ngiiê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 chưa có nhiều kết quả nghiên cứu để cấp cụ thế tới:
- Tướ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ứ đụng các số nữ giải mã đ 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 lưu 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 cấu trúc truy cập, một số tính chất của tập được
h (nhận
quyền tối tiển, phương pháp chung phát hiện có sự gian lận, và xác
diện) tắt cả những người gian lận, những phương pháp phát hiệu gian lận đơn giản và dễ ấp dụng trong thực tiên
Vì vậy mục tiên của dễ tài là:
® Đ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 nhut hé mat RSA, hé mat Ba 16 (Knapsack System), hé mat Kigamal , trong
đó chủ yếu nghiên cứu sâu vẻ hệ mat RSA va cdc kiểu tấn công khác nhau vào liệ mật RSA [19], [25], [41] Wiener [58] đã chứng minh ring, các số mũ bí mật nhỏ
225
có thể được khôi phục hiệu qué néu d< và kết quả này được cải tiến bởi
Boneh và I2urfee | 14], chỉ ra một kết quá tương tự với d < nÊ””, Hơn nữa hai tác
giả này còn phông đoán rằng hệ mật RSA không an toàn với đ<Vn Dựu váo ý
tưởng đó, luận án nghiên cứa theo hướng xây dựng hệ mật SA an toàn ánh
được những kiểu tấn công vào hệ RSA da viéc sử dụng các số mũi giải mã nhỏ
@ Khi sit dung mat ma dé bao vé thong tin thi một vấn để quan trong 1A
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 Hiên quan đến một nông đời của khóa như việc sinh khả, phân phới Khóa, sử
Trang 14dụng, tu r8 và huỷ bỏ khảo [3h 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ử đụ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 trong, phải đầm bảo được hai yếu tố:
~_ Tảnh hoại và chính xác,
-_ Che đấu các khóa được phân phối
Dé dim bảo được hai yến tố trên, một phương phấp hay được sứ dụng là lược đỗ phân chia bí mật (bay chúa sẽ bí mậi) Do vậy cân phái nghiên cứu một
sé luge dé phan chia bi mat, trên cơ sở đó để xuất phương pháp phát hiện có sự
gian lận, nhận diện những người gian lận và xem xét phương pháp chia sẻ bí mật
hiệu quả về không gian hi 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 oán) của Dài toần phân tích số nguyên lớn ra các
thừa số nguyên tố Nhưng để đảm bảo cho hệ mật RSA an toàn (hệ mậ 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 cllo tránh được những kiểu tấn công vào hệ mật SA đo việc sử đụng các số
mũ giải mã bí mật nhỏ Do vậy:
Mục đích của dễ tải:
@ 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ỏ
#3 Để nàng cao độ an toàn của hệ mật khỏa công khai thi phan phối khóa
cũng là phần quan trợng, có tính quyết dịnh Vì vậy, cần phái ngiiên cứu và dễ
xuất phương pháp phân phối khóa hiệu quả về không gian lưu trữ và khởi lượng tính toán
Giới hạn vita dé thi:
Để là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
Trang 1511
SA, 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, dé 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 giam lưu trữ và khối lượng
tính toán, cùng với phương pháp phát hiện, nhận điệ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 Ï: Khái quái 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 rã, nhắc lại một
số khẩi niệm cơ sở liên quan đếu luận ấn, giới thiệu anội 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 RSÀ an toàn số mủ giải mã lớn Chương mày, trình bày một số kết quả xung quanh vấn để: Xây dựng hệ mật ÄSA 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 S, để làm cơ sở cho việc phân tích và
cải tiến thuật toần tong [31] Dễ xuất một phương pháp đơn giắn xây dựng hệ mat 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 1.A 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ài-một số kết quả và ứng dụng
Chương này giới thiệu lược dề ngưỡng cúa Shamir, trình bày các kết quả cúa hận
án về lược đổ chia sẻ bí mật hiệu quả về không gian hm 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 câu trúc truy cập, một số tính chất của tập được quyền 1ối tiểu, phương
pháp phát hiện có sự gian lận, và xác định (nhận điện) tất cá những người gian lận dé 4p dung trong thực tiễn.
Trang 16Phân kết luận: Nên 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: Tinh 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ệ xuật RRSÀ an toàn với số mi giải mã lớn
Phụ lục B: Giới thiệu chương trình Báo mật Filc dữ liện, 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 le đũnh kèm (liso các khuôn đạng khác nhau
Các kết quả của luận án đã dượ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 IIa Nội Những kết quả nghiên cứu bước đầu
đã áp dụng (hành công vào triển khai thực tiễn trên xnạng xnáy tính của Cục Cơ
yếu 833, mạng máy tính của ba tỉnh nỷ Hòa Binh, 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 trinh [1], [2],
[3], [4], [5] £6).
Trang 17luôn sử dụng khoá Thông thường khoá được gửi đi nhờ một phương pháp tin cay 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
(, G K„ Ey, Ì2„) thoả mãn các diều kiện sau:
{? Z/là một không gian các bản rõ (thông báo)
© ( là một không gian các bán mã
@ £% là một không gian các khoá
4Ð Một họ các phép biến đổi mã hoá Hạ, là ánh xạ: # => @, K EK
@® Một họ các phép biến đối giải mã D;, là ấnh xạ: C —> 4K c &
Mỗi E„: 3# — ( và Dạ: € —> #/là những hàm mà: D„(E„(M)) —M với mọi bản rõ M e 4
Như vậy nếu một bản rõ m được mã hoá bằng Ex và bản mã nhận được c sau
đó được giải mã bằng Dy thi tim được bân rõ ban đầu mm Trong một hệ mật mỗi phép biển đổi mã hoá (Enciphering transfarmation) Ex được xác định bởi mật
thuật toán mã hóa È và một khoá Ñ để phân biệt nó với các phép biến đời khác,
Trang 18Các hệ mật phải thoả mân nhường yêu câu chung sau:
s 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
Hinh 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 để
Trang 1915
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 đữ liệu đòi hỏi người thám mã không thể dùng một bản
mã sai e* thay cho bản mã e mà không bị phát hiện Tính xác thực được thể hiện trong hình 1.2
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 e, không ai khác ngoài A và B biết cách biến e 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 e 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 Ex(m) = c và giải mã D„(c) = m,
Trang 20trong đó 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 E„ và D„ 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
mình 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
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], [S6] Đối với hệ mật mã này khi truyền tỉn 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.
Trang 2117
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
- TỆ mật mã khối, sử đụng một ánh xạ lữ bản rõ có độ đài cố định vào xnột
bản mã có cùng độ dài Dể có thể giải mã dượ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 (1977-
1997) và Hiện may nó đang được thay bằng AES (Advanccd Eneryplien Standard), HHAI, (Fast I3ata Hncipherment Alporithm) là chuẩn mã đữ liện của
chau Au
ø Mã khối có mội ưu điểm so véi ma dong 14 (dc dO 1nd ida rat ahah, 6
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 ( Public Enciphering Transformatien) E, c6 thé duoc dang Ey trong một đanh bạ công cộng và một phép biến déi gidi mi bi mat (Private Deciphering Transformation) D, ma chi A biét
Phép hiến đổi bí mật D„ dược mô tả bởi một khoá bí mật, còn phép biến đổi
công khai E„ 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) Ham mot chién f: D, > R, tinh dé dang f(x) — y voi x © D, Nhung
tính f *4y) — [x#@)-_y] là rất khó Như váy đặc điễn của hệ mật khoá công khai
là việc tính taân DA khi biết E„ 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ệ mat khod công khái tính wnat va tíri xác thực dược cũng cấp bởi
các phép biến đối riêng biệt.
Trang 22« Dam bde tinh mat, giả sử người sử dụng A muốn gửi thông báo m cho
1lnnh 1.4 Tính mật trong hệ mật khoá cóng khai
Như vậy tính mật (Secrcy/ Privacy) được đảm bảo Tính xác thực chưa
được đảm bảo, bởi vì một người dùng bất kỳ chặn được e thì thay m bang m’ va
mã Es(m'} — £°; ở đầy m + m° Người B nhận và không biết được mi + 1m”
œ Điể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, tlä người B nhận được đứng thông báo đó sau khi giải nã Cũng giá sử
người sử dung A muốn gửi thông báo m cho người R thì:
) Người A dùng khoá riêng D„ của minh, khoá này chỉ duy nhất có A biết,
mã hoá e = Dạ(m), sau đó gửi bản mã c cho người B
0Ù Nhận được bán mã e, B tứnh Eu(e)— Ea(DA(19)) — ám
"Hính xác thực 1rong khoá công khai được mnô tả trong hình 1.5
Trang 2319
Như vậy tính xác thực được đấm bảo Nhưng tính mật không được đảm
bảo, vì khi gửi c — D„(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 I„(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 yen
câu sau: không gian băn mã (7 phái lương đương với không gian Dấu rõ # Eạ,
D, là nghịch đảo của nhau
Dể thực hiện dượ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:
Œ) Người A gửi c = Iạ(D„ún}) cho B
đi) Nhận được c thì người B tính:
Ea02u(c)) ~ E.(Dy(Ha(D„(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 liệu thực hoá hệ mật khoá công khai đo Rivest, Shamir va Adleman đưa ra đầu tiên vào năm 1978 Ho df tao ra hé mat RSA ndi 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 thn hút được sự chú ý của nhiễn nhà nghiên cứu, đồ là các hệ mật
Trang 24cong 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ệ 1nật khóa công khai nêu trên có thể được
tim thay 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 mat 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 /2ø đá nhiệm vụ cải tiến các hệ mật đổi xúng và hệ mái 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 ¡nã đổi xứng quốc gia xuới với tên viet it A AES (Advanced Eneryption Standard)
1.1.2.3 Ile mat 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 mnã Ta có thể mô tâ như sau:
Người sứ dụng (A) chon hai số nguyên tố ngẫu nhiên lớn p và q (só íL nhất
100 chữ số trong biển 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 (I(u)/2 bít cho mỗi
số, trong đó lín) là độ đài nhị phân của m) Kích thước thường cho n là l(n)=1024 bil, gdm khoảng 309 chữ số thập phân Mỗi thừa số khoảng 512 bit
+ gín) — (p-1).(g- 1) Trong đó œ là hầm Ở le (ulcr) quen thuộc
se dược chọn sao cho god(e, gán)) —1, tức là ước số chung lớn nhất của e
và p(n) là 1
ø Thu hột số d thôa mãn hệ thức đồng đư
ed= L 0ned gối) ) hay d =e ined @@)
Trang 2521
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 Huclide 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 đó:
« ndược gọi là modulus
® © số mi mã hoá
Tôm lại: Trong hệ mật RSA hàm một chiều là n = p.q và đ được gọi là thông tin
cửa sập bí rnậi
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 nã hóa và giải mã dùng hệ mạt RSA được mô tả như sau:
Mã hoá
Trước tiêu tả 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 mnăn bất đẳng thức 10*<n<1Ø! (: số các
chữ số thập phân, n = p.q)
Các khối được mã hóa riêng bằng cách áp dung cap (n, e), được lấy từ danh
bạ công cộng và thực hiện piép mã hóa theo công thức:
G—M mođn (ur micssage)
Bản mã c được gửi cho A theo kênh công khai
Gidi ma
Nhận dược bản mã c từ người B gửi tới, A tiến hành giải mã nh san:
m-_cfmodn hay có m (mod n)
Như vậy việc giải mã là 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.
Trang 261.1.3 Ứng dụng của mật mã khoá còng khai
nay 1.1.3.1 Chữ ký số và kiếm tra chữ ký số
Chữ ký số (Digital Signature) duce dùng để đánh dấu hay ký lên một tài
liệu điện tử theo một quá trình tương tự như ký lên giấy
Chữ ký số vừa mang dấu vết không chối cãi được của người gửi, vừa phải
gắn bó với từng bịt của thông báo, xà nếu thay đổi đù cl một bít của thông báo thì chữ ký cũng không còn được chấp nhận Những yêu cầu đồ được giải quyết bằng phương pháp mã khoá công khai
Hệ mật khoá công khai cung cấp cho ta một phương tiện dể có chữ ký số
Giả sử người A ký một thỏng báo m và gửi cho người B thi A tiến hành như sau;
Người A gửi c = D„(m) cho người B
ø Nhận được c thà người B tính l„(c) = E„(D„0)) =i"
s Nếu có tranh chấp thì ding trọng tài giải quyết tranh chấp giữa người A
và người B bằng cách kiểm tra xem từ E„(c) có khôi phục được thông báo im theo
cách làm của người B
Có nhiều lệ chữ ký điện tử như lược đồ ElGaanal, lược dé Rabin, luge dé
RSA, Trên cơ sở lược đổ HIGamal với một số bổ sung để bảo đảm độ tin cậy
tốt hơn, người ta xây dựng thuật toán chữ ký số DSA (Digital Signature Algorithm), duge chap nhan 1a chudn chit ky di¢n th DSS (Digital Signature
Standard ) trong mội số Tĩnh vực giao dịch ở Mỹ từ đầu những nău: 1990
Di liên với chữ ký số, cần phải có một hàm băm (Hash Function) ding dé
tóm lược nội dung của thông báo Có nhiều hàm bam đã được thiết kế như SHA-
1, MÙD3,
Để giải quyết van dé tranh chấp, chúng ta cần phải có biện pháp để chống
việc dùng lại chữ ký Điều này được giải quyết bằng các tem thời gian, kết hợp
la you (6:
* [hong tin nhận biết về người ký
Trang 27# Tem thời gian
+ Chữ ký số
Nhà vậy có thể giải quyết vấn để tranh chấp Tuy nhiên, để giải quyết tranh chấp thì cần phải có cơ sở pháp lý về tính hợp pháp của chữ ký số Nhưng để tiến
tới cơ sở pháp lý thì chúng ta phải xây dựng được chuẩn chữ kỹ số Một chuẩn
chữ ký số bao gồm các khía cạnh sau:
* Thuật toán chữ ký số
« Ham bam
#/a1a chọn các Tham số cụ thể
e Khuôn dạng của chữ ký (hông tin về người ký, tem thời gian)
Vay "Chit kp sé" la một dạng chữ ký điện tử, được tạo ra bằng sự biếp đối
một thông điệp dữ liệu, sử dụng kỳ thuật mật mã pÏủ đối xứng, theo đó người có
được thông điệp dữ liệu ban đâu và khoá công khai của ngudi ký có thể xác định
được chính sắc
(ij Việc biến đổi nêu trên được tạo ra bằng đúng khoá bí một tương ting
với khoá công khai mang củng một cắp khoá phì đổi xứng
(ii) Sự toàn vẹn nội dụng của thông điệp dữ liệu kể từ khả thực hiện việc
biến đổi nêu trên
Tuy dêu là chữ ký nhưng có sự khác nhau cơ bản giữa chữ ký truyền thống
và chữ ký số Chữ ký tay truyền thống được đùng để chỉ ra cá nhân tương ng với
nó, nhưng lại yếu trong việc khẳng định tính toàn vẹn của một thông báo Với
chữ ký số việc sử đụng lược đổ an toần chẳng những xác thực được cá nhân đã ký
lên thông báo mà còn khẳng định dược tính toàn vọn của thông báo [1]
'Việc kỷ tài liệu, với chữ ký truyền thống thả chữ ký là bộ phận vật lý của tài
liệu được ký Trong khi đó, chữ ký số không gắn một cách vật lý với thông báo được ký, nó gắn với thông báo một cách logic
Chữ ký truyền thống được kiểm tra bằng cách so sánh nó với những chữ
Trang 28kỹ đã được xác thực Tuy nhiên, phương pháp này không an :oàn vì nó dễ bị giả
mạo bởi chữ ký của người khác Ngược lại chứ ký số có thể được kiếm tra,
bằng cách dùng thuật toán kiểm tra đã biết công khai
Điều khác nhau cơ bản giữa chữ ký tay truyền thống và chữ ký số là trong thông báo điện lữ được kỹ số, bản sao của thông báo đồng nhất với bản gốc,
trong khí bản sao của tài liệu giấy thường là khác với bản gốc Đặc điểm nay dan đến việc phải có giải pháp đế ngăn chặn một thông báo bị sử dụng lại khi dùng chữ ký số Một hướng giải quyết là phải làm sao để thông báo tự nó phải chứa thông tin ngân chân người nhận sử dụng lại nhiều lần
Một số lược đồ chữ ký an toàn được giới thiện trong (20, [29], [39], (53]
1.1.3.2 Hàm băm
TIầm băm (được ký hiệu là h) là phân không thể thiếu đối với vấn đề xác thực
và chữ ký số, được giới thiêu trong |28|, {33J, [56| Chúng ta hãy tìm hiểu ý
nghĩa của nó
Ki người À muốn ký bức điện x, trước tiên À xảy đựng một báu tổn lược
thông báo z = h(x) và sau đó tính y = sig,(z) A gửi cặp (x„y) cho người nhận B
nếu không cần giữ bí mật x Để thực hiền xác minh, trước hết B khởi phục bản
tồm lược thông báo z = h(x) bang hầm h công khai và sau đó kiểm tra xem ver,(z,
y} có bằng true hay không Trong đó very có tính chất là verg(2„ y)— truc niểu và
chỉ nếu y = sigu(z) Nếu cân giữ bí mật x thì A sẽ mã hơá x thành x" và gửi cặp
œ,y)đi
Việc: dùng hầm bãm h không làm giảm sự an toàn cũa sơ đổ chữ ký, vĩ nó là
bin tém lược thông báo được ký chứ không phải là toàn bộ thông báo/bức diện Điều cần thiết đối với h là cẩn thoả mãn một số tính chất nào đó đế tránh giả
mạo
Cích tấn công thông thường nhất là Oscar bát đầu bàng muội bức điện được ký
hợp lệ (x„y), y=sig,f()) Trong đó cặp (x,y) là bức điện dược A kỹ trước đó San
Trang 2925
đó Oscar tính z — h(x) và thử tìm x'+ x sao cho h(x’)— h(x) Néu Oscar tim duge
như vậy, (x', y) sẽ là bức điện được ký hợp lệ, tức một bức diện gid mao Dé
tránh kiéu tấn công này, h cần thoả mãn tính chất của hàm tránh đụng độ yếu
Tầm băm h được gợi là tránh đụng độ yếu nếu khi cho trước một Thông báo
x, thi hầu như không thể tiến hành về mat tinh todn dé tim ra duoc mot
thong bdo x’ khac x sao cho: h(x’) = h(x)
Một tấn công khác: Trước hết Osoar tìm hai bức điện x # x” sao cho hQQ—
h(x") Sau d6 Oscar dua x cho AÁ và thuyết phục A ký bán tóm lược thông báo
h(x) dé nlm due y Khi dé (x’, y) là bức điện giá mạo hợp lệ Dây là lý do đưa
ra tính chất tránh đụng đệ mạnh của hàm bãm
Ham bam h duoc goi Ja tránh đung độ zmạnh nếu không có khả năng tính
toán để tìm ra được hai bức điện x và x° sao cho: x° + x va h(x’) — hŒ)
Việc giả mạo các chữ ký trên bản tóm lược thông báo z ngẫu nhiên thường
xây ra với các sơ đẻ chữ ký Giả sử Oscar tính chữ ký trên bán tổm lược thông
báo z ngẫu nhiên như vậy Sau đó anh ta tha x sao cho z = hỌx) Nếu làm được như vậy thì (x, v) là bức điện giả mạo hợp le Dể tránh được kiểu lấn công này li
cần thoả mãn tính chất một chiều (như trong hệ mã khoá công khai)
Hàm băm h có tỉnh chất một chiều, nếu cho trước một bản 1ớm lược thông báo z thì về mặt tính toán không Tìm ra được thông báo x sao cho h(x) =z
Ham bam h mạnh có tác dụng chống lại kẻ giá mạo lạo ra lai bức điện có nội
dung khác nhau, sau dó thu nhận chữ ký hợp pháp cho một bức diện để dược xác nhận rồi lấy nó giÁ mạo làm chữ ký của bức điện thứ hai [17] Vậy theo [3] ta có
định nghia Liam bận như sau:
Định nghĩa 1.1 [3] IIầm một chiều hQx) được gọi là Gt Lan bam udu nó thôa
mãn hai tính chất sau:
Œ) Tính nền: [làm h@) làm tương ứng chuỗi bịt đầu vào x có chiều dài hữu hạn
tùy ý vào chuỗi bít y — hịx) có chiêu dài cố định 1y) >0 cho trước (trong
Trang 30đồ 1(y) là độ dài nhí phân của y, thường là không lớn)
Gi) DF tinh toán: Với mọi chuỗi bịt đầu vào x có chiếu đài hữu hạn (tùy ¥), WC)
được tính tuần “đễ đàng"
1.2 Lý thuyết số học sử dụng trong nghiên cứu mặt mã
Tỹ thuyết sổ nghiên cứu các tính chất của những số nguyên dương Dây là
một trong những nhánh ra đời sớm nhất của toán học và có thể nói là một tronp những nhánh thuần túy nhất của toán học Tuy nhiên, sức sống của lý thuyết số rất mạnh mẽ, đặc biệt trong vài thập kỷ gần đây vì đã có những phần của lý thuyết số thực sự liên quan tới những nghiên cứu về tật toần sử dụng
trong mật mã (được giới thiệu trong |2], [3I, [7I, [9], [461 va 1561)
Nhiễu kiến thức về lý thuyết số có ứng dụng trực tiếp trong mật mã và thám
mã được giới thiệu trong [7] Tuy nhiên, nghiên cứu sâu về lý thuyết số sẽ không
được trình bày trong luận án này
1.3 Đại cương về thám mã
Ngày nay người gửi thông báo muốn giữ kín thông tỉnriêng của mình,
cần thực hiệu phương pháp che dấu bằng mật muã uầo đó Trong khi đó, lại có những người rất quan tầm xác định xem thông báo nói gì Rất có thể họ chính là
những người mà người gửi thông báo có ý định che dấu thông tin Vì vậy, bằng
cách này hay cách khác những người này phải có bản *sao' của thông báo đã mã
hóa và tìm cách mở bí mật mà nó mang Tuy nhiên, ý định đó phải được thực
liện mà không có sự hiểu biết các cÌn tiết về rnật mã được: tiến hành để che đấu thông tin Những nghiên pứu nhằm cố gắng để đọc thông báo thco cách này được
gợi là thám mã; ngành khoa học thực thi nhiệm vụ này có tên gọi là ngành thán1
mã Như vậy thám mã vừa là nghệ thuật vừa là khoa học trong việc giải mã mật
ma
Lich sit d chứng minh thám mã thành công là nhân tố quan trọng nhất trong
các ¡hành công về ngoại giao, giành chiến thắng quan sự, truy bất tội
Trang 3127
phạm, ngăn chặn hoạt động gián điệp
Nhu vay, thám mà (Cryptanalytics) là một nhánh của mật mã học liên
quan đến việc giải các hệ thống mật rã đo những người khác sử dụng Mục tiêu
của các nhà thám rnã là dọc nội dung của cấc thông báo đã mã hóa và phá vỡ các
hệ thống mật mã được sử dụng
Mối quan hệ giữa mật mã và thâm mã
Hiện nay tồn tại nhiều lĩnh vực tri thức kế cận nhưng không thuộc khoa học mat ind Nlut au ma (Steganography) thực hiện nhiệm vụ che giấu thông tím bí mặt trong khối đữ liệu Với ấn mã người gửi thông tin bí mật có thể che giấu
thong tin trong một tệp (file), hay một thông báo công khai Cũng giống như mật
mã, hai người dùng ẩn mã phải thôa thuận về thuật toán mà lọ sẽ sử dụng và trao
đổi thuật tuần với nhau trước khi liên lạc Thuật toán du ma JA công thức toán học
được sử dụng để xếp đặt các bit dữ liệu vào một tệp khác, sau đồ nó được sử dựng
một lẩn nữa để bóc tách các bịt như vậy ra theo trật tự ban đẩn của chúng Đó
thường không phải là một công thức quá phức tạp Các phương pháp nén thông
tin cũng có quan hệ với khoa học mật mã
Khua học mật rã là một ngành trì thức liên quan đến thiêng tin bi wat, nó
bao gầm hai nhánh chủ yếu là mật mã và thám mã Hai nhánh này đấu tranh với
nhau và hỗ trợ cho nhau phát triển Người làm thám mã nhất định phải am hiểu sâu sắc về mật xã, ngược lại người lầm xuật mã muốn có được những hệ 1uật đưa vào sử đụng an toàn thì nhất thiết phải nấm được khoa học thám mã Vì vậy việc nghiên cứu khoa học thám mã là nhằm để đánh giá độ an toàn của các hệ mật
được đưa vào sử dụng chính xác hơn, tránh những sơ xuất mà thám mã có thể
khai thác được Diễu đó có nghãa việc nghiên cứu khoa lọc thấm mã sẽ gip chúng †a xây dựng, sử dụng hệ mật an toàn hơn Tlưy nhiên, nghiên
cứu sâu về khoa học thám mã sẽ không được trình bày trong luận ấn này
1.4 Một số phương phán tấn công hệ mặt RSÁ
Trang 32'Từ khi mới công bố, hệ mật RSA đã được nhiều nhà nghiên cứu phân tích để
tìm ra các yếu điểm của nó Mặc dầu hơn ba mươi năm nghiên cứu đã mang lại
nhiều cách tấn công, nhưng không có cách nào trong số đá là phá được liệ mật
nay hoàn toàn, mà chỉ mình hoạ cho mối nguy hiểm khí sử dụng hệ mật RSA
không đúng cách Việc áp dụng hệ rnật RŠA một cách an toàn không phải là đơn
giản Mục đích ở đây là xem xét lại các cách tấn công và mô tã công cụ toán học
mã người lấn công đã sứ đụng Chúng Iä quy ước tên gọi người sử dụng A (Alice)
va B (Hob) là 2 người muốn truyền tin cho nhan Người tấn công không hợp pháp
muốn chặn bắt và can thiệp vào thông tỉn giữa người sử dụng A và B chúng ta quy ước tên gọi là Oscar [19]
He mat RSA được sử dụng cho chữ kỷ sổ, ví dụ, chứng dược sử đụng để ký
các tờ séc số hay phiếu đặt mưa hàng điện tử Để ký thông báo m bởi hệ mật RRSA, người A áp dụng khoá bí mật (n, đ) vào m để nhận được chữ ký s- i? mod n Kli biel (au, s), bất cứ ai cũng có thể kiểm tra chữ ký của A trên tr
bằng cách kiểm tra đẳng thức m — s° mod n Vì chỉ riêng Á có thể tạo ra s, mọi người tin rang khong mot ai khác có thể giả mạo chữ ký của A Chữ ký số là một
ứng dụng quan trọng của hệ mât RSA (xem [46], [47], [51]) Một số cách tấn công mà chúng ta xem xết ở đây đặc biệt dành cho chữ ký số RSA
1.4.1 Phản tích các số nguyên lớn
Phân tích số nguyên lớn (trên 308 chữ số thập phân) ra thừa số nguyên tố
đang là muội thách thức lớu đối với những nà thám mã Vì vậy, phép tấn công đấu tiên đối với khoá công khai (n, e) của hệ mật RSA dua vo phan tích
modulus n ra thita s6, được xem như là rnột thách thức về đánh giá độ an toàn
Ki biết các thừa số của nu, người tấn công có thể đễ đàng tần gặn), từ đó có thể tìm được d =e mod gn) Vì vậy có thể xem việc phân tích " như Tà sự tấn
công bằng sức mạnh thô bạo đối với lệ mật RSA Mặc dù các thuật toán phân
tích số ngày càng được cải tiến, kết quả tốt nhất hiện nay hãy cồn xa để có thể
mang lai nguy cơ cho độ an toàn của hệ wat RSA, nếu nó được dùng đứng cách.
Trang 3329
Phân tích ra thừa số các sẽ lớn là một trong các bài toán hay nhất của lý thuyết
độ phức tạp nh toán, nhưng ở đây chúng ta không đi sâu vẻ vấn dé nay Dé cho
: lại rằng thuậi toán phân tích số nhanh nhất hiện nay là
day di, ching ta nh
sang tritng a6 téng quat Thol gian chay cia nd voi sé nguyén Kn) bit là cxp(( + o(L)1(n)log”"Itn}) vei c<2 [19] Cho nén cdc céch tấn công RSA mà chiếm
thời gian lâu hơn ngưỡng này là không cẩn xem xết Các tấn công đó bao gồm
tấn công với cạn đối với thông báo im và một số lấn công cũ đã được công bố
ngay sau khi hệ mật RSA ra đời Vì vậy, ta quan tâm tới các tấn công hệ mật RSA dé giải mã, mà không trực tiếp phân tích modulus n
Sau đây sẽ chỉ ra rằng việc tin khoá bí mật đ và phân tích số n là tương
đương Vì thế, không có gì để giẩu phân tích ra thừa số của ¡ đối với mội người
biết d
Khẳng đỉnh 1.1 [19| Chơ (n, e) là khoá sóng khai của hệ mật RSA Dura vao
khoá bí mật đ, người ta cổ thể phân tích có hiệu quả modulus n (với I4)
Ngược lại, cho phân tích của n, người ta có thể tìm được d một cách hiệu qnả
1.4.2 Các tấn công đơn giản
Các phép lấn công này mình hoạ mối nguy liểm khi sử dụng hệ mật RSÀ
không đúng cách
1.4.2.1 Dùng chung modulus
'Iyánh việc phải sinh ra các modulus n (a — p.q) khác nhau cho mỗi người
sử dụng, người ta muốn cố định n cho tất cả mọi người Một trung tâm uỷ nhiệm tin cậy có thể cung cấp cho mỗi người đùng ¡ một cặp duy nhất e, và đ, từ đó
người dùng ì tạo ra khoá công khai (1, cÿ và khoá bÝ mrật ín, dị)
'Thoạt nhìn, điển này đường như có thể được vì với bản mã gửi cho A là
c—m^ mod n, người B không thể giải mã được vì không có dạ Tuy vậy, điều
đó không điíng và làm cho hệ không an toàn Bởi vì theo khẳng định I.1 người 3
có thể dùng ey và dụ để phân tích n Vì n được phân tích tên B có thể tít được
Trang 34khoá bí mặt d, của A khi biết khoá cong khai e„ Vì vậy modulus của hệ mật
TRSA không bao giờ được sử dụng cho nhiều hơn một người
1.4.2.2 Tấn công hệ mật RSA khi biết p{n)
Một cách tấn công khác là tìm được p và q khi biết @(1) Nếu pin) da bist
và n— p.q công khai thì n có thể được phân tích để tìm ra p và q nhờ việc giải
hệ phương trình sau đây:
Hai nghiệm của phương trình này chính là ước số khác I và khác n của n
Như vậy nếu người thám mã cổ thể đồ được p(n) thì có thể phu tích n và phá vỡ
hệ mật Mặt khác nếu thám mã biết c(n) thì chưa cần phân tích n đã tìm được số
mũ bí mật d vì: e.d— 1 (med gin) } (1.3)
Vi du 1.1: Gid sit tham ma da biét duge n — 84773093 vA p(n) — 84754668
'Thông tin này sẽ dẫn đến phương trình:
Muến giảm bót thời gian giải ma (hay thời gian tạo chữ ký), mọi người mong
muốn sử dụng giá trị d nhỏ thay cho d ngẫu nhiên Bởi vì phép lũy thừa medulu
tốn thời gian tuyến tinh theo log,d, với đ nhỏ nó có thể tăng tốc đó thực hiện lên
Ít nhất 1Q lần (với số modulo có 1024 bi) Không may, cách tấn cóng khôn
ngoạn của M Wiener [58] đã chỉ ra rằng, với d nhỏ sẽ dẫu đến việc phá được
Trang 35hoan toan hé mat
Định lý 1.1 (cia M Wiener [58]) Giả sử n —pq với q<p <2q GIÁ sử
d< (1/31, Cho ín, e) với e.d — 1 mod @ín) thì Oscar có thể khói phục được d
một cách hiện quả
Vì thường n là số có 1024 bịt, suy ra đ ít nhất có 256 bịt để tránh được tấn công này Điều đó là không thuận tiện cho một thiết bị có công suất thấp nhu thé thong minh, khi d nhỏ sẽ mang lại sự tiết kiệm đáng kể Tuy nhiên, không phải
tất cả đều ruất Wiener 1nô 1ä một kỹ thuật cho phép giải mã nhánh và không bị
ảnh hưởng của tấn công nói trên cụ thể là:
Sử dụng số e lồn: Ciã sử thay cho việc rút gon e mod œ@(n), chúng 1a sử dụng
khoá công khai (n, e), 1rong đó e` — e 1 tọ(n) với t lớn Rõ ràng rằng, e có thể
được sử dụng Thay cho œ để mã hoá Một tính toán đơn giản chỉ ra rằng, nến ø >
m3 thì d nhỏ mấy cũng khỏng ảnh hưởng gì, tắn công trên không thực thi Không may, e` lớn sẽ tăng thời gian mã hoá
Chúng ta không biết rằng, phương pháp nêu trên có ai toàn không, Chứng ta
chỉ biết là tấn công của Wiener không hiệu quả đếi với chúng
Định lý 1.1 dã được cải tiến hơn bởi Boneh và Durfee [13], đã chỉ ra rằng với
d <n? thì người tấn công có thể khới phục đ có hiệu quả từ (n, e) Các kết quả
này chứng tỗ rằng cận của Wicner là chưa chật Dường như cận chính xác là d<
n®Š, Tại thời điểm này, đây là bài toán mở [ 19]
Mài toán mở 1.1 |19) Giả sử n = p.q và d < n8” Nếu Oscar biết (n,e) với ed =
1 mod gín) và e < gín) thĩ có thể khôi phục đ hiệu quả không ?
Mot số phương pháp tấu công khác như: tấn công số mũ mã hóa công
khai nhỏ được giới thiệu trong [17], [32] và [42], tấn công quảng bá của Hastad [35], tấn công thông báo có quan hệ của Iranklin-IRerer [19], tấn công độn thém
của Coppersmith: và một kết quả quan trọng về việc độn thêm của Copuersnritl được chứng ninh trong [L7] Thuật toán độn thôm ngẫu nhiên thuần tuý là có thể
Trang 36kéo đài bản rõ m bằng cách thêm một số bit ngẫu nhiên vào một đầu của bản rõ
m Một cách khác là tấn công khi lộ một phần khoá, giả sử (n, d) là khoá bí mật của Lé wat RSA, gid diel bằng một cách: nào dé Oscar có (hể tần được một phẩn các bit của đ, ví đụ là một phần tư các bit của
đ Liệu Oscar có thế khỏi phục lại cả đ hay không ? Điều ngạc nhiên, câu trả
lời là có thé khi khoá công khai tương ứng nhỏ Cũng cần chú ý đến một lớp các
tấn công khác là cấc tấu công cài đặt Thay cho việc tấu công cẩu trúc bên dưới của hàm R8A, sắc tấn công này tập trung vào cách cài đặt của RSA [411 Ngoài
ra một số phương pháp tấn công khác cũng được giới thiệu trong [10], [25], [33]
1.Š Kết luận chương †
Chương 1 đã trình bày khái quát vẻ lý thuyết mật mã, mới quan hệ qua lại
giữa mật mã và thám mã, là cơ sở cho các hướng nghiên cứu được trình bày Trong
chương 2 và chương 3 của luận án Nội dung của luận án tập trung vào giải quyết
nâng cao độ an thực tiễn của bệ mật khóa công khai mà cụ thể là hệ mật RSÀ và
nghiên cứu một số khía cạnh lý Thuyết và ứng dụng lược dé phân chia bi mat
(chia sẻ bí mat)
Wieuer [1990] dã chứng mính rằng, số ruũ tí tật đ nhỏ có thể được khôi phục hiệu quả nếu u , Ket qua nay duoc cải tiến bởi Boneh va Durfee [2000]
đã chỉ ra với d«n"”” thì người tấn công có thể khôi phục d hiệu quả từ n và e
Các kết quả này chứng tỏ rằng cận của Wiencr là chưa chặt, hơn nữa hai tác giả
này còn phỏng đoán rằng hệ mật RSA không an toàn với d< Jn I2wa vào ý f-
ưởng đó, chương 2 của luận án đi nghiên cứu theo hướng xay dung hé mat RSA,
sao cho tránh được những kiểu tấn công vào hệ RSA đo việc sử dụng các số mũi giải mã nhỏ
Xuất phat tir y
số trường lợp có những bf mgt mA cli mot sé ngudi nào đó mới được phép vũ có
u cầu thực tế hiện nay, có nhiều bí mật cần được bảo vệ, một
thể tiếp cận được bí mật Trong tính todn phan t4n, can nhiều thành viên trong tập
được quyền mới tính toán được bí mật, Những vấn đê này có thể giải được
Trang 37foo S
Chuung 2
XÂY DỰNG HỆ MẬT RSA AN TOÀN VỚI SỐ
MŨ GIẢI MÃ LỚN
Mại ru có rất nhiều ứng dụng trong cuộc sống hàng ngày của chúng la, từ
hệ thếng chống sao chép lậu đĩa DVD, các ứng dụng mã hoá dữ liệu, Tổ chức
chứng thực CA (Certification Amthority), Mạng riêng áo VPN (Virtnal Private
Network), cho dén các hệ thống mã hoá thỏng tỉn nhạy cảm của các quốc gia Điều gì sẽ xảy ra nếu hệ thống mã hóa đang sử dụng bị vô hiệu hoá một cách có
a hay một tổ chức luôn có được khá
hệ thống? Diễu gì sẽ xáy ra nếu mỘi quốc
năng giải mã mọi thông điệp đã được mã hóa luân chuyển trên Internet?
Vì vậy cần phải tập trung vào nghiên cứu, xây dựng những hệ mật có độ an
toàn Thực tiến, trên cơ sở đố nấm vững và làm chủ được những hệ mật sử dụng
tương thực tế ở Việt Nam là rất cần thiết
2.1 Độ an toàn của hệ mật
Có hai quan diễm cơ bản về độ an tod cúa hệ mật, đó là độ an toần tính toán
và độ an toàn không điều kiện Độ ơn toàn dính toần (Coznpanational Security)
cồn được gọi là độ an toàn thực tiễn (Practical Security) [46]
2.1.1 Độ an toàn thực Liên
Độ an toàn thực tiến là độ đo có liên quan đến những nỗ lực tính toán cẩn thiết, bởi những phương pháp tốt nhất liện đã biết dé phá vỡ ruột bệ mật, với giả thiết là hệ mật dã dược nghiên cứu thấu đáo để xác định được những kiểu tấu
công nào có liên quan (có thể cớ) Có thể nói một hệ mật có an toàn vẻ mặt tính
toán hay an toàn về znặt thực tiễn, nếu có một phương pháp tối nhất phá hệ mật này nhưng đời lỏi những tài nguyên tính toán (thồi gian, thiết bị) lớn dến nức
không chấp nhận được trong thực tiễn.
Trang 38Các hệ mật có độ an toàn thực tiễn thường có liên quan tới các bài toán
khó, nhưng ở đây chưa biết một ching minh nao về sự tương đương, khẳng định
rằng độ khó để phá vỡ hệ mặt về cơ bẩn cũng khó như giải bài toán khó có liên
quan (như bài toán phân tích số nguyên lớn ra Thừa số nguyên tố hoặc hài toán
tính loga rời rạc}
Nếu một hệ mật được xảy dựng trên cơ sở một bài toán khó mà cố được
chứng minh tương đương nêu trên, 1a nói nổ thuộc lớp hệ rnật cổ độ zì toàn chứng minh dược, là một lớp con của các hệ mật có độ an toàn tĩnh toán
Độ an toàn của 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 Có nghĩa là
dựa vầu bài toán phân tích số nguyên lớu ra thừa số nguyên tổ
Phan lớn các hệ mật khóa công khai và hệ mật đối xứng nổi tiếng nhất dang
sử dụng đều thuộc lớp này như:
~Iệ mặt khóa công khai: IIệ mật IRSA, hệ mật Elgamal
~ Hệ mặt đối xứng: DES là chuẩn mã hóa dữ liệu của Mỹ từ 1977 dến 1997 và
chuẩn mã hóa đữ liệu nâng cao hiện nay của Hoa kỳ là AES
2.12 Độ an tuần không điều kiện
Một hệ mật được gọi là an toàn không điều kiện (còn được gọi là hệ mật
hoàn bảo] nếu nó không thể bị phá thậm chí với những tài nguyên tính roán không hạn chế của đối phương Với độ an toàn hoàn hảo (Perfecr Secnriry) thì
sau khi quan sát ban ma, d6 bat dinh (Uncertainty) trong bản rõ vẫn phải bằng
với độ bất định vẻ bản rõ trước đó Nói cách khác việc quan sát bản ma không cung cấp thông tin gì cho đối phương
Các hệ mật khóa cóng khai không thể có độ an toàn không điển kiện, vĩ khi cho trước bản mã c, về nguyên lý bản rõ có thể được khôi phục bằng cách
mã hóa tất cả các bản rõ có thể cho rới khi thu được c [46, tr43]
Trang 3935
2.2 Xây dựng hệ mật RSA an (oàn với số mũ giải mã lớn
Dối với kiểu tấu công hệ mật RSA khi đùng số mũ giải ›nã nhỏ, ta có những
kết qua quan trọng sau
Trong [58], Wiener đã chứng minh rằng, với hè RSA, trong đón —pq, q<
1
p < 2q, nếu 4 Ấ thì người thám mã có thể khôi phục d một cách hiệu quả
Tiếp đó trong [14], Boneh và Durfes da chứng minh rằng he mat RSA là không
an toàn nếu d <n**“, Các tác giả này còn phỏng đoán rằng hệ RSA không an
toàn nếu d< ý và cho tới nay đây vẫn là bài toán mở
'Ihông thường, để xây dựng một hệ mật RSA, ta thực hiện các bước sau:
1 Chọn hai số nguyên tố lớn, phân biệt p và q Tĩnh n =p.q và mn)
Làm như vậy không có ly vọng luôn có dược số mũ giải ma d ldn, chang
han theo nghĩa có độ dài nhị phân xấp xÏ với độ dài tương ứng của n
'Trước tình hình như vậy, đương nhiên phải nghĩ tới một trình tự khác như
sau:
i) Chone tude
ii) Xác dịnh các số nguyên tố p và q thỏa những diều kiện nào đó sao cho: đ
được xác định duy nhất, là nghịch đảo nhân của e theo modulo p(n) và đ là số mù giải mã lớn
Như vậy, để xây dựng hệ RSA tránh được cấc tấn công của Wiener [S8], của Boneh va Durfee [L4], bài toán được đặt ra cụ thể như sau:
“Chọn c trước Tìm điều kiện đủ mà p, q phải thỏa mãn sao cho d được
Trang 40xác định duy nhất và là số mũ giải mã lớn”
Vì e được chọn trước và luôn có e.đ = k.q( n) +l; e, đ < œ@( n), dể đàng suy
ra k< e, một cách tự nhiên phải nghĩ tới là dể có d lớn nhất có thể thì phải chọn k
lớn nhất có thể, tức k = e-I
Với xuất phát điểm định hướng cho nghiên cứu và cách đặt bài toán cụ thể
để giải quyết như trên, nên trong |31| đã đưa ra điền kiện chọn p và q sao cho có
được kk — e-1
Điều kiện đố là: r— qsứ, 1)“ mode ‘1 (2.1)
trong dé 1, — p (mod e), ty — q (mod e) va r, -1leZ,
Sử dụng điều kiện (2.1), trong [31] đã đưa ra thuật toán xây dựng hệ RSA với số mũ giải mã lớn, ta gợi đó là thuât toán EMD (LH Encinas, J.M-Masqué
and A.Q Dios)
2.2.1 Thuật toán KMI}
3 Sử dụng thuật toán Euclid mở rộng để tính số nguyên duy nhất d, 1<
d<g@n) sao cho c.d= 1 (mod œán)), hay tính trực tiếp
Để chứng mỉnh tnh đúng đán của thuật tofn EMD céc tac giả đã định nghĩa
tập S, như sau: