Tại nước ta trong những năm gần đây việc tiến hành xây dựng chính phủ điện tử đã và đang được các cơ quan chức năng nghiên cứu và đề xuất các giải pháp đầu tư thích hợp, tại các ngân hàn
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI
LUẬN VĂN THẠC SỸ
CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN
TÌM HIỂU BÀI TOÁN LOGARITHM RỜI RẠC VÀ HỆ
MẬT OMURA MASSEY CÓ SỬA ĐỔI
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI
LUẬN VĂN THẠC SỸ
TÌM HIỂU BÀI TOÁN LOGARITHM RỜI RẠC VÀ HỆ
MẬT OMURA MASSEY CÓ SỬA ĐỔI
Trang 3MỤC LỤC
MỤC LỤC 1
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
DANH MỤC HÌNH VẼ 3
DANH MỤC VIẾT TẮT 4
MỞ ĐẦU 5
CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN THÔNG TIN 7
BÀI TOÁN LOGARITHM RỜI RẠC & CÁC HỆ MẬT CÓ LIÊN QUAN 7
1.1 Giới thiệu An toàn bảo mật thông tin [1], [3] 7
1.1.1 Các hình thức tấn công và phương pháp phòng tránh 7
1.1.2 Mục tiêu của an toàn bảo mật thông tin 12
1.2 Khái quát về mật mã học [1], [3] 14
1.2.1 Giới thiệu về mật mã học 14
1.2.2 Sơ lược về mật mã học 14
1.3 Bài toán logarithm rời rạc [2] 16
1.3.1 Bài toán logarithm tuyến tính 16
1.3.2 Phát biểu bài toán logarith rời rạc 17
1.3.3 Các phương pháp giải bài toán logarith rời rạc 18
1.4 Các hệ mật điển hình 26
1.4.1 Hệ mật Pohlig-Hellman 27
1.4.2 Hệ mật Diffie-Hellman 30
1.5 Kết luận chương 32
CHƯƠNG 2: XÂY DỰNG HỆ MẬT OMURA-MASSEY CÓ SỬA ĐỔI 33
2.1 Tổng quan Omura-Messey [1], [3] 34
2.2 Bản chất hệ mật Omura – Massey 43
2.2.2 Nhận xét và hướng sửa đổi 44
2.3 BỔ SUNG HỆ MẬT OMURA – MASSEY 45
2.3.1 Tạo khóa 46
2.3.2 Quá trình giao tiếp, tính toán 46
Trang 42.4.3 Ví dụ minh họa 46
2.4 TÍNH XÁC THỰC TRONG HỆ MẬT OMURA MASSEY (Additive Omura-Massey) 47
2.4.1 Tạo khóa 47
2.4.2 Quá trình giao tiếp, tính toán 47
2.4.3 Ghi chú 47
2.4.4 Ví dụ minh họa 47
2.5 SỬA ĐỔI THÊM YẾU TỐ XÁC THỰC THEO KIỂU NHÂN (AOM-1) 48 2.5.1 Tạo khóa 48
2.5.2 Quá trình giao tiếp, tính toán 48
2.6 SỬA ĐỔI THÊM YẾU TỐ XÁC THỰC THEO KIỂU CỘNG (AOM-2) 48 2.6.1 Tạo khóa 48
2.6.2 Quá trình giao tiếp, tính toán 49
2.6.3 Ví dụ nhỏ 49
2.7 SỬA ĐỔI THÊM YẾU TỐ XÁC THỰC THEO KIỂU LŨY THỪA (AOM-3) 49
2.7.1 Tạo khóa 49
2.7.2 Quá trình giao tiếp, tính toán 50
2.7.3 Ví dụ nhỏ 50
2.8 SỬA ĐỔI THÊM YẾU TỐ XÁC THỰC THEO KIỂU LŨY THỪA (AOM-4) 50
2.8.1 Tạo khóa 50
2.8.2 Quá trình giao tiếp, tính toán 50
2.8.3 Ví dụ nhỏ 50
2.9 Kết luận chương 51
CHƯƠNG 3: PHÂN TÍCH HIỆU NĂNG AN TOÀN CỦA HỆ MẬT OMURA-MASSEY CÓ SỬA ĐỔI 52
3.1 Độ an toàn của hệ mật 52
3.1.1 Độ an toàn không điều kiện 52
3.1.2 Độ an toàn tính toán 52
3.1.3 Các loại tấn công cơ bản trong phân tích mã 53
3.2 Đạt được cải tiến gì 54
Trang 53.3 Ưu nhược điểm của hệ mật OMURA MASSEY sau khi sửa đổi 54
3.3.1 Ưu điểm 54
3.3.2 Nhược điểm 55
3.4 Giới thiệu RSA 55
3.4.1 Độ an toàn 55
3.4.2 Hiệu suất thực hiện và ứng dụng 55
3.4.3 Một số phương pháp tấn công hệ mã RSA 56
3.4.4 Tạo khóa bằng thuật toán RSA 57
3.4.5 Mã hóa khóa bằng thuật toán RSA 58
3.4.6 Giải mã bằng thuật toán RSA 60
3.4.7 Mã chương trình 61
3.5 Kết luận chương 3 61
KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO 62
TÀI LIỆU THAM KHẢO 63
Trang 6LỜI CAM ĐOAN
Tôi xin cam đoan, toàn bộ nội dung liên quan tới đề tài được trình bày trong luận văn là bản thân tôi tự tìm hiểu và nghiên cứu, dưới sự hướng dẫn khoa học của GS.TS Nguyễn Bình Các tài liệu, số liệu tham khảo được trích dẫn đầy đủ nguồn gốc Tôi xin chịu trách nhiệm trước pháp luật lời cam đoan của mình
Học Viên thực hiện
Đàm Quang Quyền
Trang 7LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn tới VIỆN ĐẠI HỌC MỞ HÀ NỘI, nơi các thầy cô đã tận tình truyền đạt các kiến thức quý báu cho tôi trong suốt quá trình học tập Xin cảm ơn Ban Giám Hiệu nhà trường và các cán bộ đã tạo điều kiện tốt nhất cho chúng tôi học tập và hoàn thành đề tài tốt nghiệp của mình Đặc biệt, tôi xin gửi tới GS.TS Nguyễn Bình, thầy đã tận tình chỉ bảo tôi trong suốt quá trình thực hiện đề tài lời cảm ơn và biết ơn sâu sắc nhất Bên cạnh những kiến thức khoa học, thầy đã giúp tôi nhận ra những bài học về phong cách học tập, làm việc và những kinh nghiệm sống quý báu Tôi xin bày tỏ lòng biết ơn tới gia đình, bạn bè, đồng nghiệp
và những người thân đã động viên khích lệ tinh thần và giúp đỡ để tôi hoàn thành
luận văn này
Học Viên thực hiện
Đàm Quang Quyền
Trang 8DANH MỤC HÌNH VẼ
Hình 1 1 Xem trộm thông điệp 8
Hình 1 2 Trudy sửa thông điệp 8
Hình 1 3 Mạo danh 9
Hình 1 4 Phát lại thông điệp 10
Hình 1 5 Mô hình phòng chống xâm nhập và phá hoại hệ thống 12
Hình 1 6 Các giao thức của hệ thống mật Massey - Omura 36
Hình 1 7 Các giao thức của hệ thống EMO-1 39
Hình 1 8 Các giao thức của hệ thống mật EMO-2 42
Hình 2 1 Sơ đồ mã hóa, giải mã omura massey 44
Hình 3 1 Giao diện tạo khóa RSA 57
Hình 3 2 Tạo khóa RSA thủ công 58
Hình 3 3 Tạo khóa RSA tự động 58
Hình 3 4 Trích xuất file khóa 58
Hình 3 5 Mã hóa RSA 59
Hình 3 6 Chọn file cần mã hóa 59
Hình 3 7 Kết quả mã hóa RSA 59
Hình 3 8 Giải mã RSA 60
Hình 3 9 Chọn file cần giải mã 60
Hình 3 10 kết quả giải mã RSA 60
Trang 9DANH MỤC VIẾT TẮT
Trang 10MỞ ĐẦU
Ngày nay cùng với sự phát triển của các ngành khoa học, công nghệ thông tin và
truyền thông đã có những bước tiến mang tính đột phá, trong đó phải kể đến sự phát triển của mạng Internet và mạng truyền số liệu Điều này làm cho việc trao đổi, truyền thông tin qua mạng ngày càng trở nên phổ biến trong mọi lĩnh vực của đời sống xã hội Cùng với sự phát triển của mạng thông tin và truyền thông cũng kéo theo sự gia tăng một số lượng tội phạm lợi dụng kẽ hở bảo mật của mạng để tấn công, ăn cắp, làm giả thông tin gây ra những thiệt hại to lớn
Tại nước ta trong những năm gần đây việc tiến hành xây dựng chính phủ điện tử đã
và đang được các cơ quan chức năng nghiên cứu và đề xuất các giải pháp đầu tư thích hợp, tại các ngân hàng việc cung cấp các dịch vụ giao dịch qua mạng ngày càng phổ biến với hầu hết các khách hàng như dịch vụ Ebank, ví điện tử, dịch vụ thẻ….Về mặt văn hóa báo mạng ngày càng phát triển cả về số lượng và chất lượng, cùng với mạng truyền hình số, truyền hình cable ngày càng trở nên phổ biến, dịch
vụ mạng có thể cung cấp cho mọi đối tượng có đủ điều kiện và nhu cầu tiếp cận, và một vấn đề nảy sinh đó là đã có một số lượng tội phạm lợi dụng kẽ hở bảo mật để tấn công, thay đổi thông tin làm ảnh hưởng đến uy tín, gây thiệt hại rất lớn về kinh
tế các tổ chức và cá nhân
Để đối phó với những vấn đề đó việc cần thiết là phải xây dựng được hệ thống mật
mã đủ mạnh đảm bảo sự bảo mật và an toàn thông tin, đây cũng là nhiệm vụ trọng tâm và then chốt của các nhà nghiên cứu, xây dựng mật mã Hiện nay trên thế giới tồn tại hai hệ thống mật mã, hệ thống mật mã khóa bí mật hiện vẫn sử dụng trong nhiều ứng dụng tuy nhiên có một nhược điểm như khó phân phối, quản lý khóa và không hỗ trợ chữ ký điện tử
Hệ thống mật mã khóa công khai có nhược điểm là khả năng xử lí chậm hơn nhưng
có ưu điểm là dễ phân phối và quản khóa do đó có thể hỗ trợ chữ ký số sử dụng cho mục đích đảm bảo tính toàn vẹn dữ liệu Mã khóa công khai dựa trên các hàm một chiều (tính thuận thì dễ, tính ngược thì rất khó) cho đến này thế giới đã tìm ra 5 bài toán một chiều có thể sử dụng xây dựng hệ mật khóa công khai, đó là (1) bài toán logarit rời rạc; (2) bài toán phân tích thừa số (tiêu biểu là hệ mật RSA); bài toán xếp
Trang 11ba lô; (4) bài toán mã sửa sai và (5) bài toán hệ mật xây dựng trên các đường cong elliptic
Từ những phân tích trên tác giả đã chọn đề tài “Tìm hiểu Bài toán logarithm rời rạc & Hệ mật OMURA-MASSEY có sửa đổi” để làm khóa luận tốt nghiệp
Luận văn của Tác giả gồm có 3 chương với nội dung cơ bản sau:
CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN THÔNG TIN BÀI TOÁN LOGARITHM RỜI RẠC & CÁC HỆ MẬT CÓ LIÊN QUAN
CHƯƠNG 2: XÂY DỰNG HỆ MẬT OMURA-MASSEY CÓ SỬA ĐỔI
CHƯƠNG 3: PHÂN TÍCH HIỆU NĂNG AN TOÀN CỦA HỆ MẬT MASSEY CÓ SỬA ĐỔI
Trang 12OMURA-CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN THÔNG TIN BÀI TOÁN LOGARITHM RỜI RẠC & CÁC HỆ MẬT CÓ
LIÊN QUAN
1.1 Giới thiệu An toàn bảo mật thông tin [1], [3]
Trước đây khi công nghệ máy tính chưa phát triển, khi nói đến vấn đề an toàn bảo mật thông tin (Information Security), chúng ta thường hay nghĩ đến các biện pháp nhằm đảm bảo cho thông tin được trao đổi hay cất giữ một cách an toàn, bí mật Ví dụ:
- Đóng dấu và ký niêm phong một bức thư để biết ràng lá thư có được chuyển nguyên vẹn đến người nhận hay không
- Lưu trữ tài liệu mật trong các két sắt có khóa, tại các nới được bảo vệ nghiêm ngặt, chỉ có những người được cấp quyền mới có thể xem tài liệu
- Dùng mật mã mã hóa thông điệp để chỉ có người gửi và người nhận hiểu được thông điệp Phương pháp này thường được sử dụng trong chính trị, quân sự Với sự phát triển mạnh mẽ của công nghệ thông tin, đặc biệt là sự phát triển của mạng Internet, ngày càng có nhiều thông tin được lưu trữ trên máy tính và gửi đi trên mạng internet Do đó xuất hiện nhu cầu về an toàn và bảo mật thông tin trên máy tính
1.1.1 Các hình thức tấn công và phương pháp phòng tránh
1.1.1.1 Các hình thức tấn công
Để xem xét những vấn đề bảo mật liên quan đến truyền thông trên mạng, chúng
ta lấy một bối cảnh sau: có ba nhân vật tên là Alice, Bob và Trudy, trong đó Alice
và Bob thực hiện trao đổi thông tin với nhau, còn Trudy là kẻ xấu muốn lấy thông tin của Alice và Bob, đặt các thiết bị can thiệp vào kênh truyền tin giữa Alice và Bob Sau đây là các loại hành động tấn công của Trudy có ảnh hưởng đến quá trình truyền tin giữa Alice và Bob:
a) Xem trộm thông tin (Release of Massage Content)
Trong trường hợp này Trudy chặn các thông điệp Alice gửi cho Bob và xem được nội dung của thông điệp
Trang 13Hình 1 1 Xem trộm thông điệp
b) Thay đổi thông điệp (Modification of Masage)
Trudy chặn các thông điệp Alice gửi cho Bob và ngăn không cho thông điệp này đến đích Sau đó trudy thay đổi nội dung của thông điệp và gửi tiếp cho Bob Bob nghĩ rằng thông điệp nguyên bản ban đầu của Alice gửi cho mà không biết rằng chúng đã bị sửa đổi
Hình 1 2 Trudy sửa thông điệp
c) Mạo danh (Masquerade)
Trang 14Trong trường hợp này Trudy giả là Alice và gửi thông điệp cho Bob Bob
không biết điều này và nghĩ rằng thông điệp là của Alice
Hình 1 3 Mạo danh
d) Phát lại thông điệp (Replay)
Trudy sao chép lại thông điệp Alice gửi cho Bob Sau đó một thời gian Trudy gửi lại bản sao chép này cho Bob Bob tin rằng thông điệp thứ hai vẫn là từ Alice, nội dung hai thông điệp là giống nhau Thoạt đầu có thể nghĩ rằng việc phát lại này là vô hại, tuy nhiên trong nhiều trường hợp cũng gây ra tác hại không kém so với việc giả mạo thông điệp Xét tình huống sau: giả sử Bob là ngân hàng còn Alice là một khách hàng Alice gửi thông điệp đề nghị Bob chuyển cho Trudy 10.000$ Alice có áp dụng các biện pháp như chữ ký điện tử với mục đích không cho Trudy mạo danh cũng như sửa đổi thông điệp Tuy nhiên nếu Trudy sao chép và phát lại thông điệp thì biện pháp bảo vệ này không còn ý nghĩa nữa Bob tin rằng Alice gửi tiếp một thông điệp mới để chuyển thêm cho Trudy 10.000$ nữa
Trang 15Hình 1 4 Phát lại thông điệp
1.1.1.2 Một số cách phòng tránh
Ngày nay, khi mạng Internet đã kết nối các máy tính ở khắp mọi nơi trên thế giới lại với nhau, thì vấn đề bảo vệ khỏi sự thâm nhập, phá hoại là một điều cần thiết Thông qua mạng Internet, các hacker có thể truy cập vào các máy tính trong một tổ chức (dùng telnet), lấy trộm các dữ liệu quan trọng như mật khẩu, thẻ tín dụng, tài liệu Hoặc đơn giản chỉ phá hoại, gây trục trặc hệ thống mà tổ chức đó phải tốn nhiều chi phí để khôi phục lại hoạt động bình thường của hệ thống
Để thực hiện việc bảo vệ này, người ta dùng khai niệm “kiểm soát truy cập” (Access Control) Khái niệm kiểm soát truy cập này có 2 yếu tố chú ý sau:
- Chứng thực truy cập (Authentication): Xác nhận rằng đối tượng (con người hay chương trình máy tính) được cấp phép truy cập vào hệ thống Ví dụ: để sử dụng máy tính thì trước tiên đối tượng phải logon vào máy tính bằng username và password Ngoài ra, còn có các phương pháp chứng thực khác như sinh trắc học (dấu vân tay, mống mắt ) hay dùng thẻ(ATM), Mobile CA
- Phân quyền (Authorization): các hành động được phép thực hiện sau khi truy cập vào hệ thống Ví dụ: bạn được cấp username và password để logon vào hệ thống, tuy nhiên bạn chỉ được cấp quyền để đọc một số file nào đó Hoặc bạn chỉ có quyền đọc file mà không có quyền sửa, xóa file
Trang 16Với nguyên tắc như vậy một máy tính hoặc một mạng máy tính được bảo vệ khỏi sự thâm nhập của các đối tượng không được phép Tuy nhiên thực tế chúng ta vẫn nghe nói đến các vụ tấn công phá hoại Để thực hiện điều đó, kể phá hoại tìm cách phá bỏ cơ chế Authentication và Authorization bằng cách sau:
- Dùng các đoạn mã phá hoại (Malware): như virus, worm, trojan, backdoor những đoạn mã độc này phát tán, lan truyền từ máy tính này qua máy tính khác dựa trên sự bất cẩn của người sử dụng, hay dựa trên các lỗi của phần mềm Lợi dụng các quyền được cấp cho người sử dụng (chẳng hạn rất nhiều người login vào máy tính với quyền administrator), các đoạn mã này thực hiện lệnh phá hoại hoặc dò tìm password quản trị hệ thống để gửi cho hacker, cài đặt các cổng hậu để hacker bên ngoài có thể xâm nhập vào hệ thống
- Thực hiện hành vi xâm phạm (Intrusion): Việc thiết kế các phần mềm có nhiều lỗ hổng, dẫn đến các hacker có thể lợi dụng để thực hiện những lệnh phá hoại Những lệnh này thường là không được phép đối với người bên ngoài, nhung lỗ hổng của phần mềm dẫn đến được phép Trong những trường hợp đặc biệt, lỗ hổng phần mềm cho phép thực hiện những lệnh phá hoại mà ngay cả những người thiết
kế chương trình không ngờ tới Hoặc hacker có thể sử dụng các cổng hậu do các backdoor tạo ra để xâm nhập
Để khắc phục các hành động phá hoại này, người ta dùng các chương trình có chức năng gác cổng, phòng chống Những chương trình này dò tìm virus hoặc dò tìm các hành vi xâm phạm để ngăn chặn chúng, không cho chúng thực thi hoặc xâm nhập Đó là các chương trình chống Virus, chương trình firewall Ngoài ra các nhà phát triển phần mềm cần có quy trình xây dựng và kiểm lỗi phần mềm nhằm hạn chế tối ddã những lỗ hổng bảo mật có thể có
Trang 17Hình 1 5 Mô hình phòng chống xâm nhập và phá hoại hệ thống
1.1.2 Mục tiêu của an toàn bảo mật thông tin
Như chúng ta đã biết, đối với nhiều tổ chức, doanh nghiệp, cá nhân thì thông tin
và dữ liệu đóng một vai trò hết sức quan trọng trong đời sống và có khi ảnh hưởng đến sự tồn vong của họ Vì vậy, việc bảo mật những thông tin và dữ liệu đó là điều
vô cùng cần thiết, nhất là trong bối cảnh hiện nay các hệ thống thông tin ngày càng được mở rộng và trở nên phức tạp dẫn đến tiềm ẩn nhiều nguy cơ không thể lường trước được
Mặt khác, tính chất, mức độ và pham vi của các cuộc tấn công vào hệ thống máy tính và mạng ngày càng gia tăng bởi chưa bao giờ việc tiếp cận với các kỹ thuật và sử dụng các công cụ tấn công lại trở nên dễ dàng và đơn giản hơn thế Và cuối cùng xuất phát từ động cơ kiếm lợi hoặc chính trị mà các tổ chức tài chính và
cơ quan chính phủ đang trở thành mục tiêu chính của các hacker
Tất cả những điều này cho thấy vai trò cốt yếu của các chuyên gia an toàn thông tin trong cuộc chiến bảo mật đầy khốc liệt và không có lối kết này Những mục tiêu cần đạt được khi làm công tác bảo mật gồm có 3 mục tiêu chính sau:
- Confidentiality: Đảm bảo tính bí mật của thông tin, tức là thông tin chỉ được
phép truy cập(đọc) bởi những đối tượng(người, chương trình ) được cấp phép Tính bí mật của thông tin có thể đạt được bằng cách giới hạn tryu cập về cả mặt vật lý, ví dụ như tiếp cận trực tiếp tới thiết bị lưu trữ thông tin đó hoặc logic, ví
dụ như truy cập các thông tin đó từ xa qua môi trường mạng Sau đây là một số cách thức như vậy:
Trang 18+ Khóa kín và niêm phong thiết bị
phép
- Integrity: Đảm bảo tính toàn vẹn của thông tin, tức là thông tin chỉ được
phép xóa hoặc sửa đổi bởi những đối tượng được cấp phép và đảm bảo rằng thông tin vẫn còn chính xác khi lưu trữ hay truyền tin.Về điểm này, nhiều người thường hay nghĩ tính “Integrity” đơn giản chỉ là đảm bảo thông tin không bị thay đổi (modify) là chưa đầy đủ
Ngoài ra, một giải pháp “data integrity) có thể bao gồm thêm việc xác thực nguồn gốc của thông tin này(thuộc sở hữu của đối tượng nào) để đảm bảo thông tin đến từ một nguồn đáng tin cậy và ta gọi đó là tính “authenticity” của thông tin Sau đây là một số trường hợp tính “integrity” của thông tin bị phá vỡ:
dẫn đến thông tin bị sai lệch
- Availability: đảm bảo độ sẵn sàng của thông tin, tức là thông tin có thể được
truy xuất bới những người được cấp phép vào bất cứ khi nào họ muốn Ví dụ, nếu một server bị ngừng hoạt động hay ngừng cung cấp dịch vụ trong vòng 5phút trên một năm thì độ sẵn sàng của nó là 99.99%
Ví dụ sau cho thấy hacker có thể cản trở tính sẵn sàng của hệ thống như thế
nào: máy của hacker sẽ gửi hàng loạt các gói tin có các MAC nguồn giả tạo đến switch làm bộ nhớ lưu trữ MAC addres table của switch nhanh chóng bị đầy khiến switch không thể hoạt động bình thường được nữa Đây cũng thuộc hình thức tấn công từ chối dịch vụ (DoS)
Trang 19Để tăng khả năng chống chọi với các cuộc tấn công cũng như duy trì độ sẵn sàng của hệ thống ta có thể áp dụng một số kỹ thuật như: Load balancing, Redudancy, Failover
1.2 Khái quát về mật mã học [1], [3]
1.2.1 Giới thiệu về mật mã học
Mật mã học là ngành khoa học ứng dụng toán học vào việc biến đổi thông tin thành một dạng khác với mục đích che dấu nội dung, ý nghĩa thông tin cần mã hóa Đây là một ngành quan trọng và có nhiều ứng dụng trong đời sống xã hội Ngày nay, các ứng dụng mã hóa và bảo mật thông tin đang được sử dụng ngày càng phổ biến hơn trong các lĩnh vực khác nhau trên thế giới, từ các lĩnh vực an ninh, quốc phòng, quân sự , cho đến các lĩnh vực dân sự như thương mại điện tử, ngân hàng
Cùng với sự phát triển của khoa học máy tính và mạng Internet, các nghiên cứu
và ứng dụng của khoa học mật mã ngày càng trở nên đa dạng hơn, mở ra nhiều hướng nghiên cứu chuyên sâu và từng lĩnh vực ứng dụng đặc thù với những đặc trưng riêng Ứng dụng khoa học mật mã không chỉ đơn thuần là mã hóa và giải mã thông tin mà còn bao gồm nhiều vấn đề khác nhau cần được nghiên cứu và giải quyết: chức thực ngồn gốc nội dung thông tin (kỹ thuật chữ ký điện tử CA), chứng nhận tính xác thực về người sở hữu mã khóa (chứng nhận khóa công cộng), các quy trình giúp trao đổi thông tin và thực hiện giao dịch điện tử an toàn trên mạng Những kết quả nghiên cứu về mật mã cũng đã đưa vào trong hệ thống phức tạp hơn, kết hợp với những kỹ thuật khác để đáp ứng yêu cầu đa dạng của các hệ thống ứng dụng khác nhau trong thực tế, ví dụ: hệ thống bỏ phiếu bầu cử qua mạng, hệ thống đào tạo từ xa, hệ thống quản lý an ninh của các đơn vị với hương tiếp cận sinh trắc học, hệ thống cung cấp dịch vụ multimedia trên mạng với yêu cầu cung cấp dịch vụ
và bảo vệ bản quyền sở hữu trí tuệ đối với thông tin số
1.2.2 Sơ lược về mật mã học
Khoa học về mật mã (Crytography) bao gồm:
- Mật mã học (cryptography)
- Phân tích mật mã (cryptannalysis)
Trang 20Mật mã học là khoa học nghiên cứu cách ghi bí mật thông tin nhằm biến bản tin
rõ thành các bản mã
Phân tích mật mã là khoa học nghiên cứu cách phá các hệ mật nhằm phục hồi bản rõ ban đầu từ bản mã Việc tìm hiểu các thông tin về khoá và các phương pháp biến đổi thông tin cũng là một nhiệm vụ quan trọng của phân tích mật mã
Có ba phương pháp tấn công cơ bản của thám mã:
- Tấn công với bản rõ đã biết
- Tấn công với các bản rõ được chọn
- Tấn công với các bản mã được chọn
Có hai hệ thống mật mã chính là: mật mã khoá bí mật và mật mã khoá công khai
Khi xây dựng hệ mật người ta thường xem xét tới các tiêu chuẩn sau:
- Độ mật cần thiết
- Kích thước không gian khóa
- Tính đơn giản và tốc độ mã hóa, giải mã
- Tính lan truyền sai
- Tính mở rộng bản tin
Khi xây dựng hệ mật người ta thường xem xét tới các tiêu chuẩn sau:
a) Bản rõ X được gọi là là bản tin gốc Bản rõ có thể được chia nhỏ có kích
thước phù hợp
b) Bản mã Y là bản tin gốc đã được mã hoá Ở đây ta thường xét phương pháp
mã hóa mà không làm thay đổi kích thước của bản rõ, tức là chúng có cùng
độ dài
Trang 21c) Mã là thuật toán E chuyển bản rõ thành bản mã Thông thường chúng ta cần
thuật toán mã hóa mạnh, cho dù kẻ thù biết được thuật toán, nhưng không biết thông tin về khóa cũng không tìm được bản rõ
d) Khoá K là thông tin tham số dùng để mã hoá, chỉ có người gửi và nguời
nhận biết Khóa là độc lập với bản rõ và có độ dài phù hợp với yêu cầu bảo mật
e) Mã hoá là quá trình chuyển bản rõ thành bản mã, thông thường bao gồm
việc áp dụng thuật toán mã hóa và một số quá trình xử lý thông tin kèm theo
f) Giải mã chuyển bản mã thành bản rõ, đây là quá trình ngược lại của mã hóa g) Mật mã là chuyên ngành khoa học của Khoa học máy tính nghiên cứu về
các nguyên lý và phương pháp mã hoá Hiện nay người ta đưa ra nhiều chuẩn an toàn cho các lĩnh vực khác nhau của công nghệ thông tin
h) Thám mã nghiên cứu các nguyên lý và phương pháp giải mã mà không biết
khoá Thông thường khi đưa các mã mạnh ra làm chuẩn dùng chung giữa các người sử dụng, các mã đó được các kẻ thám mã cũng như những người phát triển mã tìm hiểu nghiên cứu các phương pháp giải một phần bản mã với các thông tin không đầy đủ
i) Lý thuyết mã bao gồm cả mật mã và thám mã Nó là một thể thống nhất, để
đánh giá một mã mạnh hay không, đều phải xét từ cả hai khía cạnh đó Các nhà khoa học mong muốn tìm ra các mô hình mã hóa khái quát cao đáp ứng nhiều chính sách an toàn khác nhau
1.3 Bài toán logarithm rời rạc [2]
1.3.1 Bài toán logarithm tuyến tính
a) Định nghĩa
Trên trường số thực R với 0,#1 và hai số thực , x ta có thể tìm được một số
x thoả mãn x
Bài toán logarith tuyến tính chính là bài toán tìm x
b) Các tính chất cơ bản
Trang 22Giả sử cho Zp là một trường hữu hạn với p là 1 số nguyên tố lớn
có thể tìm được một số nguyên tố x duy nhất thoả mãn:
Nếu y là một phần tử sinh khác của Zp thì
.
Trang 23log2x 18 1 13 2 16 14 6 3 8 17 12 15 5 7 11 4 10 9 log10x 18 17 5 16 2 4 12 15 10 1 6 3 13 11 7 14 8 9 log13x 18 11 17 4 14 10 12 15 16 7 6 3 1 5 13 8 2 9 log14x 18 13 7 8 10 2 6 3 14 5 12 15 11 1 17 16 4 9 log15x 18 5 11 10 8 16 12 15 4 13 6 3 7 17 1 2 14 9 log4x 9 \ \ 1 8 7 3 \ 4 \ 6 \ \ \ \ 2 5 \
e) Nhận xét
So sánh giữa 2 bài toán logarith tuyến tính và logarith rời rạc trình bày ở trên
ta rút ra một số kết luận như sau:
- Đối với bài toán logarith tuyến tính: khi giải bài toán ngược thì đây cũng là một bài toán khó giải nhưng ta có thể ước đoán được giá trị của nó trong một khoảng xác định Vì vậy nó vẫn là một bài toán dễ tìm ra lời giải
- Đối với bài toán logarith rời rạc: ngoài tính khó giải của bài toán ngược ra
ta còn không thể ước đoán được giá trị của nó Đây là một bài toán rất khó giải hiện này không có thuật toán nào có hiệu quả để giải bài toán này Do vậy các nhà nghiên cứu mật mã học xây dựng các hệ mật có khả năng bảo mật cao dựa trên tính khó giải của bài toán logarith rời rạc
1.3.3 Các phương pháp giải bài toán logarith rời rạc
a) Thuật toán vét cạn
Đây là thuật toán tự nhiên nhất và kém hiệu quả nhất để tính logaritth rời rạc Người ta cứ thử tính 1 , 2 , 3, … cho đến khi nào đạt được thì thôi
không hiệu quả khi n lớn và rõ ràng là hàm mũ thực sự theo logn
b) Thuật toán bước đi lớn bước đi nhỏ ( Baby-step giant-step )
Giả sử m = [ n] với n là cấp của
Thuật toán bước đi lớn bước đi nhỏ là sự thoả hiệp giữa thời gian và bộ nhớ
thể viết x = im + j với 0 i,j < m Từ đó x im j
Trang 24Hay (m i) j Vậy nên người ta có thể lập bảng (j,j) với 0 j < m Sau đó lần lượt tính (m)i với i lần lượt chạy từ 0 đến m – 1 và tra trong bảng (j,j) chừng nào có được đẳng thức (m i) j thì dừng lại
c) Thuật toán của Pollard
Đây là thuật toán ngẫu nhiên với cùng thời gian chạy như trong thuật toán bước đi lớn bước đi nhỏ nhưng không cần đến không gian lưu trữ nhiều
nghiệm Định nghĩa dãy các phần tử của nhóm x x x0 , , 1 2, … với x0=1 như sau:
xi+1= f (xi) def 2
i i i
x x x
Trang 25Với điều kiện là bi b2i (mod n) thì chúng ta có thể dễ dàng giải phương
trình đồng dư này để tính ra log Trên thực tế thì xác xuất để cho bi b2i (mod
n) là rất nhỏ và có thể bỏ qua
chân chữ này và vòng tròn phía trên chính là khi thuật toán rơi vào chu trình
d) Thuật toán Pohlig – Hellman
Thuật toán này tận dụng lợi thế của phân rã của cấp n của nhóm G Giả sử
1e 2e e r
r
tiếp cận này xác định xi = x mod pie i
với 1 i r và sau đó sử dụng thuật toán Gauss làm việc với định lý phần dư để tìm ra x mod n
Khi biết trước phân rã của n thì thời gian chạy của thuật toán Pohlig -
Hellman sẽ là o(r i1e i(logn p i))các phép toán nhóm Thuật toán này chỉ thực sự hiệu quả khi ước lượng nguyên tố pi của n tương đối nhỏ hay n là số nguyên mịn
Các thuật toán trên đây cho thấy một điều là chúng đều chạy trong thời gian hàm mũ thực sự theo số bit đầu vào Chính vì vậy mà chúng là không hiệu quả khi tấn công bài toán logarith rời rạc
f) Thuật toán tính chỉ số (Index-Calculus)
Thuật toán tính chỉ số là thuật toán mạnh nhất được biết đến khi đem tấn công bài toán logarith rời rạc Không phải nhóm nào cũng có thể áp dụng thuật
Trang 26toán tính chỉ số nhưng nếu áp dụng được thì nó cho chúng ta thời gian chạy là hàm tiểu mũ
Thuật toán tính logarith rời rạc đối với nhóm cyclic:
B1: Chọn cơ sở phân tích S: Chọn tập con S = {p p1, 2, ,p t} của G sao cho
“một tỷ lệ đáng kể” của tất cả các phần tử của G có thể được biểu diễn hiệu quả như là tích của các phần tử của S
B2: Chọn các quan hệ tuyến tính liên quan đến logarith của các phần tử của
i i p
B3: Tìm các logarith của các phương trình trong S: Tính theo mod n giải hệ phương trình có t + c phương trình với t ẩn số giống như trên tại bước 2 để đạt được logɑpi, với 1 i t
i i p
Trang 27Nếu cố gắng không đạt kết quả thì lặp lại bước B4.1 Ngược lại, lấy logarith
cả hai vế của đẳng thức thu được để đạt được :
Đối với trường GF(p) với số nguyên tố thì cơ sở phân tích được chọn sẽ là t
số nguyên tố đầu tiên Quan hệ phân rã trên cơ sở phân tích được sinh ra bằng
6 mod 229 = 176 = 24.11 12
6 mod 229 = 165 = 3.5.11 62
6 mod 229 = 154 = 2.7.11 143
6 mod 229 = 198 = 2.32.11 206
6 mod 229 = 210 = 2.3.5.7 Các quan hệ này mang lại 6 phương trình sau đây liên quan đến các phần tử trong cơ sở phân tích:
Trang 2812 = log6 + log6 + log6 (mod 228)
B3 : Giải hệ phương trình tuyến tính có sáu phương trình với năm ẩn số
Z2[x] có bậc cao nhất là n – 1 với phép nhân được thực hiện modulo một đa
thường để kiểm tra xem đa thức này có là tích của các đa thức trong S không
Ví dụ: Thuật toán tính logarith trên 7
* 2
F Đa thức f(x) = x7 + x + 1 bất khả
diễn là một tập của tất cả các đa thức trên Z2[x] có bậc cao nhất là 6 với các
* 2
F là n = 27 – 1 = 127 và =
* 2
F Giả sử = x4 + x3 + x2 + x + 1 Khi đó y = log
có thể được tính như sau sử dụng kỹ thuật tính chỉ số:
B1: Cơ sở phân tích được chọn là tập tất cả các đa thức bất khả quy trên
Z2[x] có bậc cao nhất là 3: S = {x, x + 1, x2 + x + 1, x3 + x + 1, x3 + x2 + 1 } B2: Năm quan hệ sau đây liên quan đến các phần tử của cơ sở phân tích đã đạt được:
Trang 29Thuật toán chỉ số trên GF(q) trong cả hai trường hợp q = p với p nguyên tố
và q = 2n đều có thời gian chạy kỳ vọng là Lq[1
2,c] với c>0 là hằng số Thời gian chạy kỳ vọng của thuật toán tính chỉ số là tiểu hàm mũ tốt hơn so với các
Trang 30thuật toán thời gian chạy là hàm mũ thực sự trước đây nhưng chưa phải là tốt nhất cả về lý thuyết và thực hành hiện nay
Người ta tìm ra những thuật toán là biến thể của thuật toán tính chỉ số theo nghĩa sử dụng những kỹ thuật toán học và môi trường tính toán đặc biệt để thiết
kế thành các thuật toán có thời gian chạy tốt hơn về lý thuyết và thực hành Một loại thuật toán như vậy chính là thuật toán sàng trường số với thời gian chạy là
Lq[1
i) Sàng trường số đặc biệt SNFS
Đối với trường hợp SNFS chúng ta biết tất cả mọi thông tin chi tiết về trường
số từ nhóm các đơn vị, số lớp, những phần tử sinh của ideal nguyên tố, … và trường hợp SNFS thường được áp dụng cho các số có dạng đặc biệt
– s với r, s là nhỏ Ngoài ra còn có thể xét đến một số biến thể của của p là những số có dạng tương tự như vậy Chẳng hạn chúng ta có thể mở rộng ra các
số p có dạng m.re – s với m, r, s là nhỏ
Do biết được những thông tin về cụ thể về trường số được xét nên việc tính toán sẽ thuận lợi hơn và nhiều kỹ thuật được áp dụng hơn Người ta có thể phân tích các số đại số ai - bi thành tích của các đại số trong cơ sở phân tích đại số
và các phần tử sinh trong nhóm đơn vị của vành các số nguyên đại số thay vì phải tính toán hình thức trên các ideal
Sau đó các đại số được sàng trên cả cơ sở phân tích hữu tỷ và cơ sở phân tích đại số và chỉ giữ lại các số đại số nào là mịn mà thôi Người ta dùng biến đổi đại số tuyến tính theo modulo (p-1) đối với các phần tử mịn trên cả cơ sở phân tích đại số và các phần tử sinh của nhóm đơn vị của vành các số nguyên đại số
i i i
hiển vì chúng ta đã biết rõ về cấu trúc đại số cần tính toán
Trang 31Do các cấu trúc đại số đã được biết rõ và tính toán là hiển nên phương pháp SNFS có năng suất hoạt động cao hơn so với phương pháp GNFS trên thực hành tính toán
Nhưng không phải kiểu số nguyên tố p nào chúng ta cũng có thể xây dựng được trường số đặc biệt tương ứng và do đó có thể áp dụng thuật toán tính chỉ
số cũng như các biến thể khác của nó
j) Sẵn sàng trường số tổng quát GNFS
Đối với trường hợp GNFS chúng ta giả thiết chỉ có những thông tin chung nhất như đã xét trên đây Trường hợp GNFS có thể áp dụng cho một số nguyên
tố p của bài toán
Do vậy, chúng ta không thể biết cấu trúc của nhóm đơn vị của vành các số nguyên đại số và cấu trúc sinh của các ideal nguyên tố Chúng ta buộc phải tính toán sàng tìm phần tử mịn bằng việc phân rã ideal thay vì phân rã các số đại số như đã được thực hiện trên đây
Tính toán hình thức như vậy sẽ kém hiệu quả hơn so với trường hợp SNSF nhưng bù lại phương pháp GNFS có thể áp dụng cho các loại trường hữu hạn GF(p) khác nhau
Trên thực tế ngoài cách áp dụng theo mô hình tính chỉ số người ta còn có thể
có những mô hình khác nữa và những cải tiến thực hành cài đặt để cho phương pháp sàng trường số trở thành hiện thực là phương pháp tốt nhất để tính logarith rời rạc trên GF(p) và GF(pn)
Nếu chúng ta có công thức tính độ phức tạp tính toán của thuật toán sàng trường số để tính logarith rời rạc trên GF(p) là:
1 64,
1, 33
Trang 32 (4.1)
pi là số nguyên tố đặc biệt Giá trị a = log được xác định một cách duy nhất
với s là một số nguyên nào đó
Bước đầu tiên của thuật toán tính a0 Kết quả chính ở đây là:
i c i i
Trang 33Tuy nhiên
1
1 1 1
c
i i
Do đó ta sẽ bắt đầu bằng việc tính (p-1)/q mod p Nếu (p-1)/q 1 (mod p) thì
a0=0 Ngược lại chúng ta sẽ tính liên tiếp các giá trị:
cho tới i (p-1)/q (mod p)
với một giá trị i nào đó Khi điều này xảy ra ta có a0 =i
Bây giờ nếu c = 1 thì ta đã thực hiện xong Ngược lại, nếu c > 1 thì phải tiếp tục xác định a1 Để làm điều đó ta phải xác định
Nếu c =2 thì công việc kết thúc; nếu không, phải lặp lại công việc này c-2 lần nữa để tìm a2, .,ac-1
Thuật toán 4.1 là mô tả giải mã của thuật toán Pohlig - Hellman Trong thuật toán này, là phần tử nguyên thuỷ theo modulo p, q là số nguyên tố
và
1 1 1
c
i i i
Trang 34Thuật toán tính các giá trị a0, , ac-1 trong đó: