Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 63 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
63
Dung lượng
1,81 MB
Nội dung
MỤC LỤC GIỚI THIỆU Chương MỘTSỐ KHÁI NIỆM CƠ BẢN 1.1 CÁC KHÁI NIỆM TRONG TOÁN HỌC 1.1.1 Mộtsố 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ộtsố khái niệm đại số 1.1.2.1 Nhóm 1.1.2.2 Nhóm nhóm (G, *) 1.1.2.3 Nhóm Cyclic 1.1.2.4 Tập thặng dư thu gọn theo modulo 10 1.1.2.5 Phần tử nghịch đảo phép nhân 10 1.1.3 Độ phức tạp thuật toán 11 1.1.3.1 Khái niệm toán 11 1.1.3.2 Khái niệm thuật toán 11 1.1.3.3 Khái niệm Độ phức tạp thuật toán 11 1.1.3.4 Khái niệm “dẫn được” 13 1.1.3.5 Khái niệm khó tương đương 13 1.1.3.6 Lớp toán P, NP 13 1.1.3.7 Lớp toán NP-hard 14 1.1.3.8 Lớp toán NP-Complete 14 1.1.3.9 Hàm phía hàm cửa sập phía 14 1.2 VẤN ĐỀ MÃ HÓA DỮ LIỆU 15 1.2.1 Khái niệm Mã hóa 15 1.2.2 Phân loại mã hóa 16 1.2.2.1 Hệ mã hóa khóa đối xứng 16 1.2.2.2 Hệ mã hóa khóa cơng khai 17 1.3 VẤN ĐỀ CHỮKÝSỐ 19 1.3.1 Khái niệm “chữ ký số” 19 1.3.1.1 Giới thiệu “chữ ký số” 19 1.3.1.2 Sơ đồ “chữ ký số” 20 1.3.2 Phân loại “chữ ký số” 21 1.3.2.1 Phân loạichữký theo đặc trưng kiểm tra chữký 21 1.3.2.2 Phân loạichữký theo mức an toàn 21 1.3.2.3 Phân loạichữký theo ứng dụng đặc trưng 21 1.4 MỘTSỐ BÀI TOÁN QUAN TRỌNG TRONG MẬT MÃ 22 1.4.1 Bài toán kiểm tra số nguyên tố lớn 22 1.4.2 Bài tốn phân tích thành thừa số nguyên tố 27 1.4.3 Bài tốn tính logarit rời rạc theo modulo 30 Chương TẤNCÔNGCHỮKÝSỐ 32 2.1 TẤNCÔNGCHỮKÝ RSA 32 2.1.1 Chữký RSA 32 2.1.1.1 Sơ đồ chữký 32 2.1.1.2 Ví dụ 32 2.1.2 Các dạng công vào chữký RSA 33 2.1.2.1 Tấncơng dạng 1: Tìm cách xác định khóa bí mật 33 2.1.2.2 Tấncơng dạng 2: Giả mạo chữký (khơng tính trực tiếp khóa bí mật) .42 2.2 TẤNCƠNGCHỮKÝ ELGAMAL 44 2.2.1 Chữký Elgamal 44 2.2.1.1 Sơ đồ chữký 44 2.2.1.2 Ví dụ 45 2.2.2 Các dạng công vào chữký Elgamal 46 2.2.2.1 Tìm cách xác định khóa bí mật 46 2.2.2.2 Giả mạo chữký (khơng tính trực tiếp khóa bí mật) 47 2.3 TẤNCÔNGCHỮKÝ DSS 49 2.3.1 Chữký DSS 49 2.3.1.1 Sơ đồ chữký DSS 49 2.3.1.2 Ví dụ 50 KẾT LUẬN 52 BẢNG CHỮ VIẾT TẮT 53 TÀI LIỆU THAM KHẢO 54 GIỚI THIỆU Con người ln có nhu cầu trao đổi thơng tin với Nhu cầu tăng cao công nghệ đời đáp ứng cho việc trao đổi thông tin ngày nhanh Chúng ta không quên việc máy điện thoại đời bước tiến vượt bậc việc rút ngắn khoảng cách đáng kể thời gian không gian hai bên muốn trao đổi thông tin Những thư hay điện tín gửi nhanh phương tiện truyền thông phát triển Đặc biệt từ Internet xuất hiện, dường yêu cầu trao đổi thông tin đáp ứng ấn phím “send” Sẽ nhiều tiện ích mà cơng nghệ đem lại cho lĩnh vực Kinh tế-Văn hóa-Giáo dục-Y tế Ích lợi Internet mang lại xã hội vô cùng, khơng kể đến mặt trái người sử dụng với mục đích khơng tốt Vì mà thơng tin quan trọng truyền mạng hợp đồng ký kết, văn kiện mang tính bảo mật vấn đề quan tâm có truyền an tồn hay khơng? Do để chống lại cơng hay giả mạo, nảy sinh u cầu cần phải làm cho văn gửi “khơng nhìn thấy”, khơng thể giả mạo văn bản, dù có xâm nhập vào văn Nhu cầu ngày đáp ứng cơng nghệ mã hóa chữkýsố đời Với cơng nghệ này, trợ giúp người giải toán nan giải bảo mật trao đổi thông tin Cùng với phát triển mật mã khóa cơng khai, người ta nghiêncứu đưa nhiều phương pháp, nhiều kỹ thuật kýchữkýsố ứng dụng hoạt động kinh tế, xã hội Chẳng hạn ứng dụng thương mại điện tử, giao dịch chủ tài khoản ngân hàng, ứng dụng phủ điện tử đòi hỏi việc xác nhận danh tính phải đảm bảo Ngày chữkýsố sử dụng nhiều lĩnh vực kinh tế với việc trao đổi hợp đồng đối tác kinh doanh, xã hội bỏ phiếu kín tiến hành bầu cử từ xa, hay thi phạm vi rộng lớn Mộtsốchữký xây dựng là: chữký RSA, chữký ELGAMAL, chữký DSS, chữký RABIN Mặc dù chữkýsố nhiều hạn chế kích thước chữ ký, hay khả chống giả mạo chưa cao khả mà đem lại hữu ích RSA (Rivest-Shamir-Adleman): năm 1977, R.1 Rivest, A Shamir L.M Adleman đề xuất hệ mật mã khóa cơng khai mà độ an tồn hệ dựa vào tốn khó “phân tích số ngun thành thừa số nguyên tố”, hệ trở thành hệ tiếng mang tên hệ RSA ELGAMAL: hệ mật mã ElGamal T ElGamal đề xuất năm 1985, độ an toàn hệ dựa vào độ phức tạp tốn tính logarit rời rạc DSS (Digital Signature Standard) đề xuất từ năm 1991 chấp nhận vào cuối năm 1994 để sử dụng số lĩnh vực giao dịch điện tử Hoa Kỳ DSS dựa vào sơ đồ chữký ElGamal với vài sửa đổi RABIN: hệ mã hóa khóa cơng khai M.O Rabin đề xuất năm 1977, độ an toàn hệ dựa vào tốn khó “phân tích số nguyên thành thừa số nguyên tố” Khi nói đến chữký điện tử, lấy mục tiêu an toàn lên hàng đầu Mộtchữký điện tử thực áp dụng thực tế chứng minh khơng thể giả mạo Mục tiêu lớn kẻ côngsơ đồ chữký giả mạo chữ ký, điều có nghĩa kẻ cơng sinh chữký người ký lên thông điệp, mà chữký chấp nhận người xác nhận Trong thực tế hành vi côngchữký điện tử đa dạng Đó vấn đề nghiêncứu luận văn “Nghiên cứusốloạicôngchữký số” Nội dung luận văn bao gồm chương: Chương 1: Mộtsố khái niệm Chương 2: Tấncôngchữkýsố Chương MỘTSỐ KHÁI NIỆM CƠ BẢN 1.1 CÁC KHÁI NIỆM TRONG TOÁN HỌC 1.1.1 Mộtsố khái niệm số học 1.1.1.1 Số nguyên tố 1/ Khái niệm Số nguyên tố số tự nhiên lớn có hai ước 2/ 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ố lớn tìm thấy [33] rank Prime Digits Who when reference 32582657 -1 9808358 G9 2006 Mersenne 44?? 2 30402457 -1 9152052 G9 2005 Mersenne 43?? 25964951 - 7816230 G8 2005 Mersenne 42?? 24036583 - 7235733 G7 2004 Mersenne 41?? 20996011 - 6320430 G6 2003 Mersenne 40?? 13466917 4053946 G5 2001 Mersenne 39?? 19249 13018586 +1 3918900 SB10 2007 27653 9167433 +1 2759677 SB8 2005 28433 7830457 +1 2357207 SB7 2004 10 33661 7031232 +1 2116617 SB11 2007 -1 1.1.1.2 Ước số bội số 1/ Khái niệm Cho hai số nguyên a b, b Nếu có số nguyên q cho a = b*q, ta nói a chia hết cho b, kí hiệu b\a Ta nói b ước a, a bội b 2/ 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 r < /b/) cho a = b*q + r Khi q gọi thương nguyên, r gọi số dư phép chia a cho b Nếu r = 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ư r = 1.1.1.3 Ước số chung bội số chung 1/ Khái niệm Số nguyên d gọi ước chung số nguyên a1 , a2 , , an , ước tất sốSố nguyên m gọi bội chung số nguyên a1 , a2 , , an , bội tất sốMột ước chung d > số nguyên a1 , a2 , , an , ước chung a1 , a2 , , an ước d, d gọi ước chung lớn (UCLN) a1 , a2 , , an Ký hiệu d = gcd ( a1 , a2 , , an ) hay d = UCLN( a1 , a2 , , an ) Một bội chung m > số nguyên a1 , a2 , , an , bội chung a1 , a2 , , an bội m, m gọi bội chung nhỏ (BCNN) a1 , a2 , , an Ký hiệu m = lcm( a1 , a2 , , an ) hay m = BCNN( a1 , a2 , , an ) 2/ Ví dụ: Cho a = 12, b = 15, gcd(12, 15) = 3, lcm(12, 15) = 60 1.1.1.4 Số nguyên tố 1/ Khái niệm Nếu gcd( a1 , a2 , , an ) = 1, số a1 , a2 , , an gọi nguyên tố 2/ Ví dụ: Hai số 13 nguyên tố nhau, gcd(8, 13) = 1.1.1.5 Khái niệm Đồng dư 1/ Khái niệm Cho hai số nguyên a, b, m (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) 2/ Ví dụ: 17 (mod 3) chia 17 cho 3, số dư 1.1.2 Mộtsố khái niệm đại số 1.1.2.1 Nhóm 1/ Khái niệm Nhóm bội (G, *), G , * phép tốn hai ngơi G thỏa mãn ba tính chất sau: + Phép tốn có tính kết hợp: (x*y)*z = x*(y*z) + Có phần tử trung lập e + Với x G: x*e = e*x = x G, có phần tử nghịch đảo x‟ với x, y, z với x G G 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 2/ 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ộngsố nguyên * Tập Q * số hữu tỷ khác (hay tập R * 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 * Tập vectơ khơng gian với phép tốn cộng vectơ nhóm giao hốn 1.1.2.2 Nhóm nhóm (G, *) 1/ Khái niệm Nhóm G tập S G, S , thỏa mãn tính chất sau: + Phần tử trung lập e G nằm S + S khép kín phép tính (*) G, tức x*y S với x, y + S khép kín phép lấy nghịch đảo G, tức x S với x S S 1.1.2.3 Nhóm Cyclic 1/ Khái niệm Nhóm (G, *) gọi Nhóm Cyclic sinh phần tử Tức có phần tử g G mà với a G, tồn n N để g n =g*g* *g = a (Chú ý g*g* *g g*g với n lần) Nói cách khác: G gọi Nhóm Cyclic tồn g G cho phần tử G lũy thừa nguyên g 2/ Ví dụ: Nhóm (Z , +) gồm số nguyên dương Cyclic với phần tử sinh g = 1.1.2.4 Tập thặng dư thu gọn theo modulo 1/ Khái niệm Kí hiệu Z n = {0, 1, 2, , n-1} tập số nguyên không âm < n Z n phép cộng (+) lập thành nhóm Cyclic có phần tử sinh 1, phần tử trung lập e = (Z n , +) gọi nhóm cộng, nhóm hữu hạn có cấp n Kí hiệu Z * = {x Z n , x nguyên tố với n} Tức x phải n Z * gọi Tập thặng dư thu gọn theo mod n, có số phần tử (n) n Z * với phép nhân mod n lập thành nhóm (nhóm nhân), phần tử trung lập e = n Tổng quát (Z * , phép nhân mod n) nhóm Cyclic n Nhóm nhân Z * Cyclic n có dạng: 2, 4, p k hay 2p k với p nguyên tố lẻ n 2/ Ví dụ: Cho n = 21, Z * = {1, 2, 4, 5, 8, 10, 11, 13, 16, 17, 19, 20} n 1.1.2.5 Phần tử nghịch đảo phép nhân 1/ Khái niệm Cho a Z n , tồn b Z cho a b (mod n), ta nói b phần tử n nghịch đảo a Z n ký hiệu a Một phần tử có phần tử nghịch đảo, gọi khả nghịch 2/ Ví dụ: Tìm phần tử nghịch đảo Z Tức phải giải phương trình x (mod 7), x phần tử nghịch đảo I gi ui vi 1 2 1 -2 3 Vì t = V = -2 < x = a := + n = -2 + = Vậy phần tử nghịch đảo Z 10 y SigG (u) 2.1.2.2 Tấncông dạng 2: Giả mạo chữký (khơng tính trực tiếp khóa bí mật) 1/ Ký trước, Mã hóa sau Người gửi G gửi tài liệu x chữký y đến người nhận N, G ký trước vào x chữký y = SigG (x) , sau mã hóa x y nhận Z eG (x, y) G gửi z cho N H lấy trộm thông tin truyền từ G đến N Để cơng x, H tìm cách giải mã thơng tin lấy Để công vào chữký thay chữký (giải mạo), H tìm cách giải mã Z, nhận y Sau H thay y chữký giả mạo y‟, gửi đến N Tuy nhiên trường hợp H phải giải mã trước, sau giả mạo chữký Giải pháp phòng tránh: chọn số lập mã giải mã số ngun lớn, có kích cỡ lớn gần thân số n 2/ Mã hóa trước, Ký sau Người gửi G gửi tài liệu x chữký y đến người nhận N, G mã hóa trước x u eG (x) , sau ký vào u chữký v G gửi (u, v) cho N H lấy trộm thông tin đường truyền từ G đến N Để công x, H tìm cách giải mã thơng tin lấy Để cơngchữký v, H sẵn có v‟, H việc thay v v‟ H thay chữký v u, chữký (của H) v’ = SigH (u) , gửi (u, v’) đến N Khi nhận v’, N kiểm thử thấy sai, gửi phản hồi lại G G chứng minh chữký giả mạo G gửi chữký v cho N, trình truyền tin bị chậm lại Như trường hợp này, H giả mạo chữký mà không cần giải mã Giải pháp phòng tránh: Hãy ký trước, sau mã hóa chữký Chọn số lập mã giải mã số ngun lớn, có kích cỡ lớn gần thân số n 42 3/ Kẻ cơng có khả kiểm tra chữký khác có phù hợp với thơng điệp có trước hay không Đây kiểu công thông dụng thực tế thường chia làm lớp: - Kẻ cơng có chữký cho lớp thông điệp - Kẻ công dành chữký cho danh sách thông điệp trước tiến hành hoạt động phá hủy chữ ký, cách cơng non-adaptive (khơng mang tính phù hợp), thơng điệp chọn trước chữký gửi - Kẻ công phép sử dụng người ký bên đáng tin cậy, kẻ cơng yêu cầu chữký cho thông điệp, mà thơng điệp phụ thuộc vào khóa cơng khai người ký Như kẻ cơng u cầu chữký thông điệp phụ thuộc vào chữký thông điệp dành trước qua tính tốn chữký Giải pháp phòng tránh: Sử dụng giải pháp phòng tránh trình bày với dạng côngchữký Đây kiểu công thám mã chuyên nghiệp 43 Z *p 2.2 TẤNCÔNGCHỮKÝ ELGAMAL 2.2.1 Chữký Elgamal 2.2.1.1 Sơ đồ chữký 1/ Sơ đồ (Elgamal đề xuất năm 1985) * Tạo cặp khóa (bí mật, công khai) (a, h): Chọn số nguyên tố p cho toán logrit rời rạc Z p “khó” giải Chọn phần tử nguyên thủy g Chọn khóa bí mật a Z *p Đặt P = Z *p , A = Z *p x Z p Z *p Tính khóa cơng khai h Định nghĩa tập khóa: K = {(p, g, a, h): h g a mod p g a mod p} Các giá trị p, g, h công khai, phải giữ bí mật a * Ký số: Dùng khóa ký: khóa a khóa ngẫu nhiên bí mật r (Vì r Z *p , nên nguyên tố p -1, tồn r mod (p-1)) Chữký x P y = Sigk ( x, r) = ( , ), y A (E1) Trong Z *p , = g r mod p Zp 1: = (x – a* )* r mod (p-1) * Kiểm tra chữ ký: Ver (x, , ) = g x mod p h * (E2) k 2/ Chú ý: Nếu chữký tính đúng, kiểm thử thành cơng h * Do g a * g r* mod p = (x – a * ) * r g(a r* ) mod p g x mod p mod (p-1) nên (a * + r * ) x mod (p-1) - Chữký Elgamal thuộc loạichữký kèm thông điệp Tức người gửi chuyển “chữ ký”, phải gửi kèm thông điệp “ký” “chữ ký” Ngược lại, người nhận khơng có thơng điệp gốc 44 2.2.1.2 Ví dụ Chữký Elgamal liệu x = 112 * Tạo cặp khóa (bí mật, cơng khai) (a, h): Chọn số nguyên tố p = 463 Đặt P = Z *p , A = Z *p x Z p Chọn phần tử nguyên thủy g = Chọn khóa bí mật a = 211 Tính khóa cơng khai h Z *p Z *p g a mod p = 211 mod 463 = 249 g a mod p} Định nghĩa tập khóa: K = {(p, g, a, h): h Các giá trị p, g, h cơng khai, phải giữ bí mật a * Ký số: Chọn ngẫu nhiên bí mật r = 235 Vì r Z *p Khóa ký (a, r) Z * , nên nguyên tố p-1, tồn r mod (p-1) Cụ thể: p Chữký liệu x = 112 ( , ) = (16, 108), đó: = g r mod p = 235 mod 463 = 16 = (x – a* )* r mod (p-1) = (112 – 211 * 16) * 289 mod 462 = 108 * Kiểm tra chữ ký: Verk (x, , ) = h * h * 24916 *16108 mod 463 132 g x mod p 2112 mod 463 132 Hai giá trị nhau, chữký 45 g x mod p 2.2.2 Các dạng công vào chữký Elgamal 2.2.2.1 Xác định khóa (tìm cách xác định khóa bí mật) 1/ Số ngẫu nhiên r bị lộ: Nếu r bị lộ, thám mã tính khóa mật a = (x – r ) mod( p 1) Giải pháp phòng tránh: Cần thận trọng việc sử dụng số ngẫu nhiên k, không để lộ số k dùng 2/ Dùng r cho hai lần ký khác nhau: Giả sử dùng r cho hai lần ký x1 x2 ( , ) chữký x1 , ( , ) chữký x2 , Khi thám mã tính a sau: * x Do ta có Đặt , tương đương với Đặt d = ( 1 x1 x2 r * (mod p) x (mod p) (mod p) ta có x1 x2 k*( ) 12 x x r( ) mod( p (mod p) 1) (1) , p-1) Khi d | (p-1), x' d|( 12 ) d | ( x1 x2 ) x1 x2 d ' d p' p d Khi đồng dư thức (1) trở thành: Vì ( ‟, p‟) = nên tính x' r * = ( ‟-1) mod p‟ '(mod p') tính r = x‟* mod p‟ r = x‟* + i*p‟ mod (p-1), với i giá trị đó, i d-1 Thử với giá trị đó, ta tìm r (điều kiện thử để xác định r Tiếp theo tính a trường hợp → Giải pháp phòng tránh: lần ký sử dụng số k khác 46 r mod p ) 3/ Khóa mật a q nhỏ Nếu khóa mật a q nhỏ, phương pháp dò tìm đơn giản, người ta tính Giải pháp phòng tránh: chọn khóa bí mật a số ngun lớn, có kích cỡ lớn gần thân số n 4/ Số ngẫu nhiên r nhỏ Tương tự khóa mật a, số ngẫu nhiên r phải bí mật Trong trường hợp tham số nhỏ, hiển nhiên phương pháp dò tìm đơn giản người ta tìm chúng Khi sơ đồ chữký an toàn Nếu r bị lộ, thám mã tính khóa mật a = (x – r ) mod( p 1) Giải pháp phòng tránh: chọn số ngẫu nhiên r số ngun lớn, có kích cỡ lớn gần thân số n 2.2.2.2 Giả mạo chữký (không tính trực tiếp khóa bí mật) 1/ Trường hợp 1: Giả mạo chữký không với tài liệu ký + H cố gắng giả mạo chữký x, mà khơng biết khóa bí mật a Như vậy, H phải tính * Nếu chọn trước , H phải tính gxh Tức mod p hay qua đẳng thức h * g x mod p (E2) log g x h mod p * Nếu chọn trước , H phải tính qua phương trình: h * g x mod p Hiện chưa có cách hữu hiệu trường hợp trên, đoán khó tốn logarit rời rạc Có thể có cách tính , đồng thời với ( , ) chữ ký? Chưa có trả lời rõ! * Nếu chọn trước , , sau tính x, H phải đối dấu với tốn logarit rời rạc Ta có h * Như x g x mod p (E2) logg g x logg h * 47 2/ Trường hợp 2: Giả mạo chữký với tài liệu ký H ký tài liệu ngẫu nhiên cách chọn trước đồng thời x, Cách * Chọn x, , , thỏa mãn điều kiện kiểm thử sau: Chọn số nguyên i, j cho i, j g i h j mod p , p-2, j mod( p 1) , (j, p-1) = tính: x ij mod( p 1) Trong tính theo mod (p-1) (nghĩa j nguyên tố với p-1) j1 * Chứng minh ( , ) chữký x, cách kiểm tra điều kiện kiểm thử: h (g i h j ) h j mod p h g i j 1h mod p g x mod p Cách * Nếu ( , ) chữký tài liệu x có từ trước, giả mạo chữký tài liệu x‟ khác + Chọn số ngẫu nhiên k, i, j thỏa mãn k, i, j p-2, (k (kj mod p , ) mod( p kgihj x' (kx i )(k - j , p-1) = tính: 1) , j ) mod( p 1) * ( , ) chữký x‟, thỏa mãn điều kiện kiểm thử: h g x ' mod p Chú ý Cả hai cách giả mạo nói cho chữký tài liệu tương đương, khơng phải tài liệu chọn theo ý người giả mạo Tài liệu tính sau tính chữ ký, giả mạo loại thực tế khơng có ý nghĩa nhiều 48 2.3 TẤNCÔNGCHỮKÝ DSS 2.3.1 Chữký DSS 2.3.1.1 Sơ đồ chữký DSS 1/ Giới thiệu chuẩn chữkýsố DSS Chuẩn chữkýsố (DSS: Digital Signature Standard) đề xuất năm 1991, cải biên sơ đồ chữký Elgamal, chấp nhận chuẩn vào năm 1994 để dùng số lĩnh vực giao dịch USA Thơng thường tài liệu số mã hóa giải mã 1lần Nhưng chữký lại liên quan đến pháp luật, chữký phải kiểm thử sau nhiều năm ký Do chữký phải bảo vệ cẩn thận Như số nguyên tố p phải đủ lớn (chẳng hạn dài cỡ 512 bit) để bảo đảm an tồn, nhiều người đề nghị phải dài 1024 bit Tuy nhiên, độ dài chữký theo sơ đồ Elgamal gấp đối số bít p, p dài 512 bít độ dài chữký 1024 bit Trong ứng dụng dùng thẻ thông minh (Smart card) lại mong muốn có chữký ngắn, nên giải pháp sửa đổi mặt dùng p với độ dài từ 512 bit đến 1024 bit (bội 64), mặt khác chữký ( , ), số , có độ dài biểu diễn ngắn, ví dụ 160 bit Khi chữký 320 bit Điều thực cách dùng nhóm cyclic Z q* Z *p thay cho Z *p , tính tốn thực Z *p , thành phần chữký lại thuộc Z q* Thay đổi cơng thức tính sơ đồ chữký Elgamal thành Điều kiện kiểm thử h a x* ** Nếu (x + g * g x mod p sửa thành (mod p) , p-1) = mod p tồn 49 (x a * )r mod q 2/ Sơ đồ chữký DSS Sơ đồ * Tạo cặp khóa (bí mật, cơng khai) (a, h): + Chọn số nguyên tố p cho toán logarit rời rạc Chọn q ước nguyên tố p-1 Tức p-1 = t * q Z p “khó” giải hay p = t * q + (Số nguyên tố p cỡ 512 bit, q cỡ 160 bit) (g phần tử sinh Z *p ) Z *p bậc q mod p, + Chọn g = g t , chọn khóa bí mật a Z *p , tính khóa cơng khai h Tính + Đặt P = Z q* , A = Z q* x Z q* , K = {(p, q, , a, h)/ a + Với khóa (p, q, Z *p , h , a, h), k‟ = a bí mật, k” = (p, q, a a mod p } , h) công khai * Ký số: Dùng khóa ký: khóa a khóa ngẫu nhiên bí mật r Chữký x ( r Z *p (x Z q* ( , ) , Sigk ' (x, r) mod p) mod q , mod p a * ) * r mod q Z q* , để bảo đảm tồn r mod q) (Chú ý r * Kiểm tra chữ ký: Với e Ver (x, , ) x* mod q , e * mod q k" e (1 * he2 mod p) mod q 2.3.1.2 Ví dụ * Tạo cặp khóa (bí mật, cơng khai) (a, b): Chọn p = 7649, q = 239 ước nguyên tố p – 1, t = 32 Tức p-1 = t * q hay p = t * q + = 32 * q + = 32*239 + = 7649 Chọn g = phần tử sinh Z g t mod p 332 mod 7649 7098 7649 a Chọn khóa mật a = 85, khóa cơng khai h 5387 mod p 709885 mod 7649 * * Ký số: Dùng khóa ký: a khóa ngẫu nhiên r = 58 Z q , r mod q = 136 + Chữký x = 1246 ( r Sigk ' (x, r) ( , ) = (115, 87), mod p) mod q = ( 709858 mod7649) mod 239 = 593 mod 239 = 115 (x a * ) * r mod q = (1246 + 85 * 115) * 136 mod 239 = 87 50 * Kiểm tra chữ ký: ( , ) = (115, 87) chữký x = 1246 1 e * ex * mod q = 1246 * 11 mod q = 83, mod q = 115 * 11 mod q = 70 Điều kiện kiểm thử ? ( e * he mod p) mod q , với = 11 (709883 * 538770 mod 7649) mod 239 593mod 239 115 Chú ý: 1) Liên quan tới tính tốn cụ thể sơ đồ: + Chú ý phải có (mod q) để bảo đảm có mod q điều kiện kiểm thử (tương đương UCLN( , p-1) = 1) Vì chọn r mà không điều kiện trên, phải chọn r khác để có Tuy nhiên khả (mod q) (mod q) 160 , điều khơng xảy + Một ý thay tính p trước tính q, ta tính q trước tìm p 2) Liên quan chung tới DSS (1991): + Độ dài cố định p 512 bit Nhiều người muốn p thay đổi lớn Vì NIST sửa đồi p có độ dài thay đổi, bội 64: từ 512 đến 1024 bit + Nếu dùng chữký RSA với thành phần kiểm thử chữký nhỏ, việc kiểm thử nhanh việc ký Đối với DSS, ngược lại, việc ký nhanh kiểm thử Điều dẫn đến vấn đề: Một tài liệu ký lần, lại kiểm thử nhiều lần, nên người ta muốn thuật toán kiểm thử nhanh Máy tính ký kiểm thử nào? Nhiều ứng dụng dùng thẻ thông minh với khả có hạn, kết nối với máy tính mạnh hơn, nên xây dựng sơ đồ chữký liên quan đến thẻ Nhưng tình đặt thẻ thơng minh sinh chữký kiểm thử chữ ký, khó kết luận? NIST trả lời thời gian kiểm thử sinh chữ ký, nhanh không quan trọng, miễn đủ nhanh Chữký DSS thuộc loạichữký kèm thơng điệp Đó cải tiến chữký Elgamal Các dạng công vào DSS tương tự với chữký Elgamal 51 KẾT LUẬN Cùng với phát triển chung lồi người, cơng nghệ thơng tin lĩnh vực đem lại nhiều lợi ích cho xã hội, trở thành yếu tố thiếu kinh tế hội nhập toàn cầu hóa xã hội lồi người Chính an tồn bảo mật thơng tin yếu tố quan trọng, đảm bảo an toàn cho việc áp dụng nhiều ứng dụng thực tiễn, cho giao dịch điện tử Các giải pháp quyền điện tử, thương mại điện tử khơng thực khơng có sở an tồn thơng tin vững Một nhiệm vụ bảo đảm an tồn thơng tin bảo vệ chữký (công cụ xác thực quan trọng), đề tài nghiêncứuchữkýsố Cụ thể nghiêncứu khả cơngchữ ký, từ đưa giải pháp khắc phục, tránh cố giả mạo chữký Kết Đồ án tốt nghiệp tìm hiểu nghiêncứu qua tài liệu để hệ thống lại đề sau: 1/ Trình bày số khái niệm mã hóa liệu, chữkýsố 2/ Trình bày số khả côngchữkýsố thám mã giải pháp phòng tránh Để hồn thành luận văn, em nhận bảo, hướng dẫn tận tình thầy giáo PGS.TS Trịnh Nhật Tiến Tuy nhiên, luận văn khơng tránh khỏi thiếu sót, mong góp ý Thầy, Cô giáo bạn 52 BẢNG CHỮ VIẾT TẮT RSA (Rivest-Shamir-Adleman) ELGAMAL (T ElGamal) DSS (Digital Signature Standard) DES (Data Encryption Standard) USA (United States of America) NIST Viện tiêu chuẩn công nghệ quốc gia UCLN Ước chung lớn BCNN Bội chung nhỏ ATTT An tồn thơng tin TT Trung tâm phân phối khóa Smart card Thẻ thơng minh PT Độ phức tạp 53 TÀI LIỆU THAM KHẢO Phan Đình Diệu Lý thuyết mật mã An tồn thơng tin, 2004 TS Nguyễn Ngọc Cương (1999), Bài giảng An tồn hệ thống thơng tin PGS.TS Trịnh Nhật Tiến Bài giảng mơn An tồn liệu, 2005 Phạm Huy Điển, Hà Duy Khối (2003), Mã hóa thơng tin: Cơ sở toán học ứng dụng, nhà xuất Đại Học Quốc Gia Hà Nội Jalal Feghhi, Jalil Feghhi, Peter Williams Digital Certificates Applied Internet Security, 1999 S Castano, M Fugina, G Martella, P Samarati Database Security, 1994 Danley Harrisson “An Introduction to Steganography”, 2002 54 ... điệp, ký chữ ký Ví dụ: Chữ ký RSA chữ ký khơi phục thơng điệp, trình bày mục sau 2/ Chữ ký kèm thông điệp: Là loại chữ ký, người gửi cần gửi chữ ký , phải gửi kèm thông điệp ký chữ ký ... số loại công chữ ký số Nội dung luận văn bao gồm chương: Chương 1: Một số khái niệm Chương 2: Tấn công chữ ký số Chương MỘT SỐ KHÁI NIỆM CƠ BẢN 1.1 CÁC KHÁI NIỆM TRONG TOÁN HỌC 1.1.1 Một số. .. Giới thiệu chữ ký số 19 1.3.1.2 Sơ đồ chữ ký số 20 1.3.2 Phân loại chữ ký số 21 1.3.2.1 Phân loại chữ ký theo đặc trưng kiểm tra chữ ký 21 1.3.2.2