Đồng thời, làm rõ thêm tính chất của hệ mã hóa Vigenere và cách thức mã hóa và thám mã khi có khóa cho trước
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trịnh Thị Dịu PHÂN TÍCH HỆ THÁM Mà VIGENERE KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành:Công Nghệ Thông Tin HÀ NỘI - 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trịnh Thị Dịu PHÂN TÍCH HỆ THÁM Mà VIGENERE KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành:Công nghệ thông tin Cán bộ hướng dẫn:Tiến sĩ.Hồ Văn Canh HÀ NỘI - 2009 LỜI CẢM ƠN ! "#$!%&%'()#$!% *(+,-./01.23456708%'-9 :;< =>?')45@?A?B>-)"-C45 6D.().##745%#?@ -+<E>?')!,-./.2F.G'" #$!%#9-%<H-I:-;A#$!%J ./8F,-)456D.K'$!LMNO>P./ "F,-))>< Q5))->)".9R!5S#4'- 5T(+>)!AAU4%#4VJ5(<H- I40-#$!%.C,-(C)';>S45 6!+-%-"< H-I)-;W Hà Nội, tháng 05 năm 2009. Sinh viên : Trịnh Thị Dịu. TÓM TẮT NỘI DUNG X9 4()"-C3'-/(O,,,75D(.2#- )54Y6Z[).25.$+\)]#^, ,O,_,< E5."-C3-9)'-/(7.C'-/(!3?-/! 5D-/ 8!CD-/``,D-/,Da!FT.2)'-/(.; Cb<&K'.)"-C'-/(O,,,a'-/(.Cb.C)-c; .9)'--/)!#'--/+<&ND)-c+-0d '-/(O,,,)#6-/()#--/4(4(<E.(D .+63$?.;D$?.%D$?)Kc)-/< &(S)-9##--/'@<P##-/44%(4(D4.( $'eL.$+)"-4f4(D.(#--/D.(: g #)#--/75)*4) ?4<P?); "-%3)9#-/(D#--/4(4()44%(4(<a=) ;".04_-,Vigenere.cb< MỤC LỤC Trịnh Thị Dịu .i MhXijkellm<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Trịnh Thị Dịu ii MhXijkellm<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< PF0.2$dId'#4R-/<O)+)$ d#4R5n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<eZ O)$dId'9.%)9o-/)L<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<eZ Lời mở đầu X p !!D; q r q + s - r -, t s %+ r %+ r q r q % + r - r - q !u q ; s +% p % s r p p + q <.)592 ()K8:#CI/9D.5v4Y!+%' 4Y!+%)#C456<P%+ r - r - q !u q . t - r t ; r u q ; q <PF.2# g$5#%'-w L08D@D@?Tx r I q + r - r j,,, q - r ; p q + s ! r D, t p 4 q %-% r q +t p p + r @ s <P q %+ r Hk-, q - r ; p q + s s ; p 4 q t r !+- q !u q s -u p <y p .! q % + r Hk,, q r + r q r .% r ;- r +- r - q !u q <O+ r q r q - r r % r q % s q D%!!-% r @% q p q q <P q + r % q !+ s + p s q p p p ! q + s !+ s p ! s .%@ + r % q s -u p <P q %+ p 4+ q Du q r D4 r I t % r .; r .% s % t < E!+ r s ! q .+ p + p p %<& q p p -% r @ q u p + q + s ; r L4 t u q . p + p -% r +I% r %D r q . r r q ! > p 4%u s , q r ! r p + p ;++ q ; q Dj,, p , q + p ; p 4%-; p - p r ! q , q >-- q !u q s r < E r r !Dj,, q t 4! t r !+ r ; p , q - r ; p ! r D4 q D, s %<X t q t p !;u q t.+ q % s r r s > r q ! s p p < P q t %% p @ r - p + r r - q ! r p -+ r q + s s ; s .+ q q % s q D q %!! s -% r @% q <P q %+ p @% q D u q - r 4 ! q % p u q p - r + s q % s q u p q ; q p + p u q r !%+ r > r 4, s > q q <^ r q q + s p -- r + r q + s .+ s q .; r t %@! q q p !<E s ; s ; r + q q 4, s I- r .; r p + r % q !+ s + p s q p u p p . q , t r t + r r ; q Z - q + p q + s t; q r q s <P4+ s + q + r %%@% q r ., r u p r @ s 4%+ s ; p ; q .; r < zm{E,% q + r s PH|EaP-,H-,,!|,,E,-k}&% r q q - q ! u q ~bD% q ; r q r q %+j,,.; r % q % s q p ! p u q ;ell p >-Zm•mD4 s Bll p >-ZmmZDZBll p >-ZmmoD p eeBZ p >-ZmmB< X t r q % p !> p - p q s q - q !u q q -> r +j,,D q - q !u q s q s q %!; q nE€EDj^•D q ; p . r r D q ;@ p ; q D q % s q @ r D p ><<<•% r % q r q % q @!-%4% s % p a q ; q Zll<lll- q !u q r q %b<M; t D t % q p !u s p p % s s s ><•% r p q ; q q r q %4%.; r % q Du p + p ! q D. q q + s 4+ s .+ q %t r - q !u q D> r .; s t ; p @ s r + r % q 4%+ p !+ q t % r q %> p - p + r % q s r < *%u s % q ; r q % r q %>+ q D- p q ; q q % t + r .; r p + r <&+ p . q -% r p q +@ s r + r % q .; r 4+ q % q ; q j,, p ! p .+ p s q <P t ,PH|ED t % r q %; p 4! p Zm••kZm•m s !+ q . q +; p s r k- r 4 s a‚,jQkƒ b> r s r -% r % q %t s q ;u p p + r .+ p p a,!,b p -%+ r + r % q s + r D!+ q % r q % p ; p p .!% p - s q q s - r . r u s j]D, t %!+ p @- r D+ q - q + p -+ r p I a,,> r b< &+ s p s . s -u q s - r s % r 4% p - s - r q + s s + r .% s %@ s q + p p u p -% r s q % q q p - t q %<P q + s + s ;; r - t q % p ,.% s -u p p -4, s q %+ q > r .; r % q +.; p !+ p u p t 4%+ s . r .; r p s q -% r q t ; p s p ; p r .+ s q + s .% s %D. q p q ;+ q - t p s - t %< X p !!u p + r - t q . t ; s +% s r <P q %! p -+ p -; q ++ q ; q .+ p q + q p I! r q % r D r q - t q .+ s q r r + q <•%t @% q !% s q .+ p q t ;+ q - t q +.+ s s + r + r % q % s -u p < •% r % q q .+ p p .% q ; q + p - r + r !L e •% r ; p p !+ s -% r % q .+ r s -% r ; p s r 4 q <•% r + q + p - r =nX p ! s r -% r + q r ,% r - q .+ s q !% q p . r q %. q < P t u p % q ++ q > r % q D!.% s q p p s q p . q r s ; p r <X; p r 4%+ p ; p u p p 4 r % q . q p %! q D p q + s r + r p p .% r r + q p p p !.,- r ; r u q + q < X; p p p -% r ,,- p 4% s r - r 4 s .; r - t q <•% r ; p 4 q .,% r -+.; p !+ p p > q .; r - r 4 s s ; p p D. q q + s ! r %+,,; p s r < •% r ; p @ s r + r % q 4%+ s + p 4u q r p p !+ p s + r % q p %u p , q ; p p 4 q ! r p - r q q %+ r % q < X; p p q + r r q + s q .; r q %+ r % q p q + s p q r r 2u q s -u p <E5#d.3+I!D((C\4% 20#-)T\20.)D(4)@?< O!+d.3-%)!)\+$5).2: gd 3#%!D.)D9xO".(#'-/(-20d) .(T4%C5.?%'%< E)')!D%I'#-9?'-/(LP,D-/ !5D-/ 8Tx).K''3'-/(O,,,75<M'-/()! .2#-)54Y6Z[).25.$+\)]#^, , O,_,))-94C-/(!5.2I,-I„)v8#G ?B54Y)(.2: g759/'-/(J J'.2 !3@'?.'0?54YZm< Chương 1: Hệ mật mã truyền thống o 1.1 Mở đầu – một số hệ mã hóa đơn giản: E5D:+n-?+^;2-9d.30-) .(a0 gL2.ND$:D%.'0-xb+-94+-) Pa4…9-b4%CC.2%.2!3.J)"D.C#" ,„)>9-%@<*++)!(C)-9. ! .'!-9--#!0<&?2;--/0)4> #4++.(<E%-)+n)^-?:(C)J)' +@.5d4f-9d.3".2C'-9>5nD# J' ?!d6)')(dF!R<nU"-#)-5).(.C: )+^-9#)dD!+D+nU-/()'.(acb -94(.2I#.8):-/45@+4+<^+P(-/9- .2+4+4%CI#.89 cD^a./54( -/b(C-/).2c<&()-g.0--/k.-)% < 1.1.1 Định nghĩa về hệ mật mã [1]: M'--/)-99N-†)$a]DPD*DHDQbV-/#.34'L k ])-9J#c(C k P)-9J#-/(C k *)J#4((Ca4%4(b k &?-49 *(-9@!A-/, 4 L]k‡P)-9@!A-/; 6 4 9 QD 4 LPk‡]), 4 L]k‡PD))--)L 4 a, 4 aIbbˆI-cI ∈ P. *+n-?:-9)'acIb.5+^D+nU-/(c.( , 4 L]k‡P):.+.!3@+^D+^.2.(U-/ 4 LPk‡].Cc.$<^+n)^U# gg '- 4(+<E+-94(‰+* ∈ K <&3)!.2'4 \-9)4%8+P, cK(-94+-2 \I<.(:+n-?:-9%#^+-94+4%- )I,-%#)!)-9L B IˆI Z DI e D<<<DI ?!+≥Z).(<Š.!-40'-cI ∈ P DZ≤≤<•I U .2-/(@!A-/, 4 4(*I#.8.(<^\!+nU0! ˆ , 4 aI bDZ≤≤)-/.2!ˆ! Z D! e D<<<D!U.2:+4+<*+ ^.2!ˆ! Z D! e D<<<D!U-/)--/ 4 ).2c? IˆI Z DI e D<<<DI 1.1.2.Một số loại mã hóa truyền thống như: 1.1.2.1 Mã dịch chuyển vòng( shift cipher): XI„LE2*ˆoD'-.2)-/P,,< EU: g-/ 8Ta- e[b.C-/(-9>5n% #5;6J#40)#K ,- e[ Ln↔lD^↔ZD<<<D‹↔e†< n ^ P Q H Œ y M j • * = • l Z e o B † [ Ž • m Zl ZZ Ze Định nghĩa[2]:y:P = C = K = ‹ e[ l≤4≤e†D.8wL , * aIbˆI•*- e[ ) * aIbˆ!k*- e[ aID!∈‹ e[ b † [...]... ví dụ xét trên có đến 2 ký tự H nhưng khi mã hóa ký tự H được mã hóa thành Y và O Đó là một đặc điểm khác so với các hệ mã hóa đơn biểu Một hệ như vậy được gọi là hệ mật thay thế đa biểu Việc thám mã đa biểu khó khăn hơn nhiều so với việc thám mã hệ đơn biểu Đó là một tiến bộ hơn so với các phép mã hóa cổ điển ta xét bên trên 1.3.Phương pháp mã hóa và giải mã Vigenere( khi có khóa cho trước): Chúng ta... 16 Bản mã chữ thu được là: “HBHCCBHQ” Việc giải mã chỉ việc áp dụng dK(y) = a-1(y-b) mod 26, 1.2 Mã Vigenere và các đặc tính của nó: 1.2.1 Định nghĩa: Trong cả hai hệ mã dịch vòng và mã thay thế( một khi khóa đã được chọn) mỗi ký tự được ánh xạ vào một ký tự duy nhất Vì đó mà các hệ mật còn được gọi là hệ thay thế đơn biểu Bây giờ ta sẽ trình bày một hệ mật không phải là bộ chữ đơn, đó là hệ mã Vigenere. .. trình giải mã là sự ngược lại của giải mã, khi đó thay công thức trên thành: (I)=T%(K)-K%(L)+1 C% IF C%(I) s không phải là chiều dài khóa Sau khi xác định được chiều dài khóa ta viết bản mã thành chu kỳ độ dài chu kỳ đó Rồi tìm từng phần tử khóa bằng cách thám mã từng cột như thám mã Caser 2.4 Mô tả 2 cách thám mã Vigenere: phép thử Kasiski và phép thử sử dụng chỉ số trùng hợp: 30 Mô tả một số phương pháp thám hệ mã Vigenere Bước đầu tiên là ta phải xác định độ dài từ khóa mà ta ký hiệu là m Dùng 2... Giải mã: Lùi lại với k=3 ta thu được bản rõ: “TRICH” Nhận xét: hệ mã hóa Caesar là hệ mã hóa cũ và không an toàn vì không gian khóa của nó rất nhỏ, do đó có thể thám mã theo phương pháp vét cạn Khóa giải mã có thể tính ngay đươc từ khóa mã hóa Do chỉ có 26 khóa nên ta có thể thử lần lượt các khóa cho đến khi tìm được khóa đúng 1.1.2.4 Mã Affine: Định nghĩa[2]: Cho P = C = Z26 và giả sử: P = { (a,b)... dịch ký tự cần mã hóa sang phải k bước theo modulo 26: Ek( α ) = ( α + k)mod 26 Trong đó α là một ký tự, 0 ≤ k ≤ 26 Thuật toán giải mã tương ứng Dk là lùi lại k bước trong bảng chữ cái theo modul 26: Dk( α ) = ( α - k)mod 26 Không gian khóa của hệ Caesar bao gồm 26 số Ví dụ : Mã Hóa Plaint: “TRICH” Bản rõ số: 19 17 8 2 7 9 Khóa: k=3 Bản mã số: 22 20 11 5 10 Bản mã chữ là : “WULFK” Giải mã: Lùi lại với... Keyword: T A B L E T A B L E T A B L E T A B L E T A B L E Paintext: no w is t he t i me f or a l l g oo d me n Trong hệ mã hóa này, có sử dụng sự quay vòng một số trong hệ mã hóa Caesar Trong mỗi cột, đại diện một phép mã hóa Caesar đơn giản với một phép dịch chuyển 1.3.3 Chương trình mã hóa: Chúng ta nhìn vào hàng đầu tiên trong tableau Trong mỗi cột,A được miêu tả bởi một ký tự khóa, B sẽ được miêu... N P R Vậy nên, ta thu được bản mã là: “GOXTWMHFEMFEGZVTLMRSHDNPR” 13 Chúng ta xem xét một vài đặc điểm Trong từ “all” của bản rõ, xuất hiên 2 chữ ‘l’ nhưng khi được mã hóa chúng thành L và M, chữ ‘t’ ở trong “the” và “time” được mã hóa thành M và E…Vì vậy, những ký tự giống nhau của bản rõ có thể mã hóa thành những ký tự mã khác nhau, và những ký tự giống nhau của bản mã lại có thể được tạo nên bởi... nên bởi các ký tự khác nhau của bản rõ Hình1 : A polyalphabetic tableau 14 1.3.2 Giải mã: Sự giải mã là quá trình ngược lại của mã hóa Chúng ta viết dưới bản mã với keyword được lặp lại, sau đó nhìn theo cột của keyword khi nào thấy ký tự mã hóa, chiếu sang hàng ngang ta sẽ tìm ra ký tự rõ tương ứng Ví dụ, ký tự mã là G, ký tự khóa là T, ta nhìn dọc theo cột T khi nào tìm thấy G, chiếu sang hàng ngang... d, dπ(B) = 1, Kết luận: Mỗi khóa của mã thay thế là một phép hoán vị của 26 ký tự Số các hoán vị này là 26! Là một số rất lớn Bởi vậy phép tìm khóa vét cạn không thể thực hiện được, thậm chí bằng máy tính Tuy nhiên, sau này sẽ thầy rằng mã thay thế có thể dễ dàng bị thám bằng các phương pháp khác 1.1.2.3 Hê ̣ mã hoá CAESAR: Hê ̣ mã hoá CAESAR là mô ̣t hệ mã hóa thay thế đơn làm việc trên bảng . ĐẠI H C QUỐC GIA H N I TRƯỜNG ĐẠI H C CÔNG NGHỆ Trịnh Th Dịu PH N T CH H TH M Mà VIGENERE KHOÁ LU N T T NGHIỆP ĐẠI H C H CH NH QUY Ngành:Công Nghệ Th ng. Th ng Tin H N I - 2009 ĐẠI H C QUỐC GIA H N I TRƯỜNG ĐẠI H C CÔNG NGHỆ Trịnh Th Dịu PH N T CH H TH M Mà VIGENERE KHOÁ LU N T T NGHIỆP ĐẠI H C