Một số phương pháp thám mã hệ mật mã đối xứng và ứng dụng trong phát triển hệ mật mã

74 1K 4
Một số phương pháp thám mã hệ mật mã đối xứng và ứng dụng trong phát triển hệ mật mã

Đ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

i LỜI CẢM ƠN Em xin chân thành cảm ơn trường Đại học Công nghệ thông tin truyền thông Thái Nguyên tạo điều kiện thuận lợi cho em trình học tập, công tác thực đề tài luận văn Em xin nói lên lòng biết ơn sâu sắc lời cảm ơn chân thành đến thầy giáo TS Nguyễn Duy Minh, người Thầy mà tận tình hướng dẫn, truyền thụ cho em kiến thức, kinh nghiệm quý báu giúp em suốt trình học tập, nghiên cứu trình thực luận văn Cuối em xin gửi lời cảm ơn sâu sắc tới gia đình, bạn bè, đồng nghiệp ủng hộ, động viên em trình học tập thực luận văn Mặc dù cố gắng hoàn thành luận văn phạm vi khả cho phép chắn không tránh khỏi thiếu sót, kính mong nhận tận tình bảo quý thầy cô bạn Thái nguyên, Tháng năm 2014 Lê Hữu Thọ i ii MỤC LỤC LỜI CẢM ƠN i MỤC LỤC ii DANH MỤC HÌNH iv LỜI MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ CHUẨN MÃ HÓA DỮ LIỆU DES 1.1 Các hệ mã khóa 1.1.1 Hệ mật mã đối xứng 1.1.2 Hệ mật mã bất đối xứng 1.2 Chuẩn mã hóa liệu DES 1.3 Quy trình mã hóa DES 1.4 Lập mã giải mã DES 1.5 Các chế độ mã hóa theo DES 10 1.6 Độ an toàn DES 13 1.7 Kết luận 14 CHƯƠNG 2: CÁC PHƯƠNG PHÁP THÁM MÃ HỆ MẬT MÃ ĐỐI XỨNG 15 2.1 Các thuật ngữ 15 2.1.1 Mật mã (Cryptography) 15 2.1.2 Bản rõ (Plain text) 15 2.1.3 Bản mã (Cipher text) 15 2.1.4 Phép biến đổi mã/dịch (Encrytion/decryption transformations) 15 2.2 Thám mã 16 2.2.1 Khái niệm 16 2.2.2 Các bước để thám mã 21 2.2.3 Các kiểu công thám mã 26 2.3 Các phương pháp thám mã hệ mã đối xứng 30 2.3.1 Phương pháp công vét cạn 30 2.3.2 Phương pháp thám mã tuyến tính 30 2.3.3 Phương pháp thám mã vi sai 40 ii iii 2.4 Đánh giá độ an toàn DES trước vài phương pháp công phá mã 45 2.5 Kết luận 46 CHƯƠNG 3: CÀI ĐẶT MỘT SỐ PHƯƠNG PHÁP THÁM MÃ HỆ MÃ DES 47 TRONG PHÁT TRIỂN HỆ MẬT MÃ 47 3.1 Đặt vấn đề 47 3.2 Mô tả DES 48 3.3 Lập mã DES 59 3.4 Xây dựng chương trình thám mã DES 63 3.5 Kết luận 68 KẾT LUẬN 69 TÀI LIỆU THAM KHẢO 70 iii iv DANH MỤC HÌNH Hình 1.1 Sơ đồ mã hóa DES Hình 1.2 Một vòng lặp DES Hình 1.3 Mô mã hóa (a) giải mã (b) theo DES Hình 1.4 Chế độ CBC 10 Hình 1.5 Chế độ CFB 11 Hình 2.1 Mô hình DES với quy ước 31 Hình 2.2 Sơ đồ xấp xỉ tuyến tính hệ mã DES vòng 35 Hình 2.3 Sơ đồ xấp xỉ tuyến tính hệ mã DES vòng 38 Hình 2.4 Các xâu vào với XOR vào 110100 43 Hình 3.1 Một vòng DES 48 Hình 3.2 Hàm f DES 50 Hình 3.3 Tính bảng khóa DES 55 Hình 3.4 Giao diện chương trình thám mã DES 64 Hình 3.5 Quá trình tạo khóa 65 Hình 3.6 Quá trình mã hóa rõ 66 Hình 3.7 Quá trình giải mã nội dung mã 67 Hình 3.8 Quá trình thám mã thành công 68 iv LỜI MỞ ĐẦU Mật mã học ngành khoa học mã hóa liệu nhằm bảo mật thông tin Mã hóa liệu trình mà liệu dạng văn gốc chuyển thành văn mật mã để làm đọc Ngày nay, để đảm bảo an toàn bí mật thông tin quan trọng, nhạy cảm, vấn đề mã hóa liệu ngày trở nên cấp thiết nhiều người quan tâm Có nhiều phương pháp mã hóa liệu đưa Vậy làm để đánh giá phương pháp mã hóa tốt? Hiện nay, có nhiều phương pháp đánh giá phương pháp tốt trực quan phương pháp phân tích trực tiếp mã khóa mã tay mà người ta gọi thám mã Ngày nay, nhu cầu trao đổi thông tin mật thành viên nhóm, tổ chức ngày lớn việc đảm bảo an toàn thông tin cần thiết Cùng với phát triển mật mã nói chung hệ mã đối xứng nói riêng thám mã lĩnh vực thường quan tâm nghiên cứu, công khai, công khai không đầy đủ Mặc dù, thời gian qua có nhiều kết nghiên cứu DES công bố, DES bị phá khóa hệ thống chuyên dụng vòng chưa đầy 24 giờ, việc nghiên cứu thám mã DES cần thiết để hướng tới thám mã hệ mật mã đại có độ dài khóa lớn hơn, dần thay DES Phân tích mật mã hay thám mã đưa khuyến cáo, phản hồi cho chuyên gia thiết kế lại hệ mật mã để chống lại công Đồng thời có ý nghĩa hỗ trợ công tác tình báo, phản gián Chính lý trình bày trên, em chọn đề tài: “Một số phương pháp thám mã hệ mật mã đối xứng ứng dụng phát triển hệ mật mã”, nhằm tìm hiểu phương pháp thám mã xây dựng qui trình thám mã cho hệ mật mã đối xứng DES Trong khuôn khổ đề tài giao, luận văn trình bày chương có phần mở đầu, phần kết luận, phần mục lục, tài liệu tham khảo Các nội dung luận văn trình bày sau: Chương 1: “Tổng quan chuẩn mã hóa liệu DES”, chương tập chung trình bày khái niệm mã hóa, hệ mật mã, chế độ mã hóa trình mã hóa, giải mã DES Chương 2: “Các phương pháp thám mã hệ mật mã đối xứng”, chương trình bày thuật ngữ mật mã thám mã, khái niệm thám mã, bước để tiến hành thám mã, đặc biệt chương tập trung trình bày phương pháp thám mã phương pháp công vét cạn, phương pháp thám mã tuyến tính, phương pháp thám mã vi sai Chương 3: “Đề xuất phương pháp thám mã DES ứng dụng phát triển hệ mật mã”, sở lý thuyết trình bày chương chương 2, đặc biệt chương đưa số phương pháp thám mã hệ mã DES Từ đề xuất phương pháp thám mã DES phương pháp mã vi sai hệ mã DES-6 vòng Kết phương pháp trình bày rõ chương Do mức độ phức tạp công việc thám mã lớn nên toán đặt với giả thiết người thám mã biết thông tin mã mã hóa DES (chế độ CBC) từ rõ tương ứng thông điệp dạng Text Từ giả thiết xây dựng thuật toán để xác định khóa mật K sử dụng để mã hóa tìm rõ tương ứng CHƯƠNG TỔNG QUAN VỀ CHUẨN MÃ HÓA DỮ LIỆU DES 1.1 Các hệ mã khóa 1.1.1 Hệ mật mã đối xứng Thuật toán đối xứng hay gọi thuật toán mã hóa cổ điển Thuật toán có nhiều tên gọi khác thuật toán khóa bí mật, thuật toán đơn giản, thuật toán khóa Là thuật toán mà khóa mã hóa tính toán từ khóa giải mã Trong nhiều trường hợp, khóa mã hóa khóa giải mã giống Thuật toán yêu cầu người gửi người nhận phải thỏa thuận khóa trước thông báo gửi, khóa phải cất giữ bí mật Độ an toàn thuật toán phụ thuộc vào khóa, để lộ khóa nghĩa người mã hóa giải mã hệ thống mật mã Sự mã hóa giải mã thuật toán đối xứng biểu thị bởi: EK(P) = C DK(C) = P K1 Bản rõ Mã hóa K2 Bản mã Mã hóa Bản rõ gốc K1 trùng K2 K1 tính toán từ K2 K2 tính toán từ K1 Ưu điểm: - Xử lý nhanh Nhược điểm: - Các phương pháp mã hóa cổ điển đòi hỏi người mã hóa người giải mã phải chung khóa Khi khóa phải giữ bí mật tuyệt đối, ta dễ dàng xác định khóa biết khóa - Hệ mã hóa đối xứng không bảo vệ an toàn có xác suất cao khóa người gửi bị lộ Trong hệ khóa phải gửi kênh an toàn kẻ địch công kênh phát khóa - Vấn đề quản lý phân phối khóa khó khăn phức tạp sử dụng hệ mã hóa cổ điển Người gửi người nhận luôn thống với vấn đề khóa Việc thay đổi khóa khó dễ bị lộ - Khuynh hướng cung cấp khóa dài mà phải thay đổi thường xuyên cho người trì tính an toàn lẫn hiệu chi phí cản trở nhiều tới phát triển hệ mật mã cổ điển Thuật toán đối xứng chia làm hai loại, mật mã luồng (stream ciphers) mật mã khối (block ciphers) Mật mã luồng mã hóa bit thông điệp mật mã khối gộp số bit lại mật mã hóa chúng đơn vị Cỡ khối dùng thường khối 64 bit Thuật toán tiêu chuẩn mã hóa tân tiến (Advanced Encryption Standard), NIST công nhận tháng 12 năm 2001, sử dụng khối gồm 128 bit 1.1.2 Hệ mật mã bất đối xứng Vào năm 1970 Diffie Hellman phát minh hệ mã hóa gọi hệ mã hóa bất đối xứng hay hệ mã hóa công khai Thuật toán mã hóa bất đối xứng khác hoàn toàn so với thuật toán mã hóa đối xứng Khóa hệ mã bất đối xứng phải gửi kênh thông tin không an toàn Chúng thiết kế cho khóa sử dụng vào việc mã hóa khác so với khóa giải mã Hơn khóa giải mã tính toán từ khóa mã hóa Chúng gọi với tên hệ thống mã hóa công khai khóa để mã hóa công khai, người sử dụng khóa công khai để mã hóa thông báo, vài người có khóa giải mã giải mã Trong nhiều hệ thống, khóa mã hóa gọi khóa công khai (public key), khóa giải mã thường gọi khóa riêng (private key) K1 Bản rõ K2 Bản mã Mã hóa Bản rõ gốc Mã hóa K1 không trùng K2 K2 tính toán từ K1 Diffie Hellman xác định rõ điều kiện hệ mã hóa công khai sau: Việc tính toán cặp khóa công khai KB bí mật kB dựa sở điều kiện ban đầu phải thực cách dễ dàng nghĩa thực thời gian đa thức Người gửi A có khóa công khai người nhận B có tin P cần gửi dễ dàng tạo mã C C = EKB(P) = EBP Trong đó: E: Thuật toán mã hóa KB: khóa công khai P: Bản tin cần gửi C: Bản tin mã hóa Công việc thời gian đa thức Người nhận B nhận tin mã hóa C với khóa bí mật kB giải mã tin thời gian đa thức P = DkB(C) = DB[EB(M)] Trong đó: D: Thuật toán giải mã kB: Khóa bí mật C: Bản tin mã hóa Nếu kẻ địch biết khóa công khai KB cố gắng tính toán khóa bí mật phải đương đầu với trường hợp nan giải, trường hợp đòi hỏi nhiều yêu cầu không khả thi thời gian Nếu kẻ địch biết cặp (KB, C) cố gắng tính toán rõ P giải toán khó với số phép thử vô lớn, không khả thi Ưu điểm: - Tính an toàn cao - Có thể gửi khóa kênh không an toàn mà không sợ bị lộ khóa giải mã Nhược điểm: - Tốc độ chậm - Dung lượng dùng cho việc lưu trữ khóa lớn Mỗi hệ thống mã hóa có ưu nhược điểm riêng Mã hoá đối xứng xử lý nhanh độ an toàn không cao Mã hóa bất đối xứng xử lý chậm hơn, độ an toàn tính thuận tiện quản lý khóa cao Trong ứng dụng mã hóa tại, người ta thường kết hợp ưu điểm hai loại mã 1.2 Chuẩn mã hóa liệu DES Chuẩn mã hóa liệu DES văn phòng tiêu chuẩn Mỹ(U.S National Bureau for Standards) công bố năm 1971 để sử dụng quan phủ liên bang Giải thuật phát triển Công ty IBM dựa hệ mã hóa LUCIFER Feistel DES thuật toán mã hóa khối (block algrithm), với cỡ khối 64 bit Một khối 64 bit rõ đưa vào, sau mã hóa liệu đưa khối mã 64 bit Cả mã hóa giải mã sử dụng chung thuật toán khóa Khóa mã có độ dài 64 bit, có bit chẵn lẻ sử dụng để kiểm soát lỗi Các bit chẵn lẻ nằm vị trí 8, 16, 24, ,64 Tức bit khóa có bit kiểm soát lỗi, bit quy định số bit có giá trị “1” khối bit theo tính bù sẵn Nền tảng để xây dựng khối DES kết hợp đơn giản kỹ thuật thay hoán vị rõ dựa khóa Đó vòng lặp DES sử dụng 16 vòng lặp, áp dụng kiểu kết hợp kỹ thuật khối vẽ 16 lần Thuật toán sử dụng phép toán số học logic số 64 bit, dễ dàng thực vào năm 1970 điều kiện công nghệ phần cứng lúc Ban đầu, thực phần mềm kiểu thô sơ, 56 Bây ta đưa bảng khoá kết Như nói trên, vòng sử dụng khoá 48 bít gồm 48 bít nằm K Các phần tử bảng biểu thị bít K vòng khoá khác Vòng 10 51 34 60 49 17 35 57 19 42 35 26 25 44 58 59 36 27 18 41 22 28 39 54 37 47 30 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31 Vòng 2 43 26 52 41 25 49 59 11 34 60 27 18 17 36 50 51 58 57 19 10 33 14 20 31 46 29 63 39 22 28 45 15 21 53 13 30 55 12 37 54 47 23 Vòng 51 27 10 36 25 58 33 43 50 60 18 44 11 49 34 35 42 41 59 17 61 15 30 13 47 23 12 29 62 37 28 14 39 54 63 21 53 20 38 31 Vòng 35 11 59 49 42 58 17 27 34 44 57 60 51 50 33 18 19 26 25 52 43 45 55 62 14 28 31 53 63 13 46 20 21 12 61 23 38 47 37 22 15 54 56 57 Vòng 19 60 43 33 58 26 42 11 18 57 51 41 44 35 34 17 10 36 27 50 29 39 46 61 12 15 54 37 47 28 30 63 45 22 31 20 21 55 62 38 Vòng 44 27 17 42 10 26 50 60 41 35 25 57 19 18 51 52 59 58 49 11 34 13 23 30 45 63 62 38 21 31 12 14 55 20 47 29 54 15 39 53 46 22 Vòng 52 57 11 26 59 10 34 44 51 25 19 41 50 35 36 43 42 33 60 18 28 14 29 47 46 22 15 63 61 39 31 13 38 53 62 55 20 23 38 30 Vòng 36 41 60 50 10 43 59 18 57 35 58 25 5251 34 19 49 27 26 17 44 12 54 61 13 31 30 20 62 47 45 23 55 15 28 22 37 46 39 721 14 53 Vòng 57 33 52 42 35 51 10 49 27 60 50 17 44 43 26 11 41 19 18 36 59 46 53 23 22 61 12 54 39 37 15 47 20 14 29 38 31 63 62 13 45 57 58 Vòng 10 41 17 36 26 51 19 35 59 33 11 50 44 34 57 27 10 60 25 58 49 43 55 30 37 20 45 63 38 23 21 62 31 54 61 13 22 15 47 46 28 53 29 Vòng 11 25 49 10 35 19 43 17 60 34 57 18 50 41 11 59 44 52 51 42 33 27 39 14 21 54 53 29 47 22 46 15 38 55 45 28 62 31 30 12 37 13 Vòng 12 50 33 59 19 52 27 44 18 41 34 25 60 43 57 58 36 35 26 17 11 23 61 55 38 37 13 31 54 20 30 62 22 39 29 12 53 46 15 14 63 21 28 Vòng 13 58 34 17 43 36 52 11 50 57 25 51 18 44 27 41 42 49 19 10 60 45 20 39 22 21 28 15 53 38 14 46 23 13 63 37 30 62 61 47 12 Vòng 14 42 18 27 52 49 36 60 34 41 51 35 58 57 11 25 26 33 59 50 44 54 29 23 12 62 37 22 55 61 30 53 28 47 21 14 46 45 31 20 63 58 59 Vòng 15 26 50 11 36 33 49 44 18 25 35 58 19 51 42 41 60 10 17 52 43 34 57 38 13 55 53 20 63 46 21 39 45 14 37 54 12 31 61 30 29 15 47 Vòng 16 18 59 42 57 25 41 36 10 17 27 50 11 43 34 33 52 44 35 26 49 30 47 62 45 12 55 58 13 61 31 37 27 46 23 28 53 22 21 62 39 Phép giải mã thực nhờ dùng thuật toán phép mã đầu vào y dùng bảng khoá theo thứ tự ngược lại K16, K1 Đầu thuật toán rõ x 3.3 Lập mã DES Sau ví dụ phép mã DES Giả sử ta mã rõ (ở dạng mã hexa – hệ đếm 16): 0123456789ABCDEF Bằng cách dùng khoá 123457799BBCDFF1 Khoá dạng nhị phân ( không chứa bít kiểm tra) là: 00010010011010010101101111001001101101111011011111111000 Sử dụng IP, ta thu L0 R0 (ở dạng nhị phân) sau: L0 = 1100110000000000110010011111111 L1 =R0 = 11110000101010101111000010101010 59 60 Sau thực 16 vòng phép mã sau: E(R0) = 011110100001010101010101011110100001010101010101 K1 = 000110110000001011101111111111000111000001110010 E(R0)  K1 = 011000010001011110111010100001100110010100100111 S-box outputs 01011100100000101011010110010111 f(R0,K1) = 00100011010010101010100110111011 L2 = R1 = 11101111010010100110010101000100 E(R1) = 011101011110101001010100001100001010101000001001 K2 = 011110011010111011011001110110111100100111100101 E(R1) K2 = 000011000100010010001101111010110110001111101100 S-box outputs 11111000110100000011101010101110 f(R1,K2) = 00111100101010111000011110100011 L3 = R2 = 11001100000000010111011100001001 E(R2) = 111001011000000000000010101110101110100001010011 K3 = 010101011111110010001010010000101100111110011001 E(R2) K3 = 101100000111110010001000111110000010011111001010 S-box outputs 00100111000100001110000101101111 f(R2,K3) = 01001101000101100110111010110000 L4 =R3 = 10100010010111000000101111110100 E(R3) =01010000010000101111100000000101011111111010100 K4 = 011100101010110111010110110110110011010100011101 E(R3) K4 = 001000101110111100101110110111100100101010110100 S-box outputs 00100001111011011001111100111010 f(R3,K4) = 10111011001000110111011101001100 L5 = R4 = 01110111001000100000000001000101 E(R4) = 101110101110100100000100000000000000001000001010 K5 = 011111001110110000000111111010110101001110101000 E(R4)  K5 = 110001100000010100000011111010110101000110100010 S-box outputs 01010000110010000011000111101011 f(R4,K5) = 00101000000100111010110111000011 L6 = R5 = 10001010010011111010011000110111 60 61 E(R5) = 110001010100001001011111110100001100000110101111 K6 = 011000111010010100111110010100000111101100101111 E(R5)  K6 =101001101110011101100001100000001011101010000000 S-box outputs 01000001111100110100110000111101 f(R5,K6) = 10011110010001011100110100101100 L7 = R6 = 11101001011001111100110101101001 E(R6) = 111101010010101100001111111001011010101101010011 K7 = 111011001000010010110111111101100001100010111100 E(R6)  K7 = 000110011010111110111000000100111011001111101111 S- box outputs 00010000011101010100000010101101 f(R6,K7) = 10001100000001010001110000100111 L8 = R7 = 00000110010010101011101000010000 E(R7) = 000000001100001001010101010111110100000010100000 K8 = 111101111000101000111010110000010011101111111011 E(R7)  K8 = 111101110100100001101111100111100111101101011011 S-box outputs 01101100000110000111110010101110 f(R7,K8) = 00111100000011101000011011111001 L9 = R8 = 11010101011010010100101110010000 E(R8) = 011010101010101101010010101001010111110010100001 K9 = 111000001101101111101011111011011110011110000001 E(R8)  K9 = 100010100111000010111001010010001001101100100000 S-box outputs 00010001000011000101011101110111 f(R8,K9) = 00100010001101100111110001101010 L10 = R9 = 00100100011111001100011001111010 E(R9) = 000100001000001111111001011000001100001111110100 K10 = 101100011111001101000111101110100100011001001111 E(R9)  K10 = 101000010111000010111110110110101000010110111011 S-box outputs 11011010000001000101001001110101 f(R9,K10) = 01100010101111001001110000100010 L11 = R10 = 10110111110101011101011110110010 61 62 E(R10) = 010110101111111010101011111010101111110110100101 K11 = 001000010101111111010011110111101101001110000110 E(R10)  K11 = 011110111010000101111000001101000010111000100011 S-box outputs 01110011000001011101000100000001 f(R10,K11) = 11100001000001001111101000000010 L12 = R11 = 11000101011110000011110001111000 E(R11) = 011000001010101111110000000111111000001111110001 K12 = 011101010111000111110101100101000110011111101001 E(R11)  K12 = 000101011101101000000101100010111110010000011000 S-box outputs 01110011000001011101000100000001 f(R11,K12) = 11000010011010001100111111101010 L13 = R12 = 01110101101111010001100001011000 E(R12) = 001110101011110111111010100011110000001011110000 K13 = 100101111100010111010001111110101011101001000001 E(R12)  K13 = 101011010111100000101011011101011011100010110001 Sbox outputs 10011010110100011000101101001111 f(R12,K13) = 11011101101110110010100100100010 L14 = R13 = 00011000110000110001010101011010 E(R13) = 000011110001011000000110100010101010101011110100 K13 = 010111110100001110110111111100101110011100111010 E(R13)  K14 = 010100000101010110110001011110000100110111001110 S-box outputs 01100100011110011001101011110001 f(R13,K14) = 10110111001100011000111001010101 L15 = R14 = 11000010100011001001011000001101 E(R14) = 111000000101010001011001010010101100000001011011 K15 = 101111111001000110001101001111010011111100001010 E(R14)  K15 = 010111111100010111010100011101111111111101010001 S-box outputs 10110010111010001000110100111100 f(R14,K15) = 01011011100000010010011101101110 R15 = 01000011010000100011001000110100 62 63 E(R15) = 001000000110101000000100000110100100000110101000 K16 = 110010110011110110001011000011100001011111110101 E(R15)  K16 = 111010110101011110001111000101000101011001011101 S-box outputs 10100111100000110010010000101001 f(R15,K16) = 11001000110000000100111110011000 R16 = 00001010010011001101100110010101 Cuối áp dụng IP-1 vào L16,R16 ta nhận mã hexa là: 85E813540F0AB405 3.4 Xây dựng chương trình thám mã DES Bài toán : Gọi L={ L0, L1, L2…… Ln} tập rõ R={ R0, R1, R2…… Rn} tập mã tương ứng sử dụng thuật toán mã hóa khối DES với khóa K bí mật Bài toán thám mã yêu cầu từ liệu đầu vào thuật toán DES công khai cặp rõ mã tương ứng LiRi cần xác định khóa K sử dụng để mã hóa Từ tìm rõ tương ứng Lm L biết mã Rm R Phân tích : -Xét độ phức tạp tính toán: thuật toán DES không gian khóa sử dụng 56 bit (một số thuật toán cài java sử dụng không gian khóa 64 bit) sNhư để thám mã với thuật toán DES cần tìm kiếm không gian có không gian tìm kiếm 256 ( 72057594037927936 giá trị) Có thể nhận thấy không gian tìm kiếm không lớn so với phát triển hệ tính toán song song kết hợp hoạt động nhiều máy tính Cụ thể Khóa DES bị phá vòng chưa đầy 24 Đã có nhiều kết phân tích cho thấy điểm yếu mặt lý thuyết mã hóa dẫn đến phá khóa, chúng không khả thi thực tiễn DES hệ mật mã điển hình mã hóa khối, thông qua nghiên cứu DES hiểu thêm tính an toàn việc áp dụng hệ mật mã hóa khối Trong luận văn nghiên cứu phương pháp thám mã hệ mật mã DES, để tiến hành thám mã khoảng thời gian tối ưu cần dựa đặc điểm hệ mật mã Qua phân tích thuật toán ta xây dựng chương trình demo công DES sau: 63 64 Giao diện chương trình thám mã DES Hình 3.4 Giao diện chương trình thám mã DES 64 65 Bước : Quá trình tạo khóa Hình 3.5 Quá trình tạo khóa 65 66 Bước 2: Quá trình mã hóa Ta nhập nội dung dung rõ sau mã hóa ta thu nội dung mã hình 3.3: Hình 3.6 Quá trình mã hóa rõ 66 67 Bước 3: Quá trình giải mã Sau mã hóa nội dung rõ thu mã, ta tiến hành giải mã thu rõ hình 3.4: Hình 3.7 Quá trình giải mã nội dung mã 67 68 Bước 4: Quá trình thám mã Công việc thám mã để tìm rõ ban đầu, để tìm rõ ta dùng phương pháp thám mã vét cạn để duyệt qua tất không gian khóa hệ mật mã DES Khi gặp khóa trình phá mã thành công, lúc ta thu rõ ban đầu Hình 3.8 Quá trình thám mã thành công 3.5 Kết luận Trong chương chương trình bày sở lý thuyết hệ mật mã DES, khái niệm mã hóa, giải mã, thám mã, Đặc biệt chương đưa phương pháp thám mã DES, độ phức tạp phương pháp Từ vận dụng vào chương để xây dựng chương trình thám mã DES Qua tìm hiểu phương pháp chương ta thấy để thám mã hệ mật mã DES với không gian khóa 56 bit có phương pháp vét cạn có khả phá mã cao nhất, lại hai phương pháp: Thám mã vi sai thám mã tuyến tính sở lý thuyết thám mã thực khó để phá mã thời gian đơn định Vì vậy, chương đề tài sử dụng phương pháp thám mã vét cạn để công hệ mã DES Phương pháp duyệt qua tất khóa, nhiều thời gian khả phá mã thành công cao hai phương pháp lại thời gian đơn định 68 69 KẾT LUẬN Qua trình nghiên cứu, đề tài đạt số kết định Bên cạnh tồn hạn chế số mặt Phần đánh giá lại số kết đồng thời đưa hướng cải tiến để đề tài ngày hoàn thiện Về kết đạt Đề tài tập trung nghiên cứu phương pháp thám mã hệ mật mã đối xứng, kết đạt sau: - Tìm hiểu hệ mã DES: trình mã hóa, giải mã, độ an toàn DES Từ nghiên cứu phương pháp để thám mã hệ mật mã DES - Đề tài tìm hiểu phương pháp thám mã: phương pháp vét cạn, phương pháp thám mã vi sai, phương pháp thám mã tuyến tính Qua đánh giá, so sánh độ phức tạp phương pháp - Qua nghiên cứu phương pháp thám mã để thám mã hệ mã DES, nhìn chung phương pháp thám mã không khả thi Trong phương pháp phương pháp thám mã vét cạn có khả phá mã thành công cao - Xây dựng phương pháp thám mã vét cạn, thám mã vi sai để công hệ mã DES Tuy nhiên phương pháp thám mã vi sai phải nạp 247 rõ-bản mã để duyệt nên khả phá mã thời gian đơn định Hướng phát triển đề tài Phương pháp nghiên cứu kết nghiên cứu mở hướng phát triển tiếp theo: - Đối với hệ mật mã DES với không gian khóa không lớn phương pháp thám mã vét cạn dùng để công DES không tối ưu Hạn chế phương pháp phải duyệt tất khóa, mà công việc đòi hỏi nhiều thời gian nên khả tương lai không dùng - Trong thời gian tới đề tài tìm hiểu phương pháp khác mà thám mã DES nhanh hiệu 69 70 TÀI LIỆU THAM KHẢO Tiếng Việt [a] TS Hồ Văn Canh - TS Nguyễn Viết Thế (2010), Nhập môn phân tích thông tin có bảo mật , Nhà xuất Thông tin truyền thông [b] TS Nguyễn Văn Tảo - Hà Thị Thanh - Nguyễn Lan Oanh, Giáo trình An toàn bảo mật thông tin, Đại học Công nghệ thông tin & Truyền thông - Đại học Thái Nguyên [c] PGS TS Trịnh Nhật Tiến ( 2008), Giáo trình An toàn liệu, Trường Đại học Công Nghệ - ĐHQGHN [d] PGS PTS Nguyễn Bình, Mật mã lý thuyết thực hành, Cục Kỹ thuật – Viện Kỹ thuật Thông tin [e] Phan Đình Diệu (1999), Lý thuyết mật mã An toàn thông tin Tiếng Anh [a] Mark Stamp Richard M.Low: “Applied Cryptanalysis”, A John Wiley & Sons INC publication, San Jose state University, San Jose CA 2007 [b] Fauza Mirzan (2000), Blook Ciphersand Cryptanalysis, Department of Mathematics, Royal Holloway University of London [c] D.Bleichenbacher, Chosen ciphertext attacks against protocols based on the RSA encryption standard PKCS #1 [d] D.R.Stinson (Douglas Robert) (1995), Cryptography: Theory and Practive 70 [...]... hai hệ mật mã đối xứng và mật mã công khai, đặc biệt trình bày về quá trình lập mã và giải mã trên DES, các chế độ mã hóa theo DES, độ an toàn của DES Nội dung trình bày ở chương 1 là cơ sở lý thuyết cơ bản để vận dụng vào chương 2 và chương 3 trong luận văn 14 15 CHƯƠNG 2 CÁC PHƯƠNG PHÁP THÁM MÃ HỆ MẬT MÃ ĐỐI XỨNG 2.1 Các thuật ngữ cơ bản 2.1.1 Mật mã (Cryptography) Mật mã là tập hợp mọi phương pháp. .. Rõ số → 64 bit Mã số Giai đoạn 4: Các đoạn 64 bit Mã số → 64 bit Mã số Giai đoạn 5: Bản Mã số → Bản Mã chữ (Dạng nhị phân) Các đoạn 64 bit rõ số (Dạng nhị phân) Bảng 1.1 Quy trình mã hóa của mật mã khối và hệ mã DES 1.4 Lập mã và giải mã DES Thuật toán DES tập trung thực hiện giai đoạn 3 của quy trình mã hóa Đó là chuyển đổi bản rõ số với 64 bit thành bản Mã số với 64 bit Còn đối với quy trình giải mã. .. nước có công nghệ bảo mật (mật mã) rất hiện đại, vẫn còn không ít nước vẫn đang sử dụng mật mã ở mức độ trung bình, thậm chí có nước dùng mật mã truyền thống tương đối đơn giản Và ngay trong cùng một nước, các lực lượng, ngành khác nhau lại dùng các hệ mã khác nhau Ví dụ, mật mã dùng trong quân sự khác mật mã dùng trong ngoại giao, mật mã dùng trong tình báo khác với mật mã dùng trong ngân hàng, tài chính... nếu đối phương không biết hệ mật được dùng thì nhiệm vụ của anh ta sẽ khó khăn hơn.Tuy nhiên ta không muốn độ mật của một hệ mật lại dựa trên một giả thiết không chắc chắn là đối phương không biết hệ mật được sử dụng Do đó, mục tiêu trong việc thiết kế một hệ mật là phải đạt được độ mật dưới giả thiết Kerekhoff Việc thám mã có thể quy về việc tìm được bản rõ hoặc phát hiện khoá mã, khi biết trước hệ mật. .. tự tương ứng trong bản rõ Dựa vào đó ta xác định được khóa k Tiến hành giải mã với khóa k vừa tìm được * Thám mã có sự trợ giúp của máy tính Hệ mã dịch vòng có số khóa ít nên hoàn toàn có th thám mã bằng cách thử tất cả các khóa có thể b Xây dựng phương pháp thám Nếu mã pháp thuộc loại mới, công việc yêu cầu phức tạp hơn là phải xây dựng phương pháp thám thì có hai phương pháp thám là phương pháp phân... phần trước, thám mã là tìm mọi biện pháp có thể để khôi phục lại bản rõ và/ hoặc khoá mã từ một số bản mã cho trước Điều này cho thấy thám mã là một loại công việc khó khăn và phức tạp, nó vừa mang tính khoa học lại vừa mang tính nghệ thuật Rõ ràng, khoa học về mật mã càng phát triển thì kỹ thuật thám mã càng gặp nhiều khó khăn Để chống lại việc thám mã của đối phương, các nhà sản xuất mật mã phải thiết... luật tần số và quy luật trùng lặp Hai quy luật này đã bị biến mất đối với bản mã Với phương pháp mã hoá phức tạp thì hai quy luật này hoàn toàn bị biến mất Một trong những điều khác nhau cơ bản của bản rõ và bản mã là ở chỗ đó Giả sử nhà mã thám nhận được một (hoặc một số) bản mã và bằng cách nào đó, họ đã biết được một vài thông tin về thuật toán mã hoá (và dịch) Tuy không biết được cách mã/ dịch cụ... thể xuất hiện trong bản mã và vị trí của chúng trong bản mã đó Khi tính trùng mã (các bộ) ta phải quan tâm các tham số sau đây: 1 Tần số trùng mã (trùng lặp) 2 Độ dài trùng lặp 3 Vị trí các trùng lặp 4 Khoảng cách giữa các trùng lặp 5 Trùng mã trong một bản mã và trong các bản mã khác nhau Những tham số trên đây rất có ích trong việc xác định mã pháp c Tần số định kỳ Ngoài việc tính tần số đơn, bộ đôi... khóa và quy tắc mã/ dịch) gọi là thám mã Người làm công tác thám mã được gọi là người mã thám (Cryptanalysist) hay gọi là mã thám viên 16 17 Tổ chức làm công tác thám mã được gọi là đơn vị mã thám Mã thám là một bộ phận không thể thiếu của ngành tình báo điện tử Hầu hết các quốc gia đều có bộ phận tình báo điện tử này, nhưng sự phát triển và hiệu quả của nó lại phụ thuộc vào trình độ khoa học - công nghệ... tích và phương pháp dự đoán “Từ phỏng chừng” Phương pháp phân tích: được sử dụng trong trường hợp nhà mã thám đã biết được cấu trúc khoá mã đã được sử dụng làm “mầm khoá” (key seed) để mã hoá bản mã này Khi đó có nhiều kiểu để xác định khoá có thể, ví dụ: phương pháp “thử sai”, phương pháp “lượng sai”, phương pháp “những phần tử tách biệt”, phương pháp “tuyến tính” Tóm lại tuỳ theo thuật toán mã hoá

Ngày đăng: 05/05/2016, 11:04

Từ khóa liên quan

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

Tài liệu liên quan