Chữ kí số Elgamal

Lời mở đầu Một sơ đồ chữ kí số thường chứa hai thành phần : Thuật toán kí và thuật toán xác minh . Người A có thể kí bức điện x dùng thuật toán kí an toàn . Chữ kí Sig(x) nhận được có thể kiểm tra bằng thuật toán xác minh công khai Ver . Khi cho trước cặp (x,y) thuật toán xác minh cho giá trị TRUE hay FALSE tuỳ thuộc vào việc chữ kí được xác thực như thế nào Nghiên cứu một số loại tấn công chữ ký số GIỚI THIỆU Con người luôn có nhu cầu trao đổi thông tin với nhau. Nhu cầu đó tăng cao khi các công nghệ mới ra đời đáp ứng cho việc trao đổi thông tin ngày càng nhanh. Chúng ta vẫn không quên việc chiếc máy điện thoại ra đời đã là bước tiến vượt bậc trong việc rút ngắn khoảng cách đáng kể cả về thời gian và không gian giữa hai bên muốn trao đổi thông tin. Những bức thư hay điện tín được gửi đi nhanh hơn khi các phương tiện truyền thông phát triển. Đặc biệt hơn là từ khi Internet xuất hiện, dường như yêu cầu trao đổi thông tin của chúng ta được đáp ứng ngay khi ấn phím “send”. Sẽ còn rất nhiều tiện ích mà các công nghệ mới đã đem lại cho chúng ta trong mọi lĩnh vực Kinh tế-Văn hóa-Giáo dục-Y tế . Ích lợi của Internet mang lại đối với xã hội là vô cùng, nhưng cũng không thể không kể đến những mặt trái của nó khi con người sử dụng nó với mục đích không tốt. Vì vậy mà đối với những thông tin quan trọng khi truyền trên mạng như những bản hợp đồng ký kết, các văn kiện mang tính bảo mật . thì vấn đề quan tâm nhất đó là có truyền được an toàn hay không? Do vậy để chống lại sự tấn công hay giả mạo, thì nảy sinh yêu cầu là cần phải làm thế nào cho văn bản khi được gửi đi sẽ “không được nhìn thấy”, hoặc không thể giả mạo văn bản, dù có xâm nhập được vào văn bản. Nhu cầu đó ngày nay đã được đáp ứng khi công nghệ mã hóa và chữ ký số ra đời. Với công nghệ này, thì đã trợ giúp con người giải quyết được bài toán nan giải về bảo mật khi trao đổi thông tin. Cùng với sự phát triển của mật mã khóa công khai, người ta đã nghiên cứu và đưa ra nhiều phương pháp, nhiều kỹ thuật ký bằng chữ ký số ứng dụng trong các hoạt động kinh tế, xã hội. Chẳng hạn như các ứng dụng trong thương mại điện tử, các giao dịch của các chủ tài khoản trong ngân hàng, các ứng dụng trong chính phủ điện tử đòi hỏi việc xác nhận danh tính phải được đảm bảo. Ngày nay chữ ký số được sử dụng trong nhiều lĩnh vực như trong kinh tế với việc trao đổi các hợp đồng giữa các đối tác kinh doanh, trong xã hội là các cuộc bỏ phiếu kín khi tiến hành bầu cử từ xa, hay trong các cuộc thi phạm vi rộng lớn. Một số chữ ký đã được xây dựng là: chữ ký RSA, chữ ký ELGAMAL, chữ ký DSS, chữ ký RABIN . Mặc dù các chữ ký số còn nhiều hạn chế như là về kích thước chữ ký, hay khả năng chống giả mạo chưa cao . nhưng những khả năng mà nó đem lại là rất hữu ích. RSA (Rivest-Shamir-Adleman): năm 1977, R.1. Rivest, A. Shamir và L.M. Adleman đề xuất một hệ mật mã khóa công khai mà độ an toàn của hệ dựa vào bài toán khó “phân tích số nguyên thành thừa số nguyên tố”, hệ này trở thành một hệ nổi tiếng và mang tên là hệ RSA. ELGAMAL: hệ mật mã ElGamal được T. ElGamal đề xuất năm 1985, độ an toàn của hệ dựa vào độ phức tạp của bài toán tính logarit rời rạc. DSS (Digital Signature Standard) được đề xuất từ năm 1991 và được chấp nhận vào cuối năm 1994 để sử dụng trong một số lĩnh vực giao dịch điện tử tại Hoa Kỳ. DSS dựa vào sơ đồ chữ ký ElGamal với một vài sửa đổi. RABIN: hệ mã hóa khóa công khai được M.O. Rabin đề xuất năm 1977, độ an toàn của hệ dựa vào bài toá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ử, chúng ta luôn lấy mục tiêu an toàn lên hàng đầu. Một chữ ký điện tử chỉ thực sự được áp dụng trong thực tế nếu như nó được chứng minh là không thể giả mạo. Mục tiêu lớn nhất của kẻ tấn công các sơ đồ chữ ký chính là giả mạo chữ ký, điều này có nghĩa kẻ tấn công sẽ sinh ra được chữ ký của người ký lên thông điệp, mà chữ ký này sẽ được chấp nhận bởi người xác nhận. Trong thực tế các hành vi tấn công chữ ký điện tử là hết sức đa dạng. Đó cũng là vấn đề chính được nghiên cứu trong luận văn “Nghiên cứu một số loại tấn công chữ ký số”. Nội dung chính của luận văn này bao gồm 2 chương: Chương 1: Một số khái niệm cơ bản . Chương 2: Tấn công chữ ký số. MỤC LỤC GIỚI THIỆU 4 Chương 1. MỘT SỐ KHÁI NIỆM CƠ BẢN . 6 1.1. CÁC KHÁI NIỆM TRONG TOÁN HỌC 6 1.1.1. Một số khái niệm trong số học 6 1.1.1.1. Số nguyên tố 6 1.1.1.2. Ước số và bội số . 7 1.1.1.3. Ước số chung và bội số chung . 7 1.1.1.4. Số nguyên tố cùng nhau 8 1.1.1.5. Khái niệm Đồng dư 8 1.1.2. Một số khái niệm trong đại số . 8 1.1.2.1. Nhóm 8 1.1.2.2. Nhóm con của nhóm (G, *) . 9 1.1.2.3. Nhóm Cyclic 9 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 đối với phép nhân 10 1.1.3. Độ phức tạp của thuật toán 11 1.1.3.1. Khái niệm bài 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 của thuật toán . 11 1.1.3.4. Khái niệm “dẫn về được” . 13 1.1.3.5. Khái niệm khó tương đương . 13 1.1.3.6. Lớp bài toán P, NP . 13 1.1.3.7. Lớp bài toán NP-hard . 14 1.1.3.8. Lớp bài toán NP-Complete . 14 1.1.3.9. Hàm một phía và hàm cửa sập một 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ại chữ ký theo đặc trưng kiểm tra chữ ký 21 1.3.2.2. Phân loại chữ ký theo mức an toàn 21 1.3.2.3. Phân loại chữ ký theo ứng dụng đặc trưng . 21 1.4. MỘT SỐ 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 toán phân tích thành thừa số nguyên tố . 27 1.4.3. Bài toán tính logarit rời rạc theo modulo . 30 Chương 2. TẤN CÔNG CHỮ KÝ SỐ 32 2.1. TẤN CÔNG CHỮ 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 tấn công vào chữ ký RSA . 33 2.1.2.1. Tấn công dạng 1: Tìm cách xác định khóa bí mật . 33 2.1.2.2. Tấn cô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ẤN CÔNG CHỮ 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 tấn công vào chữ .

doc5 trang | Chia sẻ: banmai | Lượt xem: 6458 | Lượt tải: 3download
Bạn đang xem nội dung tài liệu Chữ kí số Elgamal, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
SƠ ĐỒ CHỮ KÝ SỐ ELGAMAL I.Giới thiệu về chữ ký số Trong cách thức truyền thống, thông báo được truyền đi trong giao dịch thường dưới dạng các văn bản viết tay hoặc đánh máy được kèm thêm chữ ký (viết tay) của người gửi ở bên dưới văn bản. Chữ ký đó là bằng chứng xác nhận thông báo đúng là của người ký, tức là của chủ thể giao dịch, và nếu tờ giấy mang văn bản không bị cắt, dán, tẩy, xóa thì tính toàn vẹn của thông báo cũng được chứng thực bởi chữ ký đó. Chữ ký viết tay có nhiều ưu điểm quen thuộc như dễ kiểm thử, không sao chép được, chữ ký của một người là giống nhau trên nhiều văn bản, nhưng mỗi chữ ký gắn liền với một văn bản cụ thể, .v.v… Khi chuyển sang cách thức truyền tin bằng phương tiện hiện đại, các thông báo được truyền đi trên mạng truyền tin số hóa, bản thân các thông báo cũng được biểu diễn dưới dạn số hóa, tức dưới dạng các bit nhị phân, “chữ ký” nếu có cũng ở dưới dạng các dãy bit, thì các mối quan hệ tự nhiên kể trên không còn giữ được nữa. Chẳng hạn, “ chữ ký ” của mỗi người gửi trên những văn bản khác nhau phải thể hiện được sự gắn kểttách nhiệm của người gửi đối với từng văn bản đó thì tất yếu phải khác nhau chứ không thể là những đoạn bit giống nhau như các chữ ký giống nhau trên các văn bản thông thường. Chữ ký viết tay có thể được kiểm thử bằng cách so sánh với nguyên mẫu, nhưng “ chữ ký ” điện tử thì không thể có “ nguyên mẫu ” để mà so sánh, việc kiểm thử phải được thực hiện bằng những thuật toán đặc biệt. Một vấn đề nữa là việc sao chép một văn bản cùng chữ ký. Nếu là văn bản cùng chữ ký viết tay thì dễ phân biệt bản gốc với bản sao, do đó khó mà dùng lại được một văn bản có chữ ký thật. Còn với văn bản điện tử cùng chữ ký điện tử thì có thể nhân bản sao chép tùy thích, khó mà phân biệt được bản gốc với bản sao, cho nên nguy cơ dùng lại nhiều lần là có thực, do đó cần có biện pháp để tránh nguy cơ đó. II.Định nghĩa hình thức của chữ ký số Mét s¬ ®å ch÷ kÝ sè lµ bé 5 ( P,A,K,S,V) tho¶ m·n c¸c ®iÒu kiÖn sau : P: lµ tËp h÷u h¹n c¸c bøc ®iÖn cã thÓ. A: lµ tËp h÷u h¹n c¸c ch÷ kÝ cã thÓ . K: kh«ng gian kho¸ lµ tËp h÷u h¹n c¸c kho¸ cã thÓ Víi mçi K thuéc K tån t¹i mét thuËt to¸n kÝ SigK ÎS vµ mét thuËt to¸n x¸c minh VerK Î V . Mçi SigK: P -> A vµ VerK :P x A -> { TRUE ,FALSE } lµ nh÷ng hµm sao cho mçi bøc ®iÖn x ÎP vµ mçi bøc ®iÖn y Î A tho¶ m·n ph­¬ng tr×nh sau ®©y: TRUE nÕu y= Sig(x) Ver (x,y) = FALSE nÕu y #Sig(x) Víi mçi K Î K , hµm SigK vµ VerK lµ c¸c hµm thêi gian ®a thøc. VerK sÏ lµ hµm c«ng khai cßn SigK lµ hµm mËt. Ta gäi Alice lµ ng­êi göi cßn Bob lµ ng­êi nhËn. Kh«ng thÓ dÔ dµng tÝnh to¸n ®Ó gi¶ m¹o ch÷ kÝ cña Bob trªn bøc ®iÖn x. NghÜa lµ víi x cho tr­íc, chØ cã Bob míi cã thÓ tÝnh ®­îc ch÷ kÝ y ®Ó Ver(x,y)= True. III. S¬ ®å ch÷ kÝ Elgamal Sau ®©y ta sÏ m« t¶ s¬ ®å ch÷ kÝ sè Elgamal ®· tõng giíi thiÖu trong mét b¸o c¸o n¨m 1985. B¶n c¶i tiÕn cña s¬ ®å nµy ®· ®­îc ViÖn Tiªu chuÈn vµ C«ng nghÖ Quèc gia Mü (NIST) chÊp nhËn lµm chuÈn ch÷ kÝ sè. S¬ ®å Elgamal ®­îc thiÕt kÕ víi môc ®Ých dµnh riªng cho ch÷ kÝ sè. Kh¸c víi s¬ ®å RSA dïng cho c¶ m· kho¸ c«ng khai lÉn ch÷ kÝ sè. S¬ ®å Elgamal ®­îc thiÕt kÕ víi môc ®Ých dµnh riªng cho ch÷ kÝ sè, ®iÓm m¹nh cña nã lµ cïng sè nguyªn tè p trong cïng mét s¬ ®å th× víi k lµ ngÉu nhiªn nªn ta cã thÓ cã nhiÒu ch÷ kÝ sè, kh«ng tÊt ®Þnh gièng nh­ hÖ thèng m· kho¸ c«ng khai Elgamal, ë s¬ ®å ch÷ kÝ RSA ta chØ thÊy trªn cïng mét s¬ ®å víi cïng mét sè nguyªn tè p th× ta chØ cã mét ch÷ kÝ sè. §iÒu nµy cã nghÜa lµ cã nhiÒu ch÷ kÝ hîp lÖ trªn bøc ®iÖn cho tr­íc bÊt k×. ThuËt to¸n x¸c minh ph¶i cã kh¶ n¨ng chÊp nhËn bÊt k× ch÷ kÝ hîp lÖ nµo khi x¸c thùc ch÷ kÝ ®ã. S¬ ®å ch÷ kÝ Elgamal Cho p lµ sè nguyªn tè sao cho bµi to¸n Logarithm rêi r¹c trªn Zp lµ khã vµ gi¶ sö a Î Zp* lµ phÇn tö nguyªn thuû Cho p = Zp* , A=Zp*´ Zp-1, vµ kÝ hiÖu: K={(p,a,a,b):b ºaa (mod p) } Gi¸ trÞ p,a,b lµ c«ng khai, cßn a lµ mËt Víi K=(p,a,a,b) vµ víi mét sè ngÉu nhiªn (mËt) k Î Zp-1* §Þnh nghÜa: Sigk(x,k) = (g,d). Trong ®ã g = ak mod p vµ d = (x-a g)k-1 mod (p-1). Víi x, g ÎZp* vµ d ÎZp-1 ta ®Þnh nghÜa Ver(x,y,d) = True « bg gd ºax (mod p). NÕu ch÷ kÝ ®­îc thiÕt lËp ®óng th× x¸c minh sÏ thµnh c«ng v× : bg gd º aa gak d (mod p) º ax (mod p ). ë ®©y ta dïng hÖ thøc: a g + k d º x (mod p-1). Bob tÝnh ch÷ kÝ b»ng c¸ch dïng c¶ gi¸ trÞ mËt a (lµ mét phÇn cña kho¸ ) lÉn sè ngÉu nhiªn mËt k ( dïng ®Ó kÝ lªn bøc ®iÖn x ). ViÖc x¸c minh cã thÓ thùc hiÖn duy nhÊt b»ng th«ng tin c«ng khai. Ta xÐt mét vÝ dô sau: Gi¶ sö : Cho p =467 , a=2 , a=127 khi ®ã: b = aa mod p = 2127 mod 467 = 132. NÕu Bob muèn kÝ lªn bøc ®iÖn x = 100 vµ chän sè ngÉu nhiªn k = 213 ( chó ý lµ USCLN(213,466) =1 vµ 213-1 mod 466 =431 ). Khi ®ã : g = 2213 mod 467 =29 vµ d = (100 – 127 ´ 29 ) 431 mod 466 = 51 BÊt k× ai còng cã thÓ x¸c minh ch÷ kÝ nµy b»ng c¸ch kiÓm tra : 132292951 º 189 (mod 467 ) vµ 2100 º 189 (mod 467 ) V× thÕ ch÷ kÝ lµ hîp lÖ . Ta xÐt ®é mËt cña s¬ ®å ch÷ kÝ Elgamal. Gi¶ sö, Oscar thö gi¶ m¹o ch÷ kÝ trªn bøc ®iÖn x cho tr­íc mµ kh«ng biÕt a. NÕu Oscar chän g vµ sau ®ã thö t×m gi¸ trÞ d t­¬ng øng. Anh ta ph¶i tÝnh Logarithm rêi r¹c Log gax b-g . MÆt kh¸c, nÕu ®Çu tiªn anh ta chän d vµ sau ®ã thö t×m g vµ thö gi¶i ph­¬ng tr×nh: bg gdº ax ( mod p ) . §Ó t×m g. §©y lµ bµi to¸n ch­a cã lêi gi¶i nµo, tuy nhiªn, d­êng nh­ nã ch­a ®­îc g¾n víi ®Õn bµi to¸n ®· nghiªn cøu kÜ nµo nªn vÉn cßn kh¶ n¨ng cã c¸ch nµo ®ã ®Ó tÝnh d vµ g ®ång thêi ®Ó (d , g ) lµ mét ch÷ kÝ. HiÖn thêi kh«ng ai t×m ®­îc c¸ch gi¶i song còng kh«ng ai kh¼ng ®Þnh ®­îc r»ng nã kh«ng thÓ gi¶i ®­îc. NÕu Oscar chän g vµ d vµ sau ®ã thö gi¶i t×m x, anh ta sÏ ph¶i ®èi mÆt víi bµi to¸n Logarithm rêi r¹c, tøc bµi to¸n tÝnh Logabggd. V× thÕ Oscar kh«ng thÓ kÝ mét bøc ®iÖn ngÉu nhiªn b»ng biÖn ph¸p nµy. Cuèi cïng, ta sÏ nªu c¸ch cã thÓ ph¸ ®­îc s¬ ®å nµy nÕu kh«ng ¸p dông nã mét c¸ch cÈn thËn. Tr­íc hÕt, gi¸ trÞ k ngÉu nhiªn ®­îc dïng ®Ó tÝnh ch÷ kÝ ph¶i ®­îc gi÷ kÝn kh«ng ®­îc ®Ó lé. V× nÕu k bÞ lé, kh¸ ®¬n gi¶n ®Ó tÝnh: a = (x-k g )d-1 mod ( p –1 ). DÜ nhiªn, mét khi a bÞ lé th× hÖ thèng bÞ ph¸ vµ Oscar cã thÓ dÔ dµng gi¶ m¹o ch÷ kÝ. Mét kiÓu dïng sai s¬ ®å n÷a lµ dïng cïng gi¸ trÞ k ®Ó kÝ hai bøc ®iÖn kh¸c nhau. §iÒu nµy còng t¹o thuËn lîi cho Oscar tÝnh a vµ ph¸ hÖ thèng. Sau ®©y lµ c¸ch thùc hiÖn. Gi¶ sö ( g,d1 ) lµ ch÷ kÝ trªn x1 vµ( g,d2 ) lµ ch÷ kÝ trªn x2. Khi ®ã ta cã: bggd1 º ax1 (mod p ) vµ bggd2 º ax2 ( mod p ) Nh­ vËy: ax1..x2 º g d1d2 ( mod p ). NÕu viÕt g = ak ta nhËn ®­îc ph­¬ng tr×nh t×m k ch­a biÕt sau: a x1-.x2 º ak( d1- d2 ) ( mod p ). t­¬ng ®­¬ng víi ph­¬ng tr×nh: x1 - x2 º k (d1-d2) (mod p-1). B©y giê gi¶ sö d = USCLN(d1-d2 ,p –1). V× d | ( p –1) vµ d | (d1-d2 ) nªn suy ra d | (x1-x2). Ta ®Þnh nghÜa: x’ = (x1-x2 )/d; d’ = ( d1-d2 ) / d; p’ = ( p-1 ) / d Khi ®ã ®ång d­ thøc trë thµnh: x’ º k d’ ( mod p’ ) V× USCLN (d’,p’ ) =1, nªn ta cã thÓ tÝnh: e = ( d’ ) –1 mod p’ Khi ®ã gi¸ trÞ k x¸c ®Þnh theo modulo p sÏ lµ : k = x’ e mod p’ Ph­¬ng tr×nh nµy cho d gi¸ trÞ cã thÓ cña k: k = x’ e + i p’ mod p víi i nµo ®ã, 0 £ i £ d-1. Trong ®ã d gi¸ trÞ cã thÓ nµy cã thÓ x¸c ®Þnh ®­îc mét gi¸ trÞ ®óng duy nhÊt qua viÖc kiÓm tra ®iÒu kiÖn: g º ak ( mod p )

Các file đính kèm theo tài liệu này:

  • docSo do chu ki Elgama.doc
  • pptBao cao nhom 21.ppt