Mã hóa thông tin, thuật toán băm MD5, thuật toán mã hóa RSA

54 38 0
Mã hóa thông tin, thuật toán băm MD5, thuật toán mã hóa RSA

Đ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

Tìm Hiểu Thuật Tốn MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử MỤC LỤC Lời cảm ơn Lời cam đoan PHẦN I: GIỚI THIỆU VỀ ĐỀ TÀI 1.1.Mục đích 1.2 Đối tượng nghiên cứu 1.2 Phạm vi nghiện cứu 1.4 Ý nghĩa đề tài PHẦN II: NỘI DUNG CHƯƠNG :TỔNG QUAN VỀ MẬT MÃ HÓA .6 2.1.1 Khái niệm mã hóa 2.1.2 Các thuật tốn mã hóa 2.1.2.1 Mã hóa đối xứng .7 2.1.2.2 Mã hoá bất đối xứng .8 2.1.4 Phương pháp RSA 2.1.4.1 Khái niệm hệ mật mã RSA .9 2.1.4.2 Độ an toàn hệ RSA 11 2.1.4.3 Một số tính chất hệ RSA 12 2.1.4.4 Một số phương pháp công giải thuật RSA 13 CHƯƠNG CHỮ KÝ ĐIỆN TỬ .15 2.2.1Giới thiệu .15 2.2.2 Khái niệm chữ ký điện tử .15 2.2.3 Thuật toán chữ ký điện tử 17 2.2.4 Chứng nhận chữ ký điện tử 19 2.2.5 Chuẩn chữ ký điện tử (Digital Signature Standard) 19 2.2.6 Giải pháp ứng dụng chữ ký điện tử .22 2.2.6.1 Quá trình ký gửi tệp văn 22 2.2.6.2 Quá trình nhận tệp văn .23 2.2.7 Vận dụng vào hệ thống 24 2.2.8 Kết luận 25 CHƯƠNG 3 : TỔNG QUAN VỀ HÀM BĂM VÀ THUẬT TOÁN HÀM BĂM MD5 26 2.3.1 Đăt vấn đề 26 Lê Thị Kim Vui-Lớp T13TVT Trang Tìm Hiểu Thuật Tốn MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử 2.3.2 giới thiệu hàm băm mật mã 26 2.3.2.1 Tính chất .27 2.3.2.2 Ứng dụng 28 2.3.3 Hàm băm dựa mã khối 29 2.3.4 Cấu trúc Merkle-Damgård 29 2.3.5 Birthday attack 30 2.3.6 Hàm băm mật mã .31 2.3.7 Cấu trúc hàm băm 32 2.3.8 Tính an tồn hàm băm tượng đụng độ 32 2.3.9 Tính chiều 33 2.3.10 Sử dụng cho nguyên thủy mật mã khác .33 2.3.11 Ghép hàm băm mật mã .34 2.3.12 Thuật toán băm mật mã 34 2.3.13 Phương pháp Secure Hash Standard (SHS) 35 2.3.14 Một số hàm băm tiếng 35 2.3.15 Hàm băm MD5 35 2.3.15.1 Giới thiệu 35 2.3.15.2 Khái niệm 36 2.3.15.3 Ứng dụng 36 2.3.15.4 Thuật giải 36 2.3.16 MD5 (Message Digest) .37 2.3.16.1 Mô tả .37 2.3.16.2 Cách thực .40 2.3.17 Sự khác MD4 MD5 42 CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG THUẬT TỐN MD5 43 2.4.1 Nhiệm vụ chương trình 43 2.4.2 Thuật toán MD5 sơ đồ khối 43 2.4.2.1 Thuật toán 43 2.4.2.2 Sơ đồ khối thuật toán MD5 46 2.4.3 Kết chương trình mơ thuật tốn băm MD5 49 2.4.3.1 Giao diện chương trình mơ 49 2.4.3.2 Các bước thực chương trình 49 2.4.3.3 Kết thực nghiệm .50 PHẦN III: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 53 Lê Thị Kim Vui-Lớp T13TVT Trang Tìm Hiểu Thuật Tốn MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử Danh mục tài liệu tham khảo 54 DANH MỤC HÌNH VẼ: Hình 1.1 Mơ hình hệ thống mã hóa quy ước Hình 1.2 Nguyên lý hệ thống mã hoá đối xứng .7 Hình 1.3 Kênh nguyên lý hệ thống mã hố đối xứng Hình 1.4 Ngun lý mã hố khố cơng khai thuật tốn RSA Hình 1.5 Sơ đồ bước thực mã hoá theo thuật toán RSA 11 Hình 2.1 Kiểm tra chữ ký điện tử 17 Hình 2.2 Thủ tục ký kiểm tra chữ ký .19 Hình 2.3 Sơ đồ mơ tả q trình ký gửi tệp văn 24 Hình 2.4 Sơ đồ mơ tả q trình nhận tệp văn 25 Hình 3.1 Cấu trúc băm Merkle-Damgård 30 Hình 3.2 Sơ đờ vịng lặp chính của MD5 38 Hình 3.3 Sơ đồ vịng lặp của MD5 39 Lê Thị Kim Vui-Lớp T13TVT Trang Tìm Hiểu Thuật Tốn MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử LỜI MỞ ĐẦU Ngày nay, ứng dụng Công nghệ thông tin ngày phổ biến rộng rãi ảnh hưởng lớn đến diện mạo đời sống, kinh tế, xã hội Mọi công việc hàng ngày thực từ xa với hổ trợ máy vi tính mạng internet (từ việc học tập, giao dịch,… đến việc gửi thư) Tất thông tin liên quan đến cơng việc máy vi tính quản lý truyền hệ thống mạng Đối với thơng tin bình thường khơng có ý đến, thơng tin mang tính chất sống số cá nhân (hay tổ chức) vấn đề bảo mật thật quan trọng, vấn đề khó khăn đặt giữ thơng tin bí mật giữ địa cần đến Nhiều tổ chức, cá nhân tìm kiếm đưa nhiều giải pháp bảo mật phương pháp mã hóa khóa cơng khai xem phương pháp có tính an tồn cao Như việc đảm bảo an tồn thơng tin, tránh nguy bị thay đổi, chép mát liệu ứng dụng mạng vấn đề xúc, nhiều người quan tâm Trong báo cáo này, em trình bày vấn đề liên quan mã hóa thơng tin, thuật tốn băm MD5, thuật tốn mã hóa RSA chữ ký điện tử Từ đó, ứng dụng thuật tốn MD5 RSA để phân tích q trình hoạt động chữ ký điện tử Trên cở sở đó, em xin đề giải pháp ứng dụng chữ ký điện tử sở kết hợp thuật toán băm MD5 thuật tốn mã hóa RSA q trình gửi nhận văn Lê Thị Kim Vui-Lớp T13TVT Trang Tìm Hiểu Thuật Tốn MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử PHẦN I GIỚI THIỆU ĐỀ TÀI 1.1 MỤC ĐÍCH  Tìm hiểu chung kỹ thuật nhận thực (chữ ký điện tử) Chữ ký điện tử không sử dụng nhằm bảo mật thông tin mà nhằm bảo vệ thông tin không bị người khác cố tình thay đổi để tạo thơng tin sai lệch Nói cách khác, chữ ký điện tử giúp xác định người tạo hay chịu trách nhiệm thơng điệp  Tìm hiểu hàm băm, sâu vào thuật toán MD5 Hàm băm (Hash Function): Cho đầu vào thơng báo có kích thước thay đổi, đầu mã băm có kích thước cố định Giải thuật băm MD5 (Message Digest 5): sử dụng để kiểm tra tính tồn vẹn khối liệu lớn Thuật toán nhận đầu vào đoạn tin có chiều dài bất kỳ, băm thành khối 512 bit tạo đầu đoạn tin 128 bit  Xây dựng chương trình mô hàm băm MD5 Đưa kết chương trình mơ kết thu với tài liệu tiêu chuẩn thuật toán MD5 1.2 ĐỐI TƯỢNG NGHIÊN CỨU - phương pháp mật mã hóa - Chữ ký điện tử ứng dụng - Thuật toán RSA - Các thuật toán hàm băm 1.3 PHẠM VI NGHIÊN CỨU Bài báo cáo tập trung nghiên cứu thuật toán băm MD5 ứng dụng hàm băm chữ ký điện tử 1.4 Ý NGHĨA ĐỀ TÀI Chữ ký điện tử lĩnh vực sử dụng rộng rải thực tế, nhận thực tin, file văn vấn đề truyền thông tin mạng, xây dụng giải pháp giao dịch điện tử phủ điện tử Nghiên cứu chữ ký điện tử tìm hiểu lĩnh vực ứng dụng có ý nghĩa quan trọng thực tế Lê Thị Kim Vui-Lớp T13TVT Trang Tìm Hiểu Thuật Tốn MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử PHẦN II NỘI DUNG CHƯƠNG TỔNG QUAN VỀ MẬT MÃ HÓA 2.1.1 KHÁI NIỆM VỀ MÃ HĨA Mã hố tiến trình biến đổi thơng tin, sử dụng thuật tốn nhằm mục đích khơng cho người khác nắm bắt thiếu vốn thông số định (key) để dịch ngược Đi kèm với mã hoá giải mã Có nhiều loại thuật tốn mã hố cho liệu máy tính, chúng gọi tên theo thuật tốn so sánh trực tiếp với nhau, ví dụ mã hoá 128-bit, TripleDES, 2048-bit RSA Trong loại, dĩ nhiên phép mã hoá 2048-bit RSA mạnh mẽ phép mã hoá 1024-bit RSA.Nhưng khơng có nghĩa phép mã hố với độ dài dãy bit lớn xem an toàn Thử liên tưởng đến biệt thự bạn, với cổng khoá ổ khoá chân, chân nằm 10 vị trí, ổ khoá mở chân theo mã khoá chủ nhà, để vượt qua, tên trộm cần phải dùng tối đa 10.000 phép thử (brute-force attack) Nhưng tăng ổ khoá lên 10 chân, tạo nên 10 triệu khe cắm khoá hợp lệ, khơng đủ thơng minh (hay ngu dốt) để mở khố cách cơng thuật tốn Họ phá cửa sổ, hay chí phá cổng, giả danh quyền, thợ nước… để đột nhập vào nhà bạn Một ổ khố tốt khơng thể chống lại kiểu cơng Điều cho thấy thuật tốn mã hố cực mạnh hữu sử dụng ở nơi cần thiết, lúc tối ưu Cái cần bảo vệ ngơi nhà bạn đặt hàng rào bẫy hi vọng kẻ trộm dính vào bẫy Với phát triển mạnh mẽ mình, hầu hết kênh thông tin lấy Internet làm tảng để phát triển Điều tất yếu nảy sinh vấn đề An tồn thơng tin, ngày đó, bạn nhận rằng, thông tin bạn bị theo dõi Để vừa đảm bảo thông tin kết nối, vừa đảm bảo yếu tố bảo mật thông tin phương pháp tốt mã hố thơng tin Ngày việc mã hoá trở nên phổ cập, quốc gia công ty lớn có sách phát triển cơng cụ mã hố riêng biệt để bảo vệ cho thơng tin họ Lê Thị Kim Vui-Lớp T13TVT Trang Tìm Hiểu Thuật Toán MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử Trên giới có nhiều loại thuật tốn, khn khổ báo cáo, tìm hiểu thuật tốn ứng dụng phổ biển Internet Hình 1.1 Mơ hình hệ thống mã hóa quy ước Mật mã hóa sử dụng phổ biến để đảm bảo an tồn cho thơng tin liên lạc Các thuộc tính yêu cầu là:  Bí mật: Chỉ có người nhận xác thực lấy nội dung thông tin chứa đựng dạng mật mã hóa Nói khác đi, khơng thể cho phép thu lượm thông tin đáng kể nội dung thơng điệp  Ngun vẹn: Người nhận cần có khả xác định thơng tin có bị thay đổi q trình truyền thơng hay khơng  Xác thực: Người nhận cần có khả xác định người gửi kiểm tra xem người gửi có thực gửi thông tin hay không 2.1.2 CÁC THUẬT TỐN MÃ HĨA 2.1.2.1 Mã hóa đối xứng Kênh C SKc SKc Khóa bí mật Bản tin gốc SYM Khóa bí mật Bản tin Mã hóa SYM Bản tin gốc Hình 1.2: Ngun lý hệ thống mã hố đối xứng Nguyên lý hệ thống mã hố khố đối xứng (hình 1.2) Có thể thấy chất mã hố đối xứng phía thu phía phát Lê Thị Kim Vui-Lớp T13TVT Trang Tìm Hiểu Thuật Tốn MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử sử dụng khố bí mật (SK), thuật tốn hai phía giống Mã hố đối xứng dựa vào việc phân phối khoá cách bảo mật hai phía Nhưng thực tế khố chung lại phân phối tới tất người mạng, vấn đề “kênh bảo mật” làm đau đầu nhà quản trị mạng Điều nguy hiểm chiếm khố q trình phân phối có tồn quyền truy nhập tới liệu khố bảo vệ Do đó, q trình phân phối khố phải “kênh bảo mật”, kênh logic hay kênh vật lý (hình 1.4) Hình 1.3: Kênh nguyên lý hệ thống mã hoá đối xứng 2.1.2.2 Mã hoá bất đối xứng Ngược lại với mã hoá đối xứng, thuật toán bất đối xứng hoạt động theo hai khố, hay xác cặp khố (hình 1.2) Khoá sử dụng biết đến khoá bí mật khố cơng khai có khái niệm mã hố khố cơng khai Mỗi khố sử dụng để mã hoá hay giải mã, khác với thuật toán đối xứng, giá trị khoá phía khác Trong hệ thống RSA, liệu mã hố khố bí mật (KXu) giải mã khố cơng khai cặp khố Cặp khố tạo có liên quan trực tiếp với Mặc dù có quan hệ với biết hay truy nhập khố cơng khai khơng thể tính tốn giá trị khố bí mật Do đó, cơng khai khố mã khơng làm ảnh hưởng tới tính bảo mật hệ thống, địa thư tín cịn khố bí mật ln giữ kín Bản chất mã hố khố cơng khai RSA tin mật mã nhận thực mã hố khố bí mật cịn giải mã khố cơng khai Từ đó, phía thu cịn xác định nguồn gốc tin Bất người giữ khố cơng khai nghe trộm tin mật Lê Thị Kim Vui-Lớp T13TVT Trang Tìm Hiểu Thuật Tốn MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử mã cách tính tốn với kho bí mật, khơng đảm bảo tính tin cậy tin (trong nhóm) mà cịn nhận thực, hay cịn gọi khơng thể từ chối, ví dụ người gửi khơng thể từ chối họ tác giả tin Nó hồn tồn trái ngược với hoạt động khố đối xứng, tin mật mã đảm bảo tính tồn vẹn phía mã hố giải mã, có khố chung phát tin từ chối phát nó, cịn phía thu biết đâu tác giả tin Thuật tốn đối xứng u cầu khả tính tốn lớn đó, tốc độ q trình mã hố chậm so với mã hố đối xứng Đó trở ngại hệ thống cho phép tỷ lệ lỗi lớn truyền thơng thoại Do đó, mã hố khố cơng khai khơng phù hợp với tin có chiều dài thơng thường, nhiên kết hợp hai chế độ đảm bảo tính nhận thực, tin cậy tồn vẹn tin Nói chung, ứng dụng sử dụng thuật toán bất đối xứng là:  Sử dụng giá trị “băm” nhỏ làm chữ ký điện tử  Mã hố khố bí mật sử dụng thuật toán đối xứng  Thỏa thuận khóa mã bí mật phía truyền thông Người dùng U Người nhận A Khóa cơng khai KXu KYu Khóa bí mật Khóa cơng khai Chữ ký điện tử Bản tin gốc ASYM Bản tin Mã hóa ASYM Bản tin gốc Hình 1.4: Ngun lý mã hố khố cơng khai thuật tốn RSA 2.1.3 HỆ MÃ HĨA RSA 2.1.3.1 Khái niệm hệ mật mã RSA Khái niệm hệ mật mã RSA đời năm 1976 tác giả R.Rivets, A.Shamir, L.Adleman Hệ mã hoá dựa sở hai toán + Bài toán Logarithm rời rạc (Discrete logarith) + Bài toán phân tích thành thừa số Lê Thị Kim Vui-Lớp T13TVT Trang Tìm Hiểu Thuật Tốn MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử Trong hệ mã hoá RSA rõ, mã khoá (public key private key) thuộc tập số nguyên ZN = {1, , N-1}.Trong tập ZN với N=p×q số nguyên tố khác với phép cộng phép nhân Modulo N tạo modulo số học N Khoá mã hoá EKB cặp số nguyên (N,KB) khoá giải mã D kb cặp số nguyên (N,kB), số lớn, số N lên tới hàng trăm chữ số Các phương pháp mã hoá giải mã dễ dàng Cơng việc mã hố biến đổi rõ P(Plaintext) thành mã C (Ciphertext) dựa cặp khoá công khai KB rõ P theo công thức sau : C = EKB(P) = EB(P) = PKB(mod N) (1.1) Công việc giải mã biến đổi ngược lại mã C thành rõ P dựa cặp khố bí mật kB , modulo N theo công thức sau : P = DKB(C) = DB(C) = CKB(mod N) (1.2) Dễ thấy rằng, rõ ban đầu cần biến đổi cách thích hợp thành mã, sau để tái tạo lại rõ ban đầu từ mã : P = DB(EB(P)) (1.3) Thay (1.1) vào (1.2) ta có : (PKB)KB = P (mod N ) (1.4) Trong toán học chứng minh rằng, N số ngun tố cơng thức (4) có lời giải KB.kB = (mod N-1), áp dụng thuật tốn ta thấy N=p×q với p, q số nguyên tố, (4) có lời giải : KB.kB≡ (mod γ(N)) (1.5) γ(N) = LCM(p-1,q-1) LCM (Lest Common Multiple) bội số chung nhỏ Nói cách khác, người nhận B lựa chọn khoá cơng khai KB cách ngẫu nhiên Khi khố bí mật kB tính cơng thức (1.5) Điều hồn tồn tính B biết cặp số ngun tố (p,q) tính γ(N) Lê Thị Kim Vui-Lớp T13TVT Trang 10 Tìm Hiểu Thuật Toán MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử HH(a,b,c,d,Mj,s,ti) được biểu diễn a=b+ ((a+H(b,c,d) + Mj + ti)

Ngày đăng: 04/10/2020, 19:46

Từ khóa liên quan

Mục lục

  • 2.4.3 Kết quả chương trình mô phỏng thuật toán băm MD5 49

    • 2.4.3.1 Giao diện chương trình mô phỏng .49

    • 2.1.2.2 Mã hoá bất đối xứng

    • 2.2.3 THUẬT TOÁN CHỮ KÝ ĐIỆN TỬ

    • 2.4.3 KẾT QUẢ CHƯƠNG TRÌNH MÔ PHỎNG THUẬT TOÁN BĂM MD5

      • 2.4.3.1 Giao diện chương trình mô phỏng

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

Tài liệu liên quan