Mã hóa thông tin, thuật toán băm MD5, thuật toán mã hóa RSA và chữ ký điện tử. - pdf 14

Download miễn phí Mã hóa thông tin, thuật toán băm MD5, thuật toán mã hóa RSA và 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 . 5
1.1.Mục đích 5
1.2 Đối tượng nghiên cứu 5
1.2 Phạm vi nghiện cứu . 5
1.4 Ý nghĩa đề tài . 5
PHẦN II: NỘI DUNG 6
CHƯƠNG 1 :TỔNG QUAN VỀ MẬT MÃ HÓA 6
2.1.1 Khái niệm về mã hóa 6
2.1.2 Các thuật toán mã hóa 7
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 . 9
2.1.4.1 Khái niệm hệ mật mã RSA . 9
2.1.4.2. Độ an toàn của hệ RSA 11
2.1.4.3. Một số tính chất của hệ RSA 12
2.1.4.4 Một số phương pháp tấn công giải thuật RSA . 13
CHƯƠNG 2 CHỮ KÝ ĐIỆN TỬ15
2.2.1Giới thiệu . 15
2.2.2 Khái niệm về 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ý và gửi các tệp văn bản 22
2.2.6.2 Quá trình nhận các tệp văn bả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 MD526
2.3.1 Đăt vấn đề . 26
2.3.2 giới thiệu về 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 trên 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 của hàm băm 32
2.3.8 Tính an toàn của hàm băm đối với hiện tượng đụng độ . 32
2.3.9 Tính một chiều 33
2.3.10. Sử dụng cho các nguyên thủy mật mã khác . 33
2.3.11 Ghép các 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 nổi 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 hiện . 40
2.3.17 Sự khác nhau giữa MD4 và MD5 42
CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG THUẬT TOÁN MD5 43
2.4.1 Nhiệm vụ của chương trình . 43
2.4.2 Thuật toán MD5 và 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 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.4.3.2 Các bước thực hiện chương trình . 49
2.4.3.3 Kết quả thực nghiệm 50
PHẦN III: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN . 53
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 7
Hình 1.2 Nguyên lý của hệ thống mã hoá đối xứng . 7
Hình 1.3 Kênh nguyên lý trong hệ thống mã hoá đối xứng 8 Hình 1.4 Nguyên lý cơ bản của mã hoá khoá công khai và thuật toán RSA . 9 Hình 1.5 Sơ đồ các bước thực hiện 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ý và kiểm tra chữ ký . 19
Hình 2.3 Sơ đồ mô tả quá trình ký và gửi các tệp văn bản . 24
Hình 2.4 Sơ đồ mô tả quá trình nhận các tệp văn bả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ơ đồ 1 vòng lặp của MD5 39


Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

ký.
Để kiểm tra tính toàn vẹn của số liệu, người nhận rút khoá công cộng của người gửi từ chứng nhận điện tử của nó và sử dụng khoá công cộng này để giải mật mã chữ ký điện tử. Sau đó áp dụng hàm Hash mà đã được người gửi sử dụng cho số liệu gốc nhận được. Các tóm tắt bản tin thu được sẽ được so sánh với nhau để thẩm định rằng bản tin không bị sửa đổi trong quá trình truyền dẫn và nó thực sự được gửi từ người gửi mong đợi. Chú ý rằng người nhận phải lấy chứng nhận số của người gửi từ một server chứng nhận, đây chính là bước kiểm tra giá trị chứng nhận
2.2.4 CHỨNG NHẬN CHỮ KÝ ĐIỆN TỬ
Các khóa công cộng đã được mô tả trong phần trước và được sử dụng trong nối mạng số liệu để kiểm tra các chữ ký điện tử, bản thân chúng không mang bất cứ thông tin nào về các thực thể cung cấp các chữ ký. Công nghệ nối mạng số liệu thừa nhận vấn đề này và tiếp nhận các chứng nhận an ninh để ràng buộc khóa công cộng và nhận dạng thực thể phát hành khóa. Chứng nhận chữ ký điện tử đảm bảo rằng một khoá công cộng là sở hữu của thực thể mà nó thể hiện. Để thực hiện được điều này, thì chính chứng nhận này cũng phải được kiểm tra để đảm bảo rằng nó thay mặt cho đối tượng cần mong muốn (đối tượng này có thể là một cá nhân hay một tổ chức). Điều này được thực hiện bằng cách sử dụng một tổ chức thứ ba đáng tin cậy được gọi là thẩm quyền chứng nhận (CA - Certificate Authority) gồm có VeriSign, Entrust, và Certicom. Các thẩm quyền này được phép cung cấp các dịch vụ này cho các thực thể được nhận dạng hợp lệ khi chúng yêu cầu. Để thực hiện chức năng của mình, một CA phải được tin tưởng bởi các thực thể dựa trên các dịch vụ của nó. Người dùng có thể mua chứng nhận số từ CA và sử dụng chứng nhận này để nhận thực và để lưu hành khoá riêng của họ. Một chứng nhận số điển hình chứa những thông tin sau:
Tên của người đang nắm giữ chứng nhận chữ ký điện tử, cũng như thông tin khác mà có thể nhận dạng duy nhất người này, thông tin phụ thêm có thể là URL của một Web Server đang sử dụng chứng nhận hay một địa chỉ email.
Khoá công cộng của người đang nắm giữ chứng nhận chữ ký điện tử.
Tên của CA lưu hành chứng nhận này.
Thời hạn sử dụng của chứng nhận(thường là ngày bắt đầu và ngày hết hạn).
Một chữ ký số của CA để có thể nhận ra chứng nhậnchữ ký điện tử đề phòng trường hợp phiên truyền dẫn bị phá rối.
Tất cả các chứng nhận được ký bằng một khóa riêng của CA. Người sử dụng chứng nhận có thể xem kiểm tra thông tin của chứng nhận có hợp lệ không bằng cách giải mật mã chữ ký bằng một khoá kiểm tra công cộng nhận được từ chứng nhận phát đi từ thẩm quyền mức phân cấp cao hơn và kiểm tra xem nó có phù hợp với MD (Message Digest) của nội dung nhận được trong chứng nhận hay không. Chữ ký thường là một MD được mật mã hóa.
Dạng chính của chứng nhận số là X.509, một tiêu chuẩn công nghiệp cho nhận thực. Những chứng nhận này là rất thông dụng trong các ứng dụng Internet. Trong lĩnh vực vô tuyến có loại chứng nhận số khác gọi là chứng nhận WTLS Server WAP (WAP Server WTLS Certificate), các chứng nhận này thường được gọi ngắn gọn là chứng nhận WTLS, đây là phiên bản đơn giản hơn của X.509 được tạo ra do chứng nhận X.509 quá lớn đối với các ứng dụng vô tuyến. Các chứng nhận WTLS chủ yếu được sử dụng trong các ứng dụng WAP nơi mà các trình duyệt muốn nhận thực nhận dạng của một Server WAP và mật mã hoá thông tin bằng cách sử dụng giao thức an ninh lớp truyền tải vô tuyến (WTLS - Wireless Transport Layer Security).
2.2.5 CHUẨN CHỮ KÝ ĐIỆN TỬ (Digital Signature Standard)
Chuẩn chữ ký điện tử (DSS) được sửa đổi từ hệ chữ ký ElGammal. Nó được công bố tại hội nghị Tiêu chuẩn xử lý thông tin Liên Bang (FIPS) vào 19/05/1994 và trở thành chuẩn vào 01/12/1994. DSS sử dụng một khoá công khai để kiểm tra tính toàn vẹn của dữ liệu nhận được và đồng nhất với dữ liệu của người gửi. DSS cũng có thể sử dụng bởi người thứ ba để xác định tính xác thực của chữ ký và dữ liệu trong nó. Đầu tiên chúng ta hãy tìm hiểu động cơ của sự thay đổi này, sau đó sẽ tìm hiểu thuật toán của DSS.Trong rất nhiều trường hợp, một bức điện có thể được mã hoá và giải mã một lần, vì vậy nó đáp ứng cho việc sử dụng của bất kỳ hệ thống bảo mật nào được biết là an toàn lúc bức điện được mã hoá. Nói cách khác, một bức điện được ký đảm nhiệm chức năng như một văn bản hợp pháp, chẳng hạn như các bản hợp đồng, vì vậy nó cũng giống như việc cần thiết để xác minh chữ ký sau rất nhiều năm bức điện được ký. Điều này rất quan trọng cho việc phòng ngừa về độ an toàn của chữ ký được đưa ra bởi một hệ thống bảo mật. Vì hệ chữ ký ElGammal không đảm nhận được điều này, việc thực hiện này cần một giá trị lớn modulo p. Tất nhiên p nên có ít nhất 512-bit, và nhiều người cho rằng độ dài của p nên là 1024-bit nhằm chống lại việc giả mạo trong tương lai.Tuy nhiên, ngay cả một thuật toán modulo 512-bit dùng để ký cũng phải thực hiện việc tính toán đến 1024-bit. Cho ứng dụng tiềm năng này, có rất nhiều card thông minh được đưa ra, nhằm thực hiện một chữ ký ngắn hơn như mong muốn. DSS đã sửa đổi hệ chữ ký ElGammal cho phù hợp theo cách này một cách khéo léo, để mỗi 160-bit bức điện được ký sử dụng một chữ ký 320-bit, nhưng việc tính toán được thực hiện với 512-bit modulo p. Cách này được thực hiện nhờ việc chia nhỏ Z*p thành các trương có kích thước 2160. Việc thay đổi này sẽ làm thay đổi giá trị δ
δ = (x+αy) k-1 mod(p-1)
Điều này cũng làm cho giá trị kiểm tra cũng thay đổi:
Αxβy ≡ yδ (mod p).
Nếu UCLN(x + αy, p - 1) = 1 thì sẽ tồn tại δ -1 mod (p - 1), do đó sẽ biến đổi
thành: α -
xα-1 βyδ -1 ≡(mod p)
Đây chính là sự đổi mới của DSS. Chúng ta cho q là một số nguyên tố 160-bit sao cho q | (p-1), và α là một số thứ q của 1 mod p, thì β và y cũng là số thứ q của 1 mod p. Do đó α, β và y có thể được tối giản trong modulo p mà không ảnh hưởng gì đến việc xác minh chữ ký.
Cho p là một số nguyên tố 512-bit trong trường logarit rời rạc Zp, q là một số nguyên tố 160-bit và q chia hết (p-1). Cho α € Zp ; P = Zp , A = Zq*Zq, và định nghĩa:K = {(p, q, α, a, β) : β ≡ αa (mod p)}
trong đó giá trị p, q, α và β là công khai, còn a là bí mật.
Với K = (p, α, a, β) và chọn một số ngẫu nhiên k (1 ≤ k ≤ q-1), định nghĩa:
Sigk(x, k) = (y, δ)
Chú ý rằng, với DSS thì δ ≠ 0 (mod q) vì giá trị: δ -1 mod q cần cho việc xác minh chữ ký (điều này cũng tương tự như việc yêu cầu UCLN(,δ p-1) = Khi B tính một giá trị δ ≡ 0 (mod q) trong thuật toán ký, anh ta nên bỏ nó đi và chọn một số ngẫu nhiên k mới.
Ví dụ: Chúng ta chọn q = 101 và p = 78*q + 1 = 7879 và g = 3 là một nguyên tố trong Z7879. Vì vậy, ta có thể tính: α = 378 mod 7879 = 170.
Chọn a = 75, do ...
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status