Thám hệ mã Vigenère

Một phần của tài liệu giáo trình an toàn và bảo mật thông tin (Trang 45 - 48)

174 13 34 25 21 14 20 18 Dòngkhoánhưsau:

2.2.3.Thám hệ mã Vigenère

Trong phần này chúng ta sẽ mô tả một số phương pháp thám hệ mã

Vigenère. Bước đầu tiên là phải xác định độ dài từ khoá mà ta ký hiệu là m. ở đâydùng hai kỹ thuật. Kỹ thuậtthứ nhấtlà phép thửKasiski và kỹ thuậtthứ hai sửdụngchỉsốtrùnghợp.

Phép thử Kasiski lần đầu tiên được Kasiski Friendrich mô tả vào năm 1863.Kỹthuậtnàyđược xâydựngtrênnhậnxétlà:haiđoạn giốngnhaucủabản rõsẽđược mãhoáthànhcùngmộtbản mãkhichúngxuấthiện trongbảnrõcách nhaux vị trí, trong đó x ≡ omod m.Ngược lại, nếuta thấy hai đoạngiống nhau của bản mã (mỗi đoạn có độ dài ít nhất là 3) thì đó là một dấu hiệu tốt để nói rằngchúngtươngứngvớicácđoạnbảnrõgiốngnhau.

PhépthửKasiski nhưsau.Ta tìmtrongbản mãcáccặp gồmcác đoạnnhư nhau có độ dài tối thiểu là 3 và ghi lại khoảng cách giữa các vị trí bắt đầu của hai đoạn. Nếu thu được một vài giá trị d1, d2,. . . thì có thể hy vọng rằng m sẽ chiahết choước chunglớn nhấtcủacácdi.

Việc xác minh tiếp cho giá trị của m có thể nhận được bằng chỉ số trùng hợp.Kháiniệmnàyđãđược WolfeFriedmanđưaravào 1920nhưsau:

Địnhnghĩa:

Giả sử x = x1x2 .. . xn làmột xâuký tự. Chỉ số trùng hợp của x (ký hiệu là Ic(x)) được định nghĩa làxác suất để hai phần tử ngẫunhiên của x là đồng nhất. Nếuký hiệu các tầnsuất của A,B,C,.. .,Z trong xtương ứnglà f0,f1,. ..f25 ,có thểchọnhai phầntửcủax theo???cách. Với mỗii, 0 ≤ i ≤ 25,có??? cáchchọn haiphầntửlài.

Bây giờ, giả sử x là một xâu văn bản tiếng Anh. Ta kí hiệu các xác suất xuấthiệncủacáckítựA,B,. ..,Ztrong bảng1.1là p0,...p25.Khiđó:

do xác suất để hai phần tử ngẫu nhiên đều là A là p02, xác suất để cả hai phần tử này đều bằng B bằng p12 . . . Tình hình tương tự cũng xảy ra nếu x là một bản mã nhận được theo một hệ mã thay thế đơn bất kì. Trong trường hợp này,từngxácsuấtriêngrẽsẽbịhoán vịnhưngtổng??? sẽkhôngthayđổi.

Bây giờ giả sử có một bản mã y = y1y2. . .yn được cấu trúc theo mật mã Vigenère. Ta xác định các xâu con m của y(y1,y2,. . .,ym) bằng cách viết ra bản mã thành một hình chữ nhật có kích thước m×(n/m). Các hàng của ma trận này làcácxâu conyi,1 ≤ i ≤ m.Nếu mthựcsựlà độdài khoáthì mỗiIc(yi) phảixấp xỉbằng 0,065. Ngược lại, nếu m không phải làđộ dài khoá thìcác xâu con yi sẽ cóvẻ ngẫunhiên hơn vìchúng nhận đượcbằng cách mãdịch vòngvớicác khoá khácnhau.Xétthấyrằng, mộtxâuhoàntoànngẫu nhiênsẽcó:

Haigiá trị0,065 và 0,038đủ cáchxa nhauđể cóthể xác địnhđược độdài từ khoá đúng (hoặc xác nhận giả thuyết đã được làm theo phép thử Kasiski). Haikỹthuậtnàysẽđược minhhoạquavídụdưới đây:

Vídụ: Bảnmãnhậnđượctừmật mãVigenère. CHEEVOAHMAERATBTAXXWTNXBEEOPHBSBQMQEQERBW RVXUOAKXAOSXXWEAHBWGJMMQMNKGRFVGXWTRZXWIAK LXFPSKAUTEMNDCMGTSXMXBTUIADNGMGPSRELXNJELX RVPRTULHDNQWTWDTYGBPHXTFEALJHASVBFXNGLLCHR ZBWELEKMSJIKNBHWRJGNMGJSGLXFEYPHAGNRBIEQJT MRVLCRRREMNDGLXRRIMGNSNRWCHRQHAEYEVTAQEBBI EEWEVKAKOEWADREMXMTBHHCHRTKDNVRZCHRCLQOHP WQAIIWXNRMGWOIIFKEE

bốn vị trí trong bản mã, bắt đầu ở các vị trí 1, 166,236 và 286. Khoảng cách từ http://www.ebook.edu.vn 42

lần xuất hiện đầu tiên tới 3 lần xuất hiện còn lại tương ứng là 165,235 và 285. UCLNcủa3sốnguyênnàylà5,bởi vậygiátrịnàyrấtcóthểlàđộ dàitừkhoá.

Ta hãyxét xem liệu việctính các chỉsố trùng hợp có cho kếtluận tương tự không. Với m = 1 chỉ số trùng hợp là 0,045. Với m = 2, có 2 chỉ số là 0,046 và 0,041. Với m = 3 ta có 0,043; 0,050; 0,047. Với m = 4 các chỉ số là 0,042; 0,039; 0,046; 0,040. Với m = 5 ta có các giá trị 0,063; 0,068; 0,069; 0,061 và 0,072.Điềunàycàngchứngtỏrằngđộdạitừkhoálà5.

Với giả thiếttrên,làm nhưthế nàođể xácđịnh từkhoá? Tasẽ sửdụng khái niệmchỉsốtrùnghợp tươnghỗcủahaixâusau:

Định nghĩa.

Giả sửx = x1x2. . .xnvà y = y1y2. . .yn' là các xâu có n và n' kí tự anphabet tương ứng.Chỉ số trùnghợp tương hỗ củax vày (kí hiệu làMIc(x,y)) được xác định là xác suất để một phần tử ngẫu nhiên của x giống với một phần tử ngẫu nhiêncủa y. Nếuta kíhiệu các tầnsuất củaA,B,. ..,Z trongx và ytương ứnglà f0,f1,...,f25 .Vớicác giá trịm đãxác định,các xâucon yi thuđược bằng mãdịch vòngbản rõ. Giả sửK = (k1,k2,...,km) làtừ khoá.Tasẽ xemxét có thểđánh giá MIc(yi,yj)nhưthếnào.Xétmộtkí tựngẫunhiêntrongyivà mộtkítựngẫu nhiên trongyj .Xác suất đểcả hai kí tựlà Abằng p-kip-kj,xác suất đểcả hai làB bằng p1-kip1-kj,...(Cần chúý rằngtấtcảcác chỉsốdưới đềuđược rútgọntheomodulo 26).Bởi vậycóthểước lượngrằng:

25 25

h=0 h=0

Ta thấy rằng, giá trị ước lượng này chỉ phụ thuộc vào kiếu hiệu ki-kj mod 26(đượcgọilàđộdịch tươngđốicủayivàyj).Cũngvậy,ta thấyrằng:

25 h=0 25 h=0 MI c(yi,yi ) ≈ ∑ phkiphkj = ∑ phph+kikjp

Bởi vậy độ dịch tương đối l sẽ dẫn đến cùng một ước lượng MIc như độ

Một phần của tài liệu giáo trình an toàn và bảo mật thông tin (Trang 45 - 48)