Tóm tắt Luận án Nghiên cứu xây dựng một lớp hàm băm mở rộng mới và khả năng ứng dụng

Xây dựng được một lớp các hàm băm mới và hàm băm mở rộng

mới có tính khuếch tán cao: Các hàm băm MDC-64 bít, hàm băm

MDC-2, MDC-3, MDC-4, MDC-512 bit, . Các hệ mật tạo nên các

hàm băm này sử dụng các lưu đồ Feistel, Lai-Massey, Lai-Massey kết

hợp với Feistel với một số điểm mới, cải tiến.

- Xây dựng được các thuật toán để tạo nên các hàm đó, đồng thời

đề xuất khả năng ứng dụng của các hàm băm xây dựng mới vào một

số lĩnh vực mật mã học như: Chữ ký số, kiểm tra tính toàn vẹn của

thông điệp, bảo vệ mật khẩu.

pdf27 trang | Chia sẻ: honganh20 | Ngày: 07/03/2022 | Lượt xem: 328 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Tóm tắt Luận án Nghiên cứu xây dựng một lớp hàm băm mở rộng mới và khả năng ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
xây dựng các hàm băm mở rộng). -3- - Xây dựng được một lớp các hàm băm mở rộng mới (là lớp hàm băm có độ khuếch tán cao) với mục đích mở rộng chiều dài mã băm qua việc ghép móc xích để tạo ra sự phụ thuộc các bít đầu ra với các khối bít đầu vào (có kiểm chứng qua mô phỏng). Đồng thời đề xuất khả năng ứng dụng các hàm băm mở rộng mới xây dựng. 5. Đối tượng nghiên cứu - Lý thuyết đại số (đa thức, các kiểu phân hoạch vành đa thức, đa thức sinh, ma trận ,). - Các thuật toán mã hóa khóa bí mật, khóa công khai - Lý thuyết hàm băm, cấp số nhân cylic trên vành đa thức - Các ứng dụng của hàm băm. 6. Phương pháp nghiên cứu - Phương pháp giải tích - Phương pháp mô phỏng - Phương pháp thực nghiệm 7. Ý nghĩa khoa học và thực tiễn của đề tài Kết quả nghiên cứu của luận án có thể góp phần vào việc xây dựng và phát triển các hàm băm, đặc biệt là các hàm băm mở rộng. Luận án đã đưa ra được nhiều phương pháp xây dựng hàm băm khác nhau. Hiện nay hàm băm có nhiều loại nhưng vẫn chưa thực sự phong phú, vẫn cần xây dựng thêm các hàm băm mới để đáp ứng được các ứng dụng đa dạng trong thực tế. 8. Bố cục của luận án Luận án gồm: Phần mở đầu, 4 chương nội dung, Phần kết luận, Phần phụ lục (trong đó có Chương trình phần mềm mô phỏng kết quả nghiên cứu). Chương I tập trung giới thiệu về phương pháp xây dựng các hệ -4- mật cơ bản (khóa bí mật, khóa công khai), về hàm băm và các cấp số nhân cyclic. Chương II trình bày một số kết quả mới của nghiên cứu sinh về hàm băm, bao gồm: Hàm băm dựa trên hệ mật theo sơ đồ Lai-Massey; Xây dựng một hệ mật mã lai ghép sử dụng hệ mật Pohlig-Hellman kết hợp với sơ đồ Feistel và đề xuất khả năng sử dụng hệ mật này vào hàm băm; Xây dựng hàm băm dựa trên sơ đồ MDC-2, với điểm mới là dùng các hệ mật sử dụng cấp số nhân cyclic trên vành xn + 1, với n = 2k, các khóa dùng trong mật mã khối cũng được tạo từ các cấp số nhân cyclic trên vành đa thức. Chương III, trên cơ sở kết quả khảo sát ở chương II, NCS đề xuất xây dựng một lớp hàm băm mở rộng mới: - Hăm băm MDC-3 với độ dài mã băm 384 bít (Dựa trên hệ mật mã khối với 128 bít vào và 128 bít ra. Sơ đồ hàm băm gồm 3 nhánh). - Hàm băm MDC-4 với độ dài mã băm 512 bít (sơ đồ gồm 4 nhánh, mỗi nhánh 128 bít). - Hàm băm MDC-512 bít (sơ đồ gồm 2 nhánh, mỗi nhánh 256 bít) Phần kết luận nêu những đóng góp của luận án và hướng phát triển tiếp theo. -5- CHƯƠNG 1. TỔNG QUAN VỀ MẬT MÃ VÀ HÀM BĂM 1.1. PHƯƠNG PHÁP XÂY DỰNG CÁC HỆ MẬT CƠ BẢN 1.1.1. Phương pháp xây dựng các hệ mật khóa bí mật 1.1.1.1. Mã hoán vị 1.1.1.2. Mã thay thế Gồm mã dịch vòng và mã thay thế 1.1.1.3. Các lưu đồ thông dụng Gồm lưu đồ Feistel và lưu đồ Lai-Massey, các lưu đồ này được sử dụng để xây dựng các hàm băm mới trong chương II và chương III. 1.1.1.4. Chuẩn mã dữ liệu (DES) a) Mô tả DES DES là thuật toán mã hoá một xâu bit x của bản rõ độ dài 64 bít bằng một khoá 56 bit. Bản mã nhận được cũng là một xâu bit có độ dài 64 bít. b) Các chế độ hoạt động của DES Có 4 chế độ làm việc đã được phát triển cho DES: Chế độ quyển mã điện tử (ECB), chế độ phản hồi mã (CFB), chế độ liên kết khối mã (CBC) và chế độ phản hồi đầu ra (OFB). 1.1.2. Phương pháp xây dựng các hệ mật khóa công khai 1.1.2.1. Hệ mật RSA a) Tạo khóa Tóm lược: Mỗi đầu liên lạc cần tạo một khoá công khai và một khóa riêng tương ứng theo 05 bước. b) Mã hoá và giải mã Tóm lược: B mã hoá một thông báo m để gửi cho A bản mã c: modec m n ; A giải mã bằng cách tính: moddm c n -6- 1.1.2.2. Hệ mật ELGAMAL 1.1.2.3. Hệ mật McEliece Hệ mật McEliece dựa trên bài toán giải mã cho các mã tuyến tính (cũng là một bài toán nhị phân đầy đủ). Bài toán nhị phân được áp dụng là bài toán giải mã cho một mã sửa sai (nhị phân) tuyến tính nói chung. Tuy nhiên, đối với nhiều lớp mã đặc biệt đều tồn tại các thuật toán giải mã với thời gian đa thức. Một trong những lớp mã này là mã Goppa, chúng được dùng làm cơ sở cho hệ mật McEliece. 1.2. HÀM BĂM 1.2.1. Mô tả hàm băm Hàm băm là một hàm có ít nhất hai tính chất sau: Tính chất nén và tính chất dễ dàng tính toán. Ngoài hai tính chất trên hàm băm còn có một số tính chất khác: Khó tìm nghịch ảnh; khó tìm nghịch ảnh thứ hai; kháng va chạm. Ngoài ra, một đặc tính quan trọng cần có của hàm băm là tính khuếch tán. Tính khuếch tán này sẽ là tối ưu nếu nó đạt xấp xỉ một nửa chiều dài mã băm. 1.2.2. Phân loại hàm băm Hình 1.7. Phân loại hàm băm Hàm băm Không có khóa Có khóa MDC Các ứng dụng khác Các ứng dụng khác MAC OWHF CRHF -7- 1.3. CẤP SỐ NHÂN CYCLIC 1.3.1. Nhóm nhân của vành đa thức Nếu: ( ); ( )g x f x G thì ( )* ( ) ( )g x f x d x G  Có tất cả 22n các nhóm nhân cyclic cấp n và nhóm nhân cyclic đơn vị I cũng thuộc vào lớp các nhóm nhân này. 1.3.2. Các cấp số nhân cyclic cấp n 2 1( , ) { ( ), ( ) ( ), ( ) ( ),..., ( ) ( )} m a qA a x a x q x a x q x a x q x  1.3.3. Phân hoạch vành đa thức Phân hoạch vành đa thức thường được chia thành các loại: Phân hoạch chuẩn, phân hoạch cực đại, phân hoạch cực tiểu, .... KẾT LUẬN CHƯƠNG I Chương này giới thiệu các kiến thức cơ bản có liên quan đến đề tài luận án, gồm các phương pháp xây dựng hệ mật khóa bí mật, hệ mật khóa công khai: Mã hoán vị, mã thay thế, các lưu đồ thuật toán Lai-Massey, Feistel, chuẩn mã dữ liệu DES; Thuật toán RSA, thuật toán Elgama và McEliece, ... Chương này cũng tập trung vào việc giới thiệu, mô tả hàm băm, các loại hàm băm thông dụng. Các kiến thức cơ bản về nhóm nhân cyclic và các cấp số nhân cyclic, các thuật toán dùng để xây dựng lớp hàm băm mới ở các chương sau cũng được để cập ở đây, là cơ sở nền tảng lý thuyết để nghiên cứu sinh sử dụng xây dựng các hàm băm mở rộng mới. -8- CHƯƠNG 2. XÂY DỰNG CÁC HÀM BĂM MỚI 2.1. HÀM BĂM DỰA TRÊN HỆ MẬT THEO SƠ ĐỒ LAI-MASSEY 2.1.1. Hệ mật sử dụng cấp số nhân cyclic theo LAI-MASSEY NCS đưa ra một hệ mật mã khối xây dựng theo sơ đồ Lai-Massey, tuy nhiên các hàm mã hóa và các khóa được xây dựng từ các cấp số nhân cyclic trên vành đa thức. Trên cơ sở đó áp dụng hệ mật mã mới này vào một sơ đồ hàm băm đơn 64 bit, và tính toán tính khuếch tán của hàm băm này. Lưu đồ thuật toán của hệ mật là Lai-Massey, các khối mã hóa f sử dụng các CGP trên vành đa thức 2[ ] / 1 nx x với 52 32 ( 5)n k   Cấu trúc CGP tạo khối mã hóa f có dạng:  ( ). ; 0,31iA a x x i  Mạch điện mã hoá là một phép cộng theo các hệ số của đa thức ( )a x với n bước dịch vòng. Thuật toán giải mã cũng thực hiện tương tự với các hệ số của đa thức nghịch đảo ( )b x . Hình 0.1. Mạch điện mã hóa f với 2( ) 1a x x x   Các khóa iK cũng được tạo từ các CGP nhưng chúng được xây dựng trên các vành đa thức có hai lớp kề cyclic. Chọn vành đa thức có hai lớp kề cyclic 29 1x  , khi đó 16 khóa iK cho các vòng mã hóa là 16 phần tử đầu tiên trong một CGP được xây dựng như sau: 29mod 1; ( 0,15)ia oiK K K x i   (2.4) (Để thuận tiện cho mạch điện mã hóa ta chọn 0K x ) Vào Ra (31) (4) (3) (2) (1) (0) ................... -9- Trong sơ đồ mã hóa, NCS có đưa ra một điểm mới so với sơ đồ Lai-Massey truyền thống, đó là nửa phải ở bước thứ i sẽ được cộng thêm với khóa iK trước khi cộng với đầu ra của hàm f. Tiến hành tính toán độ khuếch tán của bộ mã khi thay đổi khóa K với cùng một bản rõ đầu vào. Thực hiện việc tính toán bằng chương trình mô phỏng (viết bằng MATLAB), tính được khoảng cách Hamming trung bình giữa các bản mã tính được như trong biểu thức: 29 1( ) 2 1 ( , ) 31,5 28 iHH tb i d d C C    (2.7) 2.1.2. Xây dựng hàm băm trên cơ sở hệ mật Với ưu điểm mạch điện mã hóa khá đơn giản, ta có thể xây dựng một hàm băm mới từ hệ mật đề xuất ở trên. Hình 2.3. Sơ đồ hàm băm Bảng 2.2 là kết quả tính toán phân bố của một số mã băm khi thay đổi lần lượt từng bit từ bit 1 đến bit 64 của bản tin rõ so với ban đầu. Bảng 2.2. Khoảng cách Hamming dH(C1,Ci) của hàm băm khi thay đổi 1 bit bản rõ đầu vào TT Bản tin rõ Mi Bản mã Ci dH(C1,Ci) 1 0123456789ABCDEF B588E9ED8C722E5C 0 2 1123456789ABCDEF 123F4C166B0601C7 42 3 2123456789ABCDEF ADCDA2C 8ECC0FC59 24 g E xi Hi-1 Hi -10- 4 4123456789ABCDEF 796EF2C1BD130CC0 28 30 0123456689ABCDEF E2 F E113434 F91554 34 31 0123456589ABCDEF 1CE49C51C13DE941 36 32 0123456389ABCDEF 718A64A3B0F3FBF2 28 63 0123456789ABCDED 1CE49C51C13DE941 36 64 0123456789ABCDEB 718A64A3B0F3FBF2 28 65 0 123456789ABCDE 7 D D F49C D 63 3A 89 DA7 42 Khoảng cách Hamming trung bình giữa các bản mã tính được như sau: 65 1( ) 2 1 ( , ) 30,75 64 iHH tb i d d C C    (2.8) Tương tự tiến hành tính toán phân bố của hàm băm khi thay đổi khóa khởi tạo và giữ nguyên bản tin rõ đầu vào, ta được khoảng cách Hamming trung bình giữa các bản mã tính được như trong biểu thức (2.9): 29 ( ) 1 2 1 ( , ) 31,5 28 H tb H i i d d C C    (2.9) Tóm lại: Việc sử dụng cấu trúc cấp số nhân cyclic trên vành đa thức 2 1 k x  làm hàm mã hóa cho hệ mật sử dụng cho hàm băm và sử dụng các CGP trên vành có hai lớp kề để tạo khóa cho các vòng mã hóa của hệ mật theo sơ đồ Lai-Massey như đề cập ở trên có một số ưu điểm sau: - Sơ đồ mã hóa đơn giản thuận tiện khi sử dụng cho hàm băm - Số lượng khóa tìm được rất nhiều (Nk = 229-1). - Độ khuếch tán của hệ mật khi thay đổi khóa, độ khuếch tán của hàm băm khi thay đổi dữ liệu, hoặc thay đổi khóa đều cho kết quả khá tốt (đạt xấp xỉ một nửa độ dài mã băm). -11- 2.2. HÀM BĂM DỰA TRÊN HỆ MẬT MÃ LAI GHÉP Với mục đích kết hợp ưu điểm của các hệ mật và sơ đồ mã hóa đã có, NCS đề xuất một phương pháp xây dựng hệ mật mã lai ghép, hàm mã hóa sử dụng phép mã hóa của hệ mật Pohlig-Hellman và sơ đồ mã hóa theo mạng Feistel cân bằng (có cải tiến). 2.2.1. Bài toán Logarit rời rạc và hệ mật POHLIG-HELLMAN Bài toán logarit rời rạc là bài toán khó, hệ mật Pohlig-Hellman là một hệ mật sử dụng bài toán logarit rời rạc. Phép mã hóa thực hiện theo phương trình đồng dư modec m p , phép giải mã được thực hiện theo modem c p . 2.2.2. Đề xuất một phương pháp xây dựng hệ mật mã lai ghép Lược đồ mã hóa của hệ mật thực hiện theo sơ đồ Feistel cân bằng. Hàm mã hóa f sử dụng thuật toán mã hóa của hệ mật Pohlig- Hellman, thực hiện theo một trong hai cách sau: ( , ) modiei i i ic f m e m p  (2.15) ( , ) modimi i i ic f m e e p  (2.16) Hình 2.6. Tách các khóa con cho các vòng mã hóa Tiến hành mô phỏng tính khuếch tán của hệ mật khi thay đổi dữ liệu bản rõ M và thay đổi khóa bí mật K. Khoảng cách Hamming trung bình của 64 lần thay đổi bản rõ (lần lượt từ bit 1 đến 64) được tính theo công thức sau: 64 0( ) 1 1 ( , ) 64 jHH tb j d d C C    (2.20) Với trường hợp 1 tính được: dH(tb) = 31,84 bít (2.21) e1 (32bit) e2 (32bit) e3 (32bit) e4 (32bit) Khóa bí mật K (128 bits) -12- Và trường hợp 2 là: dH(tb) = 31,98 bít (2.22) Khoảng cách Hamming trung bình của các bản mã so với bản mã ban đầu khi thay đổi lần lượt từng bit của khóa K từ bit 1 đến bit 128 được tính theo công thức sau: 128 0( ) 1 1 ( , ) 128 jHH tb j d d C C    (2.23) Với trường hợp 1 tính được: dH(tb) = 28,25 bít (2.24) Và trường hợp 2 là: dH(tb) = 28,23 bít (2.25) Như vậy: Độ khuếch tán của hệ mật khi thay đổi dữ liệu đầu vào và khóa cũng đều đạt xấp xỉ một nửa chiều dài mã băm. 2.2.3. Khả năng xây dựng hàm băm từ hệ mật Với hệ mật như đề xuất ở mục 2.3.2, ta có thể áp dụng vào việc xây dựng các hàm băm không khóa với một số ưu điểm nhất định sau: - Hệ mật sử dụng sơ đồ Feistel cân bằng nên có độ khuếch tán tốt khi thay đổi dữ liệu bản rõ cũng như thay đổi khóa. - Hệ mật có độ an toàn khá tốt vì áp dụng bài toán một chiều logarit rời rạc vào làm hàm mã hóa, ngoài ra độ dài khóa là 128 bit cũng đảm bảo trước tấn công vét cạn. 2.3. HÀM BĂM SỬ DỤNG CÁC CẤP SỐ NHÂN CYCLIC 2.3.1. Mô tả hàm băm MDC-2 sử dụng lưu đồ FEISTEL NCS tập trung xây dựng một hàm băm kép dạng MDC-2 với điểm mới là sử dụng các cấp số nhân cyclic làm hàm mã hóa (trên vành đa thức 2[ ]/ 1 nx x với 5 322n ) và tạo khóa (trên vành đa thức có hai lớp kề để đảm bảo số lượng khóa tạo ra là lớn nhất). Mật mã E được xây dựng theo 16 vòng mã hóa theo mô hình mạng hoán vị thay thế Feistel. 2.3.2. Xây dựng hàm băm và kết quả mô phỏng Mô phỏng tính toán tương tự như các hàm băm trước. Tiến hành thay đổi lần lượt từng bit từ bit 1 đến bit 128 của bản tin đầu vào 1M -13- rồi đưa vào hàm băm và tính khoảng cách Hamming 1( , )iHd MD MD của từng lần thay đổi, cuối cùng tính được khoảng cách Hamming trung bình giữa các giá trị băm với giá trị băm ban đầu là: 128 1( ) 1 1 ( , ) 64,12 128 iHH tb i d d MD MD    (2.27) Tiếp tục tính toán phân bố của hàm băm khi thay đổi khóa khởi tạo K, mỗi khóa khác với khóa đầu tiên 2 bit. Bản tin đầu vào gồm 10 khối 128 bit được tạo ngẫu nhiên. Chúng ta tính được khoảng cách Hamming trung bình: 52 0( ) 1 1 ( , ) 64,40 52 iHH tb i d d MD MD    (2.28) KẾT LUẬN CHƯƠNG II Trong chương này, NCS đề xuất một số hệ mật và hàm băm mới: - Với hàm băm xây dựng dựa trên hệ mật theo sơ đồ Lai-Massey thì độ khuếch tán của hàm băm tạo ra đạt khoảng 32 bít (Khi độ dài mã băm được tạo ra là 64 bít). - Với hệ mật mã lai ghép để xây dựng hàm băm 64 bít, trong đó hàm mã hóa sử dụng phép mã hóa của hệ mật Pohlig-Hellman và sơ đồ mã hóa theo mạng Feistel cân bằng thì độ khuếch tán đạt được cũng xấp xỉ 32 bít. - Hàm băm dạng MDC-2 (128 bít) được xây dựng với khối mật mã dựa trên cấp số nhân cyclic cũng có được độ khuếch tán tốt (xấp xỉ 64 bít). Tóm lại qua khảo sát bằng lý thuyết và mô phỏng, các hệ mật và hàm băm tạo ra ở trên có nhiều ưu điểm: Số khóa nhiều; mạch điện phần cứng đơn giản, dễ dàng tính toán và thiết kế; hàm băm cũng có độ khuếch tán rất tốt, thể hiện ở khoảng cách Hamming tính được ở các trường hợp đều xấp xỉ một nửa chiều dài mã băm. -14- CHƯƠNG 3. XÂY DỰNG MỘT LỚP CÁC HÀM BĂM MỞ RỘNG MỚI 3.1. XÂY DỰNG HÀM BĂM MỞ RỘNG MỚI MDC-3 NCS đề xuất một phương pháp xây dựng hàm băm mới có độ dài đầu ra là 384 bit dựa trên các cấp số nhân cyclic của vành đa thức, sơ đồ như ở hình 3.1. Hình 3.1. Sơ đồ hàm băm MDC-3 đề xuất Khối E mã hóa cho chuỗi bit có độ dài 128, được xây dựng theo dạng mô hình Feistel với một số đổi mới, cải tiến. Hàm mã hóa f được xây dựng trên cơ sở hệ mật sử dụng các CGP trên vành đa thức 2[ ]/ 1 nx x với 6 642n Các khóa Ki là các phần tử trong một cấp số nhân xây dựng trên vành đa thức có hai lớp kề cyclic và được chọn như sau: 61 0 mod 1;( 1...16) i aiK K K x i   (3.1) xi g E H1i-1 H1i A B A D Out 1 g E H2i A B A D Out 2 g E H3i A B A D Out 3 H2i-1 H3i-1 Hi -15- Tiến hành thay đổi lần lượt từng bit từ bit 1 đến bit 384 của khối bản tin đầu tiên 0 M , tính khoảng cách Hamming 0 ( , )iHd MD MD của từng lần thay đổi, cuối cùng tính được khoảng cách Hamming trung bình giữa các giá trị băm: 384 0( ) 1 192,26 1 ( , ) 384 iHH tb i d d MD MD    Ta thấy khoảng cách Hamming trung bình đạt xấp xỉ một nửa (192 bit) độ dài hàm băm. Tiến hành thay đổi lần lượt từng bit từ bit 1 đến bit 60 của khóa 1 K , bit 61 của khóa dùng để kiểm tra chẵn lẻ, sau đó tính được khoảng cách Hamming trung bình giữa các giá trị băm với giá trị băm ban đầu như sau: 60 0( ) 1 193,43 1 ( , ) 60 iHH tb i d d MD MD    Như vậy với mục đích tăng độ dài mã băm nhằm hạn chế phép tấn công ngày sinh nhật, NCS đã đưa ra được một lược đồ hàm băm mới (MDC-3) với độ dài mã băm 384 bit. Hàm mật mã sử dụng trong lược đồ xây dựng theo các cấp số nhân cyclic trên vành đa thức. Các kết quả mô phỏng đánh giá hàm băm đề xuất cho thấy độ khuếch tán rất tốt, đạt xấp xỉ một nửa chiều dài mã băm khi ta thay đổi dữ liệu vào hoặc thay đổi khóa (khoảng cách mã Hamming trung bình đạt xấp xỉ 192 bít). 3.2. HÀM BĂM DỰA TRÊN HỆ MẬT MÃ KHỐI KẾT HỢP SƠ ĐỒ LAI- MASSEY VỚI SƠ ĐỒ FEISTEL 3.2.1. Hệ mật mã khối kết hợp sơ đồ LAI-MASSEY và FEISTEL Với mục đích kết hợp ưu điểm của hai sơ đồ này, NCS đề xuất một hệ mật xây dựng theo sơ đồ kết hợp, trong đó mười sáu vòng mã hóa được đan xen luân phiên giữa sơ đồ Lai-Massey và sơ đồ Feistel. Các hàm mã hóa f trong sơ đồ sử dụng các CGP trên vành đa thức 2 [ ]/ 1nx x với 2sn , với hệ mật đề xuất, chọn 62 64n  và như thế f -16- sẽ hoạt động với các khối 64 bit và là các CGP có dạng sau: ( ). ; 0,63iA a x x i           (3.8) Sơ đồ mạch mã hóa với CGP có số hạng đầu là đa thức 7 35 60( ) 1a x x x x x     và công bội x như trong hình 3.5. Hình 3.5. Mạch mã hóa f với 7 35 60( ) 1a x x x x x     Các khóa con ki cũng được tạo từ các CGP nhưng trên các vành đa thức có hai lớp kề cyclic. Chọn vành đa thức có hai lớp kề cyclic 61 1x  , khi đó 16 khóa cho các vòng mã là 16 phần tử đầu tiên trong một CGP được xây dựng: 61 0 mod 1;( 0,1,...,15)iaik K K x i    (3.12) Tiến hành khảo sát tính khuếch tán của hệ mật đề xuất khi thay đổi dữ liệu đầu vào và thay đổi khóa (bằng chương trình mô phỏng). Khoảng cách Hamming trung bình giữa các bản mã của 128 lần thay đổi bit dữ liệu tính được như biểu thức (3.12): 128 ( ) 1 1 1 ( , ) 64,5bit 128 H tb H i i d d C C    (3.12) Độ khuếch tán trung bình giữa các bản mã khi thay đổi khóa: 30 ( ) 0 1 1 ( , ) 62,53bit 30 H tb H i i d d C C    (3.13) 3.2.2. Xây dựng hàm băm trên cơ sở hệ mật kết hợp 3.2.2.1. Sơ đồ hàm băm Ở đây, nghiên cứu sinh đề xuất một sơ đồ hàm băm không khóa dạng MDC-4 với mã băm 512 bit như mô tả trong hình 3.6. Vào Ra (63) (7) (1) (0) 64 bít 64 bít (35) Dịch 64 nhịp ... ... ... (60) ....... -17- Hình 0.2. Sơ đồ hàm băm MDC-4 (512 bit) 3.2.2.2. Đánh giá tính khuếch tán của hàm băm Tương tự ta cũng tiến hành tính toán tính khuếch tán của hàm băm khi thay đổi dữ liệu và thay đổi khóa. Dữ liệu băm là 5120 bit bao gồm 10 khối 512 bit và được tạo ngẫu nhiên. Tiến hành tính toán độ khuếch tán của một nghìn lần băm khi thay đổi dữ liệu băm, mỗi lần băm chỉ thay ngẫu nhiên 1 bit trong 5120 bit dữ liệu băm ban đầu. Tất cả các lần băm đều dùng chung khóa ban đầu Ka. Sau mỗi lần băm ta tính khoảng cách Hamming giữa mã băm so với mã băm ban đầu và từ đó tính được khoảng cách Hamming trung bình của một nghìn lần băm theo biểu thức (3.15) dưới đây: 1000 0( ) 1 1 ( , ) 255,84bit 1000 iHH tb i d d C C    (3.15) g E xi (512 bít) 1 1iH  Hi (512 bít) A1 B1 A1 B2 g E A2 B2 A2 B3 g E A4 B4 A4 B1 g E A3 B3 A3 B4 xi1 (128 bít) xi2 (128 bít) xi3 (128 bít) xi4 (128 bít) 2 1iH  3 1iH  4 1iH  Hi1 (128 bít) Hi2 (128 bít) Hi3 (128 bít) Hi4 (128 bít) -18- Tương tự, tính toán độ khuếch tán trong 60 lần băm khi thay đổi khóa băm khởi tạo Ka, mỗi lần băm thay đổi ngẫu nhiên 1 bit trong số 60 bit khóa ban đầu (bit 61 vẫn để đảm bảo khóa có trọng số lẻ). Tất cả các lần băm đều có cùng dữ liệu băm, ta cũng tính được độ khuếch tán trung bình của 60 lần băm theo biểu thức (3.16) sau đây: 60 0( ) 1 1 ( , ) 256,57bit 60 iHH tb i d d C C    (3.16) Như vậy: Độ khuếch tán của hàm băm khi thay đổi dữ liệu, thay đổi khóa đều cho kết quả tốt (xấp xỉ 254 bit so với mã băm 512 bit). 3.3. XÂY DỰNG HÀM BĂM MỞ RỘNG MỚI MDC 512 BÍT 3.3.1. Mô tả hệ mật mã khối 256 bít Sơ đồ mã hóa của hệ mật mã khối dựa trên mạng Feistel bốn nhánh không cân bằng (mỗi nhánh có độ dài 64 bít). Hàm mã hóa f có bốn đầu vào, ba đầu vào dữ liệu ( ,i ib c và id ) và một đầu vào khóa ik . Độ dài của tất cả bốn đầu vào và đầu ra đều là 64 bit. Việc mã hóa được thực hiện bởi các CGP trên vành đa thức 2 [ ]/ 1nx x  với 62 64n  . Cấu trúc của CGP sử dụng trong hàm f có dạng:  64( ). ( )mod 1; 1,2,...,64ji iA k x g x x j   (3.19) Hình 3.9. Mạch mã hóa hàm f 3.3.2. Đánh giá độ khuếch tán của hệ mật Tiến hành tính toán độ khuếch tán của hệ mật khi thay đổi mỗi bit dữ liệu bản rõ, đa thức sinh ka và đa thức đầu k0 để tạo khóa của hệ (63) (2) (1) (0) Ra (64 bit) Dịch 64 nhịp Khóa con ki (64 bit) MAJ bi ci di mi = p0 + p1x + p2x 2 + +p62x 62 + p63x 63 (64 bits) p0p1p2p63 p62 (62) -19- mật được giữ cố định, ta được khoảng cách Hamming trung bình 256 0( ) 1 1 ( , ) 127,19( ) 256 jHH tb j d d C C bit    (3.26) Thực hiện 10 lần tính toán như trên với tham số khóa 0 , ak k giữ cố định. Mỗi lần tính ta cũng thay đổi lần lượt từng bit từ 1 đến 256 của mỗi bản rõ ban đầu, kết quả có được: 10 ( ) ( ) 1 1 127,84 10 tH tb H tbt d d    (3.27) Tiến hành thay đổi lần lượt từng bit của khóa ban đầu 0 k từ bit 1 đến bit 63, ta tính được độ khuếch tán giữa các cặp bản mã 0 ( , )jHd C C của từng lần thay đổi, sau đó tính giá trị trung bình như sau: 63 0( ) 1 1 ( , ) 127,02( ) 63 jHH tb j d d C C bit    (3.28) 3.3.3. Xây dựng hàm băm 512 bit trên cơ sở hệ mật 3.3.3.1. Mô tả hàm băm Hình 3.11. Sơ đồ hàm băm không khóa 512 bít Eg E g A2 B2 Hi (512 bits) xi (512 bits) xi (2) (256 bits) xi (1) (256 bits) Hi-1 (1) Hi-1 (2) Hi (2)Hi (1) C2 D2 A1 B2 C1 D2 A1 B1 C1 D1 A2 B1 C2 D1 k0.j (2)k0.j (1) -20- 3.3.3.2. Đánh giá độ khuếch tán của hàm băm Tiến hành tính toán độ khuếch tán của hàm băm khi thay đổi dữ liệu, khoảng cách Hamming trung bình của 100 lần băm tính được như sau: 100 0( ) 1 1 ( , ) 243,48bit 100 iHH tb i d d C C    (3.30) Tiến hành tính toán như trên 10 lần, mỗi lần với dữ liệu đầu vào khác nhau (chọn ngẫu nhiên), ta được khoảng cách Hamming trung bình của 10 lần: 10 ( ) ( ) 1 1 244,02( ) 10 tH tb H tbt d d bit    (3.31) Như vậy: Kết quả khuếch tán của hàm băm MDC-512 bít rất tốt, đạt tiệm cận tới một nửa chiểu dài mã băm. KẾT LUẬN CHƯƠNG III Trong chương này, nghiên cứu sinh tập trung vào xây dựng 3 hàm băm mở rộng mới với độ dài mã băm từ 384 đến 512 bít: - Hàm băm MDC-3 được xây dựng với sơ đồ gồm 3 nhánh, có tổng độ dài đầu ra là 384 bit. Hàm băm được xây dựng theo dạng mô hình mạng Feistel với một số đổi mới, cải tiến. - Hàm băm MDC-4 có độ dài mã băm 512 bít, sơ đồ 4 nhánh, mỗi nhánh 128 bít. Sơ đồ hệ mật kết hợp sơ đồ Lai-Massey và sơ đồ Feistel, trong đó các hàm mã hóa và khối tạo khóa trong hệ mật mới này được xây dựng từ các cấp số nhân cyclic trên vành đa thức. - Hàm băm MDC 512 bít gồm 2 nhánh, mỗi nhánh 256 bít. Sơ đồ mã hóa được xây dựng theo mạng Feistel bốn nhánh không cân bằng, Các kết quả nghiên cứu và mô phỏng đều cho thấy các hàm băm này có độ khuếch tán rất tốt, đạt xấp xỉ một nửa chiều dài mã băm khi ta thay đổi dữ liệu đầu vào hoặc thay đổi khóa. Số lượng khóa tạo được cũng rất nhiều, mạch điện phần cứng khá đơn giản. -21- CHƯƠNG 4. KHẢ NĂNG ỨNG DỤNG CỦA HÀM BĂM XÂY DỰNG MỚI 4.1. CHỮ KÝ SỐ Hình 4.8. Lược đồ tạo chữ ký kép với hàm băm mở rộng mới Thông tin đặt hàng (OI) Thông tin chi trả (PI) Hàm băm mở rộng mới Hàm băm mở rộng mới Bản tóm lược của OI (OIMD) Bản tóm lược của PI (PIMD) Hàm băm mở rộng mới Bản tóm lược (POMD) Mã hóa RSA Chữ ký kép (DS) Khóa của khách hàng -22- Các hàm băm mở rộng mà nghiên cứu sinh xây dựng mới có thể ứng dụng vào sơ đồ chữ ký kép theo sơ đồ hình 4.8. 4.2. KIỂM TRA TÍNH TOÀN VẸN CỦA THÔNG ĐIỆP Với các hàm băm mà nghiên cứu sinh xây dựng mới trong luận án, việc ứng dụng vào thực tế với mục đích để đảm bảo tính toàn vẹn của thông điệp là rất khả quan. Các hàm băm mở rộng mới trong luận án có thể được sử dụng để đảm bảo tính toàn vẹn của thông điệp do đặc tính quan trọng là có tính khuếch rất cao, khi chỉ cần có một thay đổi rất nhỏ ở đầu vào sẽ dẫn đến thay đổi rất lớn ở đầu ra, do đó sự thay đổi, việc bị thám mã sẽ rất dễ bị phát hiện. Một khả năng ứng dụng được minh họa với việc cắt mẩu bản tin và gắn nhãn thời gian như dưới đây: Hình 0.1. Ứng dụng gắn nhãn mã băm của hàm băm mở rộng mới Các hàm băm mà nghiên cứu sinh đề xuất ở đây sử dụng các phương pháp băm cơ bản nhưng có ưu điểm vượt trội về mặt giá thành khi triển khai ứng dụng, mặt khác với độ khuếch tán đạt được rất tốt (đã được tính toán, phân tích với nhiều lưu đồ và kết quả mô phỏng) thì việc lựa chọn các hàm băm này để sử dụng cho việc kiểm tra, đảm bảo tính toàn vẹn của thông điệp sẽ mang lại kết quả khả quan. -23- 4.3. BẢO VỆ MẬT KHẨU Với các hàm băm mới được tạo ra trong luận án thì việc ứng dụng chúng vào bảo vệ mật khẩu là điều hết sức khả thi. Lưu đồ cụ thể của ứng dụng đề xuất như hình 4.10: Hình 4.10. Dùng hàm băm mở rộng mới để lưu trữ và kiểm tra mật khẩu Khi người dùng đăng nhập vào hệ thống thông qua form đăng nhập thì mật khẩu được băm ra và so sánh với giá trị băm đang

Các file đính kèm theo tài liệu này:

  • pdftom_tat_luan_an_nghien_cuu_xay_dung_mot_lop_ham_bam_mo_rong.pdf
Tài liệu liên quan