Đăng ký Đăng nhập
Trang chủ Chữ ký số và các vấn đề bảo mật thông tin...

Tài liệu Chữ ký số và các vấn đề bảo mật thông tin

.PDF
88
208
78

Mô tả:

ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN  Nguyễn Thị Hồng Minh CHỮ KÝ SỐ VÀ CÁC VẤN ĐỀ BẢO MẬT THÔNG TIN LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2010 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN  Nguyễn Thị Hồng Minh CHỮ KÝ SỐ VÀ CÁC VẤN ĐỀ BẢO MẬT THÔNG TIN Chuyên ngành: Khoa học máy tính Mã số: 604801 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. Đoàn Văn Ban Thái Nguyên - 2010 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI CAM ĐOAN Tôi xin cam đoan bản luận văn “Chữ ký số và các vấn đề bảo mật thông tin” là công trình nghiên cứu của tôi, dƣới sự hƣớng dẫn khoa học của PGS.TS Đoàn Văn Ban, tham khảo các nguồn tài liệu đã đƣợc chỉ rõ trong trích dẫn và danh mục tài liệu tham khảo. Các nội dung công bố và kết quả trình bày trong luận văn này là trung thực và chƣa đƣợc ai công bố trong bất kỳ công trình nào. Thái nguyên, ngày 10 tháng 10 năm 2010 Nguyễn Thị Hồng Minh Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI CẢM ƠN Trƣớc tiên tôi xin gửi lời cảm ơn chân thành nhất đến thầy PGS. TS Đoàn Văn Ban đã định hƣớng và nhiệt tình hƣớng dẫn, giúp đỡ tôi rất nhiều về mặt chuyên môn trong quá trình làm luận văn. Tôi xin gửi lời biết ơn sâu sắc đến các thầy, các cô đã dạy dỗ và truyền đạt những kinh nghiệm quý báu cho chúng tôi trong suốt hai năm học cao học tại khoa Công nghệ thông tin - Đại học Thái Nguyên. Tôi xin cảm ơn bạn bè, đồng nghiệp và gia đình, những ngƣời luôn gần gũi động viên, chia sẻ cùng tôi trong suốt thời gian làm luận văn tốt nghiệp. Thái Nguyên, tháng 11 năm 2010 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn MỤC LỤC LỜI CAM ĐOAN ................................................................................................. LỜI CẢM ƠN ....................................................................................................... MỤC LỤC ............................................................................................................ DANH MỤC CÁC TỪ VIẾT TẮT ........................................................................... 5 DANH MỤC CÁC HÌNH .......................................................................................... 6 CÁC KÍ HIỆU DÙNG TRONG LUẬN VĂN........................................................... 7 Mở đầu .................................................................................................................... 8 1. Lý do chọn đề tài .................................................................................................... 8 2. Mục tiêu nghiên cứu ............................................................................................... 9 3. Phƣơng pháp nghiên cứu ...................................................................................... 10 4. Tổng quan luận văn .............................................................................................. 10 Chương 1: Một số hệ mật mã khoá thông dụng ................................................ 12 1.1 Giới thiệu ............................................................................................................ 12 1.2 Hệ mã khoá bí mật ............................................................................................. 13 Hệ mã DES/ AES ................................................................................................. 13 1.3 Hệ mã hoá công khai .......................................................................................... 17 1.3.1 Các khái niệm cơ bản .................................................................................. 17 1.3.2 Một số khái niệm toán học cơ sở ................................................................ 18 1.3.3 Các nguyên lý của hệ mật khoá công khai .................................................. 23 1.3.4 Hệ mã logarithm rời rạc .............................................................................. 26 1.3.5 Hệ ElGamal ................................................................................................. 28 1.3.6 Hệ RSA ....................................................................................................... 29 1.4 Độ an toàn của RSA ........................................................................................... 34 1.4.1 Tạo vỏ bọc an toàn cho văn bản .................................................................. 35 1.4.2 Xác thực chủ thể .......................................................................................... 36 1.5 Quản lý khoá ...................................................................................................... 36 1.5.1 Phân phối khoá cho giải thuật mật mã đối xứng ......................................... 37 1.5.2 Phân phối khoá cho giải thuật mật mã không đối xứng .............................. 39 1.5.3 Phát sinh và lƣu giữ khoá bí mật ................................................................. 42 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 1.6 Kết luận chƣơng .............................................................................................. Chương 2: Chữ ký số .......................................................................................... 2.1 Giới thiệu ........................................................................................................ 2.2 Xác thực thông báo và các hàm xác thực ....................................................... 2.2.1 Xác thực thông báo ...................................................................................... 2.2.2 Các hàm xác thực ........................................................................................ 50 2.3 Chữ ký số ........................................................................................................... 57 2.3.1 Chữ ký số dùng mật mã khoá công khai ..................................................... 57 2.3.2 Lƣợc đồ chữ ký số ....................................................................................... 61 2.4 Các kiểu tấn công vào lƣợt đồ chữ ký ................................................................ 70 2.5 Kết luận chƣơng ................................................................................................. 70 2.5.1 Tính pháp lý và ứng dụng chữ ký số trong và ngoài nước .................... 71 Chương 3: Cài đặt demo chương trình .............................................................. 76 3.1 Lĩnh vực ứng dụng của chƣơng trình ................................................................. 76 3.2 Chức năng của chƣơng trình .............................................................................. 76 3.2.1 Phần bảo mật thông tin ................................................................................ 76 3.2.2 Phần chữ ký số ............................................................................................ 77 3.3 Một số màn hình giao diện của chƣơng trình..................................................... 77 3.4 Kết luận chƣơng ................................................................................................. 81 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn DANH MỤC CÁC TỪ VIẾT TẮT AES Advance Encryption Standard ASCII American Standard Code Interchange ANSI American National Standards Institute CA Certificate Authority DES Data Encryption Standard FIPS Federal Information Processing Standard 46 IDEA International Data Encryption Algorithm IEEE Institute of Electrical and Electronic Engineers ITU International Telecommunication Union ISO International Organization for Standardization MAC Message Authentication Code MARS Multicast Address Resolution Server MD5 Message Digest 5 NIST National Institute Of Standards And Technology OCSP Online Certificate Status Protocol PKI public-key infrastructures RSA Rivest, Shamir, Adleman SHA Secure Hash Algorithm TCP/IP Transfer Control Protocol/Internet Protocol URL Uniform Resource Locator for Infornation Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn DANH MỤC CÁC HÌNH Trang Hình 1.1 Thuật toán giải mã của hệ DES ................................................ 14 Hình 1.2 Sơ đồ khối nguyên lý hoạt động của mật mã khoá công khai . 25 Hình 1.3 Minh hoạ quá trình mã hoá khoá công khai ............................ 31 Hình 1.4 Sơ đồ phân bố khóa của một network với một CKD ............... 36 Hình 1.5 Sơ đồ phân bố khóa của một network với KD ......................... 49 Hình 1.6 Sơ đồ kiểm tra khoá .................................................................. 42 Hình 1.7 Sơ đồ bảo vệ khoá ..................................................................... 43 Hình 2.1 (a) Lược đồ mã hoá thông báo ................................................... 48 Hình 2.1(b) Mã hoá khoá công khai: xác thực và chữ ký ......................... 49 Hình 2.1(c) Mã hoá khoá công khai: Bí mật, xác thực và chữ ký ............. 49 Hình 2.2 (a) Xác thực thông báo ................................................................ 50 Hình 2.2 (b) Bí mật và xác thực thông báo:Xác thực đối với bản rõ ........ 50 Hình 2.2 (c) Xác thực đối với bản mã ........................................................ 50 Hình 2.3 Sơ đồ nguyên lý hoạt động của chữ ký số ............................... 56 Hình 2.4 Sơ đồ tạo và kiểm tra chữ ký số .............................................. 57 Hình 2.5 Sơ đồ quy trình ký ..................................................................... 60 Hình 2.6 Sơ đồ quy trình xác minh chữ ký ............................................. 60 Hình 2.7 Tổng quan về chữ ký số với khôi phục thông điệp.................... 62 Hình 2.8 Lược đồ tổng quan của chữ ký số với khôi phục thông điệp ... 62 Hình 3.1 Vấn đề chứng thực thông qua trung gian ................................. 75 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn CÁC KÍ HIỆU DÙNG TRONG LUẬN VĂN C Bản mã.  Không gian các bản mã. D, Dk Hàm giải mã, hàm giải mã với khoá k. d, dA Số mũ giải mã, số mũ giải mã của cá thể A. E, Ek Hàm mã hoá, hàm mã hoá với khoá k. e, eA Số mũ mã hoá, số mũ mã hoá của cá thể A. IDA Định danh của cá thể A. k Khoá mã.  Không gian bản rõ P Bản tin rõ.  Hàm số hoá bản rõ.   Zn (n; e) Cặp số : n, e là các số nguyên dƣơng. (e, d) Ƣớc chung lớn nhất của hai số nguyên dƣơng e và d. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Mở đầu 1. Lý do chọn đề tài Internet ngày nay đã trở thành mạng truyền dữ liệu đƣợc sử dụng phổ biến trên toàn thế giới. Nó đƣợc sử dụng để truyền thƣ điện tử, truy cập các website, kết nối tới các trƣờng học, công sở, giám sát hệ thống từ xa, truyền tệp... Trong tƣơng lai, Internet sẽ trở thành môi trƣờng truyền thông phổ cập cho toàn thế giới. Rõ ràng tiềm năng của mạng Internet là rất lớn nhƣng nó lại bị hạn chế bởi thiết kế mở của mình. Nhƣ ta biết giao tiếp qua Internet chủ yếu sử dụng giao thức TCP/IP. Các gói tin truyền từ điểm nguồn tới điểm đích sẽ đi qua rất nhiều máy tính trung gian, vì vậy nó rất dễ bị xâm phạm, can thiệp, theo dõi và giả mạo trên đƣờng truyền và biện pháp bảo mật bằng mật khẩu là không đảm bảo vì có thể bị nghe trộm hoặc bị dò ra nhanh chóng; vì thế đã chuyển sang xu hƣớng mã hoá. Nhờ thông tin đƣợc ngƣời gửi mã hoá trƣớc khi truyền qua mạng Internet nên dù kẻ trộm có “chặn” cũng không thể đọc. Khi tới đích, ngƣời nhận sẽ sử dụng một công cụ đặc biệt để giải mã. Phƣơng pháp mã hoá và bảo mật phổ biến nhất đang đƣợc thế giới áp dụng là chữ ký số (Digital signature). Với chữ ký số, ngƣời sử dụng có thể mã hoá thông tin một cách hiệu quả, chống giả mạo, xác thực danh tính ngƣời gửi. Ngoài ra chữ ký số còn là bằng chứng giúp chống chối cãi nguồn gốc, ngăn chặn ngƣời gửi chối cãi nguồn gốc tài liệu mình đã gửi. Đối với các hoạt động trên môi trƣờng mạng ngày càng phát triển nhƣ hiện nay, chữ ký số là một hình thức để bảo đảm tính pháp lý của các cam kết. Mặt Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn khác, việc giao dịch bằng các thông điệp điện tử nói chung và giao dịch ở dạng số nói riêng đã đƣợc luật hoá bằng Luật Giao dịch điện tử; Vì vậy, cần tìm hiểu, nghiên cứu về chữ ký số để tham mƣu cho lãnh đạo trong việc bảo mật văn bản điện tử. Nhận thấy tính thiết thực của vấn đề này và đƣợc sự gợi ý của giáo viên hƣớng dẫn, em đã chọn đề tài “Chữ ký số và các vấn đề bảo mật thông tin” 2. Mục tiêu nghiên cứu Nghiên cứu các giải pháp mã hoá để bảo mật thông tin và những phƣơng pháp, kỹ thuật tạo chữ ký số trên các tài liệu, văn bản điện tử để xác thực nguồn gốc tài liệu hay văn bản của ngƣời gửi. Xây dựng một chƣơng trình ứng dụng có khả năng bảo mật nội dung thông tin dƣới dạng văn bản điện tử, tạo chữ ký trên văn bản điện tử cần thiết và chứng thực chữ ký số trên văn bản điện tử góp phần phục vụ những ngƣời quản lý đơn vị trao đổi thông tin mật với các đối tác, điều hành công việc từ xa. Hai mục tiêu trên được thực hiện cụ thể bằng các công việc sau: - Tìm hiểu những cơ sở toán học, độ phức tạp của thuật toán và các thuật toán thƣờng đƣợc sử dụng trong các hệ mật mã khoá công khai. - Nghiên cứu tìm hiểu lý thuyết chung về nguyên lý, hoạt động và ứng dụng của hệ mật mã khoá công khai. - Nghiên cứu tìm hiểu cụ thể các hệ mật khoá công khai đang đƣợc sử dụng nhiều nhất hiện nay bao gồm các hệ sau: + Hệ mật mã bí mật + Hệ mật mã công khai RSA - Nghiên cứu tìm hiểu mô hình chữ ký số và ứng dụng trong việc ký các tài liệu, văn bản điện tử. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - Tìm hiểu các ngôn ngữ lập trình Visual C# .net phục vụ cho công việc lập trình ứng dụng. - Trên cơ sở các nghiên cứu đó, đánh giá, so sánh độ an toàn của các hệ mật mã khoá công khai, từ đó xây dựng một chƣơng trình ứng dụng có các chức năng tạo khóa, mã hoá hoặc tạo chữ ký, giải mã thông điệp dựa trên hệ mật mã RSA có độ an toàn và hiệu xuất thực thi cao, có khả năng ứng dụng vào thực tiễn nhƣ bảo mật nội dung thông tin thƣ tín điện tử, tạo chữ ký trên các tài liệu, văn bản điện tử cần thiết trao đổi thông qua mạng. - Nghiên cứu về mật mã khoá công khai RSA, chữ ký số và ứng dụng thuật toán RSA - Luận văn sẽ tập trung nghiên cứu và làm rõ hơn về ý tƣởng, cơ sở toán học, thuật toán và độ phức tạp của mã hoá nói chung và của mã hoá khoá công khai nói riêng. 3. Phương pháp nghiên cứu Nghiên cứu các tài liệu về mã hoá, hệ mật mã của các tác giả trong và ngoài nƣớc, các bài báo, thông tin trên mạng, … Nghiên cứu ngôn ngữ lập trình hƣớng đối tƣợng Visual C # .net để viết một ứng dụng nhỏ về chữ ký số. 4. Tổng quan luận văn Luận văn đƣợc trình bày theo hình thức từ trên xuống. Bắt đầu của mỗi phần đều đƣa ra những khái niệm cơ bản và quy định cho phần trình bày tiếp sau nhằm mục đích giúp dễ dàng trong khi đọc, dần dần đi sâu vào để thảo luận rõ hơn những vấn đề liên quan, bao gồm việc bảo vệ an toàn thông tin dữ liệu dùng mật mã, mật mã khoá công khai RSA và chữ ký số Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Luận văn đƣợc trình bày trong 3 chƣơng và phần kết luận Chương 1 Một số hệ mật mã khoá thông dụng Giới thiệu về hệ mật mã khóa công khai các nguyên lý của nó; trình bày những khái niệm cơ bản & hệ khoá công khai RSA; phƣơng pháp xây dựng, ý tƣởng, thuật toán và độ phức tạp của thuật toán. Chương 2 Chữ kí số Khái niệm về chữ ký số, sơ đồ chữ ký RSA; Các phƣơng pháp xác thực và hàm băm mật mã; Chữ ký số, các hình thức ký, xác thức chữ ký số. Chương 3 Cài đặt demo chương trình Chƣơng này đề cập đến việc xây dựng và cài đặt ứng dụng chữ ký số và các chức năng của chƣơng trình từ đó đƣa ra các kết quả thực hiện của chƣơng trình demo. Kết luận Tóm tắt những kết quả đạt đƣợc đồng thời nêu ra những hạn chế của luận văn và hƣớng phát triển có thể đƣợc theo hƣớng nghiên cứu của luận văn trong tƣơng lai. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Chương 1: Một số hệ mật mã khoá thông dụng 1.1 Giới thiệu Lý thuyết mật mã và an toàn thông tin đã và đang chiếm lĩnh sự quan tâm của nhiều ngƣời, điều đó xuất phát từ nhu cầu đảm bảo an toàn thông tin trong thời đại bùng nổ công nghệ và sự giao lƣu thông tin ngày càng phát triển mạnh mẽ nhƣ hiện nay. Chƣơng này giới thiệu một số nét cơ bản về thuật toán RSA dùng cho hệ thống mã hoá công khai và ứng dụng của nó trong chữ ký số [12]. Mật mã đƣợc dùng để bảo vệ bí mật thông tin khi thông tin đƣợc truyền đi. Giả sử có hai ngƣời muốn trao đổi thông tin với nhau là A và B. Khi đó, chẳng hạn A muốn gửi thông tin là một văn bản nào đó dƣới dạng điện tử, gọi là bản rõ cho B, muốn đƣợc bảo mật thì A phải mã hoá cho bản rõ đó, đƣợc bản mã, và gửi cho B. Nhƣ vậy, giữa A và B phải có sự thoả thuận nào đó về việc dùng khoá để A có thể mã hoá thông tin để đƣợc bản mã và B giải mã thông tin từ bản mã nhằm thu đƣợc bản rõ. Khi đó, một ngƣời nào đó không có khoá thì dù họ có lấy đƣợc bản mã trên đƣờng truyền thì cũng không thể dịch ngƣợc thành bản rõ. Ngƣời ta chia các hệ mã làm hai loại chính là hệ mã khoá bí mật và hệ mã khoá công khai (public-key cipher system). Các hệ mã khoá bí mật thực hiện việc bảo mật đều dựa trên cơ sở là có một khoá để dùng chung cho việc lập mã và giải mã. Các hệ mã hoá công khai là trong đó mỗi ngƣời tham gia vào quá trình truyền tin sẽ có hai khoá khác nhau, một khoá công khai (public key) dùng để lập mã và một khoá mật (private key) dùng để giải mã. Khoá công khai đƣợc công khai hoá cho mọi ngƣời, còn khoá mật của mỗi ngƣời đƣợc giữ bí mật. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Thông tin trƣớc khi gửi đi đƣợc mã hoá bởi khoá công khai của ngƣời nhận. Chỉ có ngƣời nhận mới có khả năng giải mã bản mã bằng khoá mật của mình. Độ bảo mật của các hệ mã công khai rất cao vì đƣợc đảm bảo bằng độ phức tạp tính toán của thao tác tìm các số nguyên tố lớn và phân tích một số nguyên lớn thành tích các thừa số. 1.2 Hệ mã khoá bí mật Trong mã khoá bí mật, cả quá trình mã hoá lẫn giải mã chỉ áp dụng một khoá bí mật vì thế, hệ thống này còn đƣợc gọi là hệ mã đối xứng [4], [5]. Ngƣời gửi sử dụng một phép biến đổi khả nghịch: f : M –k→ C (1.1) để tạo ra văn bản mã hoá: C = E(k, M), M  M và C  C (1.2) Và truyền trên một kênh công cộng cho ngƣời nhận. Khoá k cũng sẽ đƣợc truyền cho ngƣời nhận để giải mã nhƣng thông qua một kênh an toàn. Vì chỉ ngƣời nhận hợp lệ biết khoá k mới có thể giải mã C theo phép biến đổi: f -1: C–k→ M, (1.3) để đƣợc bản rõ: D (k,C) = D (k, E(k,M)) = M, C C và M  M (1.4) Có nhiều dạng mã đối xứng khác nhau. Ở đây, tôi sẽ giới thiệu hệ mã đối xứng DES/AES. Hệ mã DES/ AES Mô hình mã khoá bí mật phổ biến nhất đang đƣợc sử dụng là DES – Data Encryption Standard - đƣợc IBM đề xuất và đƣợc Uỷ ban Chuẩn Quốc gia Mỹ, hiện đƣợc gọi là Viện quốc gia về chuẩn và công nghệ (NIST), chấp nhận nhƣ một chuẩn chính thức. Chuẩn này đƣợc đề nghị năm 1977 - viết tắt là FIPS 46 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn (Federal Information Processing Standard 46). NIST đang đề nghị thay FIPS và các mở rộng của nó bằng Trip-DES (TDES hay 3DES) với tên X9.2 trong mô tả của Viện tiêu chuẩn Quốc gia Mỹ (ANSI) [5]. DES sử dụng một phép hoán vị, thay thế, và một số toán tử phi tuyến. Các toán tử phi tuyến này đƣợc áp dụng (16 lần) và từng khối của thông điệp 32 bit; Bản rõ, trƣớc hết, đƣợc chia thành các khối thông điệp 64 bit Nhập : M (64 bit) M‟ = IP(M) L0 + R0 f L1 = R 0 R1 = L0 + f(R0, K1 ) L15 = R14 + R15 = L14 + f (R14, K15) f R16 = L15 + f (R15, K16) L16 = R15 C = IP-1 Kết xuất C (64 bit) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 1.1 http://www.lrc-tnu.edu.vn Thuật toán giải mã của hệ DES Khoá sử dụng 56 bit nhận đƣợc từ khoá bí mật 64 bit, có chứa 8 bit kiểm tra chẵn lẻ. Thuật giải giải mã đƣợc thực hiện theo chiều ngƣợc lại cũng với khoá bí mật đƣợc dùng khi mã hoá. Thuật giải đƣợc minh hoạ nhƣ trong hình vẽ 1.1, trong đó, phép  ký hiệu phép XOR. Giải thích DES nhận vào một thông điệp M 64 bit, một khoá K 56 bit và kết xuất là một bản mã C 64 bit. - Đầu tiên, áp dụng một phép hoán vị bit khởi tạo – IP vào M, cho ra M‟: M‟ = IP(M). Bƣớc hai, chia M‟ thành 2 phần: nửa trái L0 32 bit và nửa phải R0 32 bit. Bƣớc ba, thi hành các phép toán sau với i = 1, 2,…, 16 (có 16 vòng): Li = Ri-1 Ri = Li-1  f (Ri-1, Ki) Trong đó, f là hàm nhận nửa phải 32 bit và một khoá vòng 48 bit, sinh ra một kết xuất 32 bit. Mỗi khoá vòng Ki chứa một tập con các khoá 56 bit. Cuối cùng, sau 16 bƣớc ta đƣợc C‟ = (R16 ,L16). C‟ sau đó đƣợc hoán vị tƣơng ứng với phép hoán vị IP-1 để đƣợc bản mã cuối cùng C. Giải mã đƣợc thi hành theo trình tự ngƣợc lại: một phép hoán vị, 16 vòng XOR sử dụng khoá vòng theo thứ tự ngƣợc lại và phép hoán vị sau cùng phục hồi lại bản rõ. Tất cả các phép khai triển bit này có thể đƣợc kết hợp vào một mạch logic chuyên dụng, vì thế DES có thể đƣợc cài đặt rất hiệu quả. Tuy nhiên, theo nghiêm cứu của Electronic Frontier Foundation thì khả năng thám Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn mã DES 56 bit khoảng 22 giờ. Vì thế, NIST khuyên nên sử dụng Triple DES (3DES) bao gồm 3 lần mã hoá DES khác nhau. Đặt E (k, M) và D(k, C) biểu diễn mã hoá và giải mã DES của M và C với khoá k. Mỗi phép mã/ giải mã TDES là một phép ghép của các phép mã/giải mã. Các phép toán sau đƣợc sử dụng trong TDES: Phép mã hoá TDES: biến đổi một khối M 64 bit thành một khối C 64 bit đƣợc xác định nhƣ sau: C = E (K3, D (K2, E(K1, M))) (1.5) Phép giải mã TDES: biến đổi một khối C 64 bit thành một khối M 64 bit đƣợc xác định nhƣ sau: M = D (K1, E (K2, D(K3, C))) (1.6) Có 3 cách khác nhau tổ hợp từ chùm khoá TDES (K1, K2 ,K3): [1] K1, K2 ,K3 là các khoá khác nhau. [2] K1, K2 là các khoá khác nhau và K3 = K1. [3] K1 = K2 = K3 Ví dụ, nếu chọn cách 2, mã hoá và giải mã TDES nhƣ sau: C = E (K1, D (K2, E(K1, M))) (1.7) M = D (K1, E (K2, D(K1, C))) (1.8) Ngày 22 tháng 11 năm 1997, NIST thuộc Bộ Thƣơng mại Mỹ đề nghị các công ty, các trƣờng đại học và các cơ quan khác nghiên cứu đề xuất chuẩn mã hoá thế hệ mới sử dụng trong thế kỷ 21. Chuẩn mới này, ký hiệu là AES – Advance Encryption Standard, sẽ thay thế DES và hỗ trợ kích thƣớc khoá lên đến 256 bit (và phải miễn phí). Ngày 22 tháng 08 năm 1998, tại hội nghị First AES Candidate Conference (AES1), NIST thông báo 15 thuật giải AES ứng Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn viên chính thức đƣợc gửi đến từ các nhà nghiên cứu thuộc 12 nƣớc khác nhau. Sau đó, các nhà khoa học thử tìm cách tấn công các thuật giải mã hoá này, để tìm ra điểm yếu nhất có thể có để tấn công chúng. Sau đó, tại Second AES Candidate Conference, tổ chức tại Rôma, Ý, ngày 22-23 tháng 09 năm 1999, NIST thông báo 5 ứng viên chính thức sau: - MARS – do công ty IBM phát triển (Mỹ) - RC6 – do phòng thí nghiệm RSA tại Bedford, Masachusetts (Mỹ). - Rijndael – do Joan Deamen và Vincent Rijmen (Bỉ). - Serpent – do Ros Anderson (Anh), Eli Bihan (Israel) và Lars Knudsen (Na-uy) - Twofish – do Bruce Schneier, John Kelsey, Doug Whiting, David Wagner Chris Hall và Niels Ferguson (Mỹ) [5]. 1.3 Hệ mã hoá công khai 1.3.1 Các khái niệm cơ bản Trong một hệ mã hoá công khai (mã không đối xứng), khoá mã hoá e k và khoá giải mã dk khác nhau, ek ≠ dk. Vì ek chỉ đƣợc sử dụng để mã hoá nên có thể đƣợc công bố; nhƣng khoá giải mã dk phải giữ bí mật. Để phân biệt với hệ mã bí mật, ta gọi ek là khoá công khai, và dk là khoá cá nhân; còn khoá trong hệ mã đối xứng đƣợc gọi là khoá bí mật. Hệ mã khoá công khai đƣợc xây dựng trên ý tƣởng hàm một chiều. Cho các tập hữu hạn S và T. Hàm một chiều: f:S→T là hàm khả nghịch thoả: (i) f dễ thực hiện, nghĩa là, cho x  S, có thể dễ dàng tính đƣợc y = f (x). Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn (ii) f -1, hàm ngƣợc của f, khó thực hiện, nghĩa là, cho y -1  T, rất khó tính đƣợc x = f (y). (iii) f -1 có thể tính đƣợc khi có thêm một số thông tin. 1.3.2 Một số khái niệm toán học cơ sở 1.3.2.1 Modulo số học và các nhóm Z(p)*, G(q) Phần lớn các tính toán liên quan đến hệ mật mã khoá công khai và tiền điện tử, chúng ta thƣờng sử dụng tập các số nguyên từ 0 tới p-1, trong đó p là số nguyên tố lớn. Những số này cùng với hai phép toán, phép nhân * và phép luỹ thừa ^ sẽ tạo thành các cấu trúc nhóm có những tính chất quan trọng đƣợc sử dụng để mật mã và bảo mật tiền điện tử [12]. Trƣớc tiên, chúng ta xét một số tính chất quan trọng của tập Z(p) * = {1, 2, 3, 4, ..., p-2, p-1}. Dễ nhận thấy, nếu ta nhân hai số bất kỳ trong tập này với nhau, sau đó lấy số dƣ theo modulo p, thì kết quả là một số vẫn nằm trong tập đó. Nghĩa là Z(p)* đóng với phép nhân. Mặt khác, nếu ta lấy một số bất kỳ trong tệp đó, ví dụ số k, khi đó sẽ tồn tại một số khác, ký hiệu là k^-1, sao cho k*k^-1 = 1 mod p. Nghĩa là mọi số nguyên trong tập này đều có phần tử nghịch đảo bội (multiplicative inverse). Hai tính chất này khẳng định rằng Z(p) * là một nhóm với phép nhân mod p. Tƣơng tự, chúng ta có thể khẳng định nó cũng là nhóm với phép luỹ thừa, vì phép luỹ thừa thực chất là bội của các phép nhân, ví dụ 2^3 = 2*2*2. (Lưu ý: 0 đƣợc loại khỏi Z(p)* bởi vì nó không có phần tử nghịch đảo bội. Nếu ta bổ sung 0 vào Z(p)*, thì chúng ta nhận đƣợc Z(p), chứa tất cả các số dƣ theo mod p, kể cả 0). Giả sử ta có Z(11)* = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}. Nếu nhân 5 với 8, chúng ta có 5*8 = 40 = 7 mod 11, tất nhiên 7  Z(11)*. Chúng ta cũng có 5*9 = 45 = 1 mod 11, nên 9 là nghịch đảo của 5, hoặc ngƣợc lại. Tƣơng tự 2 và 6 là nghịch
- Xem thêm -

Tài liệu liên quan

Tài liệu xem nhiều nhất