Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 166 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
166
Dung lượng
2,89 MB
Nội dung
BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC HÀNG HẢI BỘ MÔN: KHOA HOC MÁY TÍNH KHOA: CÔNG NGHỆ THÔNG TIN ̣ Giáo trình AN TỒN VÀ BẢO MẬT THƠNG TIN TÊN HỌC PHẦN : An toàn bảo mật Thơng tin MÃ HỌC PHẦN : 17212 TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY DÙNG CHO SV NGÀNH : CƠNG NGHỆ THƠNG TIN HẢI PHỊNG - 2008 Tên chương mục Chương I Giới thiệu nhiệm vụ an tồn bảo mật thơng tin 1.1 Các khái niệm mở đầu 1.1.1 Thành phần hệ thống thông tin 1.1.2 Những mối đe dọa thiệt hại hệ thống thông tin 1.1.3 Giải pháp điều khiển kiểm sốt an tồn bảo mật 1.2 Mục tiêu nguyên tắc chung ATBM 1.2.1 Ba mục tiêu 1.2.2 Hai nguyên tắc 1.3 Giới thiệu chung mô hình mật mã 1.3.1 Mơ hình truyền tin luật Kirchoff 1.3.2 Những giai đoạn phát triển lý thuyết mã hóa TS tiết 75 Lý thuyết 45 Thực hành/ Xemina 30 Tên học phần: An mâ ṭ thông tin toàn bảo Bộ môn phụ trách giảng dạy: Khoa học máy tính Khoa phụ trách: Cơng nghệ thông tin Mã học phần: Tự học Loại học phần: II Tổng số TC: Điều kiện tiên quyết: Sinh viên cần ho c xong ̣ - Lâ p ̣ - ho c phần: ̣ các đối tương Cấu - trình hướng liê u ̣ trúc dữ Phân , thiết kế thuâ ṭ tích và đánh giá toán Mục đích học phần: Truyền đạt cho sinh viên kiến thức lĩnh vực riêng tro ng an tồn bảo mật máy tính: - Các giải thuật mã hóa truyền tin - Các thuật toán tạo hàm băm chữ ký điện tử - Các mơ hình trao chuyển khóa - Các mơ hình chứng thực giao thức mật mã Nội dung chủ yếu: Gồm phần: ̣ -Phần thuyết: cung cấp thuyết về thuâ ṭ , giao thức lý các lý toán mã hóa -Phần lâ p ̣ : cài đặt hệ mã, viết du ng du ng ̣ ̣ ̣ mâ ṭ trình các ứng sử các mã Nội dung chi tiết học phần: Chương II Một số phương pháp mã hóa cổ điển 13 Chương III Mật mã khối 4.1 Khái niệm khóa cơng khai 4.1.1 Đặc trưng ứng dụng hệ mã khóa cơng khai 4.1.2 Ngun tắc cấu tạo hệ khóa cơng khai 4.2 Giới thiệu số giải thuật PKC phổ biến 4.1.1 Hệ mã Trapdoor Knapsack 4.1.2 Hệ mã RSA 2 3 1 16 3 0,5 3 0,5 3.1 Khái niệm 3.1.1 Điều kiện an toàn cho mật mã khối 3.1.2 Nguyên tắc thiết kế 3.2 Chuẩn liê u DES ̣ mã hóa dữ 3.2.1 Lịch sử DES 3.2.2 Cấu trúc vịng lặp DES 3.2.3 Thuật tốn sinh khóa 3.2.4 Cấu trúc hàm lặp 3.2.5 Thuật toán giải mã DES 3.2.6 Đánh giá mức độ an toàn bảo mật DES 3.2.7 TripleDES 3.3 Chuẩn cao cấp AES mã hóa 3.3.1 thiê u về AES ̣ Giới 3.3.2 Thuâ ṭ toán mã hóa 3.3.3 Thuâ ṭ toán giải mã 3.3.4 Cài đặt AES 3.4 Một số chế độ sử dụng mã khối 3.4.1 Chế độ bảng tra mã điện tử 3.4.2 Chế độ mã móc xích 3.4.3 Chế độ mã phản hồi Chương IV Hệ thống mã với khóa cơng khai 2.1 Phương pháp mã đơn giản 2.1.1 Mã hoán vị bảng Alphabet 2.1.2 Mật mã cộng tính 2.2.3 Mật mã nhân tính 2.1.4 Phân tích mã theo phương pháp thống kê 2.2 Phương pháp mã phẳng đồ thị tần xuất 2.2.1 Mã với bảng đồng âm 2.2.2 Mã đa bảng thế: giải thuật mã Vigenre One time pad 2.2.3 Lý thuyết bí mật tuyệt đối 2.2.4 Đánh giá mức độ bảo mật phương pháp mã hóa Kiểm tra 16 2 4.1.3 Hệ mã ElGamal Kiểm tra Chương V Chữ ký điện tử hàm băm 12 5.1 Chữ ký điện tử 5.1.1 Định nghĩa 5.1.2 Ứng dụng chữ ký điện tử 5.2 thiê ̣u mô t số ̣ ̣ điê n ̣ Giới chữ ký tử 5.2.1 Hê ̣ điê n RSA ̣ chữ ký tử 5.2.2 Hê ̣ điê n ElGamal ̣ chữ ký tử 5.2.3 Chuẩn điê n DSA ̣ chữ ký tử 5.3 Hàm băm 5.3.1 Định nghĩa 5.3.2 Sinh chữ ký điện tử với hàm băm 5.4 Mô t số ̣ băm thông du ng ̣ hàm 5.4.1 Hàm băm MD5 5.4.2 Hàm băm SHA1 Chương VI Quản lý khóa hệ thống mật mã 6.1 Quản lý khóa hệ SKC 6.1.1 Giới thiệu phương pháp quản lý khóa 6.2 Quản lý khóa hệ PKC 6.2.1 Giao thức trao chuyển khóa Needham – Schoeder 6.2.2 Giao trao đổi Diffie-Hellman thức khóa 6.2.3 Giao Kerberos thức Chương VII Giao thức mật mã 7.1 Khái niệm giao thức mật mã 7.1.1 Định nghĩa giao thức mật mã 7.1.2 Mục đích giao thức mật mã 7.1.3 Các bên tham gia vào giao thức mật mã 7.2 Tìm hiểu thiết kế giao thức mật mã điển hình 7.2.1 Một số dạng cơng giao thức mật mã 7.2.2 Giới thiệu số giao thức mật mã 7.3 Kiểm tra 0 0 0,5 0,5 1,5 1,5 1 1 2 Nhiệm vụ sinh viên: Lên lớp đầy đủ chấp hành quy định Nhà trường Tài liệu học tập: Phan Đình Diệu Lý thuyết mật mã An tồn thơng tin Đại học Quốc G ia Hà Nội Douglas R Stinson Cryptography Theory and practice CRC Press 1995 A Menezes, P VanOorschot, and S Vanstone Handbook of Ap plied Cryptography CRC Press 1996 William Stallings Cryptography and Network Security Principles and Practice s, Fourth Edition Prentice Hall 2005 MichaelWelschenbach Cryptography in C and C++ Apress 2005 Hình thức tiêu chuẩn đánh giá sinh viên: - Sinh viên phải làm kiểm tra trình học thực hành Thi vấn đáp - Sinh viên phải bảo đảm điều kiện theo Quy chế Nhà trường Bộ Thang điểm : Thang điểm 10 Điểm đánh giá học phần: Z = 0,3 X + 0,7 Y MỤC LỤC LỜI NÓI ĐẦU CHƢƠNG I: GIỚI THIÊU An toàn bảo mât thông tin mât và mã hoc 2 Khái niêm hệ thống và tài sản của hệ thống ̣ Các mối đe doạ đối với một hệ thống và các biện pháp ngăn chặn ̣ ̣ Mục tiêu và nguyên tắc chung của ̣ an toàn bảo mật thông tin ̣ Mât mã hoc (cryptology) Khái niệm hệ mã mật (CryptoSystem) Mô hình truyền tin bản của mât mã hoc và luât Kirchoff Sơ lƣợc về lich sƣ̉ mât mã hoc Phân loai các thuât toán ̣ mât ̣ mã ̣ ̣ hoc ̣ ̣ ̣ ̣ ̣ ̣ ̣ ̣̣ ̣ ̣ ̣ 10 Môt số ƣ́ng dung của mât mã hoc CHƢƠNG II: CƠ SỞ TOÁN HỌC 10 Lý thuyết thông tin 10 10 1.1 Entropy 1.2 Tốc độ của ngôn (Rate of Language) ngƣ̃ 11 11 1.3 Tính an toàn của hệ thống mã hoá 1.4 Kỹ thuật lộn xôn và rƣờm rà (Confusion and Diffusion) 12 Lý thuyết độ phức tạp 13 14 14 2.1 Độ an toàn tính toán 2.2 Độ an toàn không điều kiện 3.3 Hệ mật tích 16 Lý thuyết toán học 17 17 17 3.1 Modulo số hoc ̣ 3.2 Số nguyên tố 3.3 Ƣớ c số chung lớn nhất ̣ ̣ 17 18 3.4 Vành ZN (vành đồng dƣ module N) 3.5 Phần tƣ̉ nghich đảo 18 19 19 3.6 Hàm phi Ơle 3.7 Thăng dƣ bâc hai 3.8 Thuât toán lũy thƣ̀a nhanh 20 3.9 Thuât toán Ơclit mở rông 21 3.10 Phƣơng trình đồng dƣ bâc nhất ẩn 22 3.11 Đinh lý phần dƣ Trung Hoa 22 Các thuật toán kiểm tra số nguyên tố 23 4.1 Môt số ký hiêu toán hoc 23 4.2 Thuât toán Soloway-Strassen 25 4.3 Thuât toán Rabin-Miller 26 4.4 Thuât toán Lehmann 26 Bài tập ̣ ̣ 26 CHƢƠNG III: CÁC HỆ MÃ KHÓA BÍ MẬT 28 Các hệ mã cổ điển ̣ ̣ ̣ ̣ ̣ ̣ ̣ ̣ ̣ 28 1.1 Hệ mã hoá thay thế (substitution cipher) 28 1.2 Hệ mã Caesar 28 1.3 Hệ mã Affine 29 1.4 Hệ mã Vigenere 30 1.5 Hệ mã Hill 30 1.6 Hệ mã đổi chỗ (transposition cipher) 32 Các hệ mã khối 34 34 35 51 52 2.1 Mật mã khối 2.2 Chuẩn mã hoá liệu DES (Data Encryption Standard) 2.3 Các yếu điểm của DES 2.4 Triple DES (3DES) 2.5 Chuẩn mã hóa cao cấp AES 54 2.6 Các chế, hình thức sử dụng của mã hóa khới (Mode of Operation) 68 Bài tập 72 CHƢƠNG IV: CÁC HỆ MÃ MẬT KHÓA CÔNG KHAI 77 Khái niệm hệ mã mật khóa cơng khai 77 Nguyên tắc cấu tao 78 Môt số hệ mã khóa của các hệ mã mât khóa công khai công khai 78 3.1 Hệ mã knapsack 78 3.2 Hệ mã RSA 79 3.3 Hệ mã El Gamal 83 ̣ ̣ ̣ 3.4 Các hệ mã mật dựa các đƣờng cong Elliptic 85 Bài tập 96 CHƢƠNG V: CHƢ̃ KÝ ĐIÊN T Ƣ̉ VÀ HÀM BĂM 101 Chƣ̃ ký điên tƣ̉ 101 101 102 103 1.1 Khái niệm chữ ký điện tử ̣ 1.2 Hệ chữ ký RSA 1.3 Hệ chữ ký ElGammal 1.4 Chuẩn chữ ký điện tử (Digital Signature Standard) 106 1.5 Mô 108 hình ƣ́ng dung của chƣ̃ ký ̣ điên tƣ̉ Hàm Băm (Hash Function) ̣ ̣ 109 109 109 110 111 2.1 Khái niệm 2.2 Đặc tính của hàm Băm 2.3 Birthday attack 2.4 Một số hàm Băm nổi tiếng 2.5 Một số ƣ ́ ng dung của hàm Băm 118 Bài tập 119 CHƢƠNG VI: QUẢN LÝ KHÓA 120 Quản lý khoá các mạng truyền tin 120 Mợt sớ hệ phân phới khố 120 120 122 2.1 Sơ đồ phân phối khoá Blom 2.2 Hệ phân phối khoá Kerberos 2.3 Hệ phân phối khóa Diffe-Hellman 123 Trao đổi khoá và thoả thuận khoá ̣ 124 3.1 Giao thức trao đổi khoá Diffie-Hellman 124 Trong p.u mod q = Việc sử dụng định lý phần dƣ Trung Hoa là một phƣơng pháp đƣợc sử dụ ng rộng rãi và phổ biến để tăng tốc độ giải mã của RSA Hiê n tƣợng lộ ̣ bản rõ Môt hiên tƣợng cần lƣu ý kh i sƣ̉ dung các Ta hãy xét hệ mã RSA có N = p*q = 5*7, e = 17, hệ mã đó với RSA là M = ta hiên tƣợng lộ có bản rõ C = 617 mod N = Tƣơng tƣ̣ hệ RSA N = p*q = 109*97, e = 865, moi M ta đều e với mã có với M có mod N = M Theo tinh ẽ toán thì với môt hệ mã RSA có N = p*q và e bất , số lƣợng kỳ bản rõ s bi ̣ lộ mã hóa sẽ là Trong số các (1 + (e-1, p-1))*(1 + (e-1, q-1)) hệ mã khóa công khai thì có lẽ hệ mã RSA (cho tới thời điểm hiên tai ) là hệ mã đƣợc sử dụng rộng rãi nhất.Tuy nhiên viêc liêu đầu (thô làm với dƣ̃ vào ng điêp , bản rõ ) khối lƣợng tinh rất nên thƣc tế ̣ ta mã hóa lớn thì toán lớn ngƣời y dùng hệ mã này để mã hóa các liệu c ó kích thƣớc nhỏ, hoăc yêu cầu mât ca có bảo o, chẳng han nhƣ phiên (session key) phiên truyền tin Khi hệ các khóa các đó mã RSA đƣợc dung kết hợp môt hệ khối , chẳng han nhƣ AES , theo sẽ sƣ̉ với mã khác mơ hình lai ghép nhƣ sau: ̣ ̣ ̣ ̣ Chƣơng IV: Các hệ mã mật khóa cơng kha i Khóa cơng khai của B ̣ ́ ̣ ̣ Khóa bí mật của B ̣ ̣ ̣ ́ ̣ ̣ ̣ ̣̣ ̣ C1 RSA Khóa phiên K C1 C2 P A - ngƣời gửi mã Khóa phiên K AES P B - ngƣời nhận Hình 4.3: Mơ 3.3 Hê ̣ C2 RSA hình ƣ́ng dung lai ghép RSA với các hệ mã khối El Gamal Hệ mã El Gamal là một biến thể của sơ đồ phân phối khoá Diffie – Hellman Hệ mã đƣợc El Gamal đƣa vào năm 1985 Giớng nhƣ sơ đờ phân phới khóa Diffie – Hellman tính an toàn của dựa tính khó giải của bài toán logarit rời rạc AES Nhƣợc điểm chính của là kích thƣớc thơng tin sau mã hóa gửi tăng gấp đơi so với thông tin gốc Tuy nhiên so với RSA, El Gamal khơng có nhiều rắc rới vấn đề bản qu yền sử dụng Ban đầu ngƣời ta chọn một số nguyên tố lớn p và hai số nguyên tuỳ ý nh ̣ ỏ p a (a h: là môt phần tƣ̉ nguyên thủy của Z*P) và x (x là của ngƣời nhận, bí mật) sau tín y = ax mod p Để mã hóa mợt thông điệp M (là một số nguyên ZP) thành bản mã C ng ƣời gửi chọn một số ngẫu nhiên k nhỏ p và tính khóa mã hóa K: K = yk mod p Sau tính cặp bản mã: • C1 = ak mod p • C2 = K.M mod p Và gửi bản mã C = (C1, C2) (chú ý là sau k bị huỷ) Để giải mã thông điệp đầu tiên ta cần tính lại khóa mã hóa thơng điệp K: K = C1x mod p = ak.x mod p ̣ Sau tính M cách giải phƣơng trình sau đây: M = C2 K-1 mod p Việc giải mã bao gờm việc tính lại khóa tạm thời K (rất giớng với mơ hình củ a Diffie – Hellman đƣa ra) Khóa cơng khai của hệ mã là (p, a, y), khóa bí mật là x Ví dụ: Cho hệ mã El Gamal có P = 97, a = 5, x = 58 Chƣơng IV: Các hệ mã mật khóa cơng khai • Tìm khóa của hệ mã • Mã hóa bản rõ M = với k đƣợc chọn 36 Trƣớc hết ta tính y = 558 mod 97 = 44, từ suy KP = (P, a, y) = (97, 5, 44) KS = (58) Để mã hóa thơng điệp M = ta tính khóa K = 4436 mod 97 = 75 sau tính: • C1 = 536 = 50 mod 97 • C2 = 75.3 mod 97 = 31 mod 97 Vậy bản mã thu đƣợc là C = (50, 31) Vấn đề đới với các hệ mã khóa cơng khai nói chung El Gamal nói riêng là tốc độ (do phải làm việc với các số nguyên lớn), bên cạnh dung lƣợng bợ nhớ dành c ho việc lƣu trữ các khóa cũng lớn Với hệ mã El Gamal cần gấp đôi bộ nhớ để ch ứa bản mã so với các hệ mã khác Ngồi việc sử dụng các sớ ngun tớ nên việc si nh khóa và quản lý khóa cũng khó khăn với các hệ mã khới Trên thực tế các hệ m ã khóa cơng khai thƣờng đƣợc sử dụng kết hợp với các hệ mã khối (mã hóa khóa của hệ mã) hoặc để mã hóa các thơng tin có dung lƣợng nhỏ và là mợt phần quan trọng c ủa một phiên truyền tin nào Thám mã đới với hệ mã El Gamal Để thƣc hiên ̣ hệ El Gamal ta cần Logaritm thám mã mã chúng giải bài toán r rac ời Ở xem xét hai thuật toán có thể áp d ụng để giải bài toán này , với độ ̣̣ ̣ ̣ phƣ́c tap và khả Thuâ t ̣ Thuât toán áp dung khác Shank toán này còn có tên khác là thuât toán cân bằng eMemory Trade Off), có nghĩa là nếu có đủ bợ thời gian – bợ thê nhớ thì có dung bộ sƣ̉ (Tim nhớ nhớ đ ó để làm giảm thời gian thực hiện của thuật toán xuống Z , số nguyên y Input: số nguyên tố p, phần nguyên a tƣ̉ thủy của * Output: cần tìm x cho ax mod p = y Thuât toán: Gọi m = [(p-1)1/2] (lấy phần nguyên) Bƣớc Bƣớc Bƣớc Bƣớc Bƣớc 1: Tính amj mod p 2: Sắp xếp các các ≤ j ≤ m-1 căp (j, amj mod p) theo amj mod p 3: Tính ya-i mod p 4: Sắp xếp với với và lƣu vào danh sách L ≤ i ≤ m-1 căp (i, ya-i mod p) theo amj mod p 5: Tìm hai danh sách L và L2 xem có và lƣu danh vào sách L2 tồn tai căp (j, amj mod p) và (i, y a-i mod p) nào mà amj mod p = ya-i mod p (tọa độ thứ hai của hai cặp nhau) Bƣớc 6: x = (mj + i) mod (p-1) Kết quả này có thể kiểm công chƣ́ng tƣ̀ thƣ́c amj mod p = ya-i mod p => amj + i mod p = y mod p => x = (mj + i) mod (p-1) Chƣơng IV: Các hệ mã mật khóa công khai ̣ ̣ Độ phức tạp của thuật toán phụ thuộc vào m = [(p-1)1/2], với giá tri ̣ của m , chúng ̉ ̣ ta cần phần thuôc hai danh L và L 2, là các phép toán lũy thừa phụ tính các tƣ̉ sách thuôc j i,i j lai phụ thuôc m nên thể nhân thấy thuât vào và ó thể áp dung và vào nhƣ̃ng trƣờng hợp mà có p là toán này chỉ c nhỏ ̣ Thuâ t toán Pohlig-Hellman ̣ ̣ ̣ ̣ ̣ Có trƣờng hợp đặc biệt mà bài toán Logarithm rời rạc có thể giải quy ̣ p ết với độ tap O(p1/2), chẳng han nhƣ p – có các ƣớc ngun tớ nhỏ M phƣ́c nhỏ ̣ ôt ̣ ̣ ̣ ̣ ̣ ̣ ̣ ̣ ̣ ̣ thuât toán làm viêc với các trƣờn g hợp nhƣ vây đƣợc Pohlig đã và Hellman đƣa v ào năm 1978 Giả sử p – = 2n Gọi a là phần tử nguyên thủy của Z * , p là số nguyên thuôc đƣợc biểu diễn thành khoảng là môt số lẻ và a (p-1)/2 mod p = -1 Gọi m [0, p-2] mà cần tim để y = am mod p Giả sử m dang nhi ̣phân m = m0 + 2m1 + 4m2 + … + 2n-1mn-1 Khi p−1 y2 m p− m +2m +22 m + = (a +2n−1m ) p− = a m p− 1 2 đó : 1 nÕu m = 0 −1 nÕu m0 = n−1 Viêc y mất nhiều nhất 2[log2p] cho ta m Khi đinh đƣợc tính (p-1)/2 bƣớc và sẽ xác y1 -m 1 ν∏υ µ ν∏υ µ1 1 m p1 p1 p1 c4 (a m12m2 2n2 mn1 ) a 1 ̣ ̀ ̣ Quá trình tính toán cứ thể tiếp diễn cho tới tìm đƣợc m i Đợ phức tạp của thuật toán là: n(2[log2p] + 2) ~ O((log2p)2) 3.4 Các hệ mã mật dựa cong Elliptic các đƣờng Hầu hết các sản phẩm và các chuẩn sƣ̉ dung các hóa và chữ ký điện tử hiện sử dụng hệ mã RSA hệ mã khóa công khai để sƣ̣ Tuy nhiên mã triển với phát của ngành thám mã và lực ngày càng tăng nhanh chóng của các hệ thớng máy tí nh , đợ dài khóa để đảm bảo an toàn cho hệ mã RSA cũ= g ngày càng tăng nhanh chóng n (a ) , điề u này làm giảm đáng kể hiệu của các hệ thống sử dụng hệ mã RSA , đăc biêt là v ới các ứng dụng thƣơng mại điện tử trực tuyến hay các hệ thống realtime địi hỏi thờ i gian nhanh Gần mơt hệ xuất hiên thay thế cho xƣ̉ lý chóng mã và có ̣ công khai dƣmới đã ác đƣờng cong khả RSA, hệ a c ̣ Elliptic – ECC (Ellipti = ya đó là các mã khóa 0, ta lăp̣ laị thao tác tƣơng tƣ̣ để tính m1: = ̣ c Curve Cryptography) Điểm hấp dẫn nhất hệ dƣa ̣ cong Elliptic cho của các mã các đƣờng là nó phép đạt đƣợc tính an toàn tƣơng đƣơng với RSA kích thƣớc khóa sử d ụng lại ̣ ̣ ̣ ̣ ̣ nhỏ rất nhiều, làm giảm số phép tính sử dụng mã hóa , giải mã và đạ t đƣợc hiêu tốc độ cần thiết Trên thuyết an ECC không cao bằng so và lý tính toàn của v ới RSA môt dễ hiểu so RSA hay Diffie -Hellman Cơ và cũng khó giải thích cách với sở toán học đầy đủ của các hệ mã dựa đƣờng cong Elliptic vƣợt ngoài phạm vi của tài liệu này , phần ta xem vấn đề này chúng sẽ chỉ xét các bản của các đƣờn g cong Elliptic các hệ mã ECC và Chƣơng IV: Các hệ mã mật khóa công khai 3.4.1 Nhóm Abel Nhóm Abel G , thƣờng đƣợc ký hiêu là {G, •} là mợt tập hợp với mợt phép toán h ngơi hiêu •, kết thƣc hiên ̣ hai phần a , b ∈ G, ký hiệu là ký là qủa của phép toán với tƣ̉ (a • b) cũng là mợt phần thc G, tính chất này gọi là đóng đới với tập G Đới với phép toá tƣ̉ n ̣ • mênh đề sau đều : các thỏa mãn ̣ ̣ (a • b) ∈G, tính đóng (Closure) thì ̣ (A2): ∀ a, b, c ∈ G a • (b • c) = (a • b) • c, tính kết hợp (Associate) thì ̣ (A1): ∀ a, b ∈ G (A3): Tồn tai e ∈ G: e • a = a • e = a ∀ a ∈ G, e đƣợc goi phần là tƣ̉ đơn vi ̣ của tâ p G (A4): ∀ a ∈ G, ∃ a‟ ∈ G: a • a‟ = a‟ • a = e, a‟ là phần tử nghịch đảo của a (A5): ∀ a, b ∈ G: a • b = b • a, tính giao hoán (Commutative) Rất nhiều các hệ mã khóa công khai dƣa ̣ các nhóm Abel Chẳng han, giao th ƣ́c trao đổi Diffie -Hellman liên quan viêc nhân căp số nguyên không theo khóa tới các khác modulo q (ngun tớ) Các khóa đƣợc sinh phép tính lũy thƣ̀a nhóm Đối với các hệ mã ECC, phép toán cộng các đƣờng cong Elliptic đƣợc s dụng ̣ ̣ là phép toán bản Phép nhân đƣợc định nghĩa là sự lặp lại của nhiều phép cộn g:axk = (a + a + … + a) Viêc mã liên quan tới việc xác định giá trị của k với các thông tin thám công khai a (a k) là và x ̣ ̣ ̣ ̣ ̣ ̣ ̣ Môt đƣờng cong Elliptic là môt phƣơng trình với hai biến và các hệ số Các đƣờ ng cong dung cho hệ mât biến hệ thống phần thuôc sƣ̉ các mã có các và các là các tƣ̉ về môt han , điều tao môt Abel hết ta xe trƣờng hƣ̃u này thành nhóm Trƣớc chúng sẽ m xét các đƣờng cong Elliptic trƣờng số thực 3.4.2 Các đƣờng cong Elliptic số thƣ̣ c trƣờng Các đƣờn g cong Elliptic không Ellipse Tên goi phải là các đƣờng đƣờng g Elliptic đƣợc đăt loai cong đƣợc mô phƣơng trinh bâc ba , tƣ vì đƣờng này tả bởi các ơng tƣ̣ nhƣ phƣơng đƣợc để chu vi môt Ellipse Ở dạng chung nhấ các trình dùng tính của t phƣơng bâc biểu diễn môt cong Elliptic dang: đƣờng trình có y + axy + by = x + cx + dx + e Trong đó a , b, c, d, e là các số thƣc , x ̣ Với mục đích để hiểu các hệ mã EC C chúng y và là các ta biến thuôc chỉ xét các dang trƣờng đƣờng số thƣc ̣ cong Elliptic c ó dạng: y2 = x3 + ax + y (phƣơng trinh 1) Các phƣơng trình này đƣợc gọi là các phƣơng trình bậc ba , g ̣ các đƣờng ̣ Elliptic ta đinh nghia môt điểm đăc biêt ̣ goi điể m O hay điểm tai vô (point ̣ chúng là cùng at ̣ ̣ ̣ ̣ infinity) Để cong Elliptic ta cần tri theo phƣơng ̣ : vẽ đƣờng chúng tính các giá ̣ trình y = x3 + ax + b mỗi tri ̣cụ thể a b , cho hai giá trị của y (môt âm m Với giá của và và ôt dƣơng) tƣơng môt tri ̣ x , các đƣờng cong dạng này đối xứng qua ƣ́ng với giá của thẳng y = Ví dụ hình ảnh của mợt đƣờng cong Elliptic: đƣờng Chƣơng IV: Các hệ mã mật khóa công khai ̣ ̣ ̣ ̣ ̀ ̣ ̣ ̣ ̣ ̣̃ ̣ ̀ ̣ ̣ ̣ ̣ ̣ ̣ ̣ ̣ ̣ Hình 4.4: Các đƣờng cong Elliptic trƣờng số thực Chúng ta xem xét tập điểm E (a, b) chƣ́a tất cả các điểm (x, y) thỏa mãn phƣơn g trình 1, với điểm O dung c Sƣ̉ các (a, b) khác có các tập E (a, ăp b) khác dung hiêu ta minh họa là biểu diễn của hai tập h Sƣ̉ ký này có hình vẽ ợp E(1, 0) và E(1, 1) tƣơng 3.4.3 Mô Với tả hình hoc ƣ́ng của phép công các đƣờng cong Elliptic mỡi că (a, b) cụ thể có thể thành lập mợt nhóm tập E (a, b) với p các điều kiên sau: 4a3 + 27b2 ≠ (điều kiên 1) Chƣơng IV: Các hệ mã mật khóa công khai Với điều kiên bổ sung tả về măt hình này ta đinh nghia phép hoc nhƣ sau : nếu ba điểm môt ng thẳng tởng của chúng O cong Elliptic , mơ cong Elliptic tao thành môt đƣờ đinh nghia luât công này các của phép đƣờ ̣ ̣ ̣ ̣ ̣ ̣ ̣ O là phần tử trung hòa của phép cộng ∀ P ∈ E(a, b): P + O= P Trong ̃ các mênh đề sau đƣờng đƣờng ̃ ng cong Elliptic nhƣ sau: ̣ Với công chúng ta giả sƣ̉ ̣ x P, Q ≠ O R =∆̣ − y P− x̣ Q ̣ ̣ ̣ ̣ ̣ ̣ ̣ ̣ ̣ ̣ = O P P = (x, y) phần đới tƣ̉ của P, ký hiệu là P, là (x, -y) và P + (P) = P P P nằm môt thẳng đƣờng đƣ́ng Để công hai điểm P Q không và và có cùng hoàng độ x , vẽ một đƣờng thẳng nối giao điểm R Dễ nhân thấy có mợt điểm R nhƣ vậy , tổng chúng và tìm dàng củ P a và Q là điểm đối xứng với R qua đƣờng thẳng y = Giao điểm thẳng nối P đối P, P, đƣợc xem nhƣ của đƣờng với của tƣ́c cắt cong tai điểm vô cƣc ̣ chinh O và đó là Để nhân đôi môt điểm Q, ta môt tiếp tuyến tai Q đƣờng vẽ với đƣờng cong và tìm giao điểm S: Q + Q = 2Q = S Với 3.4.4 Mô điều kiên tả này E(a, b) là mợt nhóm Abel ̣ đai sớ phép cộng Trong phần ta này chúng sẽ trinh ̣ bày môt số kết quả cho tinh ̣ phép toán các cong Elliptic hai điểm phân biêt P = (xP, yP) và Q = (xQ, yQ) không đ đƣờng Với phải là ối của , độ dốc nối l Ä = (y , y ) Có chính xác mợt điểm Q P của đƣờng giƣ̃a chúng là khác mà l giao với đƣờn g cong , và chính là đối của tổng P và Q Sau mơt sớ phép toán đại sớ có thể tính R = P + Q nhƣ sau: y = − y + ∆(x − y ) R P P R ̣ Phép toán nhân đôi đối với P đƣợc tính nhƣ sau: ́ 3x + a x P R ̣ 2y P =( 3x + P )(x − x ) − y R a P R P = ( 2y P ̣ ̣ y ̣ 3.4.5 Các đƣờng cong Elliptic ZP Các hệ mã ECC sử dụng các đƣờng cong Elliptic với các biến và các hệ số g ̣ iới hạn thuôc về môt han Có hai họ các đƣờng cong Elliptic có thể sử dụng với c trƣờng hƣ̃u ̣ ác ̀ hệ ECC: các đƣờng cong nguyên tố ZP và các đƣờng cong nhị phân GF (2m) ̣ mã ́ Môt cong nguyên tố Z P, sử dụng phƣơng trình bậc ba mà các biến đƣờng và các hệ sớ của là các giá trị nguyên nằm từ p -1 và các phép tính đƣợc tới thƣc hiên theo modulo P Trên ̣ cong nhi ̣phân , các biến và các hệ số là các giá tr đƣờng ị ̣ ̣ ̣ ̣ ̣ ̣ ) − 2x P ̣ ̣ ̣ ̣ GF(2n) và các tính toán đƣợc thực hiện GF (2n) Các nghiên cứu lý thuyết ã cho thấy cong nguyên tố hợp nhất cho đ dung phần mềm các đƣờng là phù các ƣ́ng vì tap đối cong nhi phân , nhƣng đối ̣ nhƣ̃ng phƣ́c tính toán với các đƣờng với các ƣ ́ ng dụng phần cứng việc sử dụng các đƣờng cong nhi phân lai tốt chế ̣ viêc vì làm của các mạch, các chíp rất phù hợp với các tính toán trƣờng nhị phân (0, 1) 8 (6, 4) (12, 19) (0, 22) (6, 19) (13, 7) (1, 7) (13, 16) (7, 11) (1, 16) (7, 12) (17, 3) (3, 10) (9, 7) (17, 20) (3, 13) (9, 16) (18, 3) (4, 0) (11, 3) (18, 20) (5, 4) (11, 20) (19, 5) (5, 19) (12, 4) (19, 18) Chƣơng IV: Các hệ mã mật khóa công khai n Với các đƣờng cong Elliptic Z P định nghĩa lại phƣơng trình biểu diễ nhƣ sau: y2 mod p = (x3 + ax + y) mod p (phƣơng trinh 2) Chẳng han tri ̣a = 1, b = 1, x = 9, y = 9, y = 7, p = 23 thỏa mãn phƣơng trìn các giá h Các giá trị hệ số a , b và các biến số x , y đều thuôc ZP Tâp EP(a, b) gồm tất c căp (x, y) thỏa mãn phƣơng trình phƣơng trình cả cá ̀ ̣ ̣ ̣ ̣ Bảng 4.2: Biểu diễn của tâp E23(1, 1) Chƣơng IV: Các hệ mã mật khóa công khai Các qui tắc phép cộng cũng đƣợc định nghĩa tƣơng tự đối với các đƣờng cong Elliptic nguyên tố: Điều kiên: (4a3 + 27b2) mod p ≠ P+ O =P Ví dụ với p = 23, a = b = 1, ta tâp E23(1, 1): Nếu P = (xP, yP) P +(xP, yP) = O, điểm (xP, yP) đƣợc goi đối có P , ̣ là của ký hiêu P Chẳng han E23(1, 1), P = (13, 7) ta P = (13, 7) nhƣng mod 23 = 16 nê là có n P = (13, 16), cũng thuộc E23(1, 1) ̣ ̣ λ = ( ( − x )) mod p, () p≠ Q) ̣ mod p, (P = Q) ̣ ̣ yR) Với hai điểm phân biêt P = (xP, yP) và Q = (xQ, yQ), R = P + Q = (xR, đƣợc đinh nghia nhƣ sau: x = ( − x − x ) mod p R λ P Q y = ( (x − x ) − y ) mod p R λ P R P Trong : đó y −y Q P x Q P 3x + a P 2y P Phép nhân đƣợc định nghĩa là tổng của ̣ các phép cộng , chẳng han 4P = P + P + P + P Ví dụ với P = (3, 10) và Q = (9, 7) E23(1, 1) ta : có ̣ ̃ λ = −10 −3 −1 9−362 ( xR = (112 - - ) mod 23 = 17 yR = (11(3 - 17) - 10) mod 23 = 20 Nên P + Q = (17, 20) Để 2P ta : tìm tính λ=( ) mod 23 = ( ) mod 23 = ( ) mod 23 = ×10 20 Chú ý là để thực hiện phép tính cuối ta lấy phần tử nghịch đảo của Z23 sau nhân số đó với tƣ̉ là xR=(62(3 - 7) - 10) mod 23 = 30 mod 23 = yR = (6(3 - 7) - 10) mod 23 = 34 mod 23 = 12 Kết luân: 2P = (7, 12) Để đinh độ an mât dƣa ̣ cong Elliptic , hệ xác toàn của các mã các đƣờng ng ƣời ta dƣa môt số số phần điểm môt ̣ Abel thƣờng là nhóm hƣ̃u , gọi là N , han đƣợc đinh nghia môt cong Elliptic Trong hợp han EP(a, đƣờng trƣờng nhóm hƣ̃u b), ta cân N : có các của là p +1− p ≤ N ≤ p +1+ p , số p) này xấp xỉ bằng số phần tƣ̉ của ̣ ZP (bằng 3.4.6 Các đƣờng cong Elliptic dựa trƣờng hữu hạn GF(2m) ) m) là 2m, ( mod toán đ ợc trang = Số phần han GF(2mod 23 = các) phép 23 = ( ƣ) mod 23 bị 11 nên tƣ̉ của trƣờng hƣ̃u GF(2m) là phép toán cộng và phép toán nhân đƣợc thực hiện với các đa thức Đối với các cong Elliptic dƣa GF (2m), sử dụng mợt phƣơng trình bậc ba với cá ̣ đƣờng c biến c tham số tri ̣thuôc GF (2m), các phép tính đƣợc thực hiện tuân theo cá và cá có giá c ̣ ̣̃ ̣ ̣ ̣ 3(3 ) +1 ̣ ̣ ̣ ̣ ̣ ̣ ̣ phép toán GF(2m) Phƣơng trinh biểu diễn g0 = 0001 g4 = 0011 g8 = 0101 g12 = 1111 g1 = 0010 g5 = 0110 g9 = 1010 g13 = 1101 g2 = 0100 g6 = 1100 g10 = 0111 g14 = 1001 g3 = 1000 g7 = 1011 (g , g ) 11 (g , g ) g ,g ) 14 (g , g ) 10 (g , g ) g11 = 1110 13 (g , g ) 10 (g , g) 10 (g , g ) 12 (g ,0) 12 12 (g , g ) g15 = 0001 (0, 1) (1, g ) 13 (1, g ) (g , g ) 13 (g , g ) Chƣơng IV: Các hệ mã mật khóa công khai So với các hệ mã mât dƣa ̣ hệ mã dựa GF(2m) tƣơng đối khác y2 + xy = x3 + ax2 + b (phƣơng Trong đó các biến x, y và các các đƣờng cong Z P, dạng biểu diễn của các : trình 3) hệ số a, b nh là các ̣ phần tƣ̉ của GF(2m) và các phép tí toán đƣợc thực hiện tuân theo các qui tắc GF(2m) Chúng ta ký hiệu E2m(a, b) là tất cả các cặp số nguyên (x, y) thỏa mãn phƣơ ng trình phƣơng trình và điểm vơ O Ví dụ: có thể sử dụng GF(24) với đa thƣ́c bất khả qui f(x) = x4 + x + Ph ần tƣ̉ g sinh của GF(24) là g thỏa mãn f(g) = 0, g4 = g + 1, hay ở dang nhi ̣phân là 0010 Chún ̀ ̣ Xét đƣờng cong Elliptic y + xy = x3 + g4x2 + 1, trƣờng hợp này = g0 = Môt điểm nằm đƣờng cong là (g5, g3): (g3)2 + (g5)(g3) = (g5)3 + (g4)(g5)2 + g6 + g8 = g15 + g14 + 1100 + 0101 = 0001 + 1001 + 0001 1001 = 1001 ta có bảng lũy thƣ̀a của g nhƣ sau: Chẳng han g5 = g4 g = (g+1)g = g2 + g = 0110 ̣ ̣ a = g4 và b ... vụ an tồn bảo mật thơng tin 1.1 Các khái niệm mở đầu 1.1.1 Thành phần hệ thống thông tin 1.1 .2 Những mối đe dọa thiệt hại hệ thống thông tin 1.1.3 Giải pháp điều khiển kiểm sốt an tồn bảo mật. .. tần xuất 2. 2.1 Mã với bảng đồng âm 2. 2 .2 Mã đa bảng thế: giải thuật mã Vigenre One time pad 2. 2.3 Lý thuyết bí mật tuyệt đối 2. 2.4 Đánh giá mức độ bảo mật phương pháp mã hóa Kiểm tra 16 2 4.1.3... mã hóa dữ 3 .2. 1 Lịch sử DES 3 .2. 2 Cấu trúc vịng lặp DES 3 .2. 3 Thuật tốn sinh khóa 3 .2. 4 Cấu trúc hàm lặp 3 .2. 5 Thuật tốn giải mã DES 3 .2. 6 Đánh giá mức độ an toàn bảo mật DES 3 .2. 7 TripleDES