TÓM TẮT LUẬN VĂN NGHIÊN CỨU ỨNG DỤNG HỆ MẬT TRÊN CẤP SỐ NHÂN CYCLIC TRONG HÀM BĂM

26 353 0
TÓM TẮT LUẬN VĂN NGHIÊN CỨU ỨNG DỤNG HỆ MẬT TRÊN CẤP SỐ NHÂN CYCLIC  TRONG HÀM BĂ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

NGHIÊN CỨU ỨNG DỤNG HỆ MẬT TRÊN CẤP SỐ NHÂN CYCLIC TRONG HÀM BĂM Với sự bùng nổ của mạng internet hiện nay, mạng máy tính đang ngày càng đóng vai trò thiết yếu trong mọi lĩnh vực hoạt động của toàn xã hội, đi đôi với lợi ích mà nó mang lại thì một vấn đề hết sức quan trọng đó là yêu cầu bảo mật thông tin, xác thực nội dung thông tin cũng như xác thực chủ thể nội dung.

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - ĐINH MẠNH TOÀN NGHIÊN CỨU ỨNG DỤNG HỆ MẬT TRÊN CẤP SỐ NHÂN CYCLIC TRONG HÀM BĂM Chuyên ngành : Kỹ thuật Viễn thơng Mã số : 60.52.02.08 TĨM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2013 Luận văn hoàn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Người hướng dẫn khoa học: TS Ngô Đức Thiện …………………………………………………………… (Ghi rõ học hàm, học vị) Phản biện 1: …………………………………………………………………………… Phản biện 2: ………………………………………………………………………… Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thơng Vào lúc: ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện Học viện Cơng nghệ Bưu Viễn thơng MỞ ĐẦU Lý chọn đề tài: Với bùng nổ mạng internet nay, mạng máy tính ngày đóng vai trị thiết yếu lĩnh vực hoạt động tồn xã hội, đơi với lợi ích mà mang lại vấn đề quan trọng yêu cầu bảo mật thông tin, xác thực nội dung thông tin xác thực chủ thể nội dung Sự phát triển ngành mật mã học gắn liền với trình hình thành hai hệ mật hệ mật khóa bí mật hệ mật mã cơng khai Hệ mật khóa cơng khai với ưu điểm như: khơng phải sử dụng kênh an tồn để truyền khóa, số lượng khóa cần tạo bảo mật phù hợp cho số lượng người dùng, thuận tiện phù hợp cho yêu cầu bảo mật thông tin dịch vụ xác thực mạng với bùng nổ số lượng người dùng Việc giao dịch điện tử an tồn truyền thơng tin mạng địi hỏi cần có dịch vụ xác thực nội dung chữ ký số Trong sơ đồ xác thực chữ ký số hàm băm đóng vai trị quan trọng, hàm dùng để nén chuỗi bit đầu vào tùy ý thành chuỗi bit có độ dài cố định đầu ra, chuỗi đầu gọi mã băm, (hay kết băm, giá trị băm, mã xác thực) Mã băm xem “đại diện” tài liệu số hay “tóm lược” thơng báo sử dụng số ứng dụng như: Xác thực tính tồn vẹn liệu; xác thực số, chữ ký số, bảo vệ quyền tài liệu số, nhận dạng mật khẩu; nhận dạng đối tượng Các sơ đồ hàm băm thường xây dựng mật mã khối theo số sơ đồ cụ thể Đặc tính quan trọng hàm băm tính khuếch tán độ dài mã băm, hai đặc tính phụ thuộc vào mật mã khối sử dụng lược đồ hàm băm Do đó, ta xây dựng hệ mật đảm bảo tính khuếch tán tốt tính dễ tính tốn (khơng u cầu tính bảo mật cao) hồn tồn sử dụng để xây dựng hàm băm thỏa mãn yêu cầu thực tế Theo kết nghiên cứu gần hệ mật xây dựng cấp số nhân cyclic cho thấy hệ mật thỏa mãn yêu cầu để xây dựng hàm băm Trên sở luận văn tập trung tìm hiểu hệ mật xây dựng cấp số nhân vành đa thức lớn từ áp dụng vào xây dựng hàm băm có độ dài tối thiểu 128 bit 2 Mục đích nghiên cứu:  Tìm hiểu hệ mật xây dựng cấp số nhân cyclic vành đa thức  Áp dụng hệ mật để xây dựng hàm băm  Mô tính khuếch tán hàm băm đề xuất Đối tượng phạm vi nghiên cứu:  Đối tượng nghiên cứu: Mật mã khối, hàm băm, nhóm nhân cấp số nhân vành đa thức  Phạm vi nghiên cứu: Sử dụng cấp số nhân cyclic vành đa thức xây dựng hệ mật mã khối áp dụng vào hàm băm Phương pháp nghiên cứu:  Sử dụng lý thuyết mật mã học, cấu trúc đại số vành đa thức, kết hợp với việc tính tốn mơ tính khuếch tán hàm băm đề xuất Cấu trúc luận văn Luận văn có phần mở đầu, kết luận 03 chương nội dung trình bày 69 trang đánh máy, không kể tài liệu tham khảo phụ lục Chương 1: Tổng quan mật mã học hàm băm Chương trình bày vấn đề mật mã cổ điển, hệ mật mã khóa cơng khai, hàm băm số sơ đồ xác thực thông tin chữ ký số Chương 2: Hệ mật xây dựng cấp số nhân cyclic vành đa thức Chương tập trung vào việc nghiên cứu phân tích cấu trúc nhóm nhân cyclic cấp số nhân vành đa thức, sở xây dựng hệ mật khóa bí mật làm sở thực hàm băm Chương 3: Áp dụng hệ mật xây dựng cấp số nhân cyclic vào hàm băm Nội dung chương đề cập đến cấu trúc hàm băm, số ví dụ hàm băm phép công hàm băm Phần đề xuất xây dựng hàm băm MDC-2 256 bit Được giúp đỡ tận tình thầy TS Ngô Đức Thiện nổ lực thân luận văn hòan thành Tuy nhiên thời gian hạn hẹp trình độ hạn chế việc hiểu trình bày vấn đề nêu khơng thể tránh khỏi cịn nhiều thiếu sót Rất mong góp ý thầy bạn có quan tâm CHƯƠNG 1: TỔNG QUAN VỀ MẬT MÃ HỌC VÀ HÀM BĂM 1.1 Hệ mật khóa bí mật Thám mã (Oscar) Thám mã Bản rõ Nguồn tin Nguồn tin (Alice) Bản mã Bản mã Bộ mã hóa Bộ mã hóa Kênh mở Kênh mở Bản rõ Bộ giải mã Bộ giải mã KE KD Nhận tin Nhận tin (Bob) Kênh an tồn Kênh an tồn Nguồn khóa Nguồn khóa Hình 1.1 Sơ đồ chức hệ mật khóa bí mật 1.1.1 Mật mã thay 1.1.2 Mật mã hoán vị (MHV) 1.1.3 Ưu nhược điểm mật mã khóa bí mật 1.2 Hệ mật khóa cơng khai 1.2.1 Sơ đồ chức Kênh mở Kênh mở Mã hóa Mã hóa Giải mã Giải mã Nguồn tin Nhận tin KCB KRB C  E(M , KCB ) M  E 1 ( K RB , C ) Hình 1.2 Sơ đồ mật mã hóa cơng khai 1.2.2 Một số tốn xây dựng hệ mật khóa cơng khai Với u cầu với hệ mật khóa cơng khai: Dễ mã hóa, khó giải mã (Hàm chiều), hướng nghiên cứu từ năm 1976 tìm hàm chiều, tương ứng với toán 1.2.2.1 Bài toán logarit rời rạc hệ mật liên quan 1.2.2.2 Bài tốn phân tích thừa số hệ mật RSA 1.2.2.3 Bài tốn xếp ba lơ hệ mật Merkle – Hellman 1.2.2.4 Bài toán mã sửa sai hệ mật Mc Eliece 1.2.2.5 Đường cong Elliptic hệ mật liên quan 1.3 Hàm băm ứng dụng Các hàm băm đóng vai trị mật mã đại Hàm băm tạo đầu từ tin đầu vào Đầu định nghĩa mã băm (kết băm, giá trị băm) Nói cách xác hơn, hàm băm h tạo ánh xạ xâu bit có độ dài hữu hạn tuỳ ý thành xâu bit có độ dài n cố định Hàm băm phân thành loại : - Các hàm băm khơng khóa MDC - Các hàm băm có khóa MAC Hàm băm Hàm băm Khơng có khóa Khơng có khóa MDC MDC OWHF OWHF Có khóa Có khóa Các ứng dụng khác Các ứng dụng khác Các ứng dụng khác Các ứng dụng khác CRHF CRHF Hình 1.3 Phân loại hàm băm 1.3.1 Các định nghĩa tính chất MDC MDC Hàm băm hàm h có hai tính chất sau: a)Tính chất nén: h ánh xạ đầu vào x có độ dài bit hữu hạn tuỳ ý tới đầu có độ dài bit n hữu hạn b) Tính chất dễ dàng tính tốn: Với h cho trước đầu vào x, dễ dàng tính 1.3.1.2 Một số tính chất hàm băm khơng có khố a) Tính khó tính tốn nghịch ảnh c) Tính khó va chạm b) Khó tìm nghịch ảnh thứ hai 1.3.1.3 Thuật tốn mã xác thực thơng báo (MAC) 1.3.2 Các phương pháp xây dựng hàm băm 1.3.2.1 Các hàm băm khơng có khố a) MDC độ dài đơn Ba sơ đồ có liên quan chặt chẽ với hàm băm độ dài đơn, xây dựng mật mã khối Các sơ đồ có sử dụng thành phần xác định trước sau: xi Hi-1 g g xi Hi-1 E E xi + + g g E E E E Hi-1 + + + + Hi Hi Hi Matyas – Mayer - Oseas Davies - Mayer Miyaguchi - Preneel Hình 1.3 Sơ đồ xây dựng hàm băm độ dài đơn - Một mật mã khối n bit khởi sinh tham số hoá khoá đối xứng k - Một hàm g ánh xạ n bit vào thành khoá k sử dụng cho E (Nếu khố cho E có độ dài n g hàm đồng nhất) - Một giá trị ban đầu cố định IV thích hợp để dùng với E b) MDC độ dài kép: MDC -2 MDC - MDC -2 MDC - mã phát sửa đổi yêu cầu tương ứng phép toán mã hoá khối khối đầu vào hàm băm Chúng sử dụng phép lặp sơ đồ M - D - O để tạo hàm băm có dộ dài kép * Thuật tốn MDC - Hình 1.4 Tht tốn MDC -2 * Thuật tốn MDC – Hình 1.5 Thuật tốn MDC-4 1.3.2.2 Các hàm băm có khố (MAC) 1.3.3 Ứng dụng hàm băm 1.3.3.1 Tính tồn vẹn liệu xác thực thơng báo Tính tồn vẹn liệu tính chất đảm bảo liệu khơng bị sửa đổi cách bất hợp pháp kể từ liệu tạo ra, phát lưu giữ nguồn xác định Các phương pháp cung cấp tính tồn vẹn liệu cách dùng hàm băm: - Sử dụng MDC kênh tin cậy - Dùng MDC mã hóa - Chỉ dùng MAC 1.3.3.2 Chữ ký số a) Định nghĩa chữ ký số b) Các ưu điểm chữ ký số 1.4 KẾT LUẬN CHƯƠNG CHƯƠNG 2: HỆ MẬT XÂY DỰNG TRÊN CÁC CẤP SỐ NHÂN CYCLIC Chương tập trung vào việc nghiên cứu phân tích cấu trúc nhóm nhân cyclic cấp số nhân vành đa thức, sở xây dựng hệ mật khóa bí mật làm sở thực hàm băm 2.1 Nhóm nhân Cyclic vành đa thức 2.1.1 Định nghĩa nhóm nhân cyclic vành đa thức Định nghĩa 2.1: Nhóm nhân cyclic (CMG-Cyclic Multiplicate Group) vành đa thức tập hợp phần tử lũy thừa phần tử gọi phần tử sinh Trong vành đa thức có nhiều nhóm nhân cyclic, số nhóm nhân số lũy đẳng có vành A  {, 2 , 3 , m} Trong đó: A nhóm nhân cyclic  phần tử sinh (đa thức sinh), m cấp nhóm nhân 2.1.2 Phân loại nhóm nhân cyclic vành đa thức 2.1.2.1 Nhóm nhân cyclic đơn vị Định nghĩa 2.3:Nhóm nhân cyclic đơn vị nhóm nhân bao gồm đơn thức có vành có cấp n Ký hiệu I  {x, x2 , , x n1,1} Hay nói cách khác nhóm nhân cyclic đơn vị nhóm nhân cyclic có phần tử sinh x I  {x,( x)2 ,( x)3 ,( x) n1,1} 2.1.2.2 Nhóm nhân cyclic với phần tử sinh a( x) 2.1.2.3 Đa thức đối xứng nhóm nhân cyclic đối xứng 2.2 CẤP SỐ NHÂN CYCLIC TRÊN VÀNH ĐA THỨC 2.2.1 Khái niệm cấp số nhân cyclic vành đa thức Xét vành đa thức [ x]/ x n  với n lẻ, giả sử a( x) số hạng cấp số nhân cyclic q( x) công bội cấp số nhân Định nghĩa 2.6:Cấp số nhân cyclic (CGP - Cyclic Geometic Progressions) vành đa thức tập hợp có dạng sau: A( a,q )  {a( x), a( x)q( x), a( x)q ( x), , a( x)q m1( x)} Trong đó: m số số hạng cấp số nhân a( x) số hạng đầu cấp số nhân q( x) công bội a( x)q m ( x)  a( x) mod x n  vành đa thức, ta chọn số hạng đầu hạt nhân phân hoạch khác ta tạo nhiều kiểu phân hoạch khác vành, ta có cấp số nhân cyclic để xây dựng mã cyclic có cấu trúc khác 2.2.2 Phân hoạch vành đa thức 10 Hàm f xây dựng sở hệ mật sử dụng cấp số nhân cyclic vành đa thức có hai lớp kề Các khóa K i phần tử cấp số nhân chọn sau: i Ki  Ka Ko mod x61  1; (i  1,16) với K a đa thức có trọng số lẻ tùy ý cho: deg Ka  61 K phần tử nguyên thủy nhóm nhân cyclic có cấp 260  đa thức có trọng số lẻ Cần ý với n  61 vành Z [x] / x61  vành có hai lớp kề Hình 2.5 Sơ đồ mã hóa khối E cyclic Hàm f xây dựng sở hệ mật sử dụng cấp số nhân cyclic vành đa thức có hai lớp kề Các khóa K i phần tử cấp số nhân chọn sau: i Ki  Ka Ko mod x61  1; (i  1,16) với K a đa thức có trọng số lẻ tùy ý cho: deg Ka  61 K phần tử nguyên thủy nhóm nhân cyclic có cấp 260  đa thức có trọng số lẻ Cần ý với n  61 vành Z [x] / x61  vành có hai lớp kề cyclic 11 Bảng 2.3 Bảng hoán vị ban đầu (IP) Bảng 2.4 Bảng hoán vị đảo (IP-1) Giả sử ta chọn phần tử sinh khóa K0   x  x3  (013) , Phần tử đầu Ka   x  x  (012); Phần tử đầu cấp số nhân khóa là: K1  K0 Ka   x  x5  (045) Sơ đồ khối mã hóa f với khóa K1 hình 2.6 Hình 2.6 Sơ đồ khối mã hóa , với khóa K1   x  x5 Một khâu mã hóa thực theo quy tắc: 12  Li  Ri 1  Ki    Ri  Li 1  f  Ri 1 , Ki   2.3.2.3 Tạo khóa cho hệ mật Ta sử dụng CGP để tạo khóa cho hệ mật, nhiên để tạo số lượng khóa nhiều nên sử dụng CGP vành đa thức có hai lớp kề cyclic Thực chất CGP coi M-dãy lồng ghép a) Vành đa thức có hai lớp kề cyclic Định nghĩa 2.10 Vành đa thức theo modulo x n  gọi vành đa thức có hai lớp kề cyclic phân tích x n  thành tích đa thức bất khả quy trường GF(2) có dạng sau: n 1 x   (1  x) xi n i 0 n 1 Trong x n  1và e0 ( x)   xi đa thức bất khả quy i 0 Bổ đề 2.14 Vành đa thức theo modulo x n  vành đa thức có hai lớp kề cyclic n thoả mãn:  n phải số nguyên tố;  phần tử thứ hai phải thoả điều kiện 2 ( n)/ p  1mod n với ước nguyên tố p (n) (Trong (n) hàm phi Euler) b) M-dãy xây dựng vành đa thức Xét vành đa thức [ x]/ x n  với n số lẻ Theo cách thơng thường M-dãy tạo từ thức nguyên thủy g ( x) có bậc m theo phương trình đồng dư sau: a( x)  b( x).xi mod g ( x); i  1,2,3 13 g ( x) - đa thức nguyên thủy; deg g ( x)  m Trong đó: b( x) - đa thức mầm; deg b( x)  m  c) M-dãy lồng ghép xây dựng từ cấp số nhân cyclic vành đa thức có hai lớp kề Bổ đề 2.15: M-dãy lồng ghép vành đa thức có hai lớp kề tạo từ phương trình đồng dư sau: b( x)  c( x)ai ( x) mod h( x); i  1,2, ,2m  Thực chất b( x) CGP Trong đó: orda( x)  2n1  Số lượng đa thức a( x) là: Na   (2m  1) Trọng số W(a( x))  wa số chẵn Trọng số W (h( x))  wh số lẻ với deg h( x)  n  Số lượng đa thức h( x) tính sau: Nh  ( n 1)/2  i 0 2i Cn1  2n2 c( x) đa thức mầm với deg c( x)  m  Số lượng M-dãy lồng ghép tính theo cơng thức: N  Na Nh Số lượng M-dãy lồng ghép số vành tính bảng 2.5 Bảng 2.5 Số lượng M-dãy lồng ghép với vài giá trị n khác n Na   (2m  1) N h  2n  N  Na Nh T 8 64 15 14 11 600 512 30.720 1.023 13 1.728 2.048 3.538.944 4.095 19 139.968 131.072 1,8346.1010 262.143 29 132.765.696 134.217.728 1,782.1016 268.435.455 2.3.2.4 Đánh giá độ khuếch tán hệ mật Tiến hành tính toán độ khuếch tán thay đổi liệu hệ mật với tham số sau: Phần tử sinh khóa: K0 ( x)   x15  x30  x 45  x59 Phần tử đầu: Ka ( x)   x  x 60 Đa thức lấy modulo: h( x)   xi i 0 Các khóa tạo từ phương trình đồng dư sau: i Ki  Ka ( x) K0 ( x) mod h( x); i  1,2, Bản tin rõ gồm 32 ký tự dạng hexa (tương ứng 128 bit) là: M1 = 00112233445566778899AABBCCDDEEFF Bảng 2.6 kết tính tốn phân bố mã thay đổi 32 tin rõ [2], tin khác bit, với khóa K i Bảng 2.6 Khoảng cách Hamming d H (C1 , Ci ) cặp mã rõ khác bit, dH (M1 , M i )  , với khóa K TT Bản rõ M i Bản mã Ci d H (C1 , Ci ) 00112233445566778899AABBCCDDEEFF C1CD0CE5889A8BB1639A7D9C8E342CD5 20112233445566778899AABBCCDDEEFF 94268991A180A02052383AC24DCFAE48 63 04112233445566778899AABBCCDDEEFF 65DC3F5436F70668AF463CE5975A5D2C 67 00912233445566778899AABBCCDDEEFF 5C98A3F3593EE31D255EF781F73BC3DF 63 00102233445566778899AABBCCDDEEFF 5EE44829E435D0D215A94ACCD072B789 67 00113233445566778899AABBCCDDEEFF B0349EA1445C710455FD4EEF8BD1486C 67 15 00112633445566778899AABBCCDDEEFF 9DB3A8F4BB2B35DCEE43B140CF4D35BB 67 00112223445566778899AABBCCDDEEFF AFBCF577CC564D4BD6AC1AAFFD31C9B1 67 00112237445566778899AABBCCDDEEFF 5A91724199A93A0F0E17A450527555CC 67 00112233C45566778899AABBCCDDEEFF 02368E78DD359D60C7F2D1DA4ABE31AC 63 10 00112233405566778899AABBCCDDEEFF 8756509B2C8BB800DDF7F04542E86DAC 67 11 00112233441566778899AABBCCDDEEFF 24A9B5206FD09A827871AB4413F8E1C1 67 12 00112233445466778899AABBCCDDEEFF 565CEAF217B3CF7D0F3526FFF8071B85 67 13 00112233445576778899AABBCCDDEEFF 80B4158BF96319F5AF5C8729B8531FA6 67 14 00112233445562778899AABBCCDDEEFF 91934A7ED4E42FA0502BC3F103EDE009 67 15 00112233445566578899AABBCCDDEEFF 691C9B15763AECE4881F09B5941FBDE4 63 16 001122334455667F8899AABBCCDDEEFF EBB9E9D937B252E499FB60D608FE4899 63 17 0011223344556677C899AABBCCDDEEFF F2BE0900EC234E56298B4E8765E2F448 67 18 00112233445566778C99AABBCCDDEEFF F2FA5CBBCE01D7CFC78B4E2D3059A10C 67 19 00112233445566778889AABBCCDDEEFF 1801D0A4F183E5C09A08395048CE99E3 67 20 00112233445566778898AABBCCDDEEFF 5C01C1F11F0B6DA6FCB33950E29B77B6 67 21 00112233445566778899BABBCCDDEEFF 4C14C039C9E392DF1263EFD842F2D660 67 22 00112233445566778899ABBBCCDDEEFF 1950C0289C0D1A57740554D84258838E 67 23 00112233445566778899AA9BCCDDEEFF 470768A9204B1C419D3A1AC965B158FC 63 24 00112233445566778899AABFCCDDEEFF 9AAE7AD6BFCAD5F7F8C603389F079D6B 67 25 00112233445566778899AABBECDDEEFF 8B4BC681C4325A269364DDFBDBDFA9A1 63 26 00112233445566778899AABBC8DDEEFF 6E966F93BBADDBEF250121E22A251F64 67 27 00112233445566778899AABBCCFDEEFF DC878A2FECD62360F46A833CE961C750 63 28 00112233445566778899AABBCCDFEEFF 10696449CE5E01AC1A959296F861928D 63 29 00112233445566778899AABBCCDDCEFF A0D0466342FEC719B20D8D622E53793E 63 30 00112233445566778899AABBCCDDECFF D71CA88D24DC4F3B7EE372738442796B 63 31 00112233445566778899AABBCCDDEE7F 2A4878CC92B11A80C1DD235F75B6B180 63 32 00112233445566778899AABBCCDDEEFE D0FE170E5E42167DAE8EEA0D6823B3FC 67 (Chú ý: bảng 2.6, ký tự hexa in đậm chứa bit thay đổi) Khoảng cách Hamming trung bình mã là: d H (tb )  33  d H (C1, Ci )  65,65 32 i 2 Tiến hành tính tốn độ khuếch tán thay đổi khóa hệ mật với tham số sau: Bản tin rõ đầu vào cố định lần tính: 16 M = 00112233445566778899AABBCCDDEEFF Chọn phần tử đầu cấp số nhân tạo khóa K a   x  x 60 Đa thức lấy modulo là: h( x)   xi ; i 0 Ví dụ 2.7: K  12 F.1 Hex  1000.0100 1111.1 Bin   x5   x56  x57  x58  x59  x60 Bảng 2.7 kết tính tốn phân bố mã thay đổi khóa K, khóa khác với khóa bit, với rõ [2]: Bảng 2.7 Khoảng cách Hamming d H (C1 , Ci ) cặp mã khóa khác khóa K1 bit  d H ( K1 , Ki )  2 với rõ M TT 10 11 12 13 14 15 Khóa K i Bản mã Ci d H (C1 , Ci ) W ( Ki ) 123456789ABCDEF1 B5FF8B3C0D4729EBDF1F7B1E23E22971 B25EF4355618A32DF68218698388C07E 66 33 33 956624ACFB8C1D2BB5F253B7BF2C768E 68 35 C818DED35C9B8B4A5B5DBA1697C703E6 60 33 D15BC0521DF97629CDA9CFD095FC8429 64 33 DA311FCD09B6CE36A1A305A6878FD5BE 78 33 B642596F432140C01E9025F6844E9A16 68 33 03BCB6B5C13900D62AB10084932CDC9E 76 33 F31E17D1E00C2B976DF3DAC80A7A2CD9 61 35 9617EB92518C15D9FEA5B18EBF88BB12 58 33 EBA5472FD411C5D83663EB8860CE0C8D 65 35 93F98F046E233FE39FFF2D32D24145BA 49 31 0E78D682F8673EF703DF8E95697D4990 67 33 A688E42CC74777E5E40A195302CE18CF 57 33 E9E58EC43FDACE98F3C3BA6A029525A9 62 33 27E8EAE2859B880B277345112B8B7104 60 31 423456789ABCDEF1 173456789ABCDEF1 126456789ABCDEF1 123156789ABCDEF1 1234C6789ABCDEF1 12345C789ABCDEF1 123456D89ABCDEF1 1234567D9ABCDEF1 12345678CABCDEF1 123456789FBCDEF1 123456789A1CDEF1 123456789AB9DEF1 123456789ABC7EF1 123456789ABCDBF1 123456789ABCDEA1 (Chú ý: bảng 2.7, ký tự hexa in đậm chứa bit khóa thay đổi, trọng số đa thức sinh tạo khóa ln đảm bảo lẻ) Khoảng cách Hamming trung bình mã: d H (tb )  15  d H (C1, Ci )  63,93 15 i 1 17 2.4 KẾT LUẬN CHƯƠNG CHƯƠNG 3: HÀM BĂM XÂY DỰNG TRÊN CẤP SỐ NHÂN CYCLIC 3.1 Cấu trúc hàm băm Thành phần hàm băm hàm nén hàm biến đổi khác Hàm nén thực thi nhiều lần để băm thông điệp ban đầu hàm băm thành chuỗi có chiều dài cố định Các hàm biến đổi khác (có thể có khơng) nhận vào chuỗi bit sau lần cuối thực thi hàm nén cho kết mã băm cuối hàm băm Hình 3.1 Cấu trúc tổng quát hàm băm Cụ thể, hàm băm thường gồm bước sau:  Trước tiên thơng điệp đầu vào m có chiều dài hữu hạn tùy ý phân thành khối thơng điệp liên tiếp có độ dài cố định r (giả sử m1,m2,…,mk)  Do m có chiều dài nên ln có bước thêm bit phụ cho chiều dài chuỗi m’ chia hết cho r (trong bit thêm thường có kèm 64 bit để lưu lại chiều dài ban đầu chuỗi trước thêm)  Mỗi khối thông điệp m1,m2,…,mk qua hàm nén hàm băm h(m)  Kết khối thứ mi-1 sau qua hàm nén nguồn liệu đầu vào cho bước thứ i 18 Giả sử gọi IV (initial value) giá trị khởi tạo ban đầu trình lặp xử lý khối mô tả sau: H  IV H i  f ( H I 1 , mi ); i  1, , k h ( m)  g ( H k ) Người ta gọi H i (kết trung gian sau bước thứ i) biến dây tryền Hàm g ( x) lấy biến dây chyền cuối để tạo mã băm cần tìm Trong hầu hết thuật toán, g ( x) ánh xạ đồng nhất, nghĩa g ( H k )  H k Khâu then chốt xây dựng hàm băm thường thiết kế hàm nén f Hình 3.2 Cấu trúc hàm băm 3.2 CÁC THUẬT TOÁN THÊM BÍT PHỤ 3.3 MỘT SỐ VÍ DỤ VỀ HÀM BĂM 3.4 CÁC LOẠI TẤN CÔNG HÀM BĂM CƠ BẢN 3.4.1 Tấn cơng vào khơng gian khóa MAC 3.4.2 Tấn công vào độ dài MDC 3.4.3 Tấn công vào độ dài MAC 3.4.3 Tấn cơng kết tính tốn 3.4.5 Tấn cơng đa mục tiêu 3.4.6 Tấn công thông báo dài 3.5 XÂY DỰNG HÀM BĂM MỚI TRÊN CÁC CẤP SỐ NHÂN CYCLIC 19 Trong mục đề cập đến việc áp dụng hệ mật trình bày chương để xây dựng hàm băm MDC-2 có độ dài mã băm 256 bit Sơ đồ hàm băm hình 3.3, sau bước băm cuối mã băm đầu ghép từ đầu (out H i ) đầu (Out H i ) [4], [6], [7], [8] Hàm E xây dựng sở hệ mật sử dụng cấp số nhân cyclic vành đa thức có hai lớp kề (đã mơ tả chương 2) Các khóa K i phần tử cấp số nhân vành đa thức có hai lớp kề cyclic x61  chọn sau: với K a đa thức có trọng số lẻ tùy ý cho: deg Ka  61 ; K phần tử nguyên thủy nhóm nhân cyclic có cấp 260  đa thức có trọng số lẻ [4], [5] Khối g sơ đồ Hình 3.3 thực việc trích chọn khóa cho vịng q trình băm Trong 61 bit khóa bước thứ i khối g tạo 60 bit trích chọn từ 128 bit H i 1 H i1 bit thứ 61 bit kiểm tra chẵn lẻ Việc trích chọn lấy liên tục bit cách vị trí H i 1 H i1 (trong khoảng bit đến bit 120) Hình 3.3 Sơ đồ thực hàm băm  i Ki  K a K0 mod x61  1; i  1,16  20 Dưới vài kết đánh giá hàm băm xây dựng cấp số nhân cyclic Bảng 3.2 kết tính tốn khoảng cách Hamming số mã băm tin rõ thay đổi bit liệu so với tin ban đầu, để thuận tiện cho việc quan sát thay đổi bit khối tin rõ [7] Mỗi tin bao gồm 10 khối, khối có độ dài 256 bit, hàm băm sử dụng khóa K khởi tạo: Phần tử sinh khóa khởi tạo chọn là:  H IV  H IV  K0   x7  x14  x21  x28  x35  x42  x49  x56 ; Phần tử đầu CGP tạo khóa giữ ngun cho vịng băng chọn là: Ka   x10  x 20 ; Chú ý: Khóa khởi tạo đưa trực tiếp vào khối E sơ đồ băm, cịn khóa cho vòng băm tạo từ khối g 60 Đa thức lấy modulo h( x)   xi i 0 Bản tin xây dựng sau: Khối gồm 64 ký tự dạng hexa (tương ứng 256 bit) chọn là: M1= 0123456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCDEF Các khối (từ đến 10) tạo cách ngẫu nhiên Bảng 3.2 Khoảng cách Hamming dH(MD1, MDi) khối liệu khác khối ban đầu bit TT Bản rõ 0123456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCDEF 8123456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCDEF 0323456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCDEF Giá trị băm 82FA4EB7FB68423D6C92677447B0ECF5 2784D4457437C480AF52FA6B9C2E3BEE 6C88AE4AA7525591FEAB1491BA6D43CA 90C8AEB402AF8091F8D09A8E6B0C0A68 C332019E3BD277B8F65537FC4554AA09 41654703725036BF892020C012C4FEEF dH(MD1,MDi) 138 118 21 … 31 32 33 34 … 62 63 64 0133456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCDEF … 0123456789ABCDEF0123456789ABCDCF 0123456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCDEE 0123456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCDEF 2123456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCDEF 0023456789ABCDEF0123456789ABCDEF … 0123456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCFEF 0123456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCDFF 0123456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCDED 1BC1A9A9DB5310527C248677E7688F00 C5A357081950BB0DE3E68631623E5AA9 … ED088B0CFB75953D73EED891C5B52ACE 45A9C21F1607B5FC8C91FEA0E09F01ED DEF1D35924863B9FB60C9F985D9ABA36 3D67062B7AA0B26E2CF845734BA82A4B 574316CDBAB234C20EA3568BE172BAA4 2A3F41374210AFCE70AEEDCB9994EE7E 8EB4D6AF5AB1E575D21DA802368FA89E 5DFD6A501F98CD256AFB1830C34FB79C … 780ECB89EB44E4539BA74652FF428F68 6E9AF83F9E47B4349D4BA55185C29F92 4F02811DD6185047B8D450EFBDD3228F 72262178090695291AF5D72FE22F9E09 72A0199A20F750CA769B6985CA0F7490 9B384BCC0E4676E465C9F2FD35A96847 129 … 122 140 136 134 … 128 138 134 (Chú ý: Trong bảng 3.2 bảng 3.3, ký tự hexa in đậm chứa bit thay đổi) Khoảng cách Hamming trung bình 64 giá trị băm với giá trị băm ban đầu tính sau: d H tb  64  d H  MD1, MDi   129,17 64 i 1 kết tính tốn phân bố mã thay đổi khóa khởi tạo K , khóa khác với khóa bit Sở dĩ ta phải thay đổi bit (tương ứng thay đổi vị trí) để đảm bảo đa thức sinh khóa có trọng số lẻ Bản tin đầu vào gồm 10 khối 256 bit tạo ngẫu nhiên [7] Chú ý, chiều dài khóa 61 bit, mơ tả khóa 16 ký tự hexa thực tế có 15 ký tự đầu dạng hexa, cịn ký tự cuối có bit nên nhận giá trị “1” “0” Chọn phần tử đầu cấp số nhân tạo khóa là: K a   x  x Phần tử sinh khóa K sau: K0( Hex )  123456789ABCDEF.1 ( W ( K1 )  33 ) 60 Đa thức lấy modulo h( x)   xi Các khóa tạo từ phương trình đồng dư i 0 i sau: Ki  Ka K0 mod h( x), i  0,1,2, 22 Các khóa K 0i thay đổi bit số hexa khóa K Chú ý: vị trí bit “1” khóa K 0i tương ứng số mũ x đa thức sinh tạo khóa Ví dụ: K  12 F.1 Hex  1000.0100 1111.1 Bin   x5   x56  x57  x58  x59  x60 Bảng 3.3 Khoảng cách Hamming dH(MD1, MDi) cặp giá trị băm khóa khác khóa K1 bit TT Khóa Ki Giá trị băm MDi Trọng số khóa d H (MD1 , MDi ) khởi tạo W(K0i) 123456789ABCDEF1 B33B14104C0E667B860336A0E4C8CA78 E0B43B46853047AB1E6334837F979EFA 33 823456789ABCDEF1 FEACEC4181C074A8084CD0397F0A8748 0C9B9B6FEFD39B371D746A037843B786 126 33 1B3456789ABCDEF1 1E547D3A520CB818469D2319E40C5DAB FD7FE95BA779FF0045B5037A006121D8 135 35 129456789ABCDEF1 71FB25099EA653865989F97902643D9B 0E03EFF0E16B8CA156A4919A3A528E74 133 33 123156789ABCDEF1 7BD398826699C84A63089539C013B7E1 D077258721BBC05CE02709A9FE01A9BA 123 33 1234F6789ABCDEF1 52885E7E8BB73C1DFDBBAB44BCAF9BC1 449C73A8D24C376041E28BA78B794E41 138 35 123453789ABCDEF1 BE7525A3BE96823C52473D868D96441C 30CCE0D89908FA9FD21CFB594AEDAAD1 130 33 123456D89ABCDEF1 66D3CF874C1A5C6D02A6B4763E8F7596 C2E8E29DEA340CA31A907DC3093BD60A 119 33 1234567D9ABCDEF1 8C44F59F87B2571BD1445623EA7479ED AE368A3B400C2A7451B510F4745159CC 138 35 12345678CABCDEF1 E3B40AF55A5169C225A9D2656E0B9241 292AAF692CA5EA23D95529FD020F0D36 136 33 10 123456789FBCDEF1 88C78EC3CF2E90867BBDFD934D92D291 24D186C096589E1B20AAE3CDA7523650 137 35 11 123456789A1CDEF1 98D3577D7382BEEA53ABECFCC0D28FD9 8233EB98FFD20000178EDE628CD3F705 131 31 12 123456789AB6DEF1 F3E858AD90B0F79AC06FB8243A16A054 9963E3873E77CF73FDBAEA4B4B6E2BAD 137 33 13 123456789ABC8EF1 76AEBF7739066421A97CB110E8F843AD F5C247A186793CF1BD747D0DA1B4825A 123 31 14 123456789ABCDBF1 F61035831137662A2005B0E570C3FBDF 5006C8621B46C945692993250C4CE272 122 33 15 123456789ABCDEA1 E0599B76112AF746ACCD9517CD579C6B A492E4CB44F71F65394F27B404AD0C19 132 31 23 Khoảng cách Hamming trung bình giá trị băm với giá trị băm ban đầu: d H (tb )  15  d H (MD1, MDi )  130,67 15 i 1 Để khảo sát thêm tính khuếch tán hàm băm, ta thay đổi tin rõ khóa sau: Giữa nguyên tin thay đổi bit khóa K1 từ bit đến bit 60, bit 61 dùng để kiểm tra chẵn lẻ Sau tính khoảng cách Hamming trung bình giá trị băm với giá trị băm ban đầu theo công thức: d H (tb )  60  d H (MD1, MDi ) 60 i 2 Qua kết khảo sát khoảng cách Hamming ta thấy tính khuếch tán hàm băm đề xuất tốt 3.6 KẾT LUẬN CHƯƠNG KẾT LUẬN Các kết đạt luận văn:  Nghiên cứu hệ mật khóa bí mật, hệ mật khóa cơng khai hàm băm sử dụng cho việc xác thực đảm bảo tính tồn vẹn liệu  Nghiên cứu cấu trúc nhóm nhân cylic, cấp số nhân cyclic vành đa thức  Nghiên cứu cách xây dựng hệ mật mã khối khóa bí mật xây dựng từ cấp số nhân cyclic vành đa thức x n  với n  2k  Nghiên cứu cách tạo khóa cho hệ mật khóa bí mật cấp số nhân cyclic vành có hai lớp kề cyclic  Đề xuất hàm băm MDC-2 theo với hệ mật xây dựng theo cấp số nhân cyclic 24  Mô đánh giá độ khuếch tán thay đổi liệu thay đổi khóa hệ mật hàm băm đề xuất Hướng phát triển  Áp dụng hệ mật nói để xây dựng hàm băm có độ dài lớn nhằm hạn chế phép công ngày sinh nhật  Có thêm đánh giá khác hàm băm đề xuất ... nghiên cứu: Mật mã khối, hàm băm, nhóm nhân cấp số nhân vành đa thức  Phạm vi nghiên cứu: Sử dụng cấp số nhân cyclic vành đa thức xây dựng hệ mật mã khối áp dụng vào hàm băm Phương pháp nghiên cứu: ... việc nghiên cứu phân tích cấu trúc nhóm nhân cyclic cấp số nhân vành đa thức, sở xây dựng hệ mật khóa bí mật làm sở thực hàm băm Chương 3: Áp dụng hệ mật xây dựng cấp số nhân cyclic vào hàm băm. .. HỆ MẬT XÂY DỰNG TRÊN CÁC CẤP SỐ NHÂN CYCLIC Chương tập trung vào việc nghiên cứu phân tích cấu trúc nhóm nhân cyclic cấp số nhân vành đa thức, sở xây dựng hệ mật khóa bí mật làm sở thực hàm băm

Ngày đăng: 13/09/2014, 11:31

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan