Về một phương pháp xây dựng hàm băm cho việc xác thực trên cơ sở ứng dụng thuật toán mã hóa đối xứng
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 xxZ 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 xxZ 58 Bảng 2.3. M-dãy xây dựng trên vành 15 2 [ ]/ 1xxZ 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). [...]... 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ã, chuyên nghiên cứu tìm hiểu các 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... nghiên cứu 5 ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU Luận án thuộc phạm vi lý thuyết cơ sở, tập trung nghiên cứu các thuật toán mật mã hóa và sử dụng chúng trong lược đồ xây dựng các hàm băm Các thuật toán mã hóa và sơ đồ tạo khóa trong các sơ đồ mã hóa được xây dựng trên cấu trúc cấp số nhân cyclic, đây là một cấu trúc đại số chặt chẽ được xây dựng trên cơ sở là nhóm nhân cyclic trên vành đa thức 6 PHƯƠNG PHÁP NGHIÊN... 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ã hóa bản tin và khóa này được công khai trên mạng, còn khóa bí mật dùng để giải mã (chỉ có bên nhận tin lưu trữ) Các thuật toán mã hóa công khai cho đến nay được xây dựng theo một trong... 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, do đó hai bên liên lạc phải thống nhất và 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... đã có nhiều nghiên cứu về hàm băm trên thế giới, các nghiên cứu tập trung xây dựng các hàm băm có độ bảo mật tốt và đặc biệt là khả năng kháng va chạm, thông thường để có được các tính chất này người ta thường phát triển các thuật toán mã hóa, các các phép toán trong hàm mã hóa và tăng chiều dài mã băm Một số hàm băm cho trong bảng 1 dưới đây Bảng 1: Một số hàm băm 3 TT Thuật toán Kích thước đầu ra... phát triển lý thuyết mật mã nói chung và các hàm băm nói riêng Các nghiên cứu trong luận án đưa ra được một phương pháp xây dựng mật mã khối và một số hàm băm trên cơ sở là các cấp số nhân cyclic của vành đa thức 6 CHƯƠNG 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... hướng nghiên cứu mở, đây là một vấn đề cần thiết trong quá trình phát triển lý thuyết mật mã nói chung và xây dựng các hàm băm mới nói riêng ở Việt Nam 4 MỤC TIÊU NGHIÊN CỨU Khảo sát đánh giá hệ mật khối sử dụng cho lược đồ hàm băm Xây dựng hệ mật trên các cấp số nhân cyclic trên vành đa thức Xây dựng các hàm băm mới sử dụng hệ mật dựa trên các cấp số nhân cyclic trên vành đa thức 5 Viết các... (thuận lợi cho việc áp dùng vào thực tế) Trên cơ sở đó phân tích các hàm băm hiện có tác giả thấy rằng, mặc dù các hàm băm có tính chất tốt nhưng lại có nhược điểm là phức tạp dẫn tới yêu cầu về tài nguyên tính toán và thời gian tính toán Với các ưu điểm của cấu trúc của cấp số nhân cyclic như đề cập ở trên tác giả nhận thấy việc sử dụng cấu trúc này vào việc xây dựng các hệ mật và các hàm băm là hướng... bước mã hóa sử dụng các phép toán Boolean, phép cộng số tự nhiên theo modulo, phép dịch và quay bit, tổ hợp mã băm đầu ra với vector khởi tạo IV…[23], [24] Ở Việt Nam việc nghiên cứu các hệ mật cũng đã rất phát triển từ nhiều năm qua, tuy nhiên việc sử dụng các hệ mật này cho các lược đồ xây dựng hàm băm còn khá mới mẻ Cũng có một số công trình nghiên cứu về hệ mật [13], [14] và xây dựng hạ tầng khóa... năm bài toán một chiều cơ bản đó là: Bài toán logarit rời rạc Bài toán phân tích thừa số Bài toán xếp ba lô Bài toán mã sửa sai Bài toán trên đường cong elliptic + Mật mã khối: Trong các hệ mật mã khối quá trình xử lý thông tin được thực hiện theo các khối bit có độ dài xác định + Mật mã dòng: Trong các hệ mật mã dòng quá trình xử lý thông tin thực hiện trên từng bit + Độ phức tạp tính toán: . triển các thuật toán mã hóa, các các phép toán trong hàm mã hóa và tăng chiều dài mã băm Một số hàm băm cho trong bảng 1 dưới đây. Bảng 1: Một số hàm băm 3 TT Thuật toán Kích thước. 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. ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU Luận án thuộc phạm vi lý thuyết cơ sở, tập trung nghiên cứu các thuật toán mật mã hóa và sử dụng chúng trong lược đồ xây dựng các hàm băm. Các thuật toán mã hóa