Đồ án tốt nghiệp Mã hóa văn bản theo giải thuật
Trang 1TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
KHOA CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI
MÃ HÓA VĂN BẢN THEO GIẢI THUẬT KẾT HỢP RC2 VÀ RSA
Giáo viên hướng dẫn : Ths Phạm Tuấn ĐạtGiáo viên phản biện : Ths Nguyễn Thế CườngSinh viên thực hiện : Nguyễn Quang Hiệp
Trang 2NỘI DUNG BÁO CÁO
Giới thiệu chung về mã hóa Thuật toán mã hóa RC2
Thuật toán mã hóa RSA
Giới thiệu các thư viện về mật mã trong NET Giới thiệu chương trình
Kết luận
Trang 3GIỚI THIỆU CHUNG VỀ MÃ HÓA
Mã hóa là làm cho dữ liệu không thể đọc bởi bất cứ ai, ngoại trừ người được phép đọc
Có 2 lớp của phương thức mã hóa
Mã hóa đối xứng
Mã hóa bất đối xứng
Trang 4GIỚI THIỆU CHUNG VỀ MÃ HÓA
Mã hóa đối xứng
Mã hóa đối xứng chia thành 2 dạng
Mã hóa khối (Block Cipher) Mã dòng (Stream Cipher)
Trang 5GIỚI THIỆU CHUNG VỀ MÃ HÓA
Mã hóa bất đối xứng
Trang 6THUẬT TOÁN RC2
RC2 thuộc nhóm mã khối Tác giả của RC2 là Ron Rivest.
Các bước của thuật toán
Tạo khóa con Mã hóa
Giải mã
Trang 7THUẬT TOÁN RC2 – Tạo khóa con
RC2 thực hiện một loạt thao tác với khóa chính để tạo 128 bytes khóa con và các khóa con này được lưu vào mảng bytes L[0],L[1],….,L[127].
Việc tạo khóa con bằng cách sao chép khóa chính (T bytes) vào mảng L ( 128 bytes) Sau đó giá trị mảng L được thay đổi với sự trợ giúp của mảng ngẫu nhiên P[0…255]
Phép biến đổi được mô tả :
Trang 8THUẬT TOÁN RC2 – Mã hóa
Khối đầu vào 64 bits trong RC2 được biểu diễn dưới dạng 4 từ 16 bits: R[0], R[1], R[2], R[3] và kết quả nơi đầu ra được ghi vào chính các từ này Thuật toán RC2 chứa 18 chu kỳ (rounds)
Có 2 loại chu kỳ là “xáo trộn” (mixing round) và “nghiền nát” (mashing round)
Trang 9THUẬT TOÁN RC2 – Mã hóa
Mixing round : đươc biểu diễn bởi công thức sau đây:
Trang 10THUẬT TOÁN RC2 – Mã hóa
Mashing round : được biểu diễn bởi công thức sau đây :
Trang 11THUẬT TOÁN RC2 – Mã hóa
Sau khi định nghĩa mixing round và mashing round, ta đã có thể mô tả pha mã hóa của RC2 Nó bao gồm các bước sau đây
Gán giá trị cho j=0.
Thực hiện 5 mixing rounds (j=20).Thực hiện 1 mashing round.
Thực hiện 6 mixing rounds (j=44).Thực hiện 1 mashing round.
Thực hiện 5 mixing rounds (j=64).
Với mixing rounds, mỗi khóa con được dùng đúng 1 lần Đối với các mashing rounds giá trị khóa phụ thuộc vào giá trị của dữ liệu được mã hóa
Trang 12THUẬT TOÁN RC2 – Giải mã
Tất cả các phép toán được sử dụng trong quá trình mã hóa đều có phép toán ngược Vì thế để giải mã cần thực hiện phép biến đổi ngược của pha mã hóa R – mixing
Trang 13THUẬT TOÁN RC2 – Giải mã
R - mixing round : được biểu diễn bởi công thức sau
Trang 14THUẬT TOÁN RC2 – Giải mã
R – mashing round : được biểu diễn bởi công thức sau
Trang 15THUẬT TOÁN RC2 – Giải mã
Trang 16THUẬT TOÁN RSA
Thuật toán được Ron Rivest, Adi Shamir và Len
Adleman mô tả lần đầu tiên vào năm 1977 tại học viện công nghệ Massachusetts (MIT)
Là thuật toán mã hóa bất đối xứng Các bước của thuật toán
Tạo khóaMã hóaGiải mã
Trang 17THUẬT TOÁN RSA – Tạo khóa
Chọn 2 số nguyên tố lớn và với lựa chọn ngẫu nhiên và độc lập
Tính n = pq.
Tính : giá trị hàm số Ơle :
Chọn 1 số tự nhiên sao cho và là số nguyên tố cùng nhau với
Trang 18THUẬT TOÁN RSA – Tạo khóa
Khóa công khai bao gồm
Trang 19THUẬT TOÁN RSA
Trang 20GIỚI THIỆU CÁC THƯ VIỆN VỀ MẬT MÃ
Cung cấp các cơ sở để thực hiện các giải thuật băm cụ thể dẫn xuất từ đóCó 6 giải thuật băm cụ thể được định nghĩa trong thư viện
Trang 21GIỚI THIỆU CÁC THƯ VIỆN VỀ MẬT MÃ
Trang 22GIỚI THIỆU VỀ CHƯƠNG TRÌNH
Giao diện chính của chương trình
Trang 23KẾT LUẬN
Chương trình em xây dựng đã đáp ứng được yêu cầu của đề tài đó là mã hóa văn bản theo giải thuật kết hợp RSA và RC2
Tuy nhiên chương trình còn nhiều hạn chế do khả năng có hạn và thiếu kinh nghiệm.
Em hi vọng chương trình sẽ được xây dựng hoàn thiện và phát triển ở mức cao hơn để có thể hỗ trợ thực sự cho lĩnh vực an toàn và bảo mật thông tin.
Trang 24EM XIN CHÂN THÀNH CẢM ƠN !