Nghiên Cứu Hàm Băm Trên Cơ Sở Mạng Hoán Vị Thay Thế Điều Khiển Được Và Ứng Dụng Trong Mã Hóa Xác Thực Văn Bản.pdf

65 2 0
Nghiên Cứu Hàm Băm Trên Cơ Sở Mạng Hoán Vị Thay Thế Điều Khiển Được Và Ứng Dụng Trong Mã Hóa Xác Thực Văn Bản.pdf

Đ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

Untitled ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THỐNG PHOUMIVONG MITHPASA NGHIÊN CỨU HÀM BĂM TRÊN CƠ SỞ MẠNG HOÁN VỊ THAY THẾ ĐIỀU KHIỂN ĐƯỢC VÀ ỨNG DỤNG TRONG MÃ HÓA XÁC THỰ[.]

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THỐNG PHOUMIVONG MITHPASA NGHIÊN CỨU HÀM BĂM TRÊN CƠ SỞ MẠNG HOÁN VỊ THAY THẾ ĐIỀU KHIỂN ĐƯỢC VÀ ỨNG DỤNG TRONG MÃ HÓA XÁC THỰC VĂN BẢN LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2020 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THỐNG PHOUMIVONG MITHPASA NGHIÊN CỨU HÀM BĂM TRÊN CƠ SỞ MẠNG HOÁN VỊ THAY THẾ ĐIỀU KHIỂN ĐƯỢC VÀ ỨNG DỤNG TRONG MÃ HÓA XÁC THỰC VĂN BẢN LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Chuyên ngành: Khoa học máy tinh Mã số: 848 0101 Người hướng dẫn khoa học: TS ĐỖ THỊ BẮC Thái Nguyên - 2020 I LỜI CẢM ƠN Trong q trình học tập, nghiên cứu hồn thiện luận văn, tơi nhận động viên, khuyến khích tạo điều kiện giúp đỡ nhiệt tình cấp lãnh đạo, thầy cô giáo, anh chị em, bạn bè đồng nghiệp gia đình Tơi xin bày tỏ lòng biết ơn sâu sắc tới ban giám hiệu nhà trường tạo điều kiện giúp đỡ suốt trình học tập, nghiên cứu sinh hoạt Xin chân thành cảm ơn thầy cô giáo trực tiếp giảng dạy chun đề tồn khóa học hoàn thành luận văn thạc sĩ Các thầy cô truyền đạt cho kiến thức quý giá để tơi có nhận thức Đặc biệt, tơi xin bày tỏ lịng biết ơn sâu sắc tới T.S Đỗ Thị Bắc, giáo viên hướng dẫn trực tiếp bảo, tận tình giúp đỡ tơi suốt tình tiến hành hoạt động nghiên cứu khoa học để hoàn thành luận văn Với thời gian nghiên cứu cịn hạn chế, ngơn ngữ cịn khiêm tốn, luận văn khơng tránh khỏi thiếu sót, tơi mong nhận ý kiến đóng góp chân thành từ thầy cô giáo, đồng nghiệp, bạn bè Thái Nguyên, ngày tháng năm 2020 Tác giả PHOUMIVONG MITHPASA II LỜI CẢM ĐOAN Tôi xin cảm ơn đoan cơng trình nghiên cứu tơi hướng dẫn trức tiếp giáo viên hướng dẫn TS.ĐỖ THỊ BẮC Mọi trích dẫn dụng báo cáo luận văn ghi rõ nguồn tài liệu tham khảo theo qui định Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, xin chịu hoàn toàn trách nhiệm Thái nguyên, ngày tháng năm 2020 Tác giả PHOUMIVONG MITHPASA III MỤC LỤC LỜI CẢM ƠN I LỜI CẢM ĐOAN II MỤC LỤC III DANH MỤC CÁC CHỮ VIẾT TẮT V DANH MỤC CÁC BẢNG VI DANH MỤC CÁC HÌNH VẼ VII MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ HÀM BĂM 1.1 Giới thiệu hàm băm 1.1.1 Định nghĩa hàm băm 1.1.2 Lịch sử phát triển hàm băm 1.1.3 Thuộc tính an tồn hàm băm 1.1.4 Các quan niệm an toàn 1.2 Xu hướng thiết kế 1.2.1 Hàm băm khơng khóa có khóa 1.2.2 Hàm băm lặp 1.2.3 Hàm băm dựa hình 18 1.2.4 Hàm nén 19 1.3 Ứng dụng hàm băm 19 CHƯƠNG 2:KIẾN TRÚC MẠNG CHUYỂN VỊ THAY THẾ ĐIỀU KHIỂN ĐƯỢC 21 2.1 Các phần tử mã hóa điều khiển dựa mạng chuyển vị thay thế21 2.1.1 Các phần tử điều khiển 21 2.1.2 Phân loại phần tử 23 2.1.3 Nhóm phụ phần tử U2/1 với đầu tuyến tính 27 2.2 Các phần tử điều khiển phù hợp với việc thực mạng cổng lập trình dạng trường (FPGA) 31 2.3 Cấu trúc đối xứng, ứng dụng cho mã hóa 38 IV CHƯƠNG 3: XÂY DỰNG VÀ CÀI ĐẶT CHƯƠNG TRÌNH MƠ PHỎNG 46 3.1 Xây dựng yêu cầu phân tích 46 3.2 Thiết kế giao diện chương trình 50 3.3 Xây dựng thư viện liên kết động 51 3.4 Xây dựng Add-In cho phần mềm Microsoftword 51 3.5 Đánh giá hàm băm vòng Ez 53 KẾT LUẬN 55 TÀI LIỆU THAM KHẢO 56 V DANH MỤC CÁC CHỮ VIẾT TẮT Chữ tắt CSPN CE DDP FPGA Nghĩa tiếng Anh Nghĩa tiếng Việt Controlled Substitution Mạng hoán vị thay Permutation Network điều khiển Controlled Element Phần tử điều khiển Data Dependent Permutation Hoán vị phụ thuộc liệu Field Programmable Gate Array Mảng cổng lập trình dạng trường hash-based message mã xác thực thông điệp authentication code băm MAC Message Authentication Code mã xác thực thông điệp MD5 Message-Digest algorithm giải thuật mã hóa tin Nest Message Authentication Mã xác thực tin nhắn Code Nest None Linearity Phi tuyến HMAC NMAC NL NIST National Institute of Standards and Viện Tiêu chuẩn Công Technology PKC Public key code PRF Pseudo Random Functions RIPEMD RACE Integrity Primitives Evaluation Message Digest nghệ quốc gia Hoa kỳ mật mã học với khóa phổ biến Chức ngẫu nhiên giả Thơng báo đánh giá tính tồn vẹn ngun thủy RACE VI DANH MỤC CÁC BẢNG Bảng 1 Một số thuật ngữ hàm băm 𝑦 Bảng Xác suất 𝑝ị𝑘 = Pr⁡(∆𝑗𝑥 → ∆𝑗 /∆𝑣𝑘 ) đặc trưng vi phân phần tử 𝐹2/1 …………………………………………………………………………….27 Bảng 2 Toàn phần tử điều khiển thỏa mãn tiêu chí lựa chọn 28 Bảng Tập đối hợp phi tuyến tính điều khiển 30 𝑦 Bảng Xác suất 𝑝ị𝑘 = Pr⁡(∆𝑗𝑥 → ∆𝑖 /∆𝑣𝑘 ) đặc trưng vi phân phần tử 𝑈2/1 tập {𝑈2/1 } 31 Bảng Các hàm boolean biến 𝑓(𝑥1, 𝑥2, 𝑥3, 𝑥4) phân loại theo giá trị tính phi tuyến 35 Bảng Số lượng phần tử điều khiển 𝐹2/2 với giá trị phi tuyến nguyên khác 35 Bảng Số lượng hợp đối điều khiển 𝐹2/2 với tính phi tuyến nguyên khác 35 Bảng Sự phân bố số xác suất 𝑝𝑖𝑗0 36 Bảng Các tập hợp đối 𝐹2/2 có giá trị entropy trung bình khác 37 Bảng 10 Các phần tử hoán vị điều khiển với cấu trúc đối xứng [3] 43 VII DANH MỤC CÁC HÌNH VẼ Hình 1 Hoạt động hàm băm Hình Sơ đồ biểu diễn thuộc tính khả chống đụng độ, ngăn nghịch ảnh nghịch ảnh thứ Hình Thuật tốn bước đệm Merkle-Damgard .10 Hình cấu trúc Merkle-Damgard 11 Hình 1.5 Tấn cơng đa đụng độ 13 Hình Cấu trúc kim cương 14 Hình 1.7 Cấu trúc NMAC HMAC(2 biến thể cấu trúc 3C) 17 Hình 1.8 cấu trúc Merkle-Damgard có hốn vị 18 Hình 1.9 Cấu trúc mẫu 19 Hình Phần tử 𝐹2/1 : (a) trường hợp tổng quát; (b) qua trình thực hiện; (c) biểu diễn cặp phép 2×2 ; (d) đẳng thức mô tả mối liên hệ b c; (e) hàm Boolean mô tả Phần tử 𝑃2/1 ; (f) vi sai tương ứng với đặc trưng vi phân phần tử 𝐹2/1 22 Hình 2 Mơ tả trực quan tồn loại có hộp S2×2 25 (𝑣,𝑧) Hình 3.Phần tử 𝐹2/2 (a) biểu diễn thành cặp hàm boolean biến (b) thành phép 2×2 (c) .34 Hình 4.Cấu trúc tổng quát phần tử Φ𝑛/𝑚′ 34 Hình Các đặc trưng vi phân có thê phần tử 𝐹2/2 36 −1 −1 Hình Cấu trúc phần tử 𝐹8/12 (a), 𝐹8/12 (b), 𝐹32/96 (c), 𝐹32/96 (d) 41 −1 −1 Hình Cấu trúc phần tử Φ32/96 (a), Φ32/96 (b), Φ64/384 (c) Φ64/384 (d) .42 Hình Cấu trúc phần tử đối xứng 𝐹2𝑛/4𝑚 (a), 𝑃16/32 (b) và𝐹64/256 .42 VIII Hình Các phần tử (a,e), (e,g), (f,i), (p,h), (x,d) .48 Hình Phần tử CP 𝐹8/12 .48 Hình 3 Phần tử CP F18/12 .48 Hình Phần tử F96/1 .49 Hình Phần tử F32/96 (a), F132/96 (b) .49 Hình Phần tử F32/32 .49 Hình Giao diện chương trình .50 Hình Xây dựng thư viện HashDLL.dll 51 Hình Giao diện sử dụng Add-In “Ez Hash Function” word 52 42 −1 −1 Hình Cấu trúc phần tử Φ32/96 (a), Φ32/96 (b), Φ64/384 (c) Φ64/384 (d) Hình Cấu trúc phần tử đối xứng 𝐅𝟐𝒏/𝟒𝒎 (a), 𝐏𝟏𝟔/𝟑𝟐 (b) 𝐅𝟔𝟒/𝟐𝟓𝟔 −1 Ở F𝑛/𝑚 ‖F𝑛/𝑚 phép ghép nối phần tử F𝑛/𝑚 bậc đơn F𝑛/𝑚 F𝑛/𝑚 phần tử nghịch đảo tương hỗ bậc thứ nhất, đối hợp I3 biểu diễn sau: 43 I3 : (1)…(2i-1)…(n/2-1)(2,n/2+1)…(2i,2i+n/2-1)…(n/2,n1)(n/2+2)…(2j+n/2)…(n), i = 1, 2, , n/4 j = 1, 2, , n/4 Ví dụ, trường hợp n = 32, ta có: I3′ : (1)…(2i-1)…(15)(2,17)…(2i,2i+15)…(16,31)(18)…(2j+16)…(32) đây, i = 1, 2, , j = 1, 2, , Do hốn vị I3′ khơng thuộc hốn vị cố định tương ứng với chế xây dựng đệ quy loại 1, 3, cấu trúc F2𝑛/4𝑚 khác với cấu trúc nhận từ chế Tổng quát, với h = n/4, n/16, n/64, (trường hợp ta có số chẵn lớp hoạt động cấu trúc đệ quy mạng) ta thiết lập phần tử F𝒏/𝒎 có cấu trúc đối xứng thỏa mãn điều kiện 𝑠 = log 𝑛ℎ (đây số nhỏ lớp hoạt động số mạng với kích thước đầu vào n bậc h) Một số phần tử số phần tử đối xứng biểu diễn bảng 2.10, ta thấy hàng chéo sau: Bảng 10 Các phần tử hoán vị điều khiển với cấu trúc đối xứng [3] a P2/1  P4/6  P8/20  P16/56  P32/144  P64/352  P128/832  … Hàng tương ứng với phần tử bậc lớn nhất, thiết lập chế đệ quy loại Ở bước đầu tiên, sử dụng phần tử P2/1 bậc lớn b P4/4  P8/16  P16/48  P32/128  P64/320  P128/768 … 44 Hàng tương ứng với giá trị bậc h = n/4, thiết lập chế đệ quy loại Ở bước đầu tiên, sử dụng phần tử P4/4 bậc thứ c P16/32  P32/96  P64/256  P128/640 … Hàng tương ứng với giá trị bậc h = n/16, thiết lập chế đệ quy loại Ở bước đầu tiên, sử dụng phần tử P16/32 bậc thứ (được minh họa hình 2.8b) d P64/192  P128/512 … Hàng tương ứng với giá trị bậc h = n/64, thiết lập chế đệ quy loại Ở bước đầu tiên, sử dụng phần tử P64/192 bậc thứ Hai hàng quy cho cấu trúc tương ứng với chế đệ quy chuẩn, tức tương ứng với chế đệ quy loại 1, 2, Hai hàng cuối quy cho chế khác, bước thiết lập phần tử có cấu trúc khác với cấu trúc chuẩn Tóm lại, với giá trị h n cho trước, có cấu trúc đối xứng khác nhau, cho lớp hoạt động cấu trúc đối xứng phần tử hoán vị điều khiển được đưa bảng 2.10 dùng để thiết kế phần tử đối xứng F𝑛/𝑚 Φ𝑛/𝑚 thuộc loại khác Ngoài cấu trúc đưa bảng 3.10, có số cấu trúc đối xứng khác cho số lớp hoạt động nhỏ với số n cho trước Ví dụ, phần tử F64/256 bậc (xem hình 18c) với cấu trúc đối xứng thiết lập theo cấu trúc sau: Ở đối hợp hoán vị I5 biểu diễn sau: I5 : (1)(2,17)(3,33)(4,49)(5)(6,21)(7,37)(8,53)(9)(10,25)(11,41)(12,57)(13)(14,29) (15,45)(16,61)(18)(19,34)(20,50)(22)(23,38)(24,54)(26)(27,42)(28,58)(30) (31,46) (32,62)(35)(36,51)(39)(40,55)(43)(44,59)(47)(48,63)(52)(56)(60)(64) Hoán vị I5 biểu diễn phép ghép nối đối hợp hoán vị I4 , mà sử dụng để liên kết bậc cao với bậc thấp phần tử P4/4 phần tử P16/32 (xem hình 18b) Thực vậy, hốn vị I4 biểu diễn sau: 45 𝐼4′ : (a)(b,e)(c,i)(d,m)(f)(g,j)(h,n)(k)(l,o)(p) Với z thuộc khoảng {1, 2, 3, 4}, hoán vị 𝐼4′ liên kết phần tử 𝐵𝑧1 , 𝐵𝑧2 , 𝐵𝑧3 , 𝐵𝑧4 với phần tử 𝐵′1𝑧 , 𝐵′2𝑧 , 𝐵′3𝑧 , 𝐵′4𝑧 Ví dụ, trường hợp z = 1, ta có a = 1, b = 2, c =3, d = 4, e = 17, f = 18, g = 19, h = 20, i = 33, j = 34, k = 35, l = 36, m = 49, n = 50, o = 51, p = 52 Hai lớp hoạt động phía phần tử F16/32 thứ i bao gồm xếp tầng 𝐵1𝑖 ‖𝐵2𝑖 ‖𝐵3𝑖 ‖𝐵4𝑖 bốn phần tử F4/4, lớp hoạt động phía bên phần tử 𝑗 𝑗 𝑗 𝑗 −1 𝐹16/32 thứ j bao gồm xếp tầng 𝐵′1 ‖𝐵′2 ‖𝐵′3 ‖𝐵′4 phần tử F4/4 Với giá trị 𝑧 ∈ {1, 2, 3, 4}, phần tử 𝐵𝑧𝑖 với i = 1, 2, 3, liên kết với phần tử 𝑗 𝐵′𝑧 phù hợp với quy tắc “ đầu thứ j phần tử 𝐵𝑧𝑖 liên kết với đầu vào thứ i 𝑗 phần tử 𝐵′𝑧 , với j = 1, 2, 3, 4” Do vậy, phần tử F16/32 có liên kết với −1 phần tử 𝐹16/32 Ta dễ dàng chứng minh phần tử đối xứng F64/256 có bậc Thực vậy, xét phần tử hốn vị điều khiển P64/256 có cấu trúc giống phần tử F64/256 Bốn bit đầu vào phần tử P16/32 thứ i đưa vào đầu 𝑗 𝑗 𝑗 𝑗 vào phần tử 𝐵′1 ‖𝐵′2 ‖𝐵′3 ‖𝐵′4 (ở P64/256 phần tử B biểu thị cho phần tử P4/4), −1 vậy, bit đưa vào phần tử 𝑃16/32 tầng −1 −1 −1 −1 ‖𝑃16/32 ‖𝑃16/32 ‖𝑃16/32 độc lập với bit khác Nếu vài bit đươc dưa 𝑃16/32 −1 vào phần tử 𝑃16/32 tất bit đưa vào phần tử 𝐵′ khác −1 Ví dụ, bit đươc đưa vào phần tử 𝑃16/32 Do chúng đưa vào phần tử 𝐵′ khác nên chúng di chuyển tới hàng số đầu −1 phần tử 𝑃16/32 46 CHƯƠNG 3: XÂY DỰNG VÀ CÀI ĐẶT CHƯƠNG TRÌNH MƠ PHỎNG 3.1 Xây dựng u cầu phân tích Mơ tả tốn Xây dựng modul chương trình ứng dụng hàm băm sở mạng hoán vị thay điều khiển việc kiểm tra tính tồn vẹn, tính chống từ chối, tính xác thực văn nói chung Các bước triển khai Áp dụng thuật tốn hàm băm vịng Ez để xây dựng chương trình hàm băm Dữ liệu đầu vào xử lý thành chuỗi bit Chuỗi bit dùng làm đầu vào cho hàm băm Kết thu mã băm có độ dài 128 bit Chuyển đổi chương trình thành thư viện liên kết động HashDLL.dllnhằm tái sử dụng ứng dụng vào chương trình khác Xây dựng phần mềm nhúng (Add-In) vào chương trình MicrosoftWord sử dụng thư viện liên kết động để lấy mã băm nội dung file word Thuật toán thực [1] Việc xây dựng mã hóa hàm băm tương tự việc xây dựng thuật tốn mã hóa đĩa, ngoại trừ chuỗi giả ngẫu nhiên 𝑄̄ = (𝑞0 , 𝑞1 , , 𝑞2050 ), qi – từ 8bit, i = 0,1,…,2050, trường hợp thuật tốn mã hóa hàm băm biết, trường hợp mã hóa mà đóng vai trị khóa mở rộng Từ chuỗi chọn từ 32 bit 𝑄𝑗 = 𝑞𝑗+3 ‖𝑞𝑗+2 ‖𝑞𝑗+1 ‖𝑞𝑗 , j = 0,1,…,2047, dấu || ký hiệu tốn tử ghép Chuỗi giả ngẫu nhiên lưu giữ dạng rõ ràng gia cơng với việc sử dụng thuật tốn cho theo tham số cho Trong trình bày thuật tốn hàm băm vịng sử dụng chuỗi 𝑄̄ , hình thành nhờ thủ tục TableQ, mà sử dụng thủ tục Initialize, ChangeNVUY 47 -Bước 1: Thêm bit vào sau chuỗi bit đầu vào, cho chuỗi bit đầu vào bội số 128 Khối bit đầu vào chia thành khối Mi, khối có độ dài 128 bit -Bước 2: Thực thủ tục TableQ () để khởi tạo giá trị TableQ () để khởi tạo giá trị cho chuỗi giả ngẫu nhiên Q -Bước 3: Thực biến đổi khối Mi Giá trị nhận sau biến đổi khối xác định theo công thức truy hồi: ℎ𝑖 = 𝐸(𝑀𝑖 ⊕ ℎ𝑖−1 ) ⊕ 𝑀𝑖 , 𝑖 = 1,2, , 𝑛 với h0 giá trị ban đầu Hàm băm vịng Ez với đầu vào tham số hóa: Đầu vào E: Khối số liệu Mi trình bày chuỗi từ 32 bit ̄ 𝑖 : (𝑊 ̄ 0, 𝑊 ̄ 1, , 𝑊 ̄ 𝑧−1 ) 𝑊 Thiết lập giá trị kích thước khối số liệu 𝑆 ← 𝑧; Thiết lập đếm 𝑗 ← 6; Thực thủ tục Initialize; Thiết lập đếm thứ hai 𝑘 ← 0; Thực thủ tục ChangeNVUY; Biến đổi từ thời: 𝑊𝑘 ← (𝑊𝑘 +32 𝑉) ⊕ 𝑈; Biến đổi biến R: 𝑅 ← 𝑅+32 𝑊𝑘 ; Kết thúc biến đổi từ thời 𝑊𝑘 : 𝑊𝑘 ← 𝑃(𝑉,0) (𝑊𝑘 )+32 𝑌; Gán đếm thứ hai 𝑘 ← 𝑘 + Nếu 𝑘 ≠ 𝑆, chuyển đến bước thứ 5; Giảm giá trị đếm thứ 𝑗 = 𝑗 − Nếu j ≠ 0, chuyển tới bước 4, trường hợp ngược lại STOP Đầu E: Giá trị hàm băm vòng thứ i : ℎ𝑖 = 𝑊𝑧−1 ∥ ∥ 𝑊1 ∥ 𝑊0 Phân tích mơ dul chương trình - private void P2_1_0 (int x1, int x2), private void P2_1_1 (int x1, int x2): Thực biến đổi hốn vị bít đầu vào thành bít đầu bit điều khiển tương ứng 48 Hình Các phần tử (a,e), (e,g), (f,i), (p,h), (x,d) - public int[] P_8_12_A(int[] in812, int[] v812): Thực thủ tục P8/12 Hình Phần tử CP F¬8/12 - public int [] P_8_12_B(int [] in812, int[] v812): Thực thủ tục P-1 8/12 Hình 3 Phần tử CP F18/12 - private void E(int [] L1) : hàm sinh vector điều khiển V1 …V6 theo chuỗi điều khiển L - private void P961(int[] VV1, int[] VV2, int[] VV3, int[] VV4, int[] VV5, int[] VV6, int e): Thực chuyển vị V1 …V6 theo bit e (e=0: mã hóa, e=1: giải mã) 49 Hình Phần tử F96/1 - private int[] P_32_96(int[] in3296) : Thực hoán vị 32 bit đầu vào theo 96 bit điều khiển Hình Phần tử F32/96 (a), F132/96 (b) - private int[] P32_32(int[] in3232, int[] L1, int e) : phần tử hoán vị P32/32 Hình Phần tử F32/32 50 - private void TableQ():Thực thủ tục TableQ() tạo chuỗi giả ngẫu nhiên - private void Initialize():khởi tạo giá trị cho biến 32 bit R,V,N,U,Y - private void ChangeNVUY(): Thay đổi biến N,V,U,Y theo R - private string Ez(string str): Thực hàm băm vòng Ez biến đổi khối Mi - private string Hash(string input): Thực thủ tục băm với chuỗi đầu vào 3.2 Thiết kế giao diện chương trình - Nhấn nút “Open file” để chọn file văn đầu vào, văn đầu vào thể “Input” - Tích chọn phần tử (a,e), (e,g), (f,i), (p,h), (x,d) - Nhấn nút “Get Hash” để lấy mã băm văn bản, mã băm nằm ô “Output” - Nhấn nút “Save log” để lưu mã băm Hình Giao diện chương trình 51 3.3 Xây dựng thư viện liên kết động Từ chương trình xây dựng được, chuyển đổi mã nguồn thành thư viện liên kết động HashDLL.dll, dễ dàng cho việc sử dụng hàm băm vòng Ez vào chương trình khác Hình Xây dựng thư viện HashDLL.dll 3.4 Xây dựng Add-In cho phần mềm Microsoftword Sử dụng thư viện HashDLL.dll xây dựng vào việc viết Add-In lấy mã băm nội dung cho phần mềm Microsoftword, Để kiểm tra tính tồn vên văn Sau cài đặt Add-In, từ giao diện phần mềm Word, chọn tab Add-In Trong Group-box “Ez hash function”, lựa chọn phương thức mã hóa “Select 52 Fn/m”, sau nhấn nút “Get Hash Code” ta mã băm nội dung văn “Hash code” Tính Modul Add-In : - Ô Select Fn/m : chọn phân tư (a,e),(e,g),(f,i),(p,h),(x,d) - Nút Get Hash Code : để lấy mã băm văn bản, mã băm nằm Hash Code - Ơ HashCode : mã giá trị băm - Nút Check integrity : kiểm tra File sửa hay khơng Hình Giao diện sử dụng Add-In “Ez Hash Function” word Quá trình kiểm tra bên người gửi người nhận: Bên người gửi: người gửi, gửi cho người nhận file văn cần gửi mã giá trị băm lấy ô Hash Code Bên người nhận: để kiểm tra văn nhận có đảm bảo tồn vẹn hay khơng thao tác sau: 53 - Xác định giá trị băm văn nhận - Chuyển giá trị băm mà người gửi gửi cho vào ô HashCode - Nhấn nút Check Integrity - Kết kiểm tra: nhận giá trị nội dụng “Fail” văn bị chỉnh sửa thay đổi; nhận giá trị “Pass” thị văn nhận đảm bảo tính tồn vẹn 3.5 Đánh giá hàm băm vịng Ez[3] Việc xây dung hàm băm lặp nhà khoa học chứng minh tổng hợp thành 12 công thức [5] để đáp ứng tiêu chuẩn hàm băm tính an tồn Hàm băm Ez mơ tả sử dụng công thức thứ để triển khai thực Cũng mà độ an tồn Ez đương nhiên Tuy nhiên, với Ez cịn có số điểm mạnh sau : 1.) Về tính chiều Đặc tính chiều biến đổi nhờ thuật toán cho xác định sau: biến khởi đầu R, V N thực trước vòng thứ biến đổi từ Wk Bởi giải mã đòi hỏi biết giá trị khởi đầu biến, thuật tốn khơng quay ngược trở lại, tức theo giá trị đầu khó để tính tốn khơi phục giá trị đầu vào 2.) Về giá trị khởi tạo Việc chọn giá trị cụ thể biến N, V, U, Y R cho trạng thái cụ thể chế mã hóa hàm băm Số lượng trạng thái chế số lớn – 2160 Hiệu ứng thác lũ mở rộng thay đổi vài từ Wk chuyển đổi thành từ Wk+1 Điều liên quan đến ba yếu tố: 1) bit từ ảnh hưởng tới việc chọn phần tử từ chuỗi giả ngẫu nhiên ℤ̄ , 2) biến dạng từ Wk dẫn đến thay đổi biến R 3) thay đổi giá trị thời biến R kéo theo tự thay đổi giá trị Sự thay đổi đầu vào biến đổi tích lũy vào lưu giữ biến R,V,Y,U N Nhờ điều sau vòng biến 54 đổi thứ chọn từ bảng phụ thuộc cách phức tạp vào bit khối đầu 3.) Về tính mềm dẻo Hàm vịng tổ chức cho dễ dàng mơ theo kích thước khối liệu đầu Việc tính tốn giá trị hàm băm từ văn 𝑀 = (𝑀1 , 𝑀2 , , 𝑀𝑛 ), mà trình bày khối Mi nối liên tiếp Ở khối Mi có kích thước (khi cần thiết khối liệu cuối cần bổ sung thêm bit để trở thành khối có kích thước theo tiêu chuẩn) Giá trị nhận sau biến đổi khối xác định theo công thức truy hồi sau: ℎ𝑖 = 𝐸(𝑀𝑖 ⊕ ℎ𝑖−1 ) ⊕ 𝑀𝑖 , 𝑖 = 1,2, , 𝑛,ở E – hàm băm vòng xây dựng trên; hn – giá trị hàm băm đầu (cũng gọi mã hàm băm, tóm lược) văn M 55 KẾT LUẬN Qua đợt làm luận văn này, em tìm hiểu số kiến thức mạng hoán vị điều khiển dựa lệnh bit, cài đặt mơ thành cơng thuật tốn băm dựa mạng hoán vị điều khiển phần mềm Xây dựng thư viện HashDLL.dll thuận tiện cho viện sử dụng hàm băm vào chương trình sau Xây dựng ứng dụng kiểm tra tính toàn vẹn văn Microsoft Word Tuy nhiên, hạn chế thời gian kinh nghiệm, nên chương trình chưa thực hoạt động nhanh mong muốn, chưa tìm hiểu sâu sắc số kiến trúc có liên quan, mong giúp đỡ đóng góp thầy bạn Hướng phát triển em tiến tới lập trình mơ thuật tốn phần cứng, tìm hiểu thêm kiến trúc khác 56 TÀI LIỆU THAM KHẢO Tiếng việt: [1] Đỗ Thị Bắc, Moldovyan Y.A., TS Moldovyan P.A., TS Nguyễn Hiếu Minh, "Xây dựng hàm băm tốc độ cao sở chuyển vị điều khiển được" Các vấn đề bảo mật thông tin Tập 2; Số 89, năm 2010, trang 2-6; [2] Hồ Ngọc Duy, Đỗ Thị Bắc, Молдовян А.А., Молдовян Д.Н “Các thuật toán mã khối tốc độ cao sở mạng hoán vị-thay điều khiển được” Các vấn đề bảo mật thông tin Tập 2; Số 89, năm 2010, trang 7-17; [3] Đỗ Thị Bắc, Nguyễn Hiếu Minh, “Về hàm băm mềm dẻo”, Tạp chí khoa học công nghệ - Đại học Thái Nguyên Tập 169, số 09, T 209-215, Năm 2017 Tiếng Anh: [4] B Prenee, J Vandewalle, “Analysis and design of cryptographic hash functions, mac algorithms and block ciphers”, 2004, Van Rompay [5] Nikolay A Moldovyan, Alexander A Moldovyan, “Data-Driven Block ciphers for fast telecommunication systems” 2008, Auerbach Publications – Taylor & Francis Group a informa business 270 Madison Avenue New York, NY 10016, ISBN 14200-5411-2

Ngày đăng: 23/06/2023, 20:23

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

Tài liệu liên quan