An Toàn Và Bảo Mật Thông Tin

37 47 0
An Toàn Và Bảo Mật Thông Tin

Đ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

Chương 1: Một số khái niệm cơ bản1.1. CÁC KHÁI NIỆM TRONG TOÁN HỌC1.1.1. Một số khái niệm trong số học1.1.1.1. Số nguyên tố1.1.1.2. Ước số và bội số1.1.1.3. Ước số chung và bội số chung1.1.1.4. Số nguyên tố cùng nhau1.1.1.5. Khái niệm Đồng dư1.1.2. Một số khái niệm trong đại số1.2. VẤN ĐỀ MÃ HÓA DỮ LIỆU.1.2.1. Khái niệm Mã hóa1.2.2. Phân loại mã hóa1.2.2.1. Hệ mã hóa khóa đối xứng1.2.2.2. Hệ mã hóa khóa công khai1.3. VẤN ĐỀ CHỮ KÝ SỐ1.3.1. Khái niệm “chữ ký số”.1.3.1.1. Giới thiệu “chữ ký số”1.3.1.2. Sơ đồ “chữ ký số”.1.3.2. Phân loại chữ ký số”1.3.2.1. Phân loại chữ ký theo đặc trưng kiểm tra chữ ký1.3.2.2. Phân loại chữ ký theo mức an toàn1.3.2.3. Phân loại chữ ký theo ứng dụng đặc trưngChương 2: Tấn công chữ ký số2.1. TẤN CÔNG CHỮ KÝ RSA2.1.1. Mô tả sơ lược2.1.2. Tạo khóa2.1.3. Mã hóa và giải mã2.1.3.1. Mã hóa2.1.3.2. Giải mã2.1.4. Các phương thức tấn công2.1.4.1. Tấn công dựa trên thời gian2.1.4.2. Tấn công lựa chọn thích nghi bản mã2.1.5. Ứng dụng mã hóa theo chữ ký số RSA2.1.5.1. Thuật giải mã hóa2.1.5.2. Thực nghiệm chương trình mã hóa theo chữ ký số RSA2.2. TẤN CÔNG CHỮ KÝ MD52.2.1. Khái quát về thuật toán MD52.2.2. Các ứng dụng quan trọng của MD52.2.3. Thuật giải2.2.4. Cấu trúc thuật toán MD5...........

AN TỒN VÀ BẢO MẬT THƠNG TIN HÀ NỘI - 2019 MỤC LỤC Chương 1: Một số khái niệm 1.1 CÁC KHÁI NIỆM TRONG TOÁN HỌC 1.1.1 Một số khái niệm số học 1.1.1.1 Số nguyên tố 1.1.1.2 Ước số bội số 1.1.1.3 Ước số chung bội số chung 1.1.1.4 Số nguyên tố 1.1.1.5 Khái niệm Đồng dư 1.1.2 Một số khái niệm đại số 1.2 VẤN ĐỀ MÃ HÓA DỮ LIỆU 1.2.1 Khái niệm Mã hóa 1.2.2 Phân loại mã hóa 1.2.2.1 Hệ mã hóa khóa đối xứng 1.2.2.2 Hệ mã hóa khóa cơng khai 10 1.3 VẤN ĐỀ CHỮ KÝ SỐ 12 1.3.1 Khái niệm “chữ ký số” 12 1.3.1.1 Giới thiệu “chữ ký số” 12 1.3.1.2 Sơ đồ “chữ ký số” 13 1.3.2 Phân loại chữ ký số” 14 1.3.2.1 Phân loại chữ ký theo đặc trưng kiểm tra chữ ký 14 1.3.2.2 Phân loại chữ ký theo mức an toàn 14 1.3.2.3 Phân loại chữ ký theo ứng dụng đặc trưng 14 Chương 2: Tấn công chữ ký số 16 2.1 TẤN CÔNG CHỮ KÝ RSA 16 2.1.1 Mô tả sơ lược 16 2.1.2 Tạo khóa 16 2.1.3 Mã hóa giải mã 18 2.1.3.1 Mã hóa 18 2.1.3.2 Giải mã 18 2.1.4 Các phương thức công 18 2.1.4.1 Tấn công dựa thời gian 19 2.1.4.2 Tấn công lựa chọn thích nghi mã 20 Trang - 2.1.5 Ứng dụng mã hóa theo chữ ký số RSA 21 2.1.5.1 Thuật giải mã hóa 21 2.1.5.2 Thực nghiệm chương trình mã hóa theo chữ ký số RSA 21 2.2 TẤN CÔNG CHỮ KÝ MD5 22 2.2.1 Khái quát thuật toán MD5 22 2.2.2 Các ứng dụng quan trọng MD5 22 2.2.3 Thuật giải 22 2.2.4 Cấu trúc thuật toán MD5 23 2.2.5 Những Lỗ Hổng 23 2.2.6 Ứng dụng mã hóa theo chữ ký số MD5 25 2.2.6.1 Thuật giải mã hóa 25 2.2.6.2 Thực nghiệm chương trình mã hóa theo chữ ký số MD5 26 2.3 TẤN CÔNG CHỮ KÝ DES 28 2.3.1 Tổng quát 28 2.3.1.1 Hàm Feistel (F) 29 2.3.1.2 Quá trình tạo khóa 30 2.3.2 Các loại công phổ biến 31 2.3.2.1 Tấn công brute-force (vét cạn) 31 2.3.2.2 Các kiểu công khác hiệu phương pháp brute-force 32 2.3.3 Một vài đặc điểm cách giải mã 33 2.3.4 Ứng dụng mã hóa theo chữ ký số DES 34 2.3.4.1 Thuật giải mã hóa 34 2.3.4.2 Thực nghiệm chương trình mã hóa theo chữ ký số DES 35 TÀI LIỆU THAM KHẢO 37 Trang - DANH SÁCH CÁC HÌNH Hình 1.1 10 số ngun tố lớn tìm thấy Hình 1.2 Mã hố giải mã Hình 2.1 Thực nghiệm chương trình theo chữ ký số RSA 21 Hình 2.2.1 Thực nghiệm tạo sở liệu chữ ký số MD5 26 Hình 2.2.2 Thực nghiệm chương trình theo chữ ký MD5 27 Hình 2.3.1 Thực nghiệm tạo sở liệu chữ ký số MD5 27 Hình 2.3.2 Thực nghiệm chương trình theo chữ ký MD5 27 Hình 2.4 Cấu trúc thuật tốn Feistel dùng DES 28 Hình 2.5 Hàm F (F-function) dùng DES 29 Hình 2.6 Quá trình tạo khóa DES 30 Hình 2.7 Hệ thống phá mã DES 31 Hình 2.8.1 Thực nghiệm chương trình mã hóa theo chữ ký số DES 35 Hình 2.8.2 Thực nghiệm lỗi chương trình theo chữ ký DES 35 Hình 2.9 Thực nghiệm chương trình theo chữ ký DES, RSA MD5 36 Trang - Chương 1: Một số khái niệm 1.1 CÁC KHÁI NIỆM TRONG TOÁN HỌC 1.1.1 Một số khái niệm số học 1.1.1.1 Số nguyên tố a) Khái niệm Số nguyên tố số tự nhiên lớn có hai lớp b) Ví dụ Các số 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37 số nguyên tố Số số nguyên tố chẵn Số nguyên tố có vai trò ý nghĩa to lớn số học lý thuyết mật mã Bài tốn kiểm tra tính nguyên tố số nguyên dương n phân tích số n thừa số nguyên tố tốn quan tâm Ví dụ: 10 số nguyên tố sau: Rank Prime 32582657 Digits Who When Reference -1 9808358 G9 2006 Mersenne 44?? 230402457 - 9152052 G9 2005 Mersenne 43?? 225964951 - 7816230 G8 2005 Mersenne 42?? 224036583 - 7235733 G7 2004 Mersenne 41?? 220996011 - 6320430 G6 2003 Mersenne 40?? 213466917 - 4053946 G5 2001 Mersenne 39?? 19249.213018586 +1 3918900 SB10 2007 27653.29167433 + 2759677 SB8 2005 28433.27830457 +1 2357207 SB7 2004 10 33661.27031232 +1 2116617 SB11 2007 Hình 1.1 10 số nguyên tố lớn tìm thấy 1.1.1.2 Ước số bội số a) Khái niệm Cho hai số nguyên a b, b + Nếu có số nguyên q cho a = b*q, ta Trang - nói a chia hết cho b, kí hiệu b\a Ta nói b ước a, a bội b b) Ví dụ Cho a= 6, b = 2, ta có = 2*3, ký hiệu 2\6 Ở ước bội Cho số nguyên a, b = 0, tồn cặp số nguyên (q, r) (0 < < /b/) cho a=b*q+r Khi gọi thương nguyên, r gọi số dư phép chia a cho b Nếu I=0 ta có phép chia hết Ví dụ: Cho a = 13, b =5, ta có 13 = 5*2 + Ở thương q= 2, số dư = 1.1.1.3 Ước số chung bội số chung a) Khái niệm Số nguyên d gọi ước chung số nguyên a,a, ,a, ước tất số Số nguyên m gọi bội chung số nguyên a,a, ,a,, bội tất số Một ước chung d> số nguyên a ,a,, ,a,, ước chung a,a,, ,a, ước d, d gọi ước chung lớn (UCLN) a,a, ,a, Ký hiệu d= gcd (a,a, ,a, hay d=UCLN(a,a, ,a,) Một bội chung m > số nguyên a ,a,, ,a, bội chung a,a, ,a, bội m, m gọi bội chung nhỏ (BCNN) a,a, ,a, Ký hiệu m = 1cm( a,a, ,a,) hay m = BCNN( a,a, ,a,) b) Ví dụ: Cho a = 12, b = 15, ged(12, 15) = 3, Icm(12, 15) = 60 1.1.1.4 Số nguyên tố a) Khái niệm Nếu gcd( ,a, ,a,)= 1, số a,a, ,a, gọi nguyên tố Trang - b) Ví dụ: Hai số 13 nguyên tố nhau, gcd(8, 13)= 1.1.1.5 Khái niệm Đồng dư a) Khái niệm Cho hai số nguyên a, b, c (m > 0) Ta nói a b “đồng dư” với theo modulo m, chia a b cho m, ta nhận số dư Ký hiệu: a = b (mod m) b) Ví dụ: 17 = (mod 3) chia 17 cho 3, số dư 1.1.2 Một số khái niệm đại số a) Nhóm Nhóm bội (G, *), G 48, * phép tốn hai ngồi thỏa mãn ba tính chất sau: + Phép tốn có tính kết hợp: (x*x)*2=x*(y+z) với x, y, z + G + Có phần tử trung lập e & G; x*e = e*x = x với x G +Với x G, có phần tử nghịch đảo xe G: x*x^ = x^*x = e Cấp nhóm G hiểu số phần tử nhóm, ký hiệu G Cấp nhóm G có vơ hạn phần tử Nhóm Abel nhóm (G, *), phép tốn hai ngơi * có tính giao hốn Tính chất: Nếu a+b = a*c, b = c Nếu a*c = b*c, a = b b) Ví dụ * Tập hợp số nguyên Z với phép cộng (+) thơng thường nhóm giao hốn, có phần tử đơn vị số Gọi nhóm cộng số nguyên * Tập Q số hữu tỷ khác (hay tập Ro số thực khác 0), với phép nhân (*) thơng thường nhóm giao hốn Gọi nhóm nhân số hữu tỷ (số thực) khác Trang - * Tập vectơ khơng gian với phép tốn cộng vectơ nhóm giao hốn 1.2 VẤN ĐỀ MÃ HĨA DỮ LIỆU 1.2.1 Khái niệm Mã hóa Để bảo đảm An tồn thơng tin (ATTT) lưu trữ máy tính (giữ gìn thơng tin cố định) hay bảo đảm An tồn thơng tin đường truyền tin (trên mạng máy tính), người ta phải “Che Giấu” thông tin “Che” thông tin (dữ liệu) hay “Mã hóa” thơng tin thay đổi hình dạng thơng tin gốc, người khác “khó nhận “Giấu” thông tin (dữ liệu) cất giấu thông tin tin khác, người khác “khó” nhận Trong phần bàn “Mã hóa” thơng tin a) Hệ mã hóa: Việc mã hóa phải theo quy tắc định, quy tắc gọi Hệ mã hóa Hệ mã hóa định nghĩa năm (P, C, K, E, D), đó: P tập hữu hạn rõ C Là tập hữu hạn mã K tập hữu hạn khóa E tập hữu hạn hàm lập mã D tập hàm giải mã Với khóa lập mã ke K, có hàm lập mã e, e E, e: P+C, Với khóa giải mã kd K, có hàm giải mã dự D, d, C P, cho d(eg (x)) = x, V x P Ở x gọi rõ, e (x) gọi mã b) Mã hóa Giải mã: Hình 1.2 Mã hoá giải mã Trang - Người gửi G muốn gửi tin T cho người nhận N Để bảo đảm bí mật, G mã hóa tin khóa lập mã ke, nhận mã e (T), sau gửi cho N Tên tặc trộm mã e (T), “khó” hiểu tin gốc T khơng có khóa giải mã kd Người N nhận mã, họ dùng khóa giải mã kd, để giải mã e, (T), nhận tin gốc T = d(ek (T)) 1.2.2 Phân loại mã hóa Hiện có loại mã hóa chính: mã hóa khóa đối xứng mã hóa khóa cơng khai Hệ mã hóa khóa đối xứng có khóa lập mã khóa giải mã “giống nhau”, theo nghĩa biết khóa “dễ tính khóa Vì phải giữ bí mật khóa Hệ mã hóa khói cơng khai có khóa lập mã khác khóa giải mã (ke + kd), biết khóa “khó” tính khóa Vì cần bí mật khóa giải mã, cịn cơng khai khóa lập mã 1.2.2.1 Hệ mã hóa khóa đối xứng Mã hóa khóa đối xứng Hệ mã hóa mà biết khóa lập mã “dễ tính khóa giải mã ngược lại Đặc biệt số Hệ mã hóa có khóa lập mã khóa giải mã trùng (ke = kd), Hệ mã hóa “dịch chuyển” hay DES Hệ mã hóa khóa đối xứng cịn gọi Hệ mã hóa khóa bí mật, hay khóa riêng, phải giữ bí mật cá khóa Trước dùng Hệ mã hóa khóa đối xứng, người gửi người nhận phải thỏa thuận thuật tốn mã hóa khóa chung (lập mã hay giải mã), khóa phải giữ bí mật Độ an tồn Hệ mã hóa loại phụ thuộc vào khóa Ví dụ: + Hệ mã hóa cổ điển Mã hóa khóa đối xứng: dễ hiểu, dễ thực thi, có độ an tồn khơng cao Vì giới hạn tính tốn phạm vi bảng chữ cái, sử dụng tin cần mã, ví dụ 2, dùng chữ tiếng Anh Với hệ mã hóa cổ điển, biết khóa lập mã hay thuật tốn lập mã, dễ” xác định rõ, “dễ tìm khóa giải mã Trang - + Hệ mã hóa DES (1973) Mã hóa khóa đối xứng đại, có độ an toàn cao a) Đặc điểm Hệ mã hóa khóa đối xứng Ưu điểm: Hệ mã hóa khóa đối xứng mã hóa giải mã nhanh Hệ mã hóa khóa cơng khai Hạn chế: + Mã hóa khóa đối xứng chưa thật an tồn với lý sau: Người nhận mã hóa người giải mã phải có “chung” khóa Khóa phải giữ bí mật tuyệt đối, biết khóa “dễ” xác định khóa ngược lại + Vấn đề thỏa thuận khóa quản lý khóa chung khó khăn phức tạp Người gửi người nhận phải thống với khóa Việc thay đổi khóa khó dễ bị lộ Khóa chung phải gửi cho kênh an toàn Mặt khác hay người (lập mã, giải mã) biết “chung” bí mật, khó giữ bí mật! b) Nơi sử dụng Hệ mã hóa khóa đống xứng Hệ mã hóa khóa đối xứng thường sử dụng mơi trường mà khóa chung dễ dàng trao chuyển bí mật, chẳng hạn mạng nội Hệ mã hóa khóa đối xứng thường dùng để mã hóa tin lớn, tốc độ mã hóa giải mã nhanh Hệ mã hóa khóa cơng khai 1.2.2.2 Hệ mã hóa khóa cơng khai Hệ mã hóa khóa phi đối xứng Hệ mã hóa có khóa lập mã khóa giải mã khác (ke + kd), biết khóa “khó” tính khóa Hệ mã hóa cịn gọi Hệ mã hóa khóa cơng khai, vì: Khóa lập mã cho cơng khai, gọi khóa cơng khai (Public key) Khóa giải mã giữ bí mật, cịn gọi khóa riêng (Private key) hay khóa bí mật Một người dùng khóa cơng khai để mã hóa tin, người có khóa giải mã có khả đọc rõ Hệ mã hóa Trang - 10 - Phần cịn lại sẻ lấp đầy số nguyên 64 bit biểu diển chiều dài ban đầu thông điệp 2.2.4 Cấu trúc thuật tốn MD5 Thuật tốn MD5 hoạt động 128 bit Chia nhỏ thành từ 32 bit, kí hiệu A,B,C D Các giá trị số cố định Sau thuật tốn sẻ ln phiên hoạt động khối 512 bit Mỗi khối sẻ phối hợp với Quá trình xữ lý khối thông điệp bao gồm bước tương tự nhau, gọi vòng (“round”) Mỗi vòng lại gồm 16 trình tương tự dựa hàm chiều F, phép cộng module phép xoay trái… Hình bên mơ tả q trình vịng Có hàm chiều F sử dụng Mỗi vòng sử dụng hàm khác Hàm băm MD5 (cịn gọi hàm tóm tắt thơng điệp - message degests) trả chuổi số thập lục phân gồm 32 số liên tiếp Dưới ví dụ mơ tả kết thu sau băm MD5("The quick brown fox jumps over the lazy dog") = 9e107d9d372bb6826bd81d3542a419d6 Thậm chí cần thay đổi nhỏ làm thay đổi hoàn toàn kết trả về: MD5("The quick brown fox jumps over the lazy cog") = 1055d3e698d289f2af8663725127bd4b Ngay chuổi rổng cho kết phức tạp: MD5("") = d41d8cd98f00b204e9800998ecf8427e 2.2.5 Những Lỗ Hổng Bất thuật tốn mã hóa bị giải mã Với MD5, từ năm 1996, người ta tìm thấy lỗ hổng Mặc dù lúc cịn chưa rõ ràng chuyên gia mã hóa nghĩ đến việc phải đưa thuật giải khác, SHA-1… Và gần đây, giới mã hố xơn xao với thơng tin thuật toán bên nhiều ứng dụng bảo mật thông dụng, chữ ký điện tử, có lỗ hổng (trong Trang - 23 có MD5) Mọi chuyện năm, nhà khoa học máy tính người Pháp Antoine Joux phát lỗ hổng thuật toán phổ biến MD5, thường dùng cơng nghệ chữ ký điện tử Ngay sau đó, bốn nhà nghiên cứu người Trung Quốc lại phát hành cơng trình nghiên cứu cách xun phá thuật tốn thứ hai có tên SHA0 Tuy giai đoạn nghiên cứu sơ song phát tạo điều kiện để kẻ xấu cài chương trình cửa sau (backdoor) bí mật vào mã máy tính, giả mạo chữ ký điện tử Trừ phi thuật toán mới, bảo mật xây dựng đưa vào sử dụng! Một phát thứ ba, đón đợi đánh giá cao công bố hội thảo Crypto Hai nhà nghiên cứu Eli Biham Rafi Chen Viện Công nghệ Israel diễn thuyết cách nhận dạng hình thức công vào chức bảo mật thuật tốn SHA-0, thuật tốn có sơ hở Những lỗ hổng bảo mật cho "nghiêm trọng" bên thuật toán SHA0 SHA-1, tuỳ thuộc vào mức độ chi tiết phần trình bày, làm chấn động ngành bảo mật Từ trước tới nay, SHA-1 coi chuẩn mực "vàng" thuật toán Nó tích hợp bên nhiều chương trình thông dụng PGP SSL, chứng thực Viện Chuẩn Cơng nghệ Quốc gia thuật tốn chữ ký điện tử Cơ quan Chuẩn Chữ ký Số phủ Mỹ phê chuẩn Cả ba thuật toán MD5, SHA-0 SHA-1 giới khoa học máy tính coi "đa chức năng" Chúng nhận dạng liệu đầu vào, từ tin nhắn email hạt nhân (kernel) hệ điều hành, tạo dấu vân tay số Chỉ thay đổi ký tự bên file đầu vào tạo dấu vân tay hoàn toàn khác Các ứng dụng bảo mật dựa vào tính "dấu vân tay nhất" làm Tuy nhiên, kẻ cơng tạo dấu vân tay "Dolly" với dòng liệu đầu vào khác, dấu vân tay "sinh sản vơ tính" khiến phần mềm bị gài backdoor nhận dạng nhầm Kết chúng tạo chữ ký giả để vét tài khoản ngân hàng người sử dụng không may Tất nhiên, từ lâu, giới nghiên cứu Trang - 24 hiểu khơng có thuật tốn mã hố thực tiễn tuyệt đối an toàn bảo mật Tuy vậy, họ nỗ lực thiết kế thuật toán mà thời gian cần để tạo dấu vân tay "Dolly" vô tận, với hy vọng kẻ cơng nản lịng Thế sơ hở tương tự SHA0 tìm thấy SHA-1, điều đồng nghĩa với việc tốc độ giả mạo dấu vân tay đẩy nhanh lên 500 triệu lần, hoàn toàn tầm tay mạng máy tính tốc độ cao Tuy mức độ tác hại trầm trọng song sơ hở bảo mật thuật tốn MD5 có lẽ lại gây hậu tức Sản phẩm máy chủ Apache Web nguồn mở sử dụng MD5 để kiểm duyệt website có mã nguồn chưa bị chỉnh sửa, từ an tồn chạy máy Tương tự, sở liệu Solaris Sun Microsystems, với khả mà theo hãng tự nhận "xác minh file đích thực khơng phải phiên bị điều chỉnh để hạ gục hệ thông bảo mật'' Lỗ hổng phát MD5 cho phép kẻ công tạo file giả mạo vài với máy tính đạt chuẩn "Giờ đây, người ta chứng minh thuật tốn có lỗ hổng Trước kẻ cơng lợi dụng khai thác được, đến lúc phải dần việc sử dụng MD5.'' - nhà phân tích Hughes Viện Chuẩn Công nghệ Quốc gia nhận định 2.2.6 Ứng dụng mã hóa theo chữ ký số MD5 2.2.6.1 Thuật giải mã hóa Chúng ta có hàm băm lớp java.security.MessageDigest Ý tưởng để khởi tạo MessageDigest với loại thuật tốn mà tơi muốn sử dụng làm đối số cho Singleton: MessageDigest.getInstance(String Algorithm) Và sau tiếp tục cập nhật thơng báo cách sử dụng hàm update () file: public void update(byte [] input) Các chức gọi nhiều lần nói bạn đọc tập tin dài Cuối cùng, cần sử dụng hàm digest để tạo mã băm: public byte[] digest() Trang - 25 Dưới ví dụ tạo băm cho mật sau xác minh nó: 2.2.6.2 Thực nghiệm chương trình mã hóa theo chữ ký số MD5 Đâu tiên tạo liệu với tên data có nội dung “Nguyen Van Nam” hình Hình 2.2.1 Thực nghiệm tạo sở liệu chữ ký số MD5 Kết thực nghiệm Trang - 26 Hình 2.2.2 Thực nghiệm chương trình theo chữ ký MD5 Nhìn hình 2.2.2 cho thấy mã hóa có thơng số “dc5c94da23cf0a3d0c6e661e054b0a30” Ta đặt giả sử trường hợp tệp tin data.txt ta bị thay đổi hình sau: Hình 2.3.1 Thực nghiệm tạo sở liệu chữ ký số MD5 Dễ nhìn thấy liệu Input Text giữ nguyên Nguyen Van Nam điều xãy với thuật tốn Nhìn vào hình Hình 2.3.2 Thực nghiệm chương trình theo chữ ký MD5 Kết thực nghiệm cho thấy mã Khóa lúc ban đầu lúc kiểm tra hoàn toàn khác nhau, điều cho thấy liệu bị công thay đổi Trang - 27 2.3 TẤN CÔNG CHỮ KÝ DES 2.3.1 Tổng quát Cấu trúc tổng thể thuật toán thể Hình 1: có 16 chu trình giống q trình xử lý Ngồi cịn có hai lần hốn vị đầu cuối (Initial and final permutation - IP & FP) Hai q trình có tính chất đối (Trong q trình mã hóa IP trước FP, giải mã ngược lại) IP FP khơng có vai trị xét mật mã học việc sử dụng chúng có ý nghĩa đáp ứng cho q trình đưa thơng tin vào lấy thơng tin từ khối phần cứng có từ thập niên 1970 Trước vào 16 chu trình chính, khối thông tin 64 bit tách làm hai phần 32 bit phần xử lý (q trình cịn gọi mạng Feistel) Cấu trúc thuật toán (mạng Feistel) đảm bảo trình mã hóa giải mã diễn tương tự Điểm khác chỗ khóa sử dụng theo trình tự ngược Điều giúp cho việc thực thuật toán trở nên đơn giản, đặc biệt thực phần cứng Ký hiệu sau: thể phép toán XOR Hàm F làm biến đổi nửa khối xử lý với khóa Đầu sau hàm F kết hợp với nửa lại khối hai phần tráo đổi để xử lý chu trình Sau chu trình cuối nửa khơng bị tráo đổi; đặc điểm cấu trúc Feistel khiến cho q trình mã hóa giải mã trở nên giống Hình 2.4 Cấu trúc thuật tốn Feistel dùng DES DES thuật tốn mã hóa khối: xử lý khối thơng tin rõ có độ Trang - 28 dài xác định biến đổi theo trình phức tạp để trở thành khối thơng tin mã có độ dài không thay đổi Trong trường hợp DES, độ dài khối 64 bit DES sử dụng khóa để cá biệt hóa q trình chuyển đổi Nhờ vậy, biết khóa giải mã văn mã Khóa dùng DES có độ dài tồn 64 bit Tuy nhiên có 56 bit thực sử dụng; bit lại dùng cho việc kiểm tra Vì thế, độ dài thực tế khóa 56 bit Giống thuật tốn mã hóa khối khác, áp dụng cho văn dài 64 bit, DES phải dùng theo phương pháp Trong tài liệu FIPS-81 số phương pháp, có phương pháp dùng cho q trình nhận thực Một số thông tin thêm cách sử dụng DES miêu tả tài liệu FIPS-74 2.3.1.1 Hàm Feistel (F) Hàm F, miêu tả Hình dưới, hoạt động khối 32 bit bao gồm bốn giai đoạn: Hình 2.5 Hàm F (F-function) dùng DES Mở rộng: 32 bit đầu vào mở rộng thành 48 bit sử dụng thuật toán hoán vị mở rộng (expansion permutation) với việc nhân đôi số bit Giai đoạn ký hiệu E sơ đồ Trộn khóa: 48 bit thu sau trình mở rộng XOR với khóa Mười sáu khóa 48 bit tạo từ khóa 56 bit theo chu trình tạo khóa (key schedule) miêu tả phần sau Trang - 29 Thay thế: 48 bit sau trộn chia làm khối bit xử lý qua hộp thay S-box Đầu khối bit khối bit theo chuyển đổi phi tuyến thực bảng tra Khối S-box đảm bảo phần quan trọng cho độ an toàn DES Nếu khơng có S-box q trình tuyến tính việc thám mã đơn giản Hoán vị: Cuối cùng, 32 bit thu sau S-box xếp lại theo thứ tự cho trước (cịn gọi P-box) Q trình ln phiên sử dụng S-box hốn vị bít q trình mở rộng thực tính chất gọi xáo trộn khuếch tán (confusion and diffusion) Đây yêu cầu cần có thuật toán mã hoá Claude Shannon phát năm 1940 2.3.1.2 Q trình tạo khóa Hình 2.6 Q trình tạo khóa DES Hình mơ tả thuật tốn tạo khóa cho chu trình Đầu tiên, từ 64 bit ban đầu khóa, 56 bit chọn (Permuted Choice 1, hay PC-1); bit lại bị loại bỏ 56 bit thu được chia làm hai phần nhau, phần xử lý độc lập Sau chu trình, phần dịch bit (tùy thuộc chu trình, nêu chu trình 1,2,9,16 dịch 1bit, cịn lại dich 2bit) Các khóa 48 bit tạo thành thuật tốn lựa chọn (Permuted Choice 2, hay PC-2) gồm 24 bit từ phần Quá trình dịch bit (được ký hiệu "

Ngày đăng: 13/07/2020, 16:18

Hình ảnh liên quan

Hình 1.1. 10 số nguyên tố lớn đã được tìm thấy - An Toàn Và Bảo Mật Thông Tin

Hình 1.1..

10 số nguyên tố lớn đã được tìm thấy Xem tại trang 5 của tài liệu.
2.2.6.2. Thực nghiệm chương trình mã hóa theo chữ ký số MD5 - An Toàn Và Bảo Mật Thông Tin

2.2.6.2..

Thực nghiệm chương trình mã hóa theo chữ ký số MD5 Xem tại trang 26 của tài liệu.
Hình 2.2.1. Thực nghiệm tạo cơ sở dữ liệu chữ ký số MD5 - An Toàn Và Bảo Mật Thông Tin

Hình 2.2.1..

Thực nghiệm tạo cơ sở dữ liệu chữ ký số MD5 Xem tại trang 26 của tài liệu.
Nhìn hình 2.2.2 cho chúng ta thấy mã hóa có thông số - An Toàn Và Bảo Mật Thông Tin

h.

ìn hình 2.2.2 cho chúng ta thấy mã hóa có thông số Xem tại trang 27 của tài liệu.
Hình 2.3.1 Thực nghiệm tạo cơ sở dữ liệu chữ ký số MD5 - An Toàn Và Bảo Mật Thông Tin

Hình 2.3.1.

Thực nghiệm tạo cơ sở dữ liệu chữ ký số MD5 Xem tại trang 27 của tài liệu.
Cấu trúc tổng thể của thuật toán được thể hiện ở Hình 1: có 16 chu trình giống nhau trong quá trình xử lý - An Toàn Và Bảo Mật Thông Tin

u.

trúc tổng thể của thuật toán được thể hiện ở Hình 1: có 16 chu trình giống nhau trong quá trình xử lý Xem tại trang 28 của tài liệu.
Hàm F, như được miêu tả ở Hình dưới, hoạt động trên khối 32 bit và bao gồm bốn giai đoạn:  - An Toàn Và Bảo Mật Thông Tin

m.

F, như được miêu tả ở Hình dưới, hoạt động trên khối 32 bit và bao gồm bốn giai đoạn: Xem tại trang 29 của tài liệu.
Hình 2.6. Quá trình tạo khóa con trong DES - An Toàn Và Bảo Mật Thông Tin

Hình 2.6..

Quá trình tạo khóa con trong DES Xem tại trang 30 của tài liệu.
Hình 2.7. Hệ thống phá mã DES - An Toàn Và Bảo Mật Thông Tin

Hình 2.7..

Hệ thống phá mã DES Xem tại trang 31 của tài liệu.
Hình 2.8.2. Thực nghiệm lỗi chương trình theo chữ ký DES - An Toàn Và Bảo Mật Thông Tin

Hình 2.8.2..

Thực nghiệm lỗi chương trình theo chữ ký DES Xem tại trang 35 của tài liệu.
Hình 2.8.1. Thực nghiệm chương trình mã hóa theo chữ ký số DES Lưu ý: Ở đây chúng tôi sử dụng khóa 12345678 khóa này sẽ đảm bảo độ àn  toàn giữa người nhận và người gửi - An Toàn Và Bảo Mật Thông Tin

Hình 2.8.1..

Thực nghiệm chương trình mã hóa theo chữ ký số DES Lưu ý: Ở đây chúng tôi sử dụng khóa 12345678 khóa này sẽ đảm bảo độ àn toàn giữa người nhận và người gửi Xem tại trang 35 của tài liệu.
Hình 2.9. Thực nghiệm chương trình theo chữ ký DES, RSA và MD5 - An Toàn Và Bảo Mật Thông Tin

Hình 2.9..

Thực nghiệm chương trình theo chữ ký DES, RSA và MD5 Xem tại trang 36 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan