- Việc cài đặt thử nghiệm phương pháp mã hóa bằng chữ ký số giúpcho việc đảm bảo an toàn dữ liệu trong quá trình gửi và nhận bản tin... - Tính toàn vẹn: Đảm bảo chỉ có các thực thể đã đư
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 VIỆN CÔNG NGHỆ THÔNG TIN
ĐỒNG THỊ THỎA
TÌM HIỂU MỘT SỐ PHƯƠNG PHÁP MÃ HÓA BẰNG CHỮ KÝ SỐ VÀ CÀI ĐẶT THỬ NGHIỆM
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Sư phạm Tin học
HÀ NỘI, 2019
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 VIỆN CÔNG NGHỆ THÔNG TIN
ĐỒNG THỊ THỎA
TÌM HIỂU MỘT SỐ PHƯƠNG PHÁP MÃ HÓA BẰNG CHỮ KÝ SỐ VÀ CÀI ĐẶT THỬ NGHIỆM
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Sư phạm Tin học
Người hướng dẫn khoa học
ThS Đỗ Thị Lan Anh
HÀ NỘI, 2019
Trang 3LỜI CẢM ƠN
Em xin chân thành cảm ơn ThS Đỗ Thị Lan Anh, giảng viên ViệnCông Nghệ Thông tin – Trường Đại học Sư phạm Hà Nội 2, người đãtrực tiếp hướng dẫn em trong suốt thời gian qua để em có thể hoàn thành khóaluận này
Em xin chân thành cảm ơn các thầy, cô giáo trong Viện Công NghệThông tin và các bạn lớp k41- Sư phạm Tin học đã tạo điều kiện, động viênkhích lệ em trong suốt quá trình học tập và nghiên cứu
Do thời gian nghiên cứu còn hạn chế nên những vấn đề mà em trìnhbày trong khóa luận sẽ không tránh khỏi những thiếu sót Em kính mong nhậnđược những ý kiến đóng góp từ thầy cô và các bạn để khóa luận của em đượchoàn thiện hơn
Em xin chân thành cảm ơn!
Hà Nội, ngày tháng 5 năm 2019
Tác giả
Đồng Thị Thỏa
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan khóa luận này được hoàn thành bằng sự cố gắng, nỗlực của bản thân, dưới sự hướng dẫn tận tình của ThS Đỗ Thị Lan Anh vàtham khảo một số tài liệu đã được ghi rõ nguồn
Khóa luận hoàn toàn không sao chép từ tài liệu có sẵn nào Kết quảnghiên cứu không trùng lặp với các tác giả khác
Nếu sai, tôi xin hoàn toàn chịu trách nhiệm!
Hà Nội, ngày tháng 5 năm 2019
Tác giả
Đồng Thị Thỏa
Trang 5MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT THÔNG TIN 3
1.1 Giới thiệu về an toàn và bảo mật thông tin 3
1.1.1 Lý do cần đảm bảo an toàn và bảo mật thông tin 3
1.1.2 Khái niệm an toàn và bảo mật thông tin 4
1.1.3 Nội dung của an toàn và bảo mật thông tin 4
1.1.4 Các chiến lược bảo vệ an toàn cho hệ thống 5
1.2 Vai trò của an toàn và bảo mật thông tin 7
1.3 Một số phương pháp mã hóa dữ liệu 8
1.3.1 Hệ mã hóa 9
1.3.2 Tiêu chuẩn đánh giá hệ mật mã 11
1.3.3 Phân loại hệ mã hóa 12
1.4 Các hệ mã hóa khóa bí mật 13
1.5 Các hệ mã hóa khóa công khai 20
1.5.1 Hệ mã hóa RSA 20
1.5.2 Hệ mã hóa Elgamal 21
CHƯƠNG 2: CHỮ KÝ SỐ 24
2.1 Tổng quan về chữ ký số 24
2.1.1 Giới thiệu 24
2.1.2 Khái niệm 25
2.1.3 Phân loại chữ ký số 25
2.1.4 Sơ đồ của chữ ký số 26
Trang 62.2.1 Khái niệm hàm băm 27
2.2.2 Đặc tính của hàm băm 27
2.2.3 Ứng dụng của hàm băm 27
2.2.4 Các tính chất của hàm băm 28
2.2.5 Một số hàm băm thông dụng 29
2.3 Một số phương pháp mã hóa bằng chữ ký số 32
2.3.1 Mã hóa bằng chữ ký RSA 32
2.3.2 Mã hóa bằng chữ ký Elgamal 34
2.3.3 Chữ ký mù theo Sơ đồ chữ ký RSA 36
CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM 38
3.1 Phát biểu bài toán 38
3.2 Yêu cầu bài toán 38
3.3 Giao diện chương trình 38
3.4 Đánh giá kết quả chương trình 41
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 42
TÀI LIỆU THAM KHẢO 43
Trang 7DANH MỤC CHỮ CÁI VIẾT TẮT
CSDL Cơ sở dữ liệu
CNTT Công nghệ thông tin
RSA Hệ thống mã và chứng thực do Ron Rivest, Adi Shamir, và
Leonard Adleman đề xuất
UCLN Ước chung lớn nhất
Trang 8DANH MỤC HÌNH VẼ
Hình 2.1: Giải thuật MD5 31
Hình 3.1: Giao diện chương trình chính 38
Hình 3.2: Giao diện của quá trình tạo khóa 39
Hình 3.3: Giao diện của quá trình làm mù báo cáo 39
Hình 3.4: Giao diện của quá trình ký 40
Hình 3.5: Giao diện của quá trình lấy lại chữ ký 40
Hình 3.6: Giao diện của quá trình lấy lại bản rõ 41
Trang 91 Lí do chọn đề tài
MỞ ĐẦU
Trang 10Với sự bùng nổ của mạng Internet hiện nay, mạng máy tính đang ngàycàng đóng vai trò thiết yếu trong mọi lĩnh vực hoạt động của toàn xã hội vàkhi nó trở thành phương tiện điều hành các hệ thống thì nhu cầu bảo mậtthông tin được đặt lên hàng đầu Việc sử dụng chữ ký số là một giải pháp hữuhiệu, ngày càng được ứng dụng nhiều trong thực tế, không chỉ giới hạn trongngành công nghệ thông tin, mật mã học mà còn được áp dụng nhiều trongnhững lĩnh vực khác như ngân hàng, viễn thông,…
Được sự đồng ý của ThS Đỗ Thị Lan Anh, em chọn đề tài “Tìm hiểu
một số phương pháp mã hóa bằng chữ ký số và cài đặt thử nghiệm” để làm đề
tài khóa luận tốt nghiệp của mình
2 Mục đích nghiên cứu
Từ việc tìm hiểu một số phương pháp mã hóa bằng chữ ký số để xâydựng mô phỏng kĩ thuật mã hóa bằng chữ ký số mù theo sơ đồ chữ ký RSA
3 Nhiệm vụ nghiên cứu
- Tìm hiểu an toàn và bảo mật thông tin
- Tìm hiểu một số phương pháp mã hóa bằng chữ ký số
- Cài đặt kỹ thuật mã hóa bằng chữ ký số mù theo sơ đồ chữ ký RSA
4 Đối tượng và phạm vi nghiên cứu
- Một số vấn đề cơ bản trong an toàn bảo mật thông tin
- Phương pháp mã hóa bằng chữ ký số
5 Ý nghĩa khoa học và thực tiễn của đề tài
- Phần nghiên cứu lí thuyết sẽ cung cấp một cách nhìn tổng quan về vấn
đề an toàn và bảo mật thông tin
- Việc cài đặt thử nghiệm phương pháp mã hóa bằng chữ ký số giúpcho việc đảm bảo an toàn dữ liệu trong quá trình gửi và nhận bản tin
Trang 116 Phương pháp nghiên cứu
- Phương pháp nghiên cứu lí thuyết: Phân tích, tổng hợp, tìm hiểu tài liệu cho phù hợp với nội dung của đề tài
- Phương pháp thực nghiệm: Xây dựng chương trình mô phỏng kĩ thuật
mã hóa bằng chữ ký số mù theo sơ đồ chữ ký RSA
7 Cấu trúc khóa luận
Ngoài phần mở đầu, kết luận, tài liệu tham khảo, phục lục khóa luậnbao gồm 3 chương:
Chương 1: Tổng quan về an toàn và bảo mật thông tin
Chương 2: Chữ ký số
Chương 3: Cài đặt chương trình thử nghiệm
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT THÔNG TIN 1.1 Giới thiệu về an toàn và bảo mật thông tin
1.1.1 Lý do cần đảm bảo an toàn và bảo mật thông tin
Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin việc ứngdụng các công nghệ mạng máy tính trở nên vô cùng phổ cập và cần thiết.Công nghệ mạng máy tính đã mang lại những lợi ích to lớn
Sự xuất hiện mạng Internet cho phép mọi người có thể truy cập, chia sẻ
và khai thác thông tin một cách dễ dàng và hiệu quả Các công nghệ E-mailcho phép mọi người có thể gửi thư cho người khác cũng như nhận thư ngaytrên máy tính của mình
Tuy nhiên lại nảy sinh vấn đề về an toàn thông tin Chúng ta nhận thấyrằng Internet không chỉ cho phép bạn truy nhập vào nhiều nơi trên thế giới,Internet còn cho phép nhiều người không mời mà tự ý ghé thăm máy tính củabạn
Thực vậy, Internet có những kỹ thuật tuyệt vời cho phép mọi ngườitruy nhập, khai thác, chia sẻ thông tin Những nó cũng là nguy cơ chính dẫnđến thông tin của bạn bị hư hỏng hoặc phá huỷ hoàn toàn Có những thông tin
vô cùng quan trọng mà việc bị mất hay bị làm sai lệch có thể ảnh hưởng đếncác tổ chức, các công ty hay cả một quốc gia Các thông tin về an ninh quốcgia, bí mật kinh doanh hay các thông tin tài chính là mục tiêu của các tổ chứctình báo nước ngoài về chính trị hay công nghiệp hoặc kẻ cắp nói chung Bọnchúng có thể làm mọi việc để có được những thông tin quý giá này Thửtưởng tượng nếu có kẻ xâm nhập được vào hệ thống chuyển tiền của các ngânhàng thì ngân hàng đó sẽ chịu những thiệt hại to lớn như mất tiền và có thểdẫn tới bị phá sản Chưa kể nếu hệ thông thông tin an ninh quốc gia bị đe doạthì hậu quả không thể lường trước được
Để giải quyết tình hình trên, với sự phát triển mạnh mẽ của Công nghệthông tin (CNTT), An toàn thông tin đã trở thành một vấn đề nghiên cứu quantrọng trong khoa học nói chung và CNTT nói riêng
Trang 131.1.2 Khái niệm an toàn và bảo mật thông tin
“An toàn và bảo mật thông tin là việc đảm bảo an toàn cho thông tingửi cũng như thông tin nhận, giúp xác nhận đúng thông tin khi nhận và đảmbảo không bị tấn công hay thay đổi thông tin khi truyền” [1]
Các phương pháp bảo vệ an toàn thông tin dữ liệu có thể được quy tụvào ba nhóm sau:
- Bảo vệ an toàn thông tin bằng các biện pháp hành chính
- Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật (phần cứng)
- Bảo vệ an toàn thông tin bằng các biện pháp thuật toán (phần mềm)
Ba nhóm trên có thể được ứng dụng riêng rẽ hoặc phối hợp Môi trườngkhó bảo vệ an toàn thông tin nhất và cũng là môi trường đối phương dễ xâmnhập nhất đó là môi trường mạng và truyền tin Biện pháp hiệu quả nhất vàkinh tế nhất hiện nay trên mạng truyền tin và mạng máy tính là biện phápthuật toán
1.1.3 Nội dung của an toàn và bảo mật thông tin
- Tính bí mật: Tính kín đáo riêng tư của thông tin
- Tính xác thực: Xác thực đúng thực thể cần kết nối để giao dịch, xácthực đúng thực thể có trách nhiệm về nội dung thông tin (xác thực đúngnguồn gốc của thông tin)
- Tính toàn vẹn: Đảm bảo chỉ có các thực thể đã được xác thực hóa mới
có thể thay đổi các tài sản của hệ thống cũng như các thông tin trên đườngtruyền
- Tính sẵn sàng: Đảm bảo tính 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 thực thể được phép bất cứ khi nào họ muốn
Để đảm bảo an toàn thông tin dữ liệu trên đường truyền tin và trênmạng máy tính có hiệu quả thì điều trước tiên là phải lường trước hoặc dựđoán trước các khả năng không an toàn, khả năng xâm phạm, các sự cố rủi ro
có thể xảy ra đối với thông tin dữ liệu được lưu trữ và trao đổi trên đường
Trang 14truyền tin cũng như trên mạng Xác định càng chính xác các nguy cơ nói trênthì càng quyết định được tốt các giải pháp để giảm thiểu các thiệt hại.
Có hai loại hành vi xâm phạm thông tin dữ liệu đó là vi phạm chủ động
và vi phạm thụ động Vi phạm thụ động chỉ nhằm mục đích cuối cùng là nắmbắt được thông tin (đánh cắp thông tin) Việc làm đó có khi không biết đượcnội dung cụ thể nhưng có thể dò ra được người gửi, người nhận nhờ thông tinđiều khiển giao thức chứa trong phần đầu các gói tin Kẻ xâm nhập có thểkiểm tra được số lượng, độ dài và tần số trao đổi Vì vậy vi pham thụ độngkhông làm sai lệch hoặc hủy hoại nội dung thông tin dữ liệu được trao đổi Viphạm thụ động thường khó phát hiện nhưng có thể có những biện pháp ngănchặn hiệu quả Vi phạm chủ động là dạng vi phạm có thể làm thay đổi nộidung, xóa bỏ, làm trễ, sắp xếp lại thứ tự hoặc làm lặp lại gói tin tại thời điểm
đó hoặc sau đó một thời gian Vi phạm chủ động có thể thêm vào một sốthông tin ngoại lai để làm sai lệch nội dung thông tin trao đổi Vi phạm chủđộng dễ phát hiện nhưng để ngăn chặn hiệu quả thì khó khăn hơn nhiều
Một thực tế là không có một biện pháp bảo vệ an toàn thông tin dữ liệunào là an toàn tuyệt đối Một hệ thống dù được bảo vệ chắc chắn đến đâucũng không thể đảm bảo là an toàn tuyệt đối
1.1.4 Các chiến lược bảo vệ an toàn cho hệ thống [1]
- Giới hạn quyền hạn tối thiểu (Last Privilege): Đây là chiến lược cơbản nhất theo nguyên tắc này bất kỳ một đối tượng nào cùng chỉ có nhữngquyền hạn nhất định đối với tài nguyên mạng, khi thâm nhập vào mạng đốitượng đó chỉ được sử dụng một số tài nguyên nhất định
- Bảo vệ theo chiều sâu (Defence In Depth): Trong một hệ thống mạng,nên tạo cơ chế an toàn để tương hỗ lẫn nhau
- Nút thắt (Choke Point): Tạo ra nút thắt cho hệ hệ thống để cho phépthông tin đi vào hệ thống bằng con đường duy nhất vì vậy phải tổ chức một
cơ cấu kiểm soát và điều khiển thông tin đi qua nút thắt này song phải chú ýđến mức độ an toàn vật lý của hệ thống mạng máy tính
- Điểm nối yếu nhất (Weakest Link): Chiến lược này dựa trên nguyên
Trang 15yếu nhất” Kẻ phá hoại thường tìm những chỗ yếu nhất của hệ thống để tấncông, do đó ta cần phải gia cố các yếu điểm của hệ thống.
- Tính toàn cục: Các hệ thống an toàn đòi hỏi phải có tính toàn cục củacác hệ thống cục bộ Nếu có một kẻ nào đó có thể bẻ gãy một cơ chế an toànthì chúng có thể thành công bằng cách tấn công hệ thống tự do của ai đó vàsau đó tấn công hệ thống từ nội bộ bên trong
- Tính đa dạng bảo vệ: Cần phải sử dụng nhiều biện pháp bảo vệ khácnhau cho hệ thống khác nhau, nếu không có kẻ tấn công vào được một hệ thống thì chúng cũng dễ dàng tấn công vào các hệ thống khác
Vì không thể có một giải pháp an toàn tuyệt đối nên người ta thườngphải sử dụng đồng thời nhiều mức bảo vệ khác nhau tạo thành nhiều hàng ràochắn đối với các hoạt động xâm phạm Việc bảo vệ thông tin trên mạng chủyếu là bảo vệ thông tin cất giữ trong máy tính, đặc biệt là các server trênmạng Bởi thế ngoài một số biện pháp nhằm chống thất thoát thông tin trênđường truyền mọi cố gắng tập trung vào việc xây dựng các mức rào chắn từngoài vào trong cho các hệ thống kết nối vào mạng Thông thường bao gồmcác mức bảo vệ sau:
- Quyền truy cập: Là lớp bảo vệ trong cùng nhằm kiểm soát các tàinguyên của mạng và quyền hạn trên tài nguyên đó
- Đăng ký tên/mật khẩu: Mỗi người sử dụng muốn được tham gia vàomạng để sử dụng tài nguyên đều phải có đăng ký tên và mật khẩu trước.Người quản trị mạng có trách nhiệm quản lý, kiểm soát mọi hoạt động củamạng và xác định quyền truy cập của những người sử dụng khác theo thờigian và không gian (nghĩa là người sử dụng chỉ được truy cập trong mộtkhoảng thời gian nào đó tại một vị trí nhất định nào đó)
- Mã hóa dữ liệu: Để bảo mật thông tin trên đường truyền người ta sửdụng các phương pháp mã hoá Dữ liệu bị biến đổi từ dạng nhận thức đượcsang dạng không nhận thức được theo một thuật toán nào đó và sẽ được biếnđổi ngược lại ở trạm nhận (giải mã) Đây là lớp bảo vệ thông tin rất quantrọng
Trang 16- Bảo vệ vật lý: Ngăn cản các truy nhập vật lý vào hệ thống Thườngdùng các biện pháp truyền thống như ngăn cấm tuyệt đối người không phận
sự vào phòng đặt máy mạng, dùng ổ khoá trên máy tính hoặc các máy trạmkhông có ổ mềm
- Ngăn chặn thâm nhập trái phép và lọc bỏ các gói tin không muốn gửihoặc nhận vì các lý do nào đó để bảo vệ một máy tính hoặc cả mạng nội bộ
- Quản trị mạng: quản trị mạng máy tính phải được thực hiện một cáchkhoa học đảm bảo các yêu cầu sau:
+ Toàn bộ hệ thống hoạt động bình thường trong giờ làm việc
+ Có hệ thống dự phòng khi có sự cố trong giờ làm việc
+ Backup dữ liệu quan trọng theo định kỳ
+ Bảo dưỡng mạng theo định kỳ
+ Bảo mật dữ liệu, phân quyền truy cập, tổ chức nhóm làm việc trênmạng
1.2 Vai trò của an toàn và bảo mật thông tin
Thông tin được coi là dữ liệu vô cùng quan trọng đối với mọi doanhnghiệp, tổ chức hay cá nhân Để có được thông tin, dữ liệu đó, người dùngphải đánh đổi bằng nhiều thứ Chính vì thế, bảo mật thông tin là điều vô cùngquan trọng và luôn được quan tâm sâu sắc
Việc đảm bảo an toàn thông tin, an ninh mạng cho các hệ thống thôngtin, các hệ thống mạng tin học, viễn thông tại các cơ quan nhà nước đang làchủ đề nóng và luôn nhận được sự quan tâm đặc biệt của các ngành, các cấplãnh đạo Thực tế cho thấy hầu hết các cuộc xung đột chính trị, kinh tế hayquân sự ngày nay đều có sự tham gia của yếu tố công nghệ cao Vì thế mất antoàn thông tin không chỉ ảnh hướng đến sự phát triển kinh tế, chính trị mà cònảnh hưởng lớn đến hòa bình và chủ quyền lãnh thổ của một quốc gia
Đất nước ta là một quốc gia đang phát triển, do vậy nước ta đang đứngtrước nhiều thách thức về vấn đề an ninh mạng Tại nước ta gần đây xuất hiệnnhiều hiện tượng đang ở mức báo động cao như lừa đảo qua mạng, đánh cắp
Trang 17thông tin và dữ liệu nhạy cảm, xâm nhập máy tính, hệ thống thông tin bất hợppháp, xuất hiện nhiều phần mềm gián điệp Để đối phó với tình hình an toànthông tin ở mức báo động như hiện nay nước ta cần phải tập trung đào tạonguồn nhân lực chất lượng cao và có đạo đức nghề nghiệp về an toàn thôngtin Các tổ chức, đơn vị trong các cơ quan nhà nước cần phải đặt vấn đề antoàn, an ninh thông tin là một vấn đề quan trọng và cấp thiết, cần đẩy mạnhyếu tố bảo mật cho các hệ thống thông tin, hạn chế sử dụng và cài đặt cácphần mềm, các chương trình không rõ nguồn gốc vào các hệ thống máy tính.
Tóm lại, việc đảm bảo an toàn thông tin trong thời đại tin học hóa nhưhiện nay đóng vai trò hết sức quan trọng và cần thiết Điều này không chỉgiúp cho đất nước ta ngày càng phát triển về mặt khoa học kỹ thuật, thúc đẩy
sự phát triển nền kinh tế mà còn giúp cho đất nước ta ổn định về mặt chính trị
và quốc phòng – an ninh
1.3 Một số phương pháp mã hóa dữ liệu
Theo [2] Để đảm bảo tính bí mật và xác thực của thông tin lưu trữ
cố định hay thông tin trên đường truyền, người ta phải che dấu các thông tin
đó Việc che dấu thông tin là biến đổi thông tin gốc có thể hiểu được thànhnhững từ, ký hiệu ở dạng bí mật mà người khác không thể hiểu được Những
từ ngữ, ký tự của văn bản gốc có thể hiểu được sẽ cấu thành nên bản rõ, cònnhững từ, ký tự ở dạng bí mật không thể hiểu được thì được gọi là bản mã.Quá trình trên được gọi là mã hóa dữ liệu
V
ai t r ò c ủ a m ã h ó a d ữ l i ệ u :
- Hệ mật mã phải che dấu được nội dung của văn bản rõ để đảm bảosao cho chỉ người chủ hợp pháp của thông tin mới có quyền truy cập thôngtin, hay nói cách khác là chống truy cập không đúng quyền hạn
- Tạo ra các yếu tố xác thực thông tin, đảm bảo thông tin lưu hànhtrong hệ thống đến người nhận hợp pháp là xác thực
- Tổ chức các sơ đồ chữ ký điện tử, đảm bảo không có hiện tượng giảmạo, mạo danh để gửi thông tin trên mạng
Có hai phương thức mã hóa cơ bản đó là thay thế và hoán vị:
Trang 18- Phương thức mã hóa thay thế là phương thức mã hóa mà từng ký tựgốc hay một nhóm ký tự gốc của bản rõ được thay thế bởi các từ, các ký hiệu khác.
- Phương pháp mã hóa hoán vị là phương thức mã hóa mà các từ mãcủa bản rõ được sắp xếp theo một phương thức nhất định
1.3.1 Hệ mã hóa
Theo [1] Một số khái niệm cơ bản về mã hóa:
- Bản rõ X là bản tin gốc, bản rõ có thể được chia nhỏ có kích thướcphù hợp
- Bản mã Y là bản tin gốc đã được mã hoá Ở đây ta thường xét phươngphá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
- 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ầubảo mật
- Mã hoá là quá trình chuyển bản rõ thành bản mã, thông thường baogồ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èmtheo
- 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
- Mật mã là một chuyên ngành 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
- Thám mã là phương pháp nghiên cứu các nguyên lý và phương phápgiải mã mà không biết khoá Thông thường khi đưa các mã mạnh ra làmchuẩ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ápgiải một phần bản mã với các thông tin không đầy đủ
Trang 19- Khái niệm mã hóa dữ liệu: “Mã hóa dữ liệu là chuyển dữ liệu từ dạngnày sang dạng khác hoặc sang dạng code mà chỉ có người có quyền truy cậpvào khóa giải mã hoặc có mật khẩu mới có thể đọc được nó”.
a, Các thành phần của một hệ mã hóa
Một hệ mã hóa là một bộ năm (P, C, K, E, D) thoả mãn các điều kiện
Trang 20mã hóa và bản mã nhận được sau đó giải mã bằng hàm thì kết quả nhậnđược phải là bản rõ ban đầu Rõ ràng trong trường hợp này, hàm (x) phải làmột đơn ánh, nếu không thì ta sẽ không giải mã được Vì nếu tồn tại vàsao cho y = ( ) = ( ) thì khi nhận được bản mã y ta không biết nóđược mã từ hay
Thường thì không gian các bản rõ và không gian các bản mã là các vănbản được tạo thành từ một bộ chữ cái nào đó Đó có thể là bộ chữ cái tiếngAnh, bộ mã ASCII, bộ mã Unicode hoặc đơn giản nhất là các bit 0 v+à 1
Trang 21Người gửi G muốn gửi bản tin T cho người nhận N Để bảo đảm bímật, G mã hóa bản tin bằng khóa lập mã ke, nhận được bản mã (T) sau đógửi cho N Tin tặc có thể trộm bản mã (T) nhưng cũng khó hiểu được bảntin gốc T nếu không có khóa giải mã kd.
Người N nhận được bản mã, họ dùng khóa giải mã kd, để giải mã(T) , sẽ nhận được bản tin gốc T= (T)
1.3.2 Tiêu chuẩn đánh giá hệ mật mã
Để đánh giá một hệ mã hóa người ta thường đánh giá thông qua cáctính chất sau:
a, Độ an toàn:
Một hệ mã hóa được đưa vào sử dụng, điều đầu tiên phải có độ an toàncao Ưu điểm của mã hóa là có thể đánh giá được độ an toàn thông qua độ antoàn tính toán mà không cần phải cài đặt Một hệ mã hóa được coi là an toànnếu để phá hệ mã hóa này phải dùng n phép toán Mà để giải quyết n phéptoán cần thời gian vô cùng lớn, không thể chấp nhận được Một hệ mã hóađược gọi là tốt thì nó cần phải đảm bảo các tiêu chuẩn sau:
- Chúng phải có phương pháp bảo vệ mà chỉ dựa trên sự bí mật của cáckhóa, công khai thuật toán
- Khi cho khóa công khai và bản rõ P thì dễ dàng tính được (P) =
C Ngược lại khi cho và bản mã C thì dễ dàng tính được (M)=P Khikhông biết thì không có khả năng tìm được M từ C, nghĩa là khi cho hàmf: X → Y thì việc tính y = f(x) với mọi x X là dễ còn việc tìm x khi biết ylại là vấn đề khó và nó được gọi là hàm một chiều
- Bản mã C không được có các đặc điểm gây chú ý, nghi ngờ
b, Tốc độ mã và giải mã:
Khi đánh giá hệ mã hóa chúng ta phải chú ý đến tốc độ mã hóa và giải
mã Hệ mã hóa tốt thì thời gian mã hóa và giải mã nhanh
c, Phân phối khóa:
Một hệ mã hóa phụ thuộc vào khóa, khóa này được truyền công khaihay truyền khóa bí mật Phân phối khóa bí mật thì chi phí sẽ cao hơn so với
Trang 22các hệ mã hóa có khóa công khai Vì vậy đây cũng là một tiêu chí khi lựachọn hệ mã hóa.
1.3.3 Phân loại hệ mã hóa
Theo [2] Hiện nay có 2 phương pháp mã hóa chính: Mã hóa khóa đối xứng và mã hóa khóa công khai
Hệ mã hóa khóa đối xứng có khóa lập mã và khóa giải mã “giốngnhau”, biết được khóa này thì dễ tính được khóa kia Vì vậy phải giữ bí mật
cả 2 khóa
Hệ mã hóa khóa công khai có khóa lập mã khác khóa giải mã (ke kd), biết được khóa này cũng khó tính được khóa kia Vì vậy chỉ cần bí mật khóa giải mã, còn công khai khóa lập mã
a, Hệ mã hóa khóa đối xứng
“Mã hóa khóa đối xứng (còn gọi là hệ mã khoá bí mật hoặc khoáriêng): là hệ mã hóa mà biết được khóa lập mã thì có thể tính được khóa giải
mã và ngược lại” Trước khi dùng hệ mã hóa khóa đối xứng, người gửi vàngười nhận phải thỏa thuận thuật toán mã hóa và khóa chung (lập mã hay giảimã), khóa phải được giữ bí mật Độ an toàn của hê mã hóa này phụ thuộc vàokhóa
Trang 23+ Vấn đề thỏa thuận khóa và quản lí khóa chung là khó khăn và phứctạp Người gửi và người nhận phải luôn thống nhất với nhau về khóa Việcthay đổi khóa là rất khó và dễ bị lộ Khóa chung phải được gửi cho nhau trênkênh an toàn.
Trang 24b, Hệ mã hóa khóa công khai
“Mã hóa khóa công khai là hệ mã hóa có khóa lập mã và khóa giải mãkhác nhau (ke kd), biết được khóa này cũng khó tính được khóa kia”
Hệ mã hóa này được gọi là Hệ mã hóa khóa công khai vì:
- Khóa lập mã cho công khai, gọi là khóa công khai
- Khóa giải mã giữ bí mật, gọi là khóa riêng hay khóa bí mật
- Một người bất kì có thể dùng khóa công khai để mã hóa bản tin,nhưng chỉ người nào đó có đúng khóa giải mã thì mới có khả năng đọc đượcbản rõ
Người gửi có bản rõ P và khóa công khai thì dễ tạo ra bản mã C
Người nhận có bản mã C và khóa bí mật thì dễ giải được thành bản rõ P
+ Người mã hóa dùng khóa công khai, người giải mã giữ khóa bí mật Khả năng lộ khóa bí mật khó hơn vì chỉ có một người giữ gìn
Nhược điểm: Tốc độ mã hóa và giải mã chậm hơn hệ mã hóa khóa đối
xứng
1.4 Các hệ mã hóa khóa bí mật
Hệ mã hóa khóa bí mật hay còn gọi là hệ mã hóa khóa đối xứng
Hệ mã hóa đối xứng – cổ điển
Khái niệm: “Hệ mã hóa đối xứng được dùng từ rất sớm nên được gọi là
Hệ mã hóa đối xứng cổ điển”
Hệ mã hóa đối xứng cổ điển: dễ hiểu, dễ thực thi, nhưng có độ an toànkhông cao Vì giới hạn tính toán chỉ trong phạm vi bảng chữ cái, sử dụng
Trang 25hóa cổ điển, nếu biết khóa lập mã hay thuật toán lập mã, có thể dễ xác định được bản rõ, vì dễ tìm được khóa giải mã.
Quá trình Lập mã được thực hiện theo các bước sau:
1/ Nhập bản rõ kí tự: RÕ_CHỮ 2/ Chuyển RÕ_CHỮ RÕ_SỐ.3/ Chuyển RÕ_SỐ MÃ_SỐ 4/ Chuyển MÃ_SỐ MÃ_CHỮ.Quá trình Giải mã được thực hiện theo các bước sau:
1/ Nhập bản mã ký tự: MÃ_CHỮ 2/ Chuyển MÃ_CHỮ MÃ_SỐ.3/ Chuyển MÃ_SỐ RÕ_SỐ 4/ Chuyển RÕ_SỐ RÕ_CHỮ
Để chuyển CHỮ sang SỐ hay ngược lại từ SỐ trở về CHỮ theo một quy tắc nào đó, ví dụ chữ cái thay bằng số theo modulo 26 như sau:
Mã hóa cổ điển gồm nhiều hệ:
Hệ mã hóa dịch chuyển: Khóa có 1 chìa (Thể hiện bằng 1 giá trị)
Hệ mã Affine: Khóa có 2 chìa (Thể hiện bằng 2 giá trị)
Hệ mã hóa thay thế: Khóa có 26 chìa (Thể hiện bằng 16 giá trị) Hệ mã hóa VIGENERE: Khóa có m chìa (Thể hiện bằng m giá trị) Hệ mã hóa HILL: Khóa có ma trận chìa (Chùm chìa khóa)
Trang 26ộ an to à n : Độ an toàn của mã dịch chuyển rất thấp
Tập khóa K chỉ có 26 khóa, nên việc phá khóa có thể thực hiện dễdàng bằng cách thử kiểm tra từng khóa: k = 1, 2, 3, …, 26
b, Hệ mã hóa: Thay thế (Hoán vị toàn cục)
Sơ
đ ồ
Đặt P = C = Bản mã y và bản rõ x
Tập khóa K là tập mọi hoán vị trên
Với khóa k = K, tức là 1 hoán vị trên , ta định nghĩa:
Trang 27Giải mã theo công thức x = (y) = (y), ta nhận lại được bản rõ chữ.Đ
ộ an to à n : Độ an toàn của mã thay thế thuộc loại cao
Tập khóa K có 26! Khóa (>4 ), nên việc phá khóa có thể thực hiện bằng cách duyệt tuần tự 26! Hoán vị của 26 chữ cái
Để kiểm tra tất cả 26! Khóa, tốn rất nhiều thời gian
c, Hệ mã hóa AFFINE
Sơ
đ ồ
Đặt P = C = Bản mã y và bản rõ x
Tập khóa K = {(a, b), với a, b , UCLN (a, 26) = 1}
Với khóa K = (a, b) K, ta định nghĩa:
Mã hóa: y = (x) = (ax + b) mod 26
Giải mã: x = (y) = (y – b) mod 26
Đ
ộ an to à n: độ an toàn của hệ mã hóa Affine rất thấp
+ Điều kiện UCLN (a, 26) = 1 để bảo đảm a có phần tử nghịch đảomod 26, tức là thuật toán giải mã luôn thực hiện được
+ Số lượng a nguyên tố với 26 là (26) =12, đó là
Trang 28Các số nghịch đảo theo (mod 26) tương ứng:
1, 9, 21, 15, 3, 19, 7, 23, 11, 5, 17, 25+ Số lượng b là 26
+ Số các khóa (a, b) có thể là 12*26 = 312 Vì vậy việc tìm khóa mậtkhá dễ dàng
Mã hóa Y = (y1, y2, …, ym) = (x1, x2,…, xm) = (x1+ k1, x2 + k2,
Mã hóa: Chia bản rõ thành các đoạn, mỗi đoạn gồm m = 5 số
Với mỗi đoạn, áp dụng công thức mã hóa, ta nhận được bản mã số.2
8 13
18
15
191
Trang 29Tập khóa K là tập tất cả các hoán vị của {1, 2, , m}.
Với mỗi khóa k = , k = (k1, k2,…, km) gồm m phần tử, ta định
Trang 30(y
y2,
ym