Hệ mã Vigenère [Bài tập nhóm - Tiếng Anh chuyên ngành]

16 783 3
Hệ mã Vigenère [Bài tập nhóm - Tiếng Anh chuyên ngành]

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nội dung của Slide hiển thị trên Web không đúng với khi trình chiếu, các thành viên download về để có thể thấy được nội dung hoàn chỉnh.

VIGENÈRE CIPHER Thành viên: – Phạm Thị Cúc - 1261030002 – Bùi Hữu Giáp - 1261030003 – Cao Đình Tuấn - 1261030026 Vấn đề đối với mã dịch vòng và mã thay thế là mỗi kí tự luôn được ánh xạ thành một kí tự duy nhất. Sau này, kĩ thuật thống kê ngôn ngữ có thể được sử dụng để phá kiểu mã hóa này. Ví dụ, nó rất dễ dàng để xác định rõ văn bản đã được mã hóa ứng với văn bản ban đầu trong tiếng Anh. Từ đầu thập niên 1800 trở đi, các nhà thiết kế thuật toán mã hóa đã cố gắng để phá vỡ liên kết giữa bản rõ và bản mã. Mã thay thế mà chúng ta sử dụng phía trên là bộ mã hóa thay thế đơn biểu, vì vậy, chỉ một bảng chữ cái thay thế sẽ được sử dụng để mã hóa cho toàn bộ bảng chữ cái. Một cách để giải quyết vấn đề của chúng ta là lấy một vài bảng chữ cái thay thế và sau đó mã hóa mỗi kí tự với một bảng chữ cái khác nhau. Một hệ thống như vậy được gọi là mã hóa thay thế đa biểu. 2 The problem with the shift cipher and the substitution cipher was that each plaintext letter always encrypted to the same ciphertext letter. Hence underlying statistics of the language could be used to break the cipher. For example it was easy to determine which ciphertext letter corresponded to the plaintext letter E. From the early 1800s onwards, cipher designers tried to break this link between the plaintext and ciphertext. The substitution cipher we used above was a mono-alphabetic substitution cipher, in that only one alphabet substitution was used to encrypt the whole alphabet. One way to solve our problem is to take a number of substitution alphabets and then encrypt each letter with a different alphabet. Such a system is called a polyalphabetic substitution cipher. VIGENÈRE CIPHER 3 For example we could take Plaintext alphabet ABCDEFGHIJKLMNOPQRSTUVWXYZ Ciphertext alphabet one TMKGOYDSIPELUAVCRJWXZNHBQF Ciphertext Alphabet two DCBAHGFEMLKJIZYXWVUTSRQPON Then the plaintext letters in an odd position we encrypt using the first ciphertext alphabet, whilst the plaintext letters in even positions we encrypt using the second alphabet. For example the plaintext word HELLO, using the above alphabets would encrypt to SHLJV. Notice that the two occurrences of L in the plaintext encrypt to two different ciphertext characters. Thus we have made it harder to use the underlying statistics of the language. If one now does a naive frequency analysis we no longer get a common ciphertext letter corresponding to the plaintext letter E. Ví dụ, chúng ta có thể lấy Bản rõ ABCDEFGHIJKLMNOPQRSTUVWXYZ Bảng mã thứ nhất TMKGOYDSIPELUAVCRJWXZNHBQF Bảng mã thứ hai DCBAHGFEMLKJIZYXWVUTSRQPON Sau đó những chữ cái ở vị trí lẻ trong bản rõ sẽ được mã hóa bằng cách sử dụng bảng mã thứ nhất, khi những chữ cái ở vị trí chẵn chúng ta sẽ sử dụng bảng mã thứ hai. Ví dụ, từ bản rõ là HELLO, sử dụng những bảng chữ cái ở phía trên có thể được mã hóa thành SHLJV. Chú ý, hai lần xuất hiện của kí tự L trong bản rõ sẽ được mã hóa thành hai kí tự mã hóa khác nhau. Như vậy, việc sử dụng kĩ thuật thống kê ngôn ngữ để phá vỡ hệ mã này sẽ khó khăn hơn. Nếu bây giờ phân tích tần số một cách đơn giản chúng ta không còn nhận thấy sự liên hệ giữa kí tự trong bản mã với kí tự trong bản rõ trong tiếng Anh. VIGENÈRE CIPHER 4 We essentially are encrypting the message two letters at a time, hence we have a block cipher with block length two English characters. In real life one may wish to use around five rather than just two alphabets and the resulting key becomes very large indeed. With five alphabets the total key space is (26!)5 ≈ 2441, but the user only needs to remember the key which is a sequence of 26.5 = 130 letters. However, just to make life hard for the attacker, the number of alphabets in use should also be hidden from his view and form part of the key. But for the average user ill the early 1800s this was far too unwieldy a system, since the key was too hard to remember. Về bản chất, chúng ta có thể mã hóa đồng thời 2 thông điệp cùng lúc, kể từ đây chúng ta có một khối mã hóa với độ dài của khối là 2 kí tự trong tiếng Anh. Trong thực tế, nếu chúng ta sử dụng hơn 5 bảng mã thay vì chỉ sử dụng 2 bảng mã và kết quả là số lượng khóa sẽ trở nên rất lớn. Với 5 bảng mã thì tổng số khóa là (26!)5 ≈ 2441, nhưng người sử dụng chỉ cần nhớ khóa liên tiếp với 26.5 = 130 kí tự. Tuy nhiên, để tạo sự khó khăn cho những kẻ tấn công, số lượng bảng mã nên được ẩn đi đối và là một phần của khóa. Nhưng đối với phần lớn người dùng đầu những thập niên 1800 thì việc sử dụng hệ mã này là khó khăn, do khóa này rất khó để nhớ. VIGENÈRE CIPHER 5 Despite its shortcomings the most famous cipher during the 19th-century was based on precisely this principle. The Vigenère cipher, invented in 1533 by Giovan Batista Belaso, was a variant on the above theme, but the- key was easy to remember. When looked at in one way the Vigenère cipher is a polyalphabetic block cipher, but when looked at in another, it is a stream cipher which is a natural generalization of the shift cipher. The description of the Vigenère cipher as a block cipher takes the description of the polyal- phabetic cipher above but restricts the possible plaintext alphabets to one of the 26 possible cyclic shifts of the standard alphabet. Suppose five alphabets were used, this reduces the key space down to 165 ≈ 223 and the size of the key to be remembered as a sequence of five numbers between 0 and 25. Mặc dù nhược điểm của những bộ mã hóa phía trên được quan tâm nhất trong suốt thế kỉ XIX và là nền tảng cho những bộ mã hóa sau này. Mã Vigenère, được phát minh vào năm 1533 bởi Giovan Batista Belaso, là một sự biến đổi của các hệ mã phía trên, nhưng khóa thì rất dễ nhớ. Khi nhìn từ một phương diện nào đó, mã Vigenère là một hệ mã hóa khối đa biểu, nhưng khi nhìn từ một phương diện khác, nó là một hệ mã hóa dòng suy rộng tự nhiên của mã dịch vòng. Sự mô tả của mã Vigenère là một hệ mã hóa khối sử dụng mô tả của hệ mã hóa đa biểu ở phía trên nhưng thu hẹp khả năng của những bản rõ với 1 trong 26 khả năng của chu kỳ thay đổi của bảng chữ cái chuẩn. Giả sử 5 bảng chữ cái được sử dụng, điều này làm giảm số lượng khóa xuống 165≈223 và kích thước của khóa để nhớ là thứ tự của 5 con số nằm trong khoảng từ 0 đến 25. VIGENÈRE CIPHER 6 However, the description of the Vigenère cipher as a stream cipher is much more natural. Just like the shift cipher, the Vigenère cipher again identifies letters with the numbers 0, , 25. The secret key is a short sequence of letters (e.g. a word) which is repeated again and again to form a keystream. Encryption involves adding the plaintext letter to a key letter. Thus if the key is SESAME, encryption works as follows, THISISATESTMESSAGE SESAMESESAMESESAME LLASUWSXWSFQWWKASI Again we notice that A will encrypt to a different letter depending on where it appears in the message. Tuy nhiên, sự mô tả của mã Vigenère là một hệ mã hóa dòng thì phổ biến và tự nhiên hơn. Giống như hệ dịch vòng, mã Vigenère định nghĩa lại những kí tự với những con số từ 0, , 25. Khóa bí mật là một chuỗi ngắn các kí tự một cách tuần tự (ví dụ: a word) cái mà sẽ được lặp lại liên tiếp tạo thành chuỗi khóa. Việc mã hóa cần phải kết hợp giữa bản rõ với từ khóa. Như vậy, nếu khóa là SESAME, quá trình mã hóa sẽ được thực hiện như sau, THISISATESTMESSAGE SESAMESESAMESESAME LLASUWSXWSFQWWKASI Một lần nữa chúng tôi muốn nhấn mạnh rằng kí tự A sẽ được mã hóa thành một kí tự khác phụ thuộc vào vị trí xuất hiện nó trong thông điệp. VIGENÈRE CIPHER 7 But the Vigenère cipher is still easy to break using the underlying statistics of English. Once we have found the length of the keyword, breaking the ciphertext is the same as breaking the shift cipher a number of times. As an example, suppose the ciphertext is given by UTPDHUG NYH USVKCG MVCE FXL KQIB. WX RKU GI TZN, RLS BBHZLXMSNP KDKS; CEB IH HKEW IBA, YYM SBR PFR SBS, JV UPL O UVADGR HRRWXF. JV ZTVOOV YH ZCQU Y UKWGEB, PL UQFB P FOUKCG, TBF RQ VHCF R KPG, OU KFT ZCQU MAW QKKW ZGSY, FP PGM QKFTK UQFB DER EZRN, MCYE, MG UCTFSVA, WP KFT ZCQU MAW KQIJS. LCOV NTHDNV JPNUJVB IH GGV RWX ONKCGTHKFL XG VKD, ZJM VG CCI MVGD JPNUJ, RLS EWVKJT ASGUCS MVGD; Nhưng hệ mã Vigenère vẫn dễ dàng bị phá vỡ bằng kĩ thuật thống kê ngôn ngữ trong tiếng Anh. Một lần nữa chúng ta tìm thấy độ dài từ khóa, phá vỡ bản mã tương tự như việc phá vỡ mã dịch vòng một vài lần. Ví dụ, giả sử văn bản mã hóa được cho như sau UTPDHUG NYH USVKCG MVCE FXL KQIB. WX RKU GI TZN, RLS BBHZLXMSNP KDKS; CEB IH HKEW IBA, YYM SBR PFR SBS, JV UPL O UVADGR HRRWXF. JV ZTVOOV YH ZCQU Y UKWGEB, PL UQFB P FOUKCG, TBF RQ VHCF R KPG, OU KFT ZCQU MAW QKKW ZGSY, FP PGM QKFTK UQFB DER EZRN, MCYE, MG UCTFSVA, WP KFT ZCQU MAW KQIJS. LCOV NTHDNV JPNUJVB IH GGV RWX ONKCGTHKFL XG VKD, ZJM VG CCI MVGD JPNUJ, RLS EWVKJT ASGUCS MVGD; VIGENÈRE CIPHER 8 DDK VG NYH PWUV CCHIIY RD DBQN RWTH PFRWBBI VTTK VCGNTGSF FL IAWU XJDUS, HFP VHCF, RR LAWEY QDFS RVMEES FZB CHH JRTT MVGZP UBZN FD ATIIYRTK WP KFT HIVJCI; TBF BLDPWPX RWTH ULAW TG VYCHX KQLJS US DCGCW OPPUPR, VG KFDNUJK GI JIKKC PL KGCJ IAOV KFTR GJFSAW KTZLZES WG RWXWT VWTL WP XPXGG, CJ FPOS VYC BTZCUW XG ZGJQ PMHTRAIRBJG WMGFG. JZQ DPB JVYGM ZCLEWXR: CEB IAOV NYH JIKKC TGCWXF UHF JZK. WX VCU LD YITKFTK WPKCGVCWIQT PWVY QEBFKKQ, QNH NZTTW IRFL IAS VFRPE ODJRXGSPTC EKWPTGEES, GMCG TTVVPLTFFJ; YCW WV NYH TZYRWH LOKU MU AWO, KFPM VG BLTP VQN RD DSGG AWKWUKKPL KGCJ, XY OPP KPG ONZTT ICUJCHLSF KFT DBQNJTWUG. DDK VG NYH PWUV CCHIIY RD DBQN RWTH PFRWBBI VTTK VCGNTGSF FL IAWU XJDUS, HFP VHCF, RR LAWEY QDFS RVMEES FZB CHH JRTT MVGZP UBZN FD ATIIYRTK WP KFT HIVJCI; TBF BLDPWPX RWTH ULAW TG VYCHX KQLJS US DCGCW OPPUPR, VG KFDNUJK GI JIKKC PL KGCJ IAOV KFTR GJFSAW KTZLZES WG RWXWT VWTL WP XPXGG, CJ FPOS VYC BTZCUW XG ZGJQ PMHTRAIRBJG WMGFG. JZQ DPB JVYGM ZCLEWXR: CEB IAOV NYH JIKKC TGCWXF UHF JZK. WX VCU LD YITKFTK WPKCGVCWIQT PWVY QEBFKKQ, QNH NZTTW IRFL IAS VFRPE ODJRXGSPTC EKWPTGEES, GMCG TTVVPLTFFJ; YCW WV NYH TZYRWH LOKU MU AWO, KFPM VG BLTP VQN RD DSGG AWKWUKKPL KGCJ, XY OPP KPG ONZTT ICUJCHLSF KFT DBQNJTWUG. VIGENÈRE CIPHER 9 DYN MVCK ZT MFWCW HTWF FD JL, OPU YAE CH LQ! PGR UF, YH MWPP RXF CDJCGOSF, XMS UZGJQ JL, SXVPN HBG! There is a way of finding the length of the keyword, which is repeated to form the keystream, called the Kasiski test. First we need to look for repeated sequences of characters. Recall that English has a large repetition of certain bigrams or trigrams and over a long enough string of text these are likely to match up to the same two or three letters in the key every so often. By examining the distance between two repeated sequences we can guess the length of the keyword. Each of these distances should be a multiple of the keyword, hence taking the greatest common divisor of all distances between the repeated sequences should give a good guess as to the keyword length. DYN MVCK ZT MFWCW HTWF FD JL, OPU YAE CH LQ! PGR UF, YH MWPP RXF CDJCGOSF, XMS UZGJQ JL, SXVPN HBG! Có một cách để tìm ra độ dài của từ khóa, cái mà được lặp lại để tạo thành cấu trúc chuỗi khóa, gọi là Kasiski test. Đầu tiên chúng ta cần tìm ra trình tự lặp của các kí tự. Xin nhắc lại rằng, trong tiếng Anh có sự lặp lại rất lớn của bigrams hoặc trigrams và tần suất xuất hiện của những bộ đôi hoặc bộ ba này trong tiếng Anh cũng ứng với trong bản mã. Bằng cách kiểm tra khoảng cách giữa hai lần lặp lại tuần tự, chúng ta có thể đoán được độ dài của khóa. Mỗi khoảng cách này phải là một bội số của từ khóa, do vậy lấy ước chung lớn nhất của tất cả các khoảng cách giữa các lần lặp lại tuần tự để có được một dự đoán tốt về độ dài của khóa. VIGENÈRE CIPHER 10 Let us examine the above ciphertext and look for the bigram WX. The gaps between some of the occurrences of this bigrant are 9, 21, 66 and 30, some of which may have occurred by chance, whilst some may reveal information about the length of the keyword. We now take the relevant greatest common divisors to find, gcd(30,66) = 6, gcd(3,9) = gcd(9,66) = gcd(9,30) = gcd(21,66) = 3. We are unlikely to have a keyword of length three so we conclude that the gaps of 9 and 21 occurred purely by chance. Hence, our best guess for the keyword is that it is of length 6. Now we take every sixth letter and look at the statistics just as we did for a shift cipher to deduce the first letter of the keyword. We can now see the advantage of using the histograms to break the shift cipher earlier. Chúng ta kiểm tra bản mã ở phía trên và tìm kiếm bigram WX. Khoảng cách giữa các lần xuất hiện của bigram này là 9, 21, 66, 30, một vài trong số này chỉ xuất hiện một cách tình cờ, trong khi một số khác có thể hé lộ thông tin về độ dài của khóa. Bây giờ, chúng ta có các ước chung lớn nhất liên quan đến quá tình tìm kiếm, gcd(30,66) = 6, gcd(3,9) = gcd(9,66) = gcd(9,30) = gcd(21,66) = 3. Chúng ta không tin rằng độ dài của khóa là 3, vì vậy chúng ta có thể kết luận rằng khoảng cách 9 và 21 này chỉ là xuất hiện ngẫu nhiên. Kể từ bây giờ, dự đoán tốt nhất về độ dài khóa của chúng ta là 6. Bây giờ chúng ta lấy mỗi 6 kí tự và nhìn vào bảng thống kê tương tự như chúng ta đã làm với mã dịch vòng để dự đoán kí tự đầu tiên của từ khóa. Bây giờ chúng ta có thể thấy được lợi thế của việc sử dụng các biểu đồ tần suất để phá vỡ mã dịch vòng một cách nhanh chóng. VIGENÈRE CIPHER [...]... thành một câu trong tiếng Anh Trong trường hợp này việc sử dụng phương pháp biểu đồ tần suất sẽ nhanh hơn Figure 3 Comparison of plaintext and ciphertext frequencies for every sixth letter of the Vigenère example, starting with the first letter Hình 3 Sự so sánh tần số xuất hiện của mỗi 6 kí tự trong bản rõ và bản mã của ví dụ về mã Vigenère ở trên, bắt đầu với kí tự đầu tiên 11 VIGENÈRE CIPHER Figure... 11 VIGENÈRE CIPHER Figure 4 Comparison of plaintext and ciphertext frequencies for every sixth letter of the Vigenère example, starting with the second letter Hình 4 Sự so sánh tần số xuất hiện của mỗi 6 kí tự trong bản rõ và bản mã của ví dụ về mã Vigenère ở trên, bắt đầu với kí tự thứ hai 12 VIGENÈRE CIPHER The relevant bar charts for every sixth letter starting with the first are given in Fig 3 We...VIGENÈRE CIPHER If we used the naive method and tried each of the 26 keys in turn we could still not detect Nếu chúng ta sử dụng phương pháp vét cạn và thử lần lượt 26 khóa thì chúng ta có thể vẫn which key is correct, since every sixth letter of an English sentence does not produce an English không thể phát hiện được khóa nào là chính xác, từ mỗi 6 kí tự của một câu trong tiếng Anh sentence... to the second letter of the keyword being cột màu xanh đã đươc thay đổi 17 vị trí, tương ứng với vị trí thứ 2 trong từ khóa là R equal to R Continuing in a similar way for the remaining four letters of the keyword we find the Tiếp tục sử dụng cách tương tự để tìm được 4 kí tự còn lại trong từ khóa và từ khóa thu được là CRYPTO keyword is CRYPTO 13 VIGENÈRE CIPHER The underlying plaintext, is then found... trong bản rõ là A, We see that this sequence seems to be shifted by two positions in the blue graph compared with the E và T Chúng ta thấy rằng dường như thứ tự đã được thay đổi bởi 2 vị trí tại cột màu xanh đối red graph Hence we can conclude that the first letter of the keyword is C, since C corresponds to a chiếu với cột màu đỏ Từ đây chúng ta có thể kết luận rằng kí tự đầu tiên của từ khóa là C, vì... have the as have the malady in less attractive forms His own heart laughed: and that was quite enough for malady in less attractive forms His own heart laughed: and that was quite enough for him him 14 VIGENÈRE CIPHER He had no further intercourse with Spirits, but lived upon the Total Abstinence Principle, He had no further intercourse with Spirits, but lived upon the Total Abstinence Principle, ever . khoảng từ 0 đến 25. VIGENÈRE CIPHER 6 However, the description of the Vigenère cipher as a stream cipher is much more natural. Just like the shift cipher, the Vigenère cipher again identifies. the Vigenère cipher is a polyalphabetic block cipher, but when looked at in another, it is a stream cipher which is a natural generalization of the shift cipher. The description of the Vigenère. polyalphabetic substitution cipher. VIGENÈRE CIPHER 3 For example we could take Plaintext alphabet ABCDEFGHIJKLMNOPQRSTUVWXYZ Ciphertext alphabet one TMKGOYDSIPELUAVCRJWXZNHBQF Ciphertext Alphabet two

Ngày đăng: 29/11/2014, 09:54

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

Tài liệu cùng người dùng

Tài liệu liên quan