Đồ án xây dựng phần mềm mã hoá khoá công khai

66 3 0
Đồ án xây dựng phần mềm mã hoá khoá công khai

Đ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 tốt nghiệp chuyên ngành Mạng Máy Tính MỤC LỤC MỤC LỤC 1 DANH MỤC HÌNH VẼ 3 CHƯƠNG 1 TỔNG QUAN VỀ LÝ THUYẾT MẬT MÃ 5 1 1 Giới thiệu về mật mã học 5 1 1 1 Giới thiệu 5 1 1 2 Các hệ mật mã cổ điển.

Đồ án tốt nghiệp chuyên ngành Mạng Máy Tính MỤC LỤC MỤC LỤC .1 DANH MỤC HÌNH VẼ CHƯƠNG 1: TỔNG QUAN VỀ LÝ THUYẾT MẬT MÃ .5 1.1 Giới thiệu mật mã học .5 1.1.1 Giới thiệu 1.1.2 Các hệ mật mã cổ điển 1.1.3 Hệ mật mã chuẩn DES 1.2 Hệ mật mã khóa cơng khai 19 1.2.1 Giới thiệu 19 1.2.2 Cơ sở toán học 20 1.2.3 Hệ mật RSA 23 1.2.4 Hệ mật Rabin 25 1.2.5 Hệ mật ElGamal 26 1.3 Hàm băm chữ ký số 27 1.3.1 Giới thiệu hàm băm 27 1.3.2 Chữ ký số 28 CHƯƠNG 2: NGHIÊN CỨU HỆ MẬT RSA VÀ HÀM BĂM MD5 .30 2.1 Hệ mật RSA 30 2.1.1 Sơ lược RSA 30 2.1.2 Tạo khóa 30 2.1.3 Mã hóa 31 2.1.4 Giải mã 31 2.1.5 Cơ sở RSA 31 2.1.6 Tính bảo mật RSA 31 Đồ án tốt nghiệp chuyên ngành Mạng Máy Tính 2.2 Hàm băm MD5 .32 2.2.1 Giới thiệu 32 2.2.2 Mô tả thuật toán 32 2.2.3 Tính bảo mật MD5 37 CHƯƠNG 3: XÂY DỰNG PHẦN MỀM MÃ HĨA KHĨA CƠNG KHAI 38 3.1 Cấu trúc tổng quát 38 3.2 Xây dựng chương trình 38 3.2.1 Lớp RSA 38 3.2.2 Lớp MD5 43 3.2.3 Lớp PublicKey 43 3.2.4 Source code .49 3.3 Chạy chương trình 62 3.3.1 Xem khóa 62 3.3.2 Mã hóa 62 3.3.3 Chữ ký điện tử 63 KẾT LUẬN 65 TÀI LIỆU THAM KHẢO 66 Đồ án tốt nghiệp chuyên ngành Mạng Máy Tính DANH MỤC HÌNH VẼ Hình 1-1 Sơ đồ khái qt thuật toán lập mật mã DES 14 Hình 1-3 Tạo chữ ký số .33 Hình 1-4 Thẩm định chữ ký số 33 Hình 2-1 Sơ đồ vịng lặp MD5 37 Hình 3-1 Hiển thị khóa 66 Hình 3-2 Mã hóa số nguyên .67 Hình 3-3 Mã hóa chuỗi ký tự .67 Hình 3-4 Chữ ký điện tử 68 Đồ án tốt nghiệp chuyên ngành Mạng Máy Tính LỜI MỞ ĐẦU Trước cơng nghệ máy tính chưa phát triển, nói đến vấn đề an tồn bảo mật thông tin, thường hay nghĩ đến biện pháp nhằm đảm bảo cho thông tin trao đổi hay cất giữ cách an tồn bí mật, chẳng hạn biện pháp như: Đóng dấu ký niêm phong thư để biết thứ có chuyển nguyên vẹn đến người nhận hay khơng, dùng mật mã hóa thơng điệp để có người gửi người nhận hiểu thơng điêp, lưu trữ tài liệu két sắt có khóa nơi bảo vệ nghiêm ngặt Ngày với phát triển khoa học công nghệ, đặc biệt phát triển Internet, việc sử dụng máy tính điện thoại cá nhân ngày trở nên phổ biến, dẫn đến nhiều thông tin lưu trữ máy tính gửi mạng Internet Do nhu cầu an tồn bảo mật thơng tin máy tính nhiều việc sử dụng mật mã mã hóa phổ biến Vì em chọn đề tài xây dựng phần mềm mã hóa khóa cơng khai để phục vụ mã hóa thơng tin mạng Đồ án tốt nghiệp chuyên ngành Mạng Máy Tính CHƯƠNG 1: TỔNG QUAN VỀ LÝ THUYẾT MẬT MÃ 1.1 Giới thiệu mật mã học 1.1.1 Giới thiệu Mật mã học là lĩnh vực liên quan đến kỹ thuật ngơn ngữ tốn học để đảm bảo an tồn thơng tin, cụ thể trong thơng tin liên lạc Trong lịch sử, mật mã học gắn liền với q trình mã hóa; điều có nghĩa gắn với cách thức để chuyển đổi thông tin từ dạng sang dạng khác từ dạng thông tin nhận thức thành dạng khơng nhận thức được, làm cho thông tin trở thành dạng đọc khơng có kiến thức bí mật Q trình mã hóa sử dụng chủ yếu để đảm bảo tính bí mật thơng tin quan trọng, chẳng hạn cơng tác tình báo, qn sự hay ngoại giao cũng bí mật về kinh tế, thương mại Trong năm gần đây, lĩnh vực hoạt động mật mã hóa mở rộng: mật mã hóa đại cung cấp chế cho nhiều hoạt động việc giữ bí mật có loạt ứng dụng như: chứng thực khóa cơng khai, chữ ký số, bầu cử điện tử hay tiền điện tử Ngoài ra, người khơng có nhu cầu thiết yếu đặc biệt tính bí mật sử dụng cơng nghệ mật mã hóa, thơng thường thiết kế tạo lập sẵn sở hạ tầng cơng nghệ tính tốn liên lạc viễn thơng Mật mã học lĩnh vực liên ngành, tạo từ số lĩnh vực khác Các dạng cổ mật mã hóa chủ yếu liên quan với kiểu mẫu trong ngơn ngữ Gần tầm quan trọng thay đổi mật mã hóa sử dụng gắn liền nhiều với toán học, cụ thể là toán học rời rạc, bao gồm vấn đề liên quan đến lý thuyết số, lý thuyết thơng tin, độ phức tạp tính tốn, thống kê và tổ hợp Mật mã hóa coi nhánh của cơng nghệ, coi khơng bình thường liên quan đến chống đối ngầm Mật mã hóa cơng cụ sử dụng trong an ninh máy tính và mạng Đồ án tốt nghiệp chuyên ngành Mạng Máy Tính 1.1.2 Các hệ mật mã cổ điển a) Mã chuyển dịch Các hệ mật mã chuyển dịch có bảng ký tự rõ bảng ký tự mã bảng ký tự ngon ngữ viết thông thường Vì bảng ký tự tiếng Việt dùng nhiều dấu phụ làm cho cách xác định ký tự khó thống nên ta sử dụng bảng ký tự tiếng Anh để minh họa Bảng ký tự gồm có 26 ký tự, đánh dấu từ đến 25 Ta đồng với tập Z26 Được định nghĩa sau: S = (P , C , K , E , D ) , Trong đó: P = C = K = Z26 , ánh xạ C D cho bởi: Với K, x,y ∈ Z26: C(K,x)=x+K mod 26 D(K,y)=y-K mod 26 Các hệ mật xác định đắn, với K, x , y ∈ Z26 ta có: dk(ek(x)) = (x +K ) - K mod26 = x Các hệ mật mã chuyển dịch sử dụng từ sớm Hệ mật mã với K=3 dùng J.Caesar từ thời đế quốc La Mã, gọi hệ mã Caesar b) Mã thay Sơ đồ hệ mật mã định nghĩa sau: S = (P , C , K , E , D ) , đó: P = C = Z26 , K tập hợp tất phép hoán vị Z26 ánh xạ C D cho bởi: e(x)= π(x), d π(y)= π-1(y), với x ∈ P, y ∈ C, π ∈ K phép hoán vị Z26 Ta thường đồng Z26 với bảng ký tự tiếng Anh, phép hoán vị Z26 hiểu phép hoán vị tập hợp ký tự tiếng Anh c) Mã apphin Hệ mật mã apphin định nghĩa sau: S = (P , C , K , E , D ) , Trong P=C= Z26, K={(a,b) ∈ Z26 x Z26 | gcd(a,26)=1}, Đồ án tốt nghiệp chuyên ngành Mạng Máy Tính Các ánh xạ C D cho bởi: Ek(x)=ax+b mod26, Dk(y)= a-1(y-b)mod26 Với x ∈ P, y ∈ C, K=(a,b) ∈ K Có điều kiện gcd(a,26)=1 để đảm bảo có phần tử nghịch đảo a -1mod26 a, làm cho thuật tốn giải mã d k ln thực Có tất Φ(26)=12 số a ∈ Z26 nguyên tố với 26, số 1,3,5,7,9,11,15,17,19,21,23,25 số nghịch đảo theo mod26 tương ứng chúng 1,9,21,15,3,19,7,23,11,5,17,25 Thí dụ với rõ “hengapnhauvaochieuthubay” có dãy số tương ứng là: x= 13 15 13 20 21 14 20 24 dùng khóa K=(5,6) ta mã: y= 15 19 10 19 15 24 16 15 20 23 15 11 22, chuyển sang dòng ký tự tiếng Anh ta mã: patkgdtpgchgyquacxpclgw d) Mã Vigenere Sơ đồ mật mã lấy tên cua Blaise de Vigenere, sống vào kỷ 16 Hệ mật Vigenere không thực ký tự một, mà thực m ký tự (m số nguyên dương) Sơ đồng hệ mật Vigenere định nghĩa sau: S=(P,C,K,C,D), m P=C=K= Z26 , ánh xạ C D cho bởi: ek(x1,…, xm) = (x1+k1,…, xm+km) mod26 dk(y1,…, ym) = (y1-k1,…, xm-km) mod26 với x=(x1,…, xm) ∈ P, y= (y1,…, ym) ∈ C, K= (k1,…, km) ∈ K Đồ án tốt nghiệp chuyên ngành Mạng Máy Tính Sơ đồ Vigenere xem mở rộng sơ đồ mã chuyển dịch, mã chuyển dịch thực việc chuyển dịch ký mã Vigenre thực đồng thời m ký tự liên tiếp Thí dụ lấy m =6 K = (2,8,15,7,4,17) Để lập mã cho rõ Hengapnhauvaochieuthubay, ta chuyển thành dãy số tách thành đoạn số liê tiếp: x= 13 15 | 13 20 21 | 14 20 | 19 20 24 độ dài x bội số 6, ta quy ước thêm vào đoạn cuối x số phần tử đó, chẳng hạn số 0, để xem x tách thàng đoạn có số liên tiếp Cộng theo mod26 ố đoạn với số tương ứng khóa K ta mã y=9 12 13 | 15 15 15 25 17 | 16 10 22 15 11 | 21 15 15 chuyển sang dãy ký tự ta mã jmcnegpppbzrqkwpilvpjiep Từ mã trên, dùng thuật toán giải mã tương ứng ta thu rõ ban đầu e) Mã hóa vị Các hệ mã hốn vị thực m ký tự liên tiếp, mật mã hoán vị ký tự m ký tự rõ Ta ký hiệu Sm tập hợp tất phép hoán vị tập hợp {1,2, ,m} Sơ đồ phép hoán vị cho S=(P, C, K, C, D), P=C= Z26m , K = Sm, ánh xạ C D cho bởi: ek(x1,…, xm) = (x1+k1,…, xm) = (x(1),…, x(m)) dk(y1,…, ym) = (x1+k1,…, xm) = (x-1(1),…, x-1(m)), với x=(x1,…, xm) ∈ P, y=(y1,…, ym) ∈ C, K= ∈ Sm , -1 hoán vị nghịch đảo  Đồ án tốt nghiệp chuyên ngành Mạng Máy Tính Thí dụ: chọn m =6 phép hoạn vị  ∈ S6 cho bởi: i= (1) = Khi phép hốn vị -1 j= -1(j) =3 Với rõ hengapnhauvaochieuthubay, tức với x= 13 15 | 13 20 21 | 14 20 | 19 20 ta có mã tương ứng là: y= 13 15 21 13 20 7 14 20 20 19 24 chuyển thành dãy ký tự nahpgeavnauhheouicuatybh Dùng cho ký tự liên tiếp mật mã (tức ) phép giải mã d k ta thu lại x rõ ban đầu 1.1.3 Hệ mật mã chuẩn DES DES (viết tắt Data Encryption Standard, hay Tiêu chuẩn Mã hóa Dữ liệu) phương pháp mật mã hóa FIPS (Tiêu chuẩn Xử lý Thông tin Liên bang Hoa Kỳ) chọn làm chuẩn thức vào năm 1976 Sau chuẩn sử dụng rộng rãi phạm vi giới Đồ án tốt nghiệp chuyên ngành Mạng Máy Tính Thuật tốn DES mơ tả sau: Hình 1-1 Sơ đồ khái quát thuật toán lập mật mã DES 10

Ngày đăng: 21/04/2023, 17:02

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

Tài liệu liên quan