TỔNG QUAN VỀ MẬT MÃ HỌC

141 361 1
TỔNG QUAN VỀ MẬT MÃ HỌC

Đ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 CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của tôi, các số liệu và kết quả trình bày trong luận án là trung thực và chưa được công bố ở bất kỳ công trình nào khác. Tác giả Hồ Quang Bửu ii LỜI CẢM ƠN Luận án Tiến sĩ kỹ thuật này được thực hiện tại Học viện Công nghệ Bưu chính Viễn thông. Tác giả xin tỏ lòng biết ơn đến thầy giáo GS.TSKH. Nguyễn Xuân Quỳnh đã trực tiếp định hướng, tạo mọi điều kiện trong suốt quá trình nghiên cứu. Tác giả cũng xin cảm ơn GS.TS. Nguyễn Bình đã trực tiếp hướng dẫn học thuật hóa, kiểm tra những kết quả của các công trình nghiên cứu. Tôi xin chân thành cảm ơn Lãnh đạo Học viện Công nghệ Bưu chính Viễn thông đã tạo những điều kiện thuận lợi để hoàn thành và bảo vệ luận án trong thời gian nghiên cứu của nghiên cứu sinh. Tôi xin cảm ơn khoa Quốc tế và Đào tạo sau đại học, Sở Thông tin truyền thông tỉnh Quảng Nam (nơi tôi đang công tác), cũng như các đồng nghiệp đã tạo điều kiện và giúp đỡ tôi hoàn thành được đề tài nghiên cứu của mình. Cuối cùng là sự biết ơn tới gia đình, bạn bè đã thông cảm, động viên giúp đỡ cho tôi có đủ nghị lực để hoàn thành luận án. Hà nội, tháng 12 năm 2013 iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT vi DANH MỤC CÁC BẢNG viii DANH MỤC CÁC HÌNH VẼ ix PHẦN MỞ ĐẦU 1 1. MỞ ĐẦU 1 2. TÌNH HÌNH NGHIÊN CỨU 1 3. LÝ DO CHỌN ĐỀ TÀI 4 4. MỤC TIÊU NGHIÊN CỨU 4 5. ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU 5 6. PHƯƠNG PHÁP NGHIÊN CỨU 5 7. Ý NGHĨA KHOA HỌC VÀ THỰC TIÊN CỦA ĐỀ TÀI 5 CHƯƠNG 1. TỔNG QUAN VỀ MẬT MÃ HỌC 6 1.1. CÁC KHÁI NIỆM CƠ BẢN 6 1.2. CÁC HỆ MẬT KHÓA BÍ MẬT 8 1.2.1. Sơ đồ khối chức năng hệ mật khóa bí mật 8 1.2.2. Các hệ mật thay thế 8 1.2.3. Các hệ mật hoán vị (MHV) 11 1.2.4. Các hệ mật mã tích 12 1.2.5. Các hệ mật mã dòng và việc tạo các dãy giả ngẫu nhiên 15 1.2.6. Chuẩn mã dữ liệu DES 26 1.2.7. Ưu nhược điểm của mật mã khóa bí mật 29 iv 1.3. HỆ MẬT KHÓA CÔNG KHAI 30 1.3.1. Sơ đồ chức năng 30 1.3.2. Một số bài toán xây dựng hệ mật khóa công khai 31 1.4. CƠ BẢN VỀ HÀM BĂM 33 1.4.1. Mở đầu 33 1.4.2. Các định nghĩa và tính chất cơ bản 35 1.4.3. Một số phương pháp xây dựng hàm băm 37 1.4.4. Các loại tấn công hàm băm cơ bản 41 1.4.5. Độ an toàn mục tiêu 43 1.5. TÍNH TOÀN VẸN CỦA DỮ LIỆU VÀ XÁC THỰC THÔNG BÁO 44 1.5.1. Các phương pháp kiểm tra tính toàn vẹn dữ liệu 44 1.5.2. Chữ ký số 46 1.6. KẾT LUẬN CHƯƠNG 1 49 CHƯƠNG 2. HỆ MẬT XÂY DỰNG TRÊN CÁC CẤP SỐ NHÂN CYCLIC 50 2.1. NHÓM NHÂN CYCLIC TRÊN VÀNH ĐA THỨC 50 2.1.1. Định nghĩa nhóm nhân cyclic trên vành đa thức 50 2.1.2. Các loại nhóm nhân cyclic trên vành đa thức 52 2.2. CẤP SỐ NHÂN CYCLIC TRÊN VÀNH ĐA THỨC 54 2.2.1. Khái niệm về cấp số nhân cyclic trên vành đa thức 54 2.2.2. Phân hoạch vành đa thức 55 2.3. XÂY DỰNG M-DÃY LỒNG GHÉP TRÊN VÀNH ĐA THỨC CÓ HAI LỚP KỀ CYCLIC 61 2.3.1. Vành đa thức có hai lớp kề 61 2.3.2. M-dãy xây dựng trên vành đa thức 63 2.3.3. Xây dựng M-dãy lồng ghép từ các cấp số nhân cyclic trên vành đa thức có hai lớp kề 64 v 2.4. HỆ MẬT XÂY DỰNG TRÊN CÁC CẤP SỐ NHÂN CYCLIC 71 2.4.1. Vấn đề mã hóa 71 2.4.2. Xây dựng hệ mật dùng cấp số nhân cyclic 76 2.5. KẾT LUẬN CHƯƠNG 2 82 CHƯƠNG 3. HÀM BĂM XÂY DỰNG TRÊN CẤP SỐ NHÂN CYCLIC 83 3.1. CÁC HÀM BĂM HỌ MD4 83 3.1.1. Cấu trúc 83 3.1.2. Mở rộng thông báo 87 3.1.3. Các bước mã hóa 89 3.2. XÂY DỰNG HÀM BĂM MỚI TRÊN CÁC CẤP SỐ NHÂN CYCLIC 94 3.2.1. Sơ đồ khối mật mã trong hàm băm 94 3.2.2. Các đánh giá kết quả mô phỏng hàm băm mới 100 3.3. KẾT LUẬN CHƯƠNG 3 101 KẾT LUẬN VÀ KIẾN NGHỊ 102 DANH MỤC CÁC CÔNG TRÌNH CÓ LIÊN QUAN ĐẾN LUẬN ÁN 104 TÀI LIỆU THAM KHẢO 105 PHỤ LỤC A: THÔNG SỐ CỦA MỘT SỐ HÀM BĂM 109 PHỤ LỤC B: CÁC CHƯƠNG TRÌNH TÍNH TOÁN VÀ MÔ PHỎNG 122 vi DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT AES Advanced Encryption Standard ANSI American National Standards Institute CAST Carlisle Adams and Stafford Tavares CBC Cipher Block Chaining CFB Cipher Feedback Block CGP Cấp số nhân cyclic (Cyclic Geometic Progressions) CMG Nhóm nhân cyclic (Cyclic Multiplicate Group) CRC Cyclic Redundancy Check CRF Collision Resistant Function CRHF Collision Resistant Hash Function S C Chu trình 0 d Khoảng cách Hamming deg Bậc của đa thức (Degree) DEA Data Encryption Algorithm DES Chuẩn mã dữ liệu (Data Encryption Standard) ()ex Đa thức lũy đẳng ECB Electronic Codebook F Trường (Field) G Nhóm (Group) GF(p) Trường đặc số p h Hàm băm (Hash) I Ideal IDEA International Data Encryption Algorithm IV Initial Value MAC Message Authentication Code MDC Manipulation Detection Code MD-x Message Digest x NESSIE New European Schemes for Signatures, Integrity and Encryption vii NIST National Institute for Standards and Technology (US) OFB Output Feedback ord Cấp của đa thức (Order) OWF One-Way Function OWHF One-Way Hash Function R Vành (Ring) RIPE Race Integrity Primitives Evaluation RSA Rivest Shamir Adleman SHA Secure Hash Algorithm TDEA Triple Data Encryption Algorithm UOWHF Universal One-Way Hash Function VEST Very Efficient Substitution Transposition W Trọng số (Weight) 2 [ ]/ 1 n xxZ Vành đa thức trên 2 GF viii DANH MỤC CÁC BẢNG Bảng 1. Một số hàm băm 3 Bảng 1.1. Trạng thái của các vector đầu ra M-dãy 22 Bảng 1.2. Các đặc tính của dãy tuyến tính có chu kỳ 2 m -1 26 Bảng 1.3. Bảng IP và IP -1 28 Bảng 1.4. Độ an toàn mục tiêu của hàm băm 43 Bảng 2.1. Số kiểu phân hoạch không suy biến M của một số vành 57 Bảng 2.2. Tổng số các kiểu phân hoạch của vành 2 [ ]/ 1 n xxZ 58 Bảng 2.3. M-dãy xây dựng trên vành 15 2 [ ]/ 1xxZ 63 Bảng 2.4. Các tam thức cấp cực đại 4095 (3 2 .5.7.13) trên vành x 13 + 1 68 Bảng 2.5. Một số phần tử của M-dãy trên vành x 13 +1 69 Bảng 2.6. M-dãy với chiều dài 4095 theo phân hoạch cực đại 69 Bảng 2.7. Số lượng M-dãy lồng ghép với một vài giá trị n khác nhau 70 Bảng 2.8. Bảng hoán vị ban đầu (IP) 78 Bảng 2.9. Bảng hoán vị đảo (IP -1 ) 78 Bảng 2.10. Khoảng cách Hamming d H (C 1 ,C i ) giữa các cặp bản mã khi các bản rõ khác nhau 1 bit, d H (M 1 ,M i ) = 1, với cùng một khóa K 80 Bảng 2.11. Khoảng cách Hamming d H (C 1 ,C i ) giữa các cặp bản mã khi các khóa khác khóa K 1 2 bit d H (K 1 , K i )=2 với cùng một bản rõ M 81 Bảng 3.1. Thông số của các hàm băm họ MD4 85 Bảng 3.2. Ký hiệu các thông số và các biến 86 Bảng 3.3. Khoảng cách Hamming d H (MD 1 , MD i ) khi các khối dữ liệu khác khối ban đầu 1 bit 97 Bảng 3.4. Khoảng cách Hamming d H (MD 1 , MD i ) giữa các cặp giá trị băm khi các khóa khác khóa K 1 2 bit. 99 Bảng 3.5. Tính khoảng cách Hamming trung bình khi thay đổi khóa K và thay đổi bản tin rõ. 100 ix DANH MỤC CÁC HÌNH VẼ Hình 1.1. Sơ đồ khối chức năng hệ mật khóa bí mật 8 Hình 1.2. M-dãy tạo từ thanh ghi dịch phản hồi tuyến tính LFSR 22 Hình 1.3. Mạch tạo M-dãy từ đa thức g(x) = 1+x+x 4 23 Hình 1.4. Bộ tạo dãy Gold đối với g 1 (d) = d 3 + d +1 và g 2 (d) = d 3 + d 2 +1 24 Hình 1.5. Sơ đồ mã hóa DES 27 Hình 1.6. Mô tả hàm f trong DES 28 Hình 1.7. Các bước tạo khóa cho các vòng mã hóa của DES 29 Hình 1.8. Sơ đồ khối chức năng hệ mật khóa công khai 30 Hình 1.9. Phân loại hàm băm 36 Hình 1.10. Các sơ đồ hàm băm đơn a) Matyas-Mayer–Oseas; b) Davies-Mayer và c) Miyaguchi – Preneel 37 Hình 1.11. Thuật toán MDC-2 39 Hình 1.12. Thuật toán MDC-4 40 Hình 1.13. Sơ đồ Miyaguchi – Preneel 41 Hình 1.14. Kiểm tra tính toàn vẹn bằng MAC 45 Hình 1.15. Kiểm tra tình toàn vẹn dùng MDC và thuật toán mã hóa 45 Hình 1.16. Kiểm tra tính toàn vẹn dùng MDC và kênh an toàn 46 Hình 1.17. Quá trình tạo chữ ký số và kiểm tra chữ ký số 47 Hình 1.18. Sơ đồ chữ ký số dùng RSA 47 Hình 1.19. Sơ đồ chữ ký số dùng RSA và có bảo mật thông báo 48 Hình 2.1. Mã hóa và giải mã xây dựng trên cấp số nhân cyclic 71 Hình 2.2. Sơ đồ thiết bị mã hoá 75 Hình 2.3. Sơ đồ thiết bị giải mã 75 Hình 2.4. Sơ đồ mạng thay thế Feistel 76 Hình 2.5. Sơ đồ mã hóa khối E 77 Hình 2.6. Sơ đồ khối mã hóa , với khóa 45 1 1K x x   79 Hình 3.1. Tương tác giữa mở rộng thông báo và các thao tác bước 83 Hình 3.2. Một bước mã hóa của MD5 92 Hình 3.3. Sơ đồ thực hiện hàm băm 95 Hình 3.4. Sơ đồ bộ mã hóa khóa E với khóa K 1 95 1 PHẦN MỞ ĐẦU 1. MỞ ĐẦU Trong sự phát triển của xã hội loài người, kể từ khi có sự trao đổi thông tin, thì an toàn thông tin trở thành một nhu cầu gắn liền với nó. Từ thủa sơ khai, an toàn thông tin được hiểu đơn giản là giữ bí mật và điều này được xem như một nghệ thuật chứ không phải là một ngành khoa học. Với sự phát triển của khoa học kỹ thuật và công nghệ, cùng với các nhu cầu đặc biệt có liên quan tới an toàn thông tin, ngày nay cần có các yêu cầu kỹ thuật đặc biệt trong việc đảm bảo an toàn thông tin, các kỹ thuật đó bao gồm: Kỹ thuật mật mã (Cryptography); kỹ thuật ngụy trang (Steganography); kỹ thuật tạo bóng mờ (Watermarking – hay thủy vân). Hiện nay việc trao đổi thông tin thương mại trên Internet có nhiều nguy cơ không an toàn do thông tin có thể bị lộ hay bị sửa đổi. Nói chung, để bảo vệ các thông tin khỏi sự truy cập trái phép cần phải kiểm soát được những vấn đề như: thông tin được tạo ra, lưu trữ và truy nhập như thế nào, ở đâu, bởi ai và vào thời điểm nào. Để giải quyết các vấn đề trên, kỹ thuật mật mã hiện đại phải đảm bảo các dịch vụ an toàn cơ bản: (1) bí mật (Confidential); (2) xác thực (Authentication); (3) đảm bảo tính toàn vẹn (Integrity), và để thực hiện các nhiệm vụ này người ta sử dụng hàm băm mật mã (Cryptographic Hash Function). 2. TÌNH HÌNH NGHIÊN CỨU Cho đến nay các nghiên cứu về hàm băm được chia thành hai loại: hàm băm không khóa và hàm băm có khóa. Thông thường các hàm băm đều xây dựng dựa trên mật mã khối với hai phương pháp chính là Mã phát hiện sửa đổi (MDC- Manipullation Detection Code) và Mã xác thực thông báo (MAC-Message Authentication Code). [...]... 1 TỔNG QUAN VỀ MẬT MÃ HỌC 1.1 CÁC KHÁI NIỆM CƠ BẢN Mật mã học là một bộ phận của khoa học mật mã (Cryptology), được chia thành 2 bộ phận chính [4]: + Mật mã học (Cryptography): chia thành 3 nội dung:  Mật mã khóa bí mật (Khóa đối xứng)  Mật mã khóa công khai (khóa bất đối xứng)  Hàm băm, xác thực và chữ ký số + Phân tích mật mã (Cryptonalys): Dành riêng cho các nhà nghiên cứu chuyên sâu về mật mã, ... phương pháp thám mã:  Phương pháp tấn công tổng lực (tìm khóa vét cạn)  Phương pháp thống kê  Phương pháp phân tích cấu trúc… Trong lý thuyết mã mã hóa nguồn và mã sửa sai khâu mã hóa (coding) thường chỉ có đầu vào là bản tin và đầu ra là bản mã (và ngược lại với khâu giải mã (decoding)) Tuy nhiên với mật mã học thì hai khâu này có một sự khác biệt đó là đầu vào của mã hóa (giải mã) ngoài bản tin... khó giải và khá phức tạp 8 1.2 CÁC HỆ MẬT KHÓA BÍ MẬT 1.2.1 Sơ đồ khối chức năng hệ mật khóa bí mật Thám mã Bản rõ M Nguồn tin (Alice) Bản mã C Bộ mã hoá K KE Bản mã C Kênh mở (không an toàn) (Oscar) Bản rõ M Bộ giải mã Nhận tin (Bob) Kênh an toàn KD Nguồn khoá Hình 1.1 Sơ đồ khối chức năng hệ mật khóa bí mật Một hệ mật là một bộ gồm 5 tham số P, C, K, E, D thoả mãn các điều kiện sau [4]: a) b) c)... còn có thêm khóa (K) * Mã hóa (Encryption): Ta có: C  EK  M  hay C  E  M , K  M Encryption C K * Giải mã (Decryption) C  Ta có: M  EK1  C   DK  C   D  C, K  Decryption K Trong đó: M – bản rõ; C – bản mã; K – khóa * Các phương pháp xử lý thông tin số trong các hệ thống mật mã bao gồm: + Mật mã khóa bí mật (khóa đối xứng): M 7 Với hệ mật này, việc mã hóa và giải mã sử dụng chung một khóa,... hoán Rất may mắn là nhiều hệ mật đơn giản thoả mãn điều kiện trên Kỹ thuật thường được sử dụng trong thực tế là lấy tích các hệ mã kiểu thay thế và các hệ mã kiểu hoán vị 1.2.5 Các hệ mật mã dòng và việc tạo các dãy giả ngẫu nhiên 1.2.5.1 Các hệ mã dòng Trong các hệ mật nghiên cứu ở trên, các phần tử liên tiếp của bản rõ đều được mã hoá bằng cùng một khoá k Tức xâu bản mã y nhận được có dạng: y  y1... m Sau đó, dòng khoá sẽ tự lặp lại Nhận thấy rằng, trong mã dòng tương ứng với mật mã Vigenère, các hàm mã và giải mã được dùng giống như các hàm mã và giải mã được dùng trong MDV: ez ( x)  x  z và d z ( y)  y  z Các mã dòng thường được mô tả trong các bộ chữ nhị phân tức là P  C  L  Z2 Trong trường hợp này, các phép toán mã và giải mã là phép cộng theo modulo 2 ez ( x)  x  z mod 2 và d z... hệ mật tự đồng cấu với chính nó thì ta thu được hệ mật S S (kí hiệu là S 2 ) Nếu lấy tích n lần thì hệ mật kết quả là S n Ta gọi S n là hệ mật lặp Một hệ mật S được gọi là luỹ đẳng nếu S2  S Có nhiều hệ mật đã nghiên cứu trong chương 1 là hê mật luỹ đẳng Chẳng hạn các hệ MDV, MTT, Affine, Hill, Vigenère và hoán vị đều là luỹ đẳng Hiển nhiên là nếu hệ mật S là luỹ đẳng thì không nên sử dụng hệ mật. .. bảo mật khóa trước khi truyền tin Các thuật toán mã hóa trong hệ mật khóa bí mật thường sử dụng các phương pháp sau:     Hoán vị Thay thế Xử lý bit (chủ yếu trong các ngôn ngữ lập trình) Phương pháp hỗn hợp (điển hình là chuẩn mã hóa dữ liệu – DES) + Mật mã khóa công khai (khóa không đối xứng): Thông thường mỗi bên liên lạc tự tạo cho mình một cặp khóa Công khai và bí mật, khóa công khai dùng để mã. .. các bản mã có thể K là một tập hữu hạn các khoá có thể (không gian khoá) Đối với mỗi k  K có một quy tắc mã e k  E ek : P  C và một quy tắc giải mã tương ứng d k  D dk : C  P sao cho: d k e k x   x với  x  P 1.2.2 Các hệ mật thay thế 1.2.2.1 Các hệ mật thay thế đơn biểu a) Mật mã dịch vòng (MDV) Giả sử P  C  K  Z26 với 0  k  25 , ta định nghĩa: Mã hóa: C  M  K mod n Giải mã: M ... P, K 2 , E 2 , D2  là hai hệ mật tự đồng cấu có cùng các không gian bản mã và rõ Khi đó, tích của S1 và S 2 (kí hiệu là S1  S2 ) được xác định là hệ mật sau: ( P, P, K1  K2 , E, D) (1.1) Khoá của hệ mật tích có dạng k  k1 , k 2  trong đó k1  K1 và k 2  K 2 Các quy tắc mã và giải mã của hệ mật tích được xác định như sau: Với mỗi k  k1 , k 2  , ta có một quy tắc mã e k xác định theo công thức: . CHƯƠNG TRÌNH TÍNH TOÁN VÀ MÔ PHỎNG 122 vi DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT AES Advanced Encryption Standard ANSI American National Standards Institute CAST Carlisle Adams and. Message Authentication Code MDC Manipulation Detection Code MD-x Message Digest x NESSIE New European Schemes for Signatures, Integrity and Encryption vii NIST National Institute

Ngày đăng: 11/01/2015, 21:38

Từ khóa liên quan

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

Tài liệu liên quan