Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)Một hệ mật xây dựng trên sơ đồFeistel không cân bằng và khả năng ứng dụng trên hàm băng (LV thạc sĩ)
HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG - ĐÀO MINH THÀNH MỘT HỆ MẬT XÂY DỰNG TRÊN SƠ ĐỒ FEISTEL KHÔNG CÂN BẰNG VÀ KHẢ NĂNG ỨNG DỤNG TRONG HÀM BĂM LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI - 2017 HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG - ĐÀO MINH THÀNH MỘT HỆ MẬT XÂY DỰNG TRÊN SƠ ĐỒ FEISTEL KHÔNG CÂN BẰNG VÀ KHẢ NĂNG ỨNG DỤNG TRONG HÀM BĂM Chuyên ngành: Kỹ thuật viễn thông Mã số: 60.52.02.08 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƢỜI HƢỚNG DẪN KHOA HỌC : TS NGÔ ĐỨC THIỆN HÀ NỘI - 2017 i LỜI CẢM ƠN Luận văn Thạc sỹ kỹ thuật đƣợc thực Học viện Công nghệ Bƣu Viễn thông Học viên xin tỏ lòng biết ơn đến thầy giáo TS Ngô Đức Thiện trực tiếp định hƣớng, tạo điều kiện suốt trình nghiên cứu Học viên xin chân thành cảm ơn Lãnh đạo Học viện Công nghệ Bƣu Viễn thông tạo điều kiện thuận lợi để hoàn thành bảo vệ luận án thời gian nghiên cứu Học viên xin cảm ơn khoa Quốc tế Đào tạo sau đại học, nhƣ đồng nghiệp tạo điều kiện giúp đỡ hoàn thành đƣợc đề tài nghiên cứu Cuối biết ơn tới gia đình, bạn bè thông cảm, động viên giúp đỡ cho học viên có đủ nghị lực để hoàn thành luận án Hà Nội, tháng 12 năm 2016 ii MỤC LỤC LỜI CẢM ƠN i MỤC LỤC ii DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT iv DANH MỤC CÁC BẢNG v DANH MỤC CÁC HÌNH VẼ vi PHẦN MỞ ĐẦU 1 MỞ ĐẦU TÌNH HÌNH NGHIÊN CỨU MỤC TIÊU NGHIÊN CỨU ĐỐI TƢỢNG, PHẠM VI NGHIÊN CỨU PHƢƠNG PHÁP NGHIÊN CỨU Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI CHƢƠNG TỔNG QUAN VỀ MẬT MÃ HỌC 1.1 CÁC KHÁI NIỆM CƠ BẢN 1.2 CÁC HỆ MẬT MÃ KHÓA BÍ MẬT 1.2.1 Sơ đồ khối chức hệ mật mã khóa bí mật 1.2.2 Các hệ mật thay 1.2.3 Các hệ mật hoán vị (MHV) 1.2.4 Chuẩn mã liệu DES 10 1.2.5 Ƣu nhƣợc điểm mật mã khóa bí mật 13 1.3 HỆ MẬT KHÓA CÔNG KHAI 14 1.3.1 Sơ đồ chức 14 1.3.2 Một số toán xây dựng hệ mật khóa công khai 15 1.4 KẾT LUẬN CHƢƠNG 17 iii CHƢƠNG HỆ MẬT MÃ KHỐI THEO SƠ ĐỒ FEISTEL KHÔNG CÂN BẰNG 18 2.1 NHÓM NHÂN CYCLIC TRÊN VÀNH ĐA THỨC 18 2.1.1 Định nghĩa nhóm nhân cyclic vành đa thức 18 2.1.2 Các loại nhóm nhân cyclic vành đa thức 20 2.2 CẤP SỐ NHÂN CYCLIC TRÊN VÀNH ĐA THỨC 21 2.2.1 Khái niệm cấp số nhân cyclic vành đa thức 21 2.2.2 Phân hoạch vành đa thức 23 2.3 HỆ MẬT XÂY DỰNG TRÊN CÁC CẤP SỐ NHÂN CYCLIC 27 2.3.1 Mô tả hệ mật 27 2.3.2 Đánh giá tính khuếch tán hệ mật 30 2.4 KẾT LUẬNCHƢƠNG 33 CHƢƠNG ỨNG DỤNG HỆ MẬT VÀO HÀM BĂM MDC 34 3.1 CƠ BẢN VỀ HÀM BĂM 34 3.1.1 Mở đầu 34 3.1.2 Các định nghĩa tính chất 35 3.2 MỘT SỐ PHƢƠNG PHÁP XÂY DỰNG HÀM BĂM 37 3.2.1 Các hàm băm khoá (MDC) 37 3.2.2 Các hàm băm có khoá (MAC) 40 3.2.3 Một số hàm băm xây dựng theo thuật toán riêng biệt 41 3.3 CÁC LOẠI TẤN CÔNG HÀM BĂM CƠ BẢN 48 3.4 MỘT SỐ PHƢƠNG PHÁP TOÀN VẸN DỮ LIỆU VÀ XÁC THỰC THÔNG BÁO 50 3.5 ÁP DỤNG HỆ MẬT VÀO XÂY DỰNG HÀM BĂM KHÔNG KHÓA 51 3.6 KẾT LUẬNCHƢƠNG 56 KẾT LUẬN VÀ KIẾN NGHỊ 57 TÀI LIỆU THAM KHẢO 58 iv DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT AES AdvancedEncryption Standard Tiêu chuẩn mã hóa tiên tiến CGP CyclicGeometicProgressions Cấp số nhân cyclic CMG CRC CyclicMultiplicateGroup CyclicRedundancyCheck Nhóm nhân cyclic Mã kiểm soát lỗi CRHF CollisionResistantHashFunction Hàm băm chống va chạm CS CS Chu trình d0 d0 Khoảng cách Hamming deg DEA Degree DataEncryptionAlgorithm Bậc đa thức Mã hóa liệu DES DataEncryption Standard Chuẩn mã liệu e( x ) e( x ) Đa thức lũy đẳng Field Trƣờng Group Nhóm G Trƣờng đặc số p GF(p) h Hash Hàm băm I MAC Ideal MessageAuthenticationCode Mã xác thực thông điệp MDC ManipulationDetectionCode Mã phát sửa đổi ord Order Cấp đa thức R RSA Ring RivestShamirAdleman Vành Hệ mật RSA SHA SecureHashAlgorithm Thuật giải hàm băm an toàn v DANH MỤC CÁC BẢNG Bảng 1.1 Bảng IP IP-1 12 Bảng 2.1 Một vài khoảng cách Hamming mã bit Bảng 2.2 thay đổi khóa thay đổi 31 Một vài khoảng cách Hamming cặp mã 32 Bảng 3.1 Thông số hàm băm họ MD4 43 Bảng 3.2 Ký hiệu thông số biến 44 Bảng 3.3: Các phiên SHA 44 Bảng 3.4 Mộtvài khoảng cách Hamming ( ) thay đổi bit rõ đầu vào 53 Bảng 3.5 Một vài khoảng cách Hamming ( ) thay đổi khóa 55 vi DANH MỤC CÁC HÌNH VẼ Hình 1.1 Sơ đồ khối chức hệ mật khóa bí mật Hình 1.2 Sơ đồ mã hóa DES 11 Hình 1.3 Mô tả hàm f DES 12 Hình 1.4 Các bƣớc tạo khóa cho vòng mã hóa DES 13 Hình 1.5 Sơ đồ khối chức hệ mật khóa công khai 14 Hình 2.1 Sơ đồ mã hóa hệ mật 27 Hình 2.2 Mạch mã hóa hàm f 29 Hình 2.3 Mạch mã hóa tƣơng ứng ki = + x3 + x31(0.3.31) 29 Hình 3.1 Phân loại hàm băm 36 Hình 3.2 Các sơ đồ hàm băm đơn a) Matyas-Mayer–Oseas; b) Davies-Mayer c) Miyaguchi – Preneel 37 Hình 3.3 Thuật toán MDC-2 39 Hình 3.4 Thuật toán MDC-4 40 Hình 3.5 Sơ đồ Miyaguchi – Preneel 41 Hình 3.6 Tƣơng tác mở rộng thông báo thao tác bƣớc 41 Hình 3.7 Quá trình nhồi thêm bit vào thông điệp ban đầu SHA-1 45 Hình 3.8 Cấu trúc khối liệu giải thuật SHA-1 46 Hình 3.9 Hàm nén SHA-1 bƣớc 47 Hình 3.10: SHA xử lý khối liệu 512 bit 48 Hình 3.11.Toàn vẹn liệu dùng MAC 51 vii Hình 3.12.Toàn vẹn liệu dùng MDC mã hóa 51 Hình 3.13.Toàn vẹn liệu dùng MDC kênh tin cậy 51 Hình 3.14 Sơ đồ hàm băm 52 PHẦN MỞ ĐẦU MỞ ĐẦU Trong phát triển xã hội loài ngƣời, kể từ có trao đổi thông tin, an toàn thông tin trở thành 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 giữ bí mật Với phát triển khoa học kỹ thuật công nghệ, với nhu cầu đặc biệt có liên quan tới an toàn thông tin ngày cần có yêu cầu kỹ thuật đặc biệt việc đảm bảo an toàn thông tin, 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) Ngày nay, với phát triển mạng thông tin truyền thông kéo theo gia tăng số lƣợng tội phạm lợi dụng kẽ hở bảo mật mạng để công, ăn cắp, làm giả thông tin gây thiệt hại to lớn Vì thế, nhu cầu an toàn bảo mật thông tin ngày trở nên cấp thiết, hàng năm giới nƣớc nhiều tiền cho công nghiên cứu chống lại nguy công từ kẽ hở bảo mật Nói chung, để bảo vệ thông tin khỏi truy cập trái phép cần phải kiểm soát đƣợc vấn đề nhƣ: thông tin tạo ra, lưu trữ truy nhập nào, đâu, vào thời điểm Để giải vấn đề trên, kỹ thuật mật mã đại phải đảm bảo dịch vụ an toàn bản: bí mật (Confidential); đảm bảo tính toàn vẹn (Integrity); xác thực (Authentication) Nhận thấy tính thiết thực toán đƣợc gợi ý giảng viên hƣớng dẫn, chọn đề tài: “Một hệ mật xây dựng sơ đồ Feistel không cân khả ứng dụng hàm băm” để làm đề tài cho luận văn tốt nghiệp TÌNH HÌNH NGHIÊN CỨU Hệ thống khoá bí mật (hay mật mã cổ điển) phƣơng pháp mã hoá đơn giản xuất lịch sử ngành mã hoá Phƣơng pháp sử dụng thuật toán đơn giản, dễ hiểu nhƣng khó khăn việc quản lý lƣu trữ thiết lập phân phối khoá, với hệ mật nhƣ: DES, AES, Từ năm 1976 mật mã đại 45 Độ dài từ (bit) 32 32 64 64 Số bƣớc thực (bƣớc) 80 64 80 80 Phần tập trung nghiên cứu thuật toán băm SHA1, phiên khác SHA đƣợc thiết kế theo nguyên lý tƣơng tự Giải thuật gồm bƣớc thao tác khối liệu 512 bits nhƣ sau: Bƣớc 1: Nhồi thêm bit đệm – Appendpaddingbit - Thông điệp đƣợc nhồi thêm bit cho độ dài l 448 mod 512 hay l n.512 + 448 (n, l nguyên) - Tất khối trƣớc có chiều dài 512 bits, riêng khối cuối 448 bits Việc nhồi thêm bit vào khối thông điệp đƣợc thực với tất khối thông tin gốc, kể khối thông tin gốc có số bit xác 448 mod 512 (khi chuỗi bit chèn thêm vào có chiều dài 512 bits) - Nguyên tắc đệm thêm bit vào cuối chuỗi bit, sau gắn chuỗi bit đủ để tạo thành khối 512 bits Hình 3.7 Quá trình nhồi thêm bit vào thông điệp ban đầu SHA-1 Bƣớc 2: Thêm độ dài thông điệp – Appendlength - Độ dài khối liệu ban đầu đƣợc biểu diễn dƣới dạng nhị phân 64 bits đƣợc thêm vào cuối chuỗi nhị phân kết bƣớc (hình ) Độ dài đƣợc biểu diễn dƣới dạng nhị phân 64 bits không dấu - Kết có đƣợc từ bƣớc đầu khối liệu đƣợc biểu diễn: Bằng dãy L khối 512 bits Y0, Y1, …, YL-1 Bằng dãy N từ (word) 32 bit M0, M1, …, MN-1 Vậy N= Lx16 46 Hình 3.8 Cấu trúc khối liệu giải thuật SHA-1 Bƣớc 3: Khởi tạo đệm MD – Initialize MD bufer - Bộ đệm MD (Messagedigest) nhớ có dung lƣợng 160 bits dùng để chứa kết trung gian kết cuối mã băm Bộ nhớ đƣợc tổ chức thành ghi 32 bits đƣợc khởi tạo giá trị ban đầu nhƣ sau: A = 0x67452301 B = 0xEFCDAB89 D = 0x10325476 E = 0xC3D2E1F0 C = 0x98BADCFE Bƣớc 4: Xử lý thông điệp theo khối 512 bits - Processmessage Đây công đoạn trung tâm hàm băm, đƣợc gọi hàm nén (compressfunction), bao gồm vòng, vòng 20 bƣớc Hình 3.9 trình bày sơ đồ khối bƣớc Cả vòng có cấu trúc tƣơng tự nhau, nhƣng vòng sử dụng hàm luận lý khác nhau: Vòng Vòng Vòng Vòng Bƣớc Hàm t 19 20 t 39 40 t 59 60 t 79 f1 (t,B,C,D) (B C) ( B D) f (t, B,C, D) B C D f3 (t, B,C, D) (B C) (B D) (C D) f (t, B,C, D) B C D - Ngõ vào vòng khối Y (512 bits) đƣợc xử lý với giá trị đệm MD Mỗi vòng sử dụng biến cộng Kt khác nhau, với t 79 biểu diễn cho 80 bƣớc vòng Tuy nhiên, thực tế có giá trị K khác nhƣ sau: Bƣớc Vòng Vòng Vòng Vòng t 19 20 t 39 40 t 59 60 t 79 Giá trị Kt Kt = 5A827999 Kt = 6ED9EBA1 Kt = 8F1BBCDC Kt = CA62C1D6 47 - Mỗi bƣớc đƣợc mô tả nhƣ sau: A E + f(t,B,C,D) + S5 (A) + Wt + K t BA C S30 (B) DC ED Trong đó: A,B,C,D,E : từ đệm t : số thứ tự bƣớc Sk : dịch vòng trái k bits Wt : từ thứ t khối liệu Hình 3.9 Hàm nén SHA-1 bƣớc Kt : số + : phép cộng modulo 232 - Từ 16 từ 32 bits khối liệu đầu vào đƣợc mở rộng thành 80 từ Wt Với t 15 , giá trị Wt lấy trực tiếp từ khối liệu ban đầu Với t > 15, Wt S (Wt 16 Wt 14 Wt 8 Wt 3 ) - Ngõ vòng thứ (tức bƣớc 80) đƣợc cộng với ngõ vào vòng để tạo CVq+1 Thao tác cộng đƣợc thực cách độc lập, ứng với ghi đệm MD với từ tƣơng ứng CVq sử dụng phép cộng modulo 232 - Giải thuật đƣợc tóm tắt nhƣ sau: 48 CV0 = IV CVq+1 = SUM32(CVq, ABCDEq) MD = CVL Trong đó: IV : giá trị khởi tạo đệm ABCDE ABCDEq: đầu hàm nén khối thứ q L : số khối 512 bits thông điệp SUM32 : phép cộng modulo 232 từ 32 bits đầu vào MD : giá trị băm Hình 3.10: SHA xử lý khối liệu 512 bit Bƣớc 5: Xuất kết - Output - Sau tất khối 512 bits đƣợc xử lý, ngõ bƣớc cuối giá trị mã băm 160 bits 3.3 CÁC LOẠI TẤN CÔNG HÀM BĂM CƠ BẢN * Tấn công vào độ dài MDC Cho trƣớc thông báo m cố định mã băm pháp vét cạn để tìm xung đột với xem h(m) h(m) m h(m) có độ dài n bit, phƣơng chọn ngẫu nhiên chuỗi m tính thử hay không Giả sử mã băm biến ngẫu nhiên có phân phối chuẩn xác suất để tìn đƣợc m xung đột n * Tấn công vào không gian khóa MAC Khóa bí mật MAC xác định cách tìm toàn không gian khóa Với cặp đầu vào/ đầu (thông báo/ MAC) cho trƣớc, ta thử 49 tất khóa để tính MAC từ thông báo cho, kiểm tra giá trị MAC có trùng với đầu ban đầu Khi xác định đƣợc khóa bó mật MAC Nếu chiều dài khóa MAC t bit khóa bí mật tìm đƣợc với xác suất 2t ; t n * Tấn công vào độ dài MAC Với hàm băm MAC n bit, việc tìm đƣợc giá trị hàm băm MAC n thông báo cho trƣớc tìm tiền ảnh có xác suất thành công khoảng Tuy nhiên, giá trị băm tìm thấy kiểm chứng đƣợc trƣớc cặp đầu vào/ đầu (thông báo/mã băm), biết trƣớc khóa bí mật MAC Mục tiêu xây dựng hàm băm MAC tìm đƣợc xác cặp t n (thông báo/mã băm) với xác suất thành công lơn (1 ,1 ) , nghĩa lớn xác suất tìm đƣợc khóa bí mật xác suất tìm mã băm MAC * Tấn công kết tính toán Việc tính toán trƣớc số lƣợng cặp đầu vào/ đầu hàm băm giúp nhanh chóng tìm đƣợc tiền ảnh nhƣ tiền ảnh thứ hai mã băm Ở đây, ta đánh đổi chi phí tính toán không gian lƣu trữ để đạt mục tiêu thời gian ngắn Chẳng hạn với mã băm 64 bit, ngƣời ta chọn ngẫu nhiên 240 thông báo đầu vào tính mã băm chúng, sau lƣu trữ kết thành cặp đầu vào/ đầu Việc tốn thời gian không gian để tính toán trƣớc giúp tăng khả tòm 64 24 đƣợc tiền ảnh mã băm từ lên Tƣơng tự, xác suất để tìm tiền ảnh thứ hai tăng lên r lần có r cặp đầu vào/đầu hàm OWHF đƣợc tính trƣớc * Tấn công đa mục tiêu Để công kháng tiền ảnh thứ hai hàm băm, ngƣời ta thƣờng cố định mục tiêu (mã băm tiền ảnh thứ hai) tìm tiền ảnh khác thỏa mãn mục tiêu Nhƣng có r mục tiêu, ta cần tìm tiền ảnh khác thỏa mãn mục tiêu Nhƣ xác suất để tìm đƣợc tiền ảnh thứ hai tăng lên r lần so với phƣơng pháp sử dụng mục tiêu Điều có nghĩa sử 50 dụng hàm băm có khóa, việc sử dụng nhiều lần khóa giảm độ an toàn hàm băm Nếu có r thông báo kèm theo mã băm, khả xuất xung đột hàm băm tăng lên r lần * Tấn công thông báo dài Giả sử h hàm băm n bit có hàm nén mở rộng thông báo Đặt m f thông báo đƣợc chia thành t khối thông báo Khi đó, tiền ảnh thứ hai đƣợc tìm thấy khoảng thời gian h(m) tƣơng đƣơng với việc thực (2 s) s hàm nén n n( s lg( s)) bit, với s không áp dụng thuật toán khoảng s min(t ,2 f cần không gian lƣu trữ n2 ) Nhƣ vậy, thông báo có chiều dài lớn, việc tìm tiền ảnh thứ hai nhìn chung dễ dàng tìm tiền ảnh mã băm (trƣờng hợp xấu phải thực hàm nén chọn s 2n f đến 2n lần) Với t 2n , chi phí tính toán thấp , ta phải thực khoảng 2n hàm nén f để tìm tiền ảnh thứ hai 3.4 MỘT SỐ PHƢƠNG PHÁP TOÀN VẸN DỮ LIỆU VÀ XÁC THỰC THÔNG BÁO Xác thực thông báo thuật ngữ đƣợc dùng tƣơng đƣơng với xác thực nguyên gốc liệu Có ba phƣơng pháp xác định tính toàn vẹn liệu cách dùng hàm băm: - Chỉ dùng MAC (hình 3.11) - Dùng MDC mã hoá (hình 3.12) - Sử dụng MDC kênh tin cậy (hình 3.13) 51 Khóa bí mật Thông báo Thuật toán MAC Kênh không an Thông báo toàn MAC Hình 3.11.Toàn vẹn liệu dùng MAC Thông báo Thuật toán MDC Thông báo MDC Thông báo MDC Khóa bí mật Thuật toán Kênh không an toàn Hình 3.12.Toàn vẹn liệu dùng MDC mã hóa Thông báo Thuật toán MDC Thông báo Kênh tin cậy Kênh không an toàn Hình 3.13.Toàn vẹn liệu dùng MDC kênh tin cậy 3.5 ÁP DỤNG HỆ MẬT VÀO XÂY DỰNG HÀM BĂM KHÔNG KHÓA Trong phần áp dụng hệ mật nhƣ mô tả chƣơng vào xây dựng hàm băm MDC Sơ đồ hàm băm bao gồm nhánh nhánh thực theo sơ đồ Matyas - Meyer - Oseas, đƣợc mô tả hình 3.14 52 xi (512 bits) g x i(1) x i(2) x i(3) x i(4) (128 bits) (128 bits) (128 bits) (128 bits) E g H i(1)1 E g H i(2)1 E g H i(3)1 A B1 A2 B2 A B2 A2 B3 Hi(1) (2) Hi (128 bits) (128 bits) E H i(4)1 A3 B3 A4 B4 A3 B4 A4 B1 Hi(3) Hi(4) (128 bits) (128 bits) Hi (512 bits) Hình 3.14 Sơ đồ hàm băm Trong hình 3.14, khối mã hóa E hệ mật trình bày chƣơng với 128 bit đầu Tại bƣớc thứ để tạo 31 bit khóa khối nhánh trích chọn từ mã băm bƣớc trƣớc , bit thứ 32 dùng để kiểm tra tính chẵn lẻ Cách trích chọn lấy liên tiếp bit vị trí bit đầu tiên, tức bit 1, 5, 9,… đủ 31 bit, sau bit thứ 32 đƣợc thêm trọng số luân lẻ Tức tổng bit "1" 31 số lẻ (hoặc chẵn) bit 32 "0" (hoặc "1") tƣơng ứng Tiến hành tính toán độ khuếch tán hàm băm thay đổi liệu Cả bốn nhánh băm sơ đồ băm hình 3.14 dùng chung đa thức đầu , đƣợc đƣa trực tiếp đến khối E: (3.6) Phần tử sinh khóa chọn giữ cố định bƣớc tính toán Các khóa đƣợc 53 Khối liệu băm đƣợc tạo ngẫu nhiên bao gồm 5120 bit, chia thành 10 khối, khối 512 bit Tại vòng mô thay đổi bit ngẫu nhiên 5120 bit Bảng 3.4 vài kết tính độ khuếch tán thay đổi bit liệu rõ Tiến hành thay đổi rõ 100 lần ta có độ khuếch tán trung bình 100 lần là: ∑ ( ) (3.7) thay đổi bit rõ Bảng 3.4 Một vài khoảng cách Hamming đầu vào Vị trí bit thay đổi Giá trị băm F6A3FB5D6CC40BD9A7078EDA0773FFAA Chưa 5043DB834A3174171ACDB614F27BF70B thay đổi BF1CFE764A57727701BB029D0B2F1C00 D0E68EE56B6445A24A13924DCB298B31 1F8F391D7D7B0694ED057F2E1218D6D3 2779 916A29275D5357B8C63EA1BA6BB08974 862FE65D881DB269ECB659F1B94804C8 254 D66C120FF69BD9BBB0C1CDA6CA19007B 29DA6B85607B360DFC8ABE725891A115 616 5F4E476A43BD175E9E0773FA0C89B772 6E9D88C94D3BDC17C94443A931E541D3 266 269F2B96135AE922A23218FDE0D3FD2E … … … … D01C97F23CDB2CAAF24495225A847394 50 945 BCBAA30A533063303EF0DA2561D22290 A752032DE24493D1332251CA365A6E84 01DAFBB1C59AA2E9CFFDBFE661BDB4D1 270 54 D188D7BD2AB4C4F433F1040B9915A7C9 51 2518 1C38B36D5652FE59B30FEC622CB88A9B A30CD51AFCF8BB689353EFC36828F401 254 0CBAC6D7F4BA5773AE4EC636BDCF8A05 … … … … 5ED2A7B21112595E3E7845E5EA19A3A9 99 3198 0C00CAE1B5F27F89D3488B27DF453F6E CDCF30571607B06800C575558F4A9BC0 258 C1DD9DAE401B5EAF5C115DBDB984F837 CB45347A184000EBA2BE4EFA17C6F61D 100 157 DBD3A32C63D5C20976A1BC6CA24756F5 C0F4117C1FB76A4C0655787AD38A82D9 258 FA85F12A9B90294218513129B9D2C464 Bảng 3.5 vài độ khuếch tán mã băm thay đổi khóa ban đầu (đa thức đầu cấp số nhân) Trong bƣớc mô phỏng, đa thức khóa đầu khác bit so với khóa ban , từ bit đến bit 31,bit 32 "0" để đảm bảo có trọng số lẻ Bản rõ đầu vào gồm 10 khối, khối 512 bit đƣợc tạo ngẫu nhiên Tại bƣớc mô rõ đƣợc giữ cố định Khoảng cách Hamming trung bình mã băm 31 lần thay đổi khóa tính đƣợc nhƣ sau: ∑ ( ) (3.8) Theo biểu thức (3.7) (3.8) ta thấy độ khuếch tán h mã băm 257,36 bits ta thay đổi liệu, 260,43 bits thay đổi khóa ban đầu giá trị xấp xỉ nửa độ dài mã băm, cho thấy tính khuếch tán tốt Hai 55 Bảng 3.5 Một vài khoảng cách Hamming thay đổi khóa Giá trị băm 606FFF021720878021E32ABD3310B062 12345678 5000AFEC6577EFE760C1DEF44BAFB3CE EF760038FC0021DB9689FC2BD45CA72D ABA758EDCF81B8A13AB5E65BEC7F7B4A 864CF8486A0EFD35EF6C0F739ED8C8AB 02345670 E96298361F377B4FC3A6AFFA9DFB92B3 DF6E45C0F4B36CD8652A1C67E06BE38D 242 58B778663118A1DCC626E97970733FA8 27E0D91CB664150E09CBD8D0087C8DC1 32345670 20A9BE96B3E2AB0B763E3CBE3C909FEB 141C63DE11C86302E3B9F3DA5D04F44E 252 CDD1C1D5878FA90F6858977DDE48BAAF … … … … BB30EECBD594B48DFF728D008202688A 14 12365670 7EE5048536875952B2F1E093EF3A5C1C AD3FEC67DE2C5EA0C7952302D5679F62 270 975ABB12A3A06FB3FB414E11992F4DA5 … … … … 723E753B5656859E2F3129C24D33299A 30 12345672 9C4832A342F1F4FDB86B3274D5F89283 2EC71B6FED5D15CFA5A145D9A9093CB0 252 DE7873903B6DE1E502B0165A1182E232 C9CC96EF585CBCB153BD3CE860FBB2F9 31 12345674 321540A6C7A0ECD0C0D8B1F0C2AC6970 336E9E6DF3D95CE94B4605DDECE16A7D 3A2DDB0D190163E006D3A86E0288547F 266 56 3.6 KẾT LUẬNCHƢƠNG Bằng việc sử dụng hệ mật nhƣ trình bày chƣơng vào hàm băm MDC ta nhận đƣợc số ƣu điểm sau: (1) Mạch điện đơn giản, thuận lợi cho thiết bị tính toán có tài nguyên hạn chế; (2) Hàm băm có độ khuếch tán tốt thay đổi liệu băm, thay đổi khóa 57 KẾT LUẬN VÀ KIẾN NGHỊ Các kết nghiên cứu luận văn bao gồm nội dung sau đây: - Nghiên cứu phƣơng pháp xây dựng hệ mật cấp số nhân cyclic vành đa thức chẵn [x] / x32 Hệ mật đƣợc xây dựng theo lƣợc đồ Feistel bốn nhánh không cân có sửa đổi với sơ đồ mật mã khối có độ dài đầu 128 bit Ƣu điểm bật hệ mật là: Mạch điện mã hóa đơn giản gồm ghi dịch cộng modul tốc độ xử lý nhanh Một số tính toán mô đánh giá cho thấy kết khuếch tán hệ mật tốt (tƣơng đƣơng DES) - Xây dựng hàm băm MDC có độ dài 512bit với khối mật mã đƣợc xây dựng cấp số nhân cyclic Hàm băm với số ƣu điểm:mạch mã hóa đơn giản hơn; dễ dàng mở rộng độ dài mã bămnhằm mục đích hạn chế phép công ngày sinh nhật; hàm băm có độ khuếch tán tốt (đây tính chất quan trọng hàm băm) Kiến nghị hướng phát triển - Phát triển thêm hệ mật mã sởhàm mã hóa xây dựng từ cấp số nhân cyclic kết hợp khâu phi tuyến để tăng độ an toàn cho hệ mật -Trên sở hàm băm đề xuất luận án, xây dựng thêm hàm băm có độ dài lớn - Tìm hiểu thực thêm phƣơng pháp đánh giá tính chất khác củahàm băm đề xuất, nhƣ tính xung đột, kháng tiền ảnh, để hoàn thiện nghiên cứu hàm băm - Nghiên cứu, thiết kế thử nghiệm mạch điện phần cứng cho hệ mật đề xuất 58 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Nguyễn Bình, Giáo trình sở mật mã học, Học viện Công nghệ BCVT, 2013 [2] Đặng Hoài Bắc (2010), Các mã cyclic cyclic cục vành đa thức có hai lớp kề cyclic, Luận án Tiến sĩ kỹ thuật, 2010 [3] Nguyễn Bình (2004), Giáo trình Mật mã học, Học viện Công nghệ Bƣu Viễn thông, Nxb Bƣu điện, 2004 Tiếng Anh [4] Jean-Yves Chouinard, ELG 5373 Secure Communications and Data Encryption, School of Information Technology and Engineering, University of Ottawa, April 2002 [5] Ngo Duc Thien, Dang Hoai Bac, A method of building a crypto system base unbalanced Feistel network and its application in hash functions, Tạp chí Nghiên cứu khoa học Công nghệ quân sự, 2014 [6] Ho Quang Buu, Tran Duc Su, Constructing Interleaved M-sequences over Polynomial Rings with Two Cyclotomic Cosets, Tạp chí Khoa học Công nghệ Quân sự, 2011 [7] Paul J McCarthy (1996), Algebraic Extensions of Fields, Blaisdell Publishing Company [8] RudolfLidl, HaraldNeiderreiter (1983), Finite Fields, Addision-Wesley Publishing Company [9] Bart PRENEEL (2003), “Analysisand Design of Crypto graphic Hash Functions”, Ph.Dproject, February 2003 [10] Magnus Daum (2005), “Cryptanalysis of Hash Functions of the MD4Family”, Dissertationzur Erlangungdes Gradeseines Doktorder Naturwissenschaftender Ruhr-Universit Ä at Bochum am Fachbereich Mathematik vorgelegt von Magnus Daumunterder Betreuung von Prof Dr Hans Dobbertin Bochum, Mai 2005 [11] Markku-Juhani Olavi Saarinen (2009), “Cryptanalysis of Dedicated Cryptographic Hash Functions”, Thesis submitted to The University of London for 59 the degree of Doctor of Philosophy Department of Mathematics Royal Holloway, University of London, 2009 [12] MichalRjaˇ sko (2008), “Properties of Cryptographic Hash Functions”, Comenius University in Bratislava, Faculty of Mathematics, Physicsand Informatics Department of Computer Science, Advisor: RNDr MartinStanek, PhD Bratislava 2008 [13] Functions Markku-Juhani Olavi Saarinen, “Cryptanalysis of Dedicated Cryptographic Hash”, Department of Mathematics Royal Holloway, University of London 2009 [14] Nguyen Binh, Le Dinh Thich (2002), “The Oders of Polynomials and Algorithms for Defining Oder of Polynomial over Polynomial Ring”, VICA-5, Hanoi, Vietnam [15] Dang Hoai Bac, Nguyen Binh, Nguyen Xuan Quynh, Young Hoon Kim (2007), “Polynomial rings with two cyclotomicco sets and their applications in Communication”, MMU International Symposiumon Informationand Communications Technologies 2007, Malaysia, ISBN: 983-43160-0-3 [16] Dang HoaiBac, Nguyen Binh, Nguyen XuanQuynh (2007), “Decomposition in polynomial ring with two cyclotomiccosets”, 36th AIC, November 18-23 2007, Manila [17] Nguyen Trung Hieu, Ngo Duc Thien, Tran Duc Su, "On Constructing Cyclic Multiplicative Groups with Maximum Orde rover Polynomial Rings with Two Cyclotomic Cosets", Jounal of Scientific research and Militarytechnology, Vol 17, (2012) pp 133-140, ISSN 1859-1043 ...HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG - ĐÀO MINH THÀNH MỘT HỆ MẬT XÂY DỰNG TRÊN SƠ ĐỒ FEISTEL KHÔNG CÂN BẰNG VÀ KHẢ NĂNG ỨNG DỤNG TRONG HÀM BĂM Chuyên ngành: Kỹ... cyclic làm hàm mã hóa, sơ đồ mã hóa đƣợc xây dựng theo mạng Feistel không cân với nhánh Khóa bí mật cho hệ mật đƣợc xây dựng cấp số nhân vành đa thức với lớp kề cyclic Bằng việc sử dụng cấu trúc... 2.3 HỆ MẬT XÂY DỰNG TRÊN CÁC CẤP SỐ NHÂN CYCLIC 27 2.3.1 Mô tả hệ mật 27 2.3.2 Đánh giá tính khuếch tán hệ mật 30 2.4 KẾT LUẬNCHƢƠNG 33 CHƢƠNG ỨNG DỤNG HỆ MẬT VÀO HÀM