Đồ án tốt nghiệp chữ ký số RSA kết hợp với hàm băm SHA MD5

51 1.7K 11
Đồ án tốt nghiệp chữ ký số RSA kết hợp với hàm băm SHA MD5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nội dung đồ án: - Tìm hiểu, nghiên cứu cơ sở lý luận về an toàn, chứng thực thông tin. - Tìm hiểu về chữ ký điện tử. - Tìm hiểu về các phương thức mã hóa dữ liệu cơ bản, tìm hiểu về hàm băm. - Tìm hiểu về phương thức mã hóa bất đối xứng sử dụng cho chữ ký điển tử. - Tìm hiểu về các hệ chữ ký điện tử cơ bản và hệ chữ ký RSA ứng dụng cho chữ ký điện tử. - Cài đặt thành công chương trình minh họa ký số.

Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ điện tử và cài đặt chương trình minh họa. Mục lục khóa luận Phần 1: Tìm hiểu lịch sử về an toàn thông tin, chứng thực thông tin và chữ điện tử 7 Phần 2: Nội dung 10 I. Tổng quan về chứng thực và an toàn thông tin 10 II. Mã hóa dữ liệu và giải mã 11 a. Tổng quan về mã hóa dữ liệu và giải mã: 11 b. Mã hóa bất đối xứng (asymmetric) 13 c. Mã hóa đối xứng (symmetric) 15 d. Hàm băm (Hashing) 17 - Tính chất của hàm băm 18 - Một số hàm băm nổi tiếng 19 + MD5 (Message Digest) 19 + SHA (Secure Hash Algorithm) 25 III. Chữ điện tử 28 1. Tổng quan 28 2. Quy trình sử dụng chữ điện tử 30 3. Một số đồ CKĐT phổ biến 32 a. Rivest Shamir Adleman (RSA) 32 - lược về các khái niệm toán học dùng trong RSA 32 - Cách tạo khóa: 34 - Quy trình thực hiện và xác nhận văn bản 35 Phần này đã được cắt bỏ, hãy liên hệ chủ đề tài để nhận được bản chi tiết hơn. 35 - Tính bảo mật 37 - Các dạng tấn công 38 b. Hệ chữ ký ElGammal 40 c. Chuẩn chữsố (DSS) 44 4. Hàm bămkết hợp hàm băm vào chữ điện tử 47 IV. Cài đặt minh họa đồ số RSA kết hợp băm SHA 47 + Các bước thực hiện của chương trình 47 a. Phát sinh khóa: 47 b. chữ điện tử: 47 47 Phần này đã được cắt bỏ, hãy liên hệ chủ đề tài để nhận được bản chi tiết hơn. 47 47 - Một số hàm sử dụng trong chương trình 47 - Giao diện của chương trình: 49 Phần 3. Kết luận: 50 + Những phần đã làm được 50 + Những phần chưa làm được 50 + Hướng phát triển của đề tài 50 51 1 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ điện tử và cài đặt chương trình minh họa. Danh mục từ viết tắt: - RSA: Rivest Shamir Adleman - SHA: Secure Hash Algorithm - MD5: Message Digest - CKĐT: Chữ điện tử - CA: Certificate Authority - ủy quyền chứng chỉ - UCLN: Ước chung lớn nhất Liên hệ mail: Hainhat007@gmail.com or đt: 0982.070.520 để lấy bài + Code đầy đủ và chi tiết hơn! 2 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ điện tử và cài đặt chương trình minh họa. A. PHẦN MỞ ĐẦU 1. Lí do chọn đề tài Ngày nay, các ứng dụng của công nghệ thông tin ngày càng không thể thiếu được đối với các thành phần như xã hội, kinh tế, chính trị, quân sự Một lĩnh vực quan trọng mà công nghệ thông tin được ứng dụng rất mạnh mẽ và không thể thiếu đó là lĩnh vực truyền thông. Rất nhiều thông tin liên quan đến những công việc hàng ngày đều do máy vi tính quản lý và truyền gửi đi trên hệ thống mạng, kéo theo đó là vấn đề về xác thực nguồn thông tin nhận được. Và vấn đề được đặt ra là làm thế nào để xác thực được một cách chính xác nguồn thông tin nhận là của một người, một máy chủ hay của một thực thể nào đó gửi tin trên hệ thống mạng? Hình 1.1 – Mô hình trao đổi thông tin qua mạng INTERNET. Ví dụ: khi A gửi một thông tin điện tử cho D, và giả sử B “giả mạo” A cũng gửi một thông tin cho D, hoặc một người C trên môi trường truyền bắt được và sửa đổi thông tin A gửi sau đó các thông tin này được gửi lại cho D. Vậy thông tin D nhận A INTERNE T B D 3 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ điện tử và cài đặt chương trình minh họa. được không chính xác và người nhận D cũng không thể xác thực được thông tin đódo người A gửi, hay B gửi, hay một người nào khác gửi. Vấn đề đặt ra là người D sau khi nhận được bản tin phải xác thực được rằng thông tin là của chính một đối tượng cụ thể gửi và thông tin không bị tiết lộ cũng như bị không thay đổi trên môi trường truyền thông. Đề tài “TÌM HIỂU VỀ CHỮ ĐIỆN TỬ VÀ CÀI ĐẶT CHƯƠNG TRÌNH MINH HỌA” sẽ tìm hiểu vấn đề nêu trên và cài đặt chương trình số minh họa. 2. Mục đích nghiên cứu Tìm hiểu cơ sở lý luận về chứng thực thông tin, chữ điện tử, cài đặt chương trình số kết hợp RSAhàm Băm. 3. Nhiệm vụ nghiên cứu - Nghiên cứu cơ sở lý luận về chứng thực thông tin. - Tìm hiểu về chữ điện tử. - Tìm hiểu về các phương thức mã hóa dữ liệu cơ bản. - Tìm hiểu phương thức mã hóa bất đối xứng sử dụng cho chữ điển tử. - Tìm hiểu về hàm băm. - Cài đặt chương trình minh họa. 4. Đối tượng nghiên cứu - Cơ sở lý luận về chứng thực thông tin. - Hệ mã hóa công khai RSA. - Hàm băm kết hợp cho chữ điện tử. 5. Phạm vi nghiên cứu 4 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ điện tử và cài đặt chương trình minh họa. Nghiên cứu lý thuyết về chứng thực thông tin, hệ mã hóa công khai RSA, hàm băm SHA và cài đặt chương trình minh họa. 6. Phương pháp nghiên cứu - Hoạt động nghiên cứu cá nhân - Hoạt động nghiên cứu tài liệu - Trao đổi với giảng viên hướng dẫn 7. Cấu trúc khóa luận Gồm 5 phần chính: 1. Phần mở đầu 2. Phần nội dung 3. Phần kết luận 4. Phần tài liệu tham khảo 5. Phần phụ lục A. Phần mở đầu:  Lý do chọn đề tài  Mục đích nghiên cứu  Nhiệm vụ nghiên cứu  Đối tượng nghiên cứu  Phạm vi nghiên cứu  Phương pháp nghiên cứu  Cấu trúc khóa luận B. Phần nội dung: Gồm 2 Phần: Phần 1: Tìm hiểu lịch sử về an toàn thông tin, chứng thực thông tin, chữ điện tử. 5 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ điện tử và cài đặt chương trình minh họa. Phần 2: Nội dung. I. Tổng quan về chứng thực và an toàn thông tin. II. Mã hóa dữ liệu và giải mã a. Tổng quan về mã hóa dữ liệu. b. Mã hóa bất đối xứng (asymmetric). c. Mã hóa đối xứng (symmetric). d. Hàm băm (Hashing) III. Chữ điện tử 1. Tổng quan a. Tổng quan về chữ điện tử b. Quy trình sử dụng chữ điện tử 2. Một số đồ CKĐT phổ biến a. Rivest Shamir Adleman (RSA). b. đồ số El Gamal. c. Chuẩn chữsố (DSS) 3. Hàm bămkết hợp hàm băm vào chữ điện tử. IV. Cài đặt minh họa đồ số RSA kết hợp băm SHA. + Các bước thực hiện của chương trình. + Cài đặt chương trình minh họa bằng ngôn ngữ C#. C. Phần kết luận: + Những phần đã làm được 6 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ điện tử và cài đặt chương trình minh họa. + Những phần chưa làm được + Hướng phát triển của đề tài. - Tài liệu tham khảo - Phụ lục Phần 1: Tìm hiểu lịch sử về an toàn thông tin, chứng thực thông tin và chữ điện tử. Nhu cầu về bảo đảm an toàn thông tin đã xuất hiện từ rất sớm, khi con người biết trao đổi và truyền đưa thông tin cho nhau, đặc biệt khi các thông tin đó đã được thể hiện dưới hình thức ngôn ngữ, thư từ. Lịch sử cho ta biết, các hình thức mật mã được tìm thấy từ khoảng bốn nghìn năm trước trong nền văn minh Ai Cập cổ đại. Trải qua hàng nghìn năm lịch sử, mật mã đã được sử dụng rộng rãi trên khắp thế giới từ Đông sang Tây để giữ bí mật cho việc giao lưu thông tin trong nhiều lĩnh vực hoạt động giữa con người và các quốc gia, đặc biệt trong các lĩnh vực quân sự, chính trị, ngoại giao. Mật mã trước hết là một loại hoạt động thực tiễn, nội dung chính của nó là để giữ bí mật thông tin (chẳng hạn dưới dạng một văn bản). Suốt mấy nghìn năm lịch sử, các thông báo, thư từ được truyền đưa và trao đổi với nhau thường là các văn bản, tức là có dạng các dãy tự trong một ngôn ngữ nào đó. Vì vậy, các thuật toán lập mật mã thường cũng đơn giản là thuật toán xáo trộn, thay đổi các tự được xác định bởi các phép chuyển dịch, thay thế hay hoán vị các tự trong bảng tự của ngôn ngữ tương ứng, khóa mật mã là thông tin dùng để thực hiện phép lập mật mã và giải mật mã cụ thể, thí dụ như số vị trí đối với phép chuyển dịch, bảng xác định các cặp tự tương ứng đối với phép thay thế hay hoán vị, Mật mã chưa phải là một khoa học, do đó chưa có nhiều kiến thức sách vở để lại, tuy nhiên hoạt động bảo mật và thám mã trong lịch sử các cuộc đấu tranh chính trị, ngoại giao và quân sự thì hết sức phong phú, và mật mã đã có nhiều tác động rất quan trọng đưa đến những kết quả lắm khi có ý nghĩa quyết định trong 7 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ điện tử và cài đặt chương trình minh họa. các cuộc đấu tranh đó. Do trong một thời gian dài, bản thân hoạt động mật mã cũng được xem là một bí mật, nên các tài liệu kỹ thuật về mật mã được phổ biến đến nay thường chỉ ghi lại các kiến thức kinh nghiệm, thỉnh thoảng mới có một vài "phát minh" như các hệ mật mã Vigenère vào thế kỷ 16 hoặc hệ mật mã Hill ra đời năm 1929 là các hệ mã thực hiện phép chuyển dịch (đối với mã Vigenère) hay phép thay thế (mã Hill) đồng thời trên một nhóm tự chứ không phải trên từng tự riêng rẽ. [2 - tr12,13] Bước sang thế kỷ 20, vào những thập niên đầu của thế kỷ. Sự phát triển của các kỹ thuật biểu diễn, truyền và xử lý tín hiệu đã có tác động giúp cho các hoạt động lập và giải mật mã từ thủ công chuyển sang cơ giới hóa rồi điện tử hóa. Các văn bản, các bản mật mã trước đây được viết bằng ngôn ngữ thông thường nay được chuyển bằng kỹ thuật số thành các dãy tín hiệu nhị phân, tức các dãy bit, và các phép biến đổi trên các dãy tự được chuyển thành các phép biến đổi trên các dãy bit, hay các dãy số, việc thực hiện các phép lập mã, giải mã trở thành việc thực hiện các hàm số số học. Toán học và kỹ thuật tính toán bắt đầu trở thành công cụ cho việc phát triển khoa học về mật mã. Khái niệm trung tâm của khoa học mật mã là khái niệm bí mật. Đó là một khái niệm phổ biến trong đời sống, khái niệm bí mật thoạt đầu được gắn với khái niệm ngẫu nhiên, rồi về sau trong những thập niên gần đây, với khái niệm phức tạp, cụ thể hơn là khái niệm độ phức tạp tính toán. [2 – tr13] Năm 1978, Rivest, Shamir và Adleman tìm ra một hệ mật mã khóa công khai và một đồ chữ điện tử hoàn toàn có thể ứng dụng trong thực tiễn, tính bảo mật và an toàn của chúng được bảo đảm bằng độ phức tạp của một bài toán số học nổi tiếng là bài toán phân tích số nguyên thành các thừa số nguyên tố. Sau phát minh ra hệ mật mã đó (mà nay ta thường gọi là hệ RSA), việc nghiên cứu để phát minh ra các hệ mật mã khóa công khai khác, và ứng dụng các hệ mật mã khóa công khai vào các bài toán khác nhau của an toàn thông tin đã được tiến hành rộng rãi, lý thuyết mật mã và an toàn thông tin trở thành một lĩnh vực khoa học được phát triển nhanh 8 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ điện tử và cài đặt chương trình minh họa. trong vài ba thập niên cuối của thế kỷ 20, lôi cuốn theo sự phát triển của một số bộ môn của toán học và tin học [2 – tr96]. Con người đã sử dụng các hợp đồng dưới dạng điện tử từ hơn 100 năm nay với việc sử dụng mã Morse và điện tín. Vào năm 1889, tòa án tối cao bang New Hampshire (Hoa kỳ) đã phê chuẩn tính hiệu lực của chữ điện tử. Tuy nhiên, chỉ với những phát triển của khoa học kỹ thuật gần đây thì chữ điện tử mới đi vào cuộc sống một cách rộng rãi. Vào thập kỷ 1980, các công ty và một số cá nhân bắt đầu sử dụng máy fax để truyền đi các tài liệu quan trọng. Mặc dù chữ trên các tài liệu này vẫn thể hiện trên giấy nhưng quá trình truyền và nhận chúng hoàn toàn dựa trên tín hiệu điện tử. Hiện nay, chữ điện tử có thể bao hàm các cam kết gửi bằng email, nhập các số định dạng cá nhân (PIN) vào các máy ATM, bằng bút điện tử với thiết bị màn hình cảm ứng tại các quầy tính tiền, chấp nhận các điều khoản người dùng (EULA) khi cài đặt phần mềm máy tính, các hợp đồng điện tử online [7] 9 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ điện tử và cài đặt chương trình minh họa. Phần 2: Nội dung. I. Tổng quan về chứng thực và an toàn thông tin. Chúng ta đang sống trong một thời đại bùng nổ thông tin. Nhu cầu trao đổi thông tin và các phương tiện truyền đưa thông tin phát triển một cách nhanh chóng. Và cùng với sự phát triển đó, đòi hỏi bảo vệ tính bí mật và chứng thực nguồn thông tin cũng càng ngày càng to lớn và có tính phổ biến. Có nhiều bài toán khác nhau về yêu cầu an toàn thông tin tùy theo những tình huống khác nhau. Ví dụ trong thực tế, một số bài toán chung nhất mà ta thường gặp là những bài toán sau đây: - Bảo mật: Giữ thông tin được bí mật đối với tất cả mọi người, trừ một ít người có thẩm quyền được đọc, biết thông tin đó. - Toàn vẹn thông tin: Bảo đảm thông tin không bị thay đổi hay xuyên tạc bởi những kẻ không có thẩm quyền hoặc bằng những phương tiện không được phép. - Nhận thực một thực thể: Xác nhận danh tính của một thực thể, chẳng hạn một người, một máy tính cuối trong mạng, một thẻ tín dụng, - Nhận thực một thông báo: Xác nhận nguồn gốc của một thông báo được gửi đến. - Chữ ký: Một cách để gắn kết một thông tin với một thực thể, thường dùng trong bài toán nhận thực một thông báo cũng như trong nhiều bài toán nhận thực khác. 10 [...]... chương trình minh họa một tập con của chữ điện tử (chữ điện tử bao hàm chữ số) Một chữ điện tử sẽ là một chữ số nếu nó sử dụng một phương pháp mã hóa nào đó để đảm bảo tính toàn vẹn (thông tin) và tính xác thực Ví dụ như một bản dự thảo hợp đồng soạn bởi bên bán hàng gửi bằng email tới người mua sau khi được (điện tử) [1- tr117] Một văn bản được có thể được mã hóa khi gửi nhưng điều... nhận đúng thì chữ Y chính là A trên văn bản P, ngược lại thì không phải hoặc bản đã được thay đổi Một số trường hợp xảy ra với chữ điện tử, cũng giống như các trường hợp xảy ra với chữ truyền thống Ví dụ: Khi tài liệu TL của A bị thay đổi (dù chỉ một tự, một dấu chấm, hay một hiệu bất kỳ), khi B xác nhận, anh ta sẽ thấy bản giải mã khác với tài liệu TL của anh A B sẽ kết luận rằng... môđun) bằng (thuật toán bình phương và nhân) Cuối cùng ta có bản c hay bản chữ điện tử và gửi cho đối tác * Xác nhận (Giải mã) 35 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ điện tử và cài đặt chương trình minh họa Sau khi nhận được bản chữ điện tử, người nhận cần phải xác nhận chữ trên văn bản là đúng người bằng cách xác nhận bản với khóa công khai của người với công thức sau... thống như trên sẽ rất dễ dàng bị giả mạo chữ Vậy làm sao để có thể vào các văn bản, tài liệu số như vậy? Câu trả lời đó là sử dụng chữ điện tử! Chữ điện tử đi kèm với các thông tin chủ sở hữu và một số thông tin cần thiết khác sẽ trở thành Chứng chỉ điện tử 28 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ điện tử và cài đặt chương trình minh họa Chữ điện tử (tiếng Anh: electronic signature)... sẽ thực hiện băm văn bản thành một bản tóm lược X, sau đó dùng khóa bí mật của mình lên bản tóm lược X để được văn bản chữ điện tử Y, sau đó gửi tài liệu P kèm theo chữ Y cho A Giả sử B muốn xác nhận tài liệu P là của A, với chữ là bản mã Y Bên B sẽ dùng khóa công khai của A để xác nhận chữ Y của A trên văn bản P gửi có 30 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ điện tử và... so với hàm Băm MD5 128 bit [1 – tr117] III Chữ điện tử 1 Tổng quan Trong cuộc sống hàng ngày, ta cần dùng chữ để xác nhận các văn bản tài liệu nào đó và có thể dùng con dấu với giá trị pháp lý cao hơn đi kèm với chữ Cùng với sự phát triển nhanh chóng của công nghệ thông tin, các văn bản tài liệu được lưu dưới dạng số, dễ dàng được sao chép, sửa đổi Nếu ta sử dụng hình thức chữ truyền thống... hàm Băm SHA 160 bit [1 – tr115 > tr117] b Tính bảo mật trong SHA: Để hiểu rõ hơn về tính bảo mật của SHA, ta hãy so sánh SHA với MD5 để có thể tìm ra những điểm khác nhau của hai hàm Băm này: 27 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ điện tử và cài đặt chương trình minh họa - MD5 và SHA đều cộng thêm các bit “giả” để tạo thành những khối chia hết cho 512 bit, nhưng SHA. .. Xuất phát từ thực tế, chữ điện tử cũng cần đảm bảo các chức năng: Xác định được người chủ của một dữ liệu nào đó ví dụ văn bản, ảnh, video, dữ liệu đó có bị thay đổi hay không Hai khái niệm chữ số (digital signature) và chữ điện tử thường được dùng thay thế cho nhau mặc dù chúng không hoàn toàn có cùng nghĩa Chữ số chỉ là 29 Khóa luận tốt nghiệp – 2011 Tìm hiểu về chữ điện tử và cài đặt... đáng tin cậy Để đảm bảo giao thông liên lạc an toàn cho tất cả mọi người trong một nhóm gồm n người, tổng số lượng chìa khóa cần phải có là n(n-1)/2 Các thuật toán khóa đối xứng không thể dùng cho mục đích xác thực hay mục đích chống thoái thác d Hàm băm (Hashing) - Tổng quan về hàm băm Trong ngành mật mã học, một hàm băm mật mã học (tiếng Anh: Cryptographic hash function) là một hàm băm với một số. .. liệu anh A đã Trường hợp khác, nếu A để lộ khóa bí mật, nghĩa là văn bản tài liệu của A có thể bởi người khác có khóa bí mật của A Khi một ai đó xác nhận tài liệu được cho là của A ký, chữ vẫn là hợp lệ, mặc dù không phải chính A Như vậy, chữ của A sẽ không còn giá trị pháp lý nữa Do đó, việc giữ khóa bí mật là tuyệt đối quan trọng trong hệ thống chữ điện tử Trong trường hợp ví dụ trên, . dạng tấn công 38 b. Hệ chữ ký ElGammal 40 c. Chuẩn chữ kí số (DSS) 44 4. Hàm băm và kết hợp hàm băm vào chữ ký điện tử 47 IV. Cài đặt minh họa sơ đồ ký số RSA kết hợp băm SHA 47 + Các bước thực. Shamir Adleman (RSA) . b. Sơ đồ ký số El Gamal. c. Chuẩn chữ kí số (DSS) 3. Hàm băm và kết hợp hàm băm vào chữ ký điện tử. IV. Cài đặt minh họa sơ đồ ký số RSA kết hợp băm SHA. + Các bước thực hiện. (symmetric). d. Hàm băm (Hashing) III. Chữ ký điện tử 1. Tổng quan a. Tổng quan về chữ ký điện tử b. Quy trình sử dụng chữ ký điện tử 2. Một số sơ đồ CKĐT phổ biến a. Rivest Shamir Adleman (RSA) . b. Sơ đồ ký

Ngày đăng: 17/05/2014, 17:49

Từ khóa liên quan

Mục lục

  • Gồm 5 phần chính:

  • 1. Phần mở đầu

  • 2. Phần nội dung

  • 3. Phần kết luận

  • 4. Phần tài liệu tham khảo

  • 5. Phần phụ lục

    • * Ký (Mã hóa).

    • * Phân phối khóa

    • * Tấn công dựa trên thời gian

    • * Tấn công bằng phương pháp lựa chọn thích nghi bản mã.

Tài liệu cùng người dùng

Tài liệu liên quan