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ã

79 687 3
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 S húa bi Trung tõm Hc liu http://www.lrc-tnu.edu.vn/ i đại học thái nguyên Tr-ờng đại học CÔNG NGHệ THÔNG TIN Và TRUYềN THÔNG Lấ HU TH MT S PHNG PHP THM M H MT M I XNG V NG DNG TRONG PHT TRIN H MT M LUN VN THC S KHOA HC MY TNH thái nguyên - năm 2014 ii Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ ii ®¹i häc th¸i nguyªn Tr-êng ®¹i häc C¤NG NGHÖ TH¤NG TIN Vµ TRUYÒN TH¤NG LÊ HỮU THỌ 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Ã LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 60.48.01 Ngƣời hƣớng dẫn khoa học: TS. NGUYỄN DUY MINH Thái Nguyên, 2014 iii Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ iii 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 và truyền thông Thái Nguyên đã tạo điều kiện thuận lợi cho em trong quá trình học tập, công tác và thực hiện đề tài luận văn. Em xin nói lên lòng biết ơn sâu sắc và lời cảm ơn chân thành đến thầy giáo TS. Nguyễn Duy Minh, ngƣời Thầy mà đã luôn tận tình hƣớng dẫn, truyền thụ cho em những kiến thức, kinh nghiệm quý báu và giúp em trong suốt quá trình học tập, nghiên cứu cũng nhƣ quá trình thực hiện luận văn. Cuối cùng em xin đƣợc gửi lời cảm ơn sâu sắc tới gia đình, bạn bè, đồng nghiệp đã luôn ủng hộ, động viên em trong quá trình học tập và thực hiện luận văn này. Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép nhƣng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong nhận đƣợc sự tận tình chỉ bảo của quý thầy cô và các bạn. Thái nguyên, Tháng 9 năm 2014 Lê Hữu Thọ iv Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ iv MỤC LỤC LỜI CẢM ƠN i MỤC LỤC iv DANH MỤC HÌNH vi LỜI MỞ ĐẦU 1 CHƢƠNG 1: TỔNG QUAN VỀ CHUẨN MÃ HÓA DỮ LIỆU DES 3 1.1. Các hệ mã khóa 3 1.1.1. Hệ mật mã đối xứng 3 1.1.2. Hệ mật mã bất đối xứng 4 1.2. Chuẩn mã hóa dữ liệu DES 6 1.3. Quy trình mã hóa DES 8 1.4. Lập mã và giải mã DES 9 1.5. Các chế độ mã hóa theo DES 10 1.6. Độ an toàn của 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 16 2.1. Các thuật ngữ cơ bản 16 2.1.1. Mật mã (Cryptography) 16 2.1.2. Bản rõ (Plain text) 16 2.1.3. Bản mã (Cipher text) 16 2.1.4. Phép biến đổi mã/dịch (Encrytion/decryption transformations) 16 2.2. Thám mã 17 2.2.1. Khái niệm 17 2.2.2. Các bƣớc cơ bản để thám mã 22 2.2.3. Các kiểu tấn công thám mã cơ bản 28 2.3. Các phƣơng pháp thám mã hệ mã đối xứng 31 2.3.1. Phƣơng pháp tấn công vét cạn 31 2.3.2. Phƣơng pháp thám mã tuyến tính 32 2.3.3. Phƣơng pháp thám mã vi sai 42 v Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ v 2.4. Đánh giá độ an toàn của DES trƣớc một vài phƣơng pháp tấn công phá mã 47 2.5. Kết luận 48 CHƢƠNG 3: CÀI ĐẶT MỘT SỐ PHƢƠNG PHÁP THÁM MÃ HỆ MÃ DES 49 TRONG PHÁT TRIỂN HỆ MẬT MÃ 49 3.1. Đặt vấn đề 49 3.2. Mô tả về DES 50 3.3. Lập mã DES 62 3.4. Xây dựng chƣơng trình thám mã DES 66 3.5. Kết luận 71 KẾT LUẬN 72 TÀI LIỆU THAM KHẢO 73 vi Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ vi DANH MỤC HÌNH Hình 1.1. Sơ đồ mã hóa DES 7 Hình 1.2. Một vòng lặp DES 9 Hình 1.3. Mô phỏng mã hóa (a) và giải mã (b) theo DES 10 Hình 1.4. Chế độ CBC 11 Hình 1.5. Chế độ CFB 12 Hình 2.1. Mô hình DES với quy ƣớc mới 33 Hình 2.2. Sơ đồ xấp xỉ tuyến tính hệ mã DES 3 vòng 37 Hình 2.3. Sơ đồ xấp xỉ tuyến tính hệ mã DES 5 vòng 40 Hình 2.4. Các xâu vào có thể với XOR vào là 110100 45 Hình 3.1. Một vòng của DES 50 Hình 3.2. Hàm f của DES 52 Hình 3.3. Tính bảng khóa DES 58 Hình 3.4. Giao diện chính của chƣơng trình thám mã DES 67 Hình 3.5. Quá trình tạo khóa 68 Hình 3.6. Quá trình mã hóa bản rõ 69 Hình 3.7. Quá trình giải mã nội dung bản mã 70 Hình 3.8. Quá trình thám mã thành công 71 1 1 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ LỜI MỞ ĐẦU Mật mã học là một ngành khoa học về mã hóa dữ liệu nhằm bảo mật thông tin. Mã hóa dữ liệu là một quá trình mà các dữ liệu dạng văn bản gốc đƣợc chuyển thành văn bản mật mã để làm nó không thể đọc đƣợc. Ngày nay, để đảm bảo sự an toàn và bí mật của các thông tin quan trọng, nhạy cảm, vấn đề mã hóa dữ liệu ngày càng trở nên cấp thiết và đƣợc nhiều ngƣời quan tâm. Có nhiều phƣơng pháp mã hóa dữ liệu đƣợc đƣa ra. Vậy làm thế nào để đánh giá đƣợc một phƣơng pháp mã hóa nào là tốt? Hiện nay, có nhiều phƣơng pháp đánh giá nhƣng phƣơng pháp tốt nhất và trực quan nhất là phƣơng pháp phân tích trực tiếp bản mã khi không có khóa mã trong tay mà ngƣời ta gọi là thám mã. Ngày nay, nhu cầu trao đổi thông tin mật giữa các thành viên trong một nhóm, một tổ chức ngày càng lớn thì việc đảm bảo an toàn thông tin là rất cần thiết. Cùng với sự phát triển của mật mã nói chung và của các hệ mã đối xứng nói riêng thì thám mã là một lĩnh vực cũng thƣờng đƣợc quan tâm nghiên cứu, nhƣng ít khi đƣợc công khai, hoặc công khai không đầy đủ. Mặc dù, trong thời gian qua đã có nhiều kết quả nghiên cứu về DES đƣợc công bố, DES có thể bị phá khóa bởi các hệ thống chuyên dụng trong vòng chƣa đầy 24 giờ, nhƣng việc nghiên cứu thám mã DES vẫn rất cần thiết để hƣớng tới thám mã các hệ mật mã hiện đại có độ dài khóa lớn hơn, đã và đang dần thay thế DES. Phân tích mật mã hay thám mã còn đƣa ra những khuyến cáo, phản hồi cho các chuyên gia trong thiết kế lại các hệ mật mã để chống lại các tấn công mới. Đồng thời nó có ý nghĩa hỗ trợ công tác tình báo, phản gián. Chính vì những lý do 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 và ứng dụng trong phát triển hệ mật mã”, nhằm tìm hiểu các phƣơng pháp thám mã và 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 đƣợc giao, luận văn đƣợc trình bày trong 3 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 cơ bản của luận văn đƣợc trình bày nhƣ sau: 2 2 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Chƣơng 1: “Tổng quan về chuẩn mã hóa dữ liệu DES”, trong chƣơng này tập chung trình bày về các khái niệm mã hóa, các hệ mật mã, các chế độ mã hóa và quá 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”, trong chƣơng này trình bày các thuật ngữ cơ bản về mật mã và thám mã, khái niệm về thám mã, các bƣớc để tiến hành thám mã, đặc biệt trong chƣơng này tập trung trình bày về 3 phƣơng pháp thám mã là phƣơng pháp tấn 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 và ứng dụng trong phát triển hệ mật mã”, trên cơ sở lý thuyết đã đƣợc trình bày ở chƣơng 1 và chƣơng 2, đặc biệt ở chƣơng 2 đã đƣa ra một số phƣơng pháp thám mã đối với hệ mã DES. Từ đó đã đề xuất phƣơng pháp thám mã DES bằng phƣơng pháp mã vi sai trên hệ mã DES-6 vòng. Kết quả của phƣơng pháp sẽ đƣợc trình bày rõ ở chƣơng 3. Do mức độ phức tạp của công việc thám mã là rất lớn nên bài toán đặt ra với giả thiết ngƣời thám mã biết đƣợc các thông tin về bản mã đã đƣợc mã hóa bởi DES (chế độ CBC) từ bản rõ tƣơng ứng là một thông điệp dạng Text. Từ giả thiết này xây dựng thuật toán để xác định khóa mật K đã sử dụng để mã hóa cũng nhƣ tìm ra bản rõ tƣơng ứng. 3 3 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 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 Thuật toán đối xứng hay còn gọi là thuật toán mã hóa cổ điển. Thuật toán này còn có nhiều tên gọi khác nhƣ thuật toán khóa bí mật, thuật toán đơn giản, thuật toán một khóa. Là thuật toán mà tại đó khóa mã hóa có thể tính toán ra đƣợc từ khóa giải mã. Trong rất nhiều trƣờng hợp, khóa mã hóa và khóa giải mã là giống nhau. Thuật toán này yêu cầu ngƣời gửi và ngƣời nhận phải thỏa thuận một khóa trƣớc khi thông báo đƣợc gửi, và khóa này phải đƣợc cất giữ bí mật. Độ an toàn của thuật toán này vẫn phụ thuộc vào khóa, nếu để lộ ra khóa này nghĩa là bất kì ngƣời nào cũng có thể mã hóa và giải mã hệ thống mật mã. Sự mã hóa và giải mã của thuật toán đối xứng đƣợc biểu thị bởi: E K (P) = C D K (C) = P K 1 K 2 Bản rõ Bản mã Bản rõ gốc K 1 có thể trùng K 2 hoặc K 1 có thể tính toán từ K 2 hoặc K 2 có thể tính toán từ K 1 Ƣu điểm: - Xử lý nhanh Nhƣợc điểm: Mã hóa Mã hóa 4 4 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ - Các phƣơng pháp mã hóa cổ điển đòi hỏi ngƣời mã hóa và ngƣời giải mã phải cùng chung một khóa. Khi đó khóa phải giữ bí mật tuyệt đối, do vậy ta dễ dàng xác định đƣợc một khóa nếu biết khóa kia. - Hệ mã hóa đối xứng không bảo vệ đƣợc sự an toàn nếu có xác suất cao khóa ngƣời gửi bị lộ. Trong hệ khóa phải đƣợc gửi đi trên kênh an toàn nếu kẻ địch tấn công trên kênh này có thể phát hiện ra khóa. - Vấn đề quản lý và phân phối khóa là khó khăn và phức tạp khi sử dụng hệ mã hóa cổ điển. Ngƣời gửi và ngƣời nhận luôn luôn thống nhất với nhau về vấn đề khóa. Việc thay đổi khóa là rất khó và rất dễ bị lộ. - Khuynh hƣớng cung cấp khóa dài mà nó phải đƣợc thay đổi thƣờng xuyên cho mọi ngƣời trong khi vẫn duy trì cả tính an toàn lẫn hiệu quả chi phí sẽ cản trở rất nhiều tới sự phát triển của hệ mật mã cổ điển. Thuật toán đối xứng có thể đƣợc chia làm hai loại, mật mã luồng (stream ciphers) và mật mã khối (block ciphers). Mật mã luồng mã hóa từng bit của thông điệp trong khi mật mã khối gộp một số bit lại và mật mã hóa chúng nhƣ một đơn vị. Cỡ khối đƣợc dùng thƣờng là các khối 64 bit. Thuật toán tiêu chuẩn mã hóa tân tiến (Advanced Encryption Standard), đƣợc NIST công nhận tháng 12 năm 2001, sử dụng các khối gồm 128 bit. 1.1.2. Hệ mật mã bất đối xứng Vào những năm 1970 Diffie và Hellman đã phát minh ra một hệ mã hóa mới đƣợc gọi là 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 của hệ mã bất đối xứng phải đƣợc gửi trên những kênh thông tin không an toàn. Chúng đƣợc thiết kế sao cho khóa sử dụng vào việc mã hóa là khác so với khóa giải mã. Hơn nữa khóa giải mã không thể tính toán đƣợc từ khóa mã hóa. Chúng đƣợc gọi với tên hệ thống mã hóa công khai bởi vì khóa để mã hóa có thể công khai, một ngƣời bất kì có thể sử dụng khóa công khai để mã hóa thông báo, nhƣng chỉ một vài ngƣời có đúng khóa giải mã thì mới có thể giải mã. Trong nhiều [...]... 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... 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... → Bản rõ số Giai đoạn 2: Bản rõ số → Giai đoạn 3: 64 bit 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ố → (Dạng nhị phân) Bản Mã chữ 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... 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 mã đƣợc dùng Ngoài việc biết hệ mật mã, ngƣời thám mã còn cần có thông tin khác để tìm bản rõ và phát hiện khoá Tuỳ theo thông tin đó là gì mà ta phân các bài toán thám mã thành các loại: chỉ biết bản mã, biết các cặp rõ /mã, ... 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ụ... chúng ta tiến hành xác định mã pháp đối với các bản mã có nhiều đặc điểm nhất theo quan điểm của các nhà thám mã) Đây là một khâu rất quan trọng của công tác thám mã truyền thống Tuy nhiên đối với một số hệ mật đối xứng hiện đại nhƣ mã DES, 3DES, AES, IDEA, PGP thì bƣớc này coi nhƣ đƣợc bỏ qua bởi ngay từ đầu bản mã, ngƣời ta đã chỉ ra rằng bản mã đó thuộc loại bản mã pháp nào Ở đây chúng ta chỉ trình... mã 2.2.1 Khái niệm Thám mã là quá trình khôi phục lại bản rõ hoặc khóa khi chỉ có bản mã tƣơng ứng cho trƣớc (không biết 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 17 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 18 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... 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) 24 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 25 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ông thám mã cơ bản Phần này sẽ trình bày một vài kiểu thám mã Giả thiết chung ở đây là luôn coi đối phƣơng biết hệ mật đang dùng Giả thiết này đƣợc gọi là nguyên lý Kerekhoff[5] Dĩ nhiên, 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. .. một số bản mã, các nhà thám mã cần thực hiện một loạt các bƣớc nghiên cứu nhằm khôi phục đƣợc bản rõ (hoặc khóa) từ các bản mã nhận đƣợc Ta tìm hiểu các bƣớc cơ bản nhất đó là: Bƣớc 1: Phân loại bản mã Sau khi nhận đƣợc một số bức điện mã, các nhà phân tích mật mã có thể phân loại xem những bức điện mã có cùng một loại mã pháp, có cùng một loại khoá mã Mặc dù chúng ta chƣa biết đƣợc mã pháp (phƣơng pháp . tài: 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ã , nhằm tìm hiểu các phƣơng pháp thám mã và xây dựng qui trình thám mã cho hệ mật mã đối xứng DES. Trong. 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Ã LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 60.48.01. phƣơng pháp thám mã là phƣơng pháp tấn 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 và ứng dụng trong phát triển hệ mật mã ,

Ngày đăng: 18/12/2014, 00:21

Từ khóa liên quan

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

Tài liệu liên quan