Hỗ trợ thanh toán qua INTERNET BANKING tất cả các ngân hàng: VietcomBank, BIDV, VietinBank, SacomBank, TechcomBank, Á Châu, TPbank, MBbank, AgriBank, VPbank, SHB, MaritimeBank, DongAbank, VIB, EximBank, HDbank, NCB, Việt Á, OceanBank, PGbank, BacAbank... Show
Bạn cần đăng nhập để tải code qua chức năng này! ĐĂNG NHẬP NGAY Hỗ trợ CHUYỂN KHOẢN TRỰC TIẾP qua các số tài khoản ngân hàng: VietcomBank, BIDV, VietinBank, SacomBank, TechcomBank, Á Châu, TPbank, MBbank, AgriBank, VPbank, SHB, MaritimeBank Bạn cần đăng nhập để tải code qua chức năng này! ĐĂNG NHẬP NGAY TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC MÃ HÓA DES VÀ MÃ HÓA 3DES Giảng viên hướng dẫn: Sinh viên thực hiện: Lớp: – HÀ NỘI – 2022 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Tài liệu tham khảo 44 iii Bảng ký hiệu và chữ viết tắtDES Data Encryption Standard.3DES Triple Data Encryption Standard.AES Advanced Encryption Standard.P Tập bản rõ.C Tập bản mã.K Tập khóa.E Tập quy tắc mã hóa.D Tập quy tắc giải mã.Chương 1Tổng quan về mật mã học.Trong chương này sẽ giới thiệu sơ lược về mật mã học, các khái niệm cơbản trong mật mã học và giới thiệu sơ lược về các phân loại mã hóa như:mã hóa cổ điển và mã hóa hiện đại, mã hóa khóa bí mật và mã hóa khóacông khai.1 Giới thiệu về mật mã.Mật mã (cryptology) là nghiên cứu về các kỹ thuật truyền thông an toàncho phép chỉ người gửi và người nhận dự định của một thông điệp xem nộidung của nó bằng cách chuyển đổi văn bản đơn giản thông thường thànhvăn bản không thể hiểu được thông qua khóa (key) và ngược lại. Mật mãkhông chỉ được dùng để bảo vệ dữ liệu, chống lại các hành vi trộm cắp, sửađổi mà còn có thể được sử dụng để xác thực người dùng và chống chối bỏ(người gửi và người nhậny không thể chối bỏ việc đã gửi hoặc nhận thôngtin).Mật mã đã xuất hiện và được ứng dụng từ hàng nghìn năm trước ở LaMã, Ả Rập,.. [5]. , tuy nhiên mật mã khi đấy chủ yếu được dùng trong lĩnhvực quân sự. Ngày nay, nhờ sự phát triển của khoa học kĩ thuật, mật mãđược ứng dụng sâu hơn, rộng hơn không chỉ trong các lĩnh vực quân sự,quốc phòng, an ninh mà còn trong các lĩnh vực phi quân sự như thương mạiđiện tử, ngân hàng,...1 Các khái niệm cơ bản.Các khái niệm cơ bản được sử dụng trong mật mã được trình bày dướiđây:
Hình 1: Hệ thống mã hóa khóa bí mật Ưu điểm của mã hóa khóa bí mật: có mức độ bảo mật cao; mã hóa và giải mã được thực hiện nhanh chóng. Bên cạnh đó do giải mã và mã hóa sử dụng chung khóa dẫn đến mã hóa khóa bí mật có nhược điểm sau: việc quản lí khóa khó khăn, khóa phải đảm bảo tính bí mật, kênh truyền khóa phải an toàn, khả năng bị bên thứ ba can thiệp là rất lớn dẫn đến thông tin bị đánh cắp hoặc bị giả mạo; cần nhiều khóa khi số lượng người dùng tăng lên; khóa cần được thay đổi thường xuyên. Một số mã hóa khóa bí mật: DES, 3DES, AES.
Ưu điểm của mã hóa khóa công khai: giải quyết được nhược điểm của mã hóa khóa bí mật, người thứ ba khó có thể can thiệp vào, bởi chỉ có người giữ khóa bí mật giải mã mới có thể giải mã được; số lượng khóa cần giữ bí mật trở nên ít hơn (chỉ cần giữ bí mật khóa giải mã). Tuy nhiên nhược điểm của mã hóa khóa công khai là tốc độ thực hiện chậm hơn nhiều so với mã hóa khóa bí mật. Một số mã hóa khóa công khai: DSA (Digital Signature Algorithm), RSA, mã hóa ElGamal. được thị trường với lý tưởng có thể được thực hiện trên một con chip duy nhất. Nỗ lực do Walter Tuchman và Carl Meyer đứng đầu, nó không chỉ là nỗ lực của các nhà nghiên cứu của IBM mà còn có tư vấn đến từ NSA. Các nhà nghiên cứu của IBM kết hợp với sự tư vấn đến từ NSA dưới sự lạnh đạo của Walter Tuchman và Carl Meyer, đã nỗ lực tạo ra một phiên bản tinh chỉnh của LUCIFER có khả năng chống thám mã tốt hơn và có kích thước khóa giảm còn 56 bits để phù hợp với chip đơn. Năm 1974, IBM giới thiệu thuật toán LUCIFER theo lời kêu gọi thiết kế một thuật toán mã hóa có thể đáp ứng được các tiêu chuẩn nghiêm ngặt của Văn phòng tiêu chuẩn Quốc gia (NBS - National Bureau of Standard), hiện nay đã đổi tên thành Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (National Institute of Standards and Technology - NIST). Năm 1976, dự án của IBM được NIST thông qua với tên gọi của mã hóa là Tiêu chuẩn Mã hóa dữ liệu (DES). 2 Thuật toán mã hóa DES. Mã hóa DES là mã hóa khóa bí mật (hay mã hóa đối xứng). Mã hóa khóa bí mật phân loại thành: mã hóa khối và mã hóa dòng; DES thuộc mã hóa khối. DES sử dụng khóa 56 bits xử lí thông tin theo từng khối 64 bits. Thuật toán mã hóa DES gọi là DEA (Data Encryption Algorithm - thường được sử dụng giữa DES và DEA). Đầu vào của thuật toán là các khối thông tin 64 bits và đầu ra là khối thông tin 64 bits đã được mã hóa. Sơ đồ thuật toán mã hóa DES. Hình 2: Sơ đồ thuật toán mã hóa DES. [1] Theo sơ đồ, ta thấy quá trình mã hóa DES diễn ra qua ba giai đoạn:
Bảng 2: Bảng IP − 1. [3] Bảng IP − 1 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 Phép hoán vị IP − 1 : Cách đọc bảng tương tự hoàn vị IP. 2.3 Hàm Feistel (F). Hàm Feistel được coi là trái tim của thuật toán mã hóa DES. Ở giai đoạn 2 của thuật toán mã hóa, hàm F được sử dụng để biến đổi chuỗi nửa phải (R) sang một chuỗi mới có độ dài 32 bit bằng cách sử dụng khóa con 56 bit sinh bởi khóa k. Đầu vào của hàm F gồm: chuỗi 32 bits, và chuỗi khóa con gồm 56 bit. Kết quả đầu ra của hàm F là chuỗi 32 bit. Sơ đồ hoạt động của hàm F được biểu diễn qua hình 2 dưới đây, mô tả cách thức hoạt động của hàm F với A là chuỗi 32 bit đầu vào; J là khóa con 48 bit sinh bởi khóa k. Hình 2: Sơ đồ thuật toán mã hóa DES. [1] Các bước thực hiện hàm F:
Bảng 2: Bảng thế vị P. [3] Bảng P 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 2.3 Hàm sinh khóa con. Hàm sinh khóa tạo ra 16 khóa con 48 bit từ khóa k cho trước.Đầu vào của thuật toán là khóa K 64 bit; đầu ra của thuật toán là 16 khóa con 48 bit. Quá trình tạo khóa con được mô tả dưới hình sau: Hình 2: Sơ đồ hoạt động hàm sinh khóa. [1] Theo sơ đồ, các bước thực hiện hàm sinh khóa con là: |