1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận án tiến sĩ kỹ thuật 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

200 0 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 200
Dung lượng 2,85 MB

Nội dung

i LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu tơi Các nội dung trung thực kết trình bày luận án chưa cơng bố cơng trình nghiên cứu khác Tác giả Nguyễn Toàn Thắng ii LỜI CẢM ƠN Tơi xin tỏ lịng biết ơn đến thầy GS.TSKH Nguyễn Xuân Quỳnh, người trực tiếp định hướng, hướng dẫn tạo điều kiện thuận lợi cho tơi suốt q trình nghiên cứu Tơi xin chân thành cảm ơn Học viện Cơng nghệ Bưu Viễn thông - nơi làm luận án - tạo điều kiện thuận lợi để giúp tơi hồn thành chương trình nghiên cứu Tơi xin cảm ơn khoa Quốc tế Đào tạo sau đại học, Ban Tuyên giáo Tỉnh ủy, Sở Thông tin Truyền thông tỉnh Ninh Bình, đồng nghiệp tạo điều kiện giúp đỡ tơi hồn thành đề tài nghiên cứu Cuối biết ơn tới gia đình, bạn bè tạo điều kiện, động viên tơi, cho tơi có đủ nghị lực để hồn thành luận án Hà Nội, tháng 11 năm 2017 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Ẽ x PHẦN MỞ ĐẦU 1 MỞ ĐẦU TÌNH HÌNH NGHIÊN CỨU LÝ DO CHỌN ĐỀ TÀI 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Ã VÀ HÀM BĂM 10 1.1 GIỚI THIỆU 10 1.2 PHƯƠNG PHÁP XÂY DỰNG CÁC HỆ MẬT CƠ BẢN 10 1.2.1 Phương pháp xây dựng hệ mật khóa bí mật 10 1.2.2 Phương pháp xây dựng hệ mật khóa cơng khai 24 1.3 HÀM BĂM 31 1.3.1 Mô tả hàm băm 31 1.3.2 Các hàm băm có khóa 33 1.3.3 Các hàm băm khóa 34 1.3.4 Một số phương pháp toàn vẹn liệu xác thực thông báo 36 1.4 CẤP SỐ NHÂN CYCLIC 38 iv 1.4.1 Nhóm nhân vành đa thức 38 1.4.2 Các cấp số nhân cyclic cấp n 38 1.4.3 Phân hoạch vành đa thức 39 1.5 KẾT LUẬN CHƯƠNG I 41 CHƯƠNG XÂY DỰNG CÁC HÀM BĂM MỚI 43 2.1 GIỚI THIỆU 43 2.2 HÀM BĂM DỰA TRÊN HỆ MẬT THEO SƠ ĐỒ LAI-MASSEY 43 2.2.1 Hệ mật sử dụng cấp số nhân cyclic theo sơ đồ LAI-MASSEY 43 2.2.2 Xây dựng hàm băm sở hệ mật 50 2.3 HÀM BĂM DỰA TRÊN HỆ MẬT MÃ LAI GHÉP 55 2.3.1 Bài toán Logarit rời rạc hệ mật POHLIG-HELLMAN 56 2.3.2 Đề xuất phương pháp xây dựng hệ mật mã lai ghép 59 2.3.3 Khả xây dựng hàm băm từ hệ mật 66 2.4 HÀM BĂM SỬ DỤNG CÁC CẤP SỐ NHÂN CYCLIC 67 2.4.1 Sơ đồ hàm băm MDC-2 sử dụng lưu đồ FEISTEL 67 2.4.2 Xây dựng hàm băm kết mô 68 2.5 KẾT LUẬN CHƯƠNG II 74 CHƯƠNG XÂY DỰNG MỘT LỚP CÁC HÀM BĂM MỞ RỘNG MỚI 76 3.1 GIỚI THIỆU 76 3.2 XÂY DỰNG HÀM BĂM MỞ RỘNG MỚI MDC-3 77 3.3 HÀM BĂM DỰA TRÊN HỆ MẬT MÃ KHỐI KẾT HỢP SƠ ĐỒ LAIMASSEY VỚI FEISTEL 86 3.3.1 Hệ mật mã khối kết hợp sơ đồ LAI-MASSEY FEISTEL 87 3.3.2 Xây dựng hàm băm sở hệ mật kết hợp 93 3.4 XÂY DỰNG HÀM BĂM MỞ RỘNG MỚI MDC 512 BÍT 98 3.4.1 Mô tả hệ mật mã khối 256 bít 98 3.4.2 Đánh giá độ khuếch tán hệ mật 102 v 3.4.3 Xây dựng hàm băm 512 bit sở hệ mật 106 3.5 KẾT LUẬN CHƯƠNG III 110 CHƯƠNG KHẢ NĂNG ỨNG DỤNG CỦA HÀM BĂM XÂY DỰNG MỚI112 4.1 GIỚI THIỆU 112 4.2 CHỮ KÝ SỐ 112 4.3 KIỂM TRA TÍNH TỒN VẸN CỦA THƠNG ĐIỆP 122 4.4 BẢO VỆ MẬT KHẨU 125 4.5 KẾT LUẬN CHƯƠNG IV 128 KẾT LUẬN VÀ KIẾN NGHỊ 130 KẾT LUẬN 130 KIẾN NGHỊ HƯỚNG PHÁT TRIỂN 130 DANH MỤC CÁC CƠNG TRÌNH CƠNG BỐ CỦA TÁC GIẢ 132 TÀI LIỆU THAM KHẢO 134 PHỤ LỤC A 140 PHỤ LỤC B 179 vi DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT Ký hiệu CAST Tiếng Anh Tiếng Việt CBC Carlisle Adams and Stafford Tavares Cipher Block Chaining Hệ mật CAST Chế độ liên kết khối mã CFB Cipher Feedback Block Chế độ phản hồi mã CGP Cyclic Geometic Progressions Cấp số nhân cyclic CMG CRC Cyclic Multiplicate Group Cyclic Redundancy Check Nhóm nhân cyclic Kiểm tra độ dư tuần hoàn CRF Collision Resistant Function Hàm kháng va chạm CRHF Collision Resistant Hash Function Hàm băm kháng va chạm d0 Hamming distance Khoảng cách Hamming deg DEA Degree Data Encryption Algorithm Bậc đa thức Thuật toán mã liệu DES Data Encryption Standard Chuẩn mã liệu e( x ) Equity Đa thức lũy đẳng ECB Electronic Codebook Chế độ mã điện tử Field Trường G Group Nhóm GF(p) Group Field Trường đặc số p h Hash Hàm băm I IV Ideal International Data Encryption Algorithm Initial Value Trường hợp lý tưởng Thuật tốn mã hóa liệu quốc tế Giá trị khởi tạo MAC Message Authentication Code Mã xác thực thông báo MDC Manipulation Detection Code Mã phát sửa đổi NIST OFB National Institute for Standards and Viện Quốc gia Tiêu Technology (US) chuẩn Công nghệ Output Feedback Chế độ phản hồi đầu ord Order IDEA Cấp đa thức vii OWF One-Way Function Hàm chiều OWHF One-Way Hash Function Hàm băm chiều R RIPE Ring Race Integrity Primitives Evaluation RSA Rivest Shamir Adleman Vành Đánh giá mức độ toàn vẹn nguyên gốc Thuật tốn mã hóa RSA SHA Secure Hash Algorithm Thuật tốn băm SHA SHS TDEA Secure Hash Standard Tiêu chuẩn băm an toàn Triple Data Encryption Algorithm Universal One-Way Hash Function VEST Very Efficient Substitution Transposition Thuật tốn mã hóa TDEA Hàm băm chiều phổ thông Chuyển vị thay hiệu cao W Weight Trọng số UOWHF viii DANH MỤC CÁC BẢNG Bảng 2.1 Khoảng cách Hamming dH(C1,Ci) cặp mã 49 Bảng 2.2 Khoảng cách Hamming dH(C1,Ci) hàm băm thay đổi 52 Bảng 2.3 Khoảng cách Hamming dH(MD1,MDi) cặp giá trị băm 53 Bảng 2.4 Giá trị hàm mũ Logarit rời rạc số phân tử 57 Bảng 2.5 Hoán vị ban đầu (IP) 59 Bảng 2.6 Hoán vị đảo (IP-1) .61 Bảng 2.7 Khoảng cách Hamming vài cặp mã thay đổi 64 Bảng 2.8 Khoảng cách Hamming vài cặp mã thay đổi 65 Bảng 2.9 Khoảng cách Hamming dH(MD1, MDi) khối liệu khác khối 69 Bảng 2.10 Khoảng cách Hamming dH(MD1, MDi) cặp giá trị băm 72 Bảng 3.1 Bảng hoán vị ban đầu (IP) 79 Bảng 3.2 Bảng hoán vị đảo (IP-1) .80 Bảng 3.3 Khoảng cách Hamming dH(MD0, MDi) tin liệu 82 Bảng 3.4 Khoảng cách Hamming dH(MD0, MDi) mã băm 84 Bảng 3.5 Trọng số khóa bước băm 85 Bảng 3.6 Khoảng cách Hamming dH(C0,CI) cặp mã 91 Bảng 3.7 Khoảng cách Hamming dH(C0,CI) cặp mã 92 Bảng 3.8 Khoảng cách Hamming dH(C0,CI) mã băm 95 Bảng 3.9 Khoảng cách Hamming dH(C0,CI) mã băm 96 Bảng 3.10 Độ khuếch tán cặp mã vài bước tính tốn 103 Bảng 3.11 Kết 10 lần tính độ khuếch tán thay đổi rõ 104 ix Bảng 3.12 Độ khuếch tán cặp mã vài bước 106 Bảng 3.13 Độ khuếch tán vài mã băm thay đổi liệu .108 Bảng 3.14 Kết 10 lần tính khuếch tán hàm băm .109 x DANH MỤC CÁC HÌNH VẼ Hình 1.1 Lưu đồ Feistel 12 Hình 1.2 Lưu đồ hoạt động chương trình 13 Hình 1.3 Lưu đồ Lai-Massey 14 Hình 1.4 Lưu đồ mã hóa 16 Hình 1.5 Hàm f DES 17 Hình 1.6 Tính bảng khóa DES 21 Hình 1.7 Phân loại hàm băm 32 Hình 1.8 Sơ đồ MAC .33 Hình 1.9 Các sơ đồ hàm băm độ dài đơn 34 Hình 1.10 Thuật tốn MDC-2 35 Hình 1.11 Thuật toán MDC-4 36 Hình 1.12 Tồn vẹn liệu dùng MAC 37 Hình 1.13 Tồn vẹn liệu dùng MDC mã hóa 37 Hình 1.14 Toàn vẹn liệu dùng MDC kênh tin cậy 37 Hình 2.1 Sơ đồ khối mã hóa 45 Hình 2.2 Mạch điện mã hóa f với a( x)  1 x  x2 47 Hình 2.3 Sơ đồ hàm băm Matyas-Mayer–Oseas 51 Hình 2.4 Sơ đồ khối hệ mật .60 Hình 2.5 Sơ đồ mã hóa hệ mật 60 Hình 2.6 Tách khóa cho vịng mã hóa 62 Hình 2.7 Sơ đồ mã hóa 67 175 % Chuan bi du lieu clear; clc; msg = rand(1,5120)>.5; % Cac khoi sau tao ngau nhien % - Khoa K ban dau (H0) (tren vanh lop ke x61+1) H0=[]; for ii=1:15 tg=dec2binvec(ii,4); H0=[H0 tg ]; end H0(61)=1; % - Ma hoa ban tin dau tien H1=bam_LM_Feistel_512(msg,H0); % Ban ma chua thay bit du lieu H0hex=bin2hex(H0); H0hex(16)=num2str(H0(61)); Chex= bin2hex(H1); disp('Ket qua thay doi bit khoa'); fprintf('%5s %20s %60s %85s %15s\n','Thu tu','Khoa','Ma bam','Hamming','trong so H0'); fprintf('%5d %20s %135s %10d %10d\n',0,H0hex,Chex,0,sum(H0)); sohm=0; % Tinh khoang cach Hamming % - Thay doi bit khoa khoi tao H0, bit 61 la bit kiem tra for ii=1:60 H0i = H0; % Khoa ban dau % p1 = round(60*rand); % p2 = round(60*rand); % if p1==p2 176 % p2 = mod(p1+5,60); % end % % if p1==0 % p1=20; % Neu vao bit thu thi thay bit 20 (khong co bit thu tu 0) % end % if p2==0 % p2=40; % end % H0i(p1) = xor(H0i(p1),[1]); % Doi bit khoa % H0i(p2) = xor(H0i(p2),[1]); % Doi bit khoa H0i(ii)=xor(H0i(ii),[1]); % if xor(sum(H0i),2)==0 % % %Thay doi bit khoa % Kiem tra so cua khoa H0i(61)=1; else H0i(61)=0; % end Hi = bam_LM_Feistel_512(msg,H0i); wH0i = sum(H0i); hm=sum(xor(Hi,H1)); % Tinh so bit sai khac, khoang cach Hamming %********************** Hien thi ket qua *************************** H0hex=bin2hex(H0i); H0hex(16)=num2str(H0i(61)); Chex= bin2hex(Hi); fprintf('%5d %20s %135s %10d %10d\n',ii,H0hex,Chex,hm,wH0i); sohm=sohm+hm; % fid = fopen('Pb.dat','a'); % fprintf(fid,'%d %s %d\n',p+1, ,pb); % Luu ket qua vao file Pb.dat 177 % fclose(fid); end fprintf('Khoang cach Hamming trung binh: %6.2f\n',sohm/60); %&&&&&&&&&&&&&& End of file &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& + Chương trình tính tốn độ khuếch tán hàm băm 512 bit theo sử dụng hệ mật 256 bit vành chẵn, thay đổi liệu % Tinh toan phan bo ham bam doi du lieu % He mat Feistel_4b_256_2k % Ham bam xay dung theo luoc MDC-2 (Miyaguchi - Preneel) 512 bit; % Chuan bi du lieu clear; clc; nmsg = 10; % So khoi ban tin 256 bit can bam H0=[]; for ii=0:15 % Tao khioi ban tin dau x1 = (0123456789ABCDEF) x x tg=dec2binvec(ii,4); H0=[H0 tg tg tg tg]; end msg= double(rand(1,512*10)>.5); % khoi tiep theo % - Tao khoa khoi tao H0 Ka=pol2bin([0 4]); % - Bam ban tin dau tien E1=bamMDC_2_512(msg,H0,Ka); % Du lieu bam chua thay bit du lieu msghex=bin2hex(msg(1:512)); disp('Ket qua bam thay doi bit du lieu'); disp(' Thu tu Vi tri thay doi Cihex= bin2hex(E1); Ma bam K/C Hamming'); 178 fprintf('%5d %10d %130s %10d\n',0,0,Cihex,0); nol=100; for jj=1:10 sohm=0; % Khoang cach Hamming ban ma dau % - Bam cac ban tin khac bit voi ban tin dau tien -for p = 1:nol msc = msg; % Thay ngau nhien 100 lan, moi lan bit % du lieu vao ban dau posit = round(rand(1)*5120); %Vi tri bit thay doi if posit==0 posit=1; end msc(posit) = xor(msc(posit),[1]); E = bamMDC_2_512(msc,H0,Ka); % Bam ban tin da thay doi du lieu hm = sum(xor(E1,E)); % Tinh khoang cach Hamming %***** Hien thi ket qua *************************** MDhex = bin2hex(E); fprintf('%5d %10d %130s %10d\n',p,posit,MDhex,hm); fprintf('%5d %10d %10d\n',p,posit,hm); sohm = sohm + hm; % Tich luy tong khoang cach Hamming end fprintf('Khoang cach Hamming trung binh: '); fprintf('%5d %6.2f\n',jj,sohm/nol); end %&&&&&&&&&&&&&& End of file &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 179 PHỤ LỤC B THÔNG SỐ CỦA MỘT SỐ HÀM BĂM MD5 Các thông số: Mở rộng thông báo: Giá trị khởi tạo: Bước mã hóa: 180 Trạng thái: Đầu ra: RIPEMD-0 Các thông số: Mở rộng thông báo: Giá trị khởi tạo: Bước mã hóa: 181 Trạng thái: Đầu ra: RIPEMD-128 Các thông số: Mở rộng thông báo: Giá trị khởi tạo: 182 Bước mã hóa: Trạng thái: Đầu ra: RIPEMD-160 Các thông số: Mở rộng thông báo: 183 Giá trị khởi tạo: Bước mã hóa: Trạng thái: Đầu ra: RIPEMD-256 Các thông số: Giống RIPEMD-128 184 Giá trị khởi tạo: Bước mã hóa: Giống RIPE-128: Sau bước 15 (và bước 31, 47, 63 tương ứng) thay nội dung R12L R12R (và R31L R31R , R46L R46R , R61L R61R tương ứng) Đầu ra: RIPEMD-320 Giống RIPEMD-160 Các thông số: Giá trị khởi tạo: Bước mã hóa: Giống RIPE-160: Sau bước 15 (và bước 31, 47, 63, 79 tương ứng) thay nội dung R14L R14R (và R27L R27R , R46L R46R , R59L R59R , R77L R77R tương ứng) 185 Đầu ra: SHA-0 SHA-1 Các thông số: Mở rộng thông báo: Giá trị khởi tạo: Bước mã hóa: Trạng thái: Đầu ra: 186 SHA-256 Các thơng số: Mở rộng thông báo: Giá trị khởi tạo: Bước mã hóa: Trạng thái: 187 Đầu ra: SHA-512 Các thơng số: Mở rộng thông báo: Giá trị khởi tạo: Bước mã hóa: 188 Trạng thái: Đầu ra: SHA-224 SHA-224 giống với SHA-256 Các thông số: 189 Giá trị khởi tạo: Đầu ra: Đầu hàm nén giống SHA-256, đầu hàm băm lấy 224 bit SHA-384 SHA-384 giống với SHA-512 Các thông số: Giá trị khởi tạo: Đầu ra:

Ngày đăng: 27/04/2023, 13:29

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w