Tải bản đầy đủ (.pptx) (16 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (19.19 MB, 16 trang )

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
11
If we used the naive method and tried each of the 26 keys in turn we could still not detect
which key is correct, since every sixth letter of an English sentence does not produce an English
sentence. Using our earlier histogram based method is move efficient in this case.
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
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
không thể tạo 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.

VIGENÈRE CIPHER
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
Figure 3. Comparison of plaintext and ciphertext frequencies for every sixth letter of the Vigenère
example, starting with the first letter
12
VIGENÈRE CIPHER
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
Figure 4. Comparison of plaintext and ciphertext frequencies for every sixth letter of the Vigenère
example, starting with the second letter
13
The relevant bar charts for every sixth letter starting with the first are given in Fig. 3. We
look for the possible locations of the three peaks corresponding to the plaintext letters A, E and T.
We see that this sequence seems to be shifted by two positions in the blue graph compared with the
red graph. Hence we can conclude that the first letter of the keyword is C, since C corresponds to a
shift of two.
We perform a similar step for every sixth letter, starting with the second one. The resulting
bar graphs are given in Fig. 4. Using the same technique we find that the blue graph appears to
have been shifted along by 17 spaces, which corresponds to the second letter of the keyword being
equal to R.
Continuing in a similar way for the remaining four letters of the keyword we find the
keyword is CRYPTO.
Những biểu đồ cột chính xác với mỗi 6 kí tự bắt đầu với kí tự đầu tiên được cho thể hiện
trong hình 3. Chúng ta tìm kiếm vị trí của 3 đỉnh cao nhất ứng với những kí tự trong bản rõ là A,
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
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ì C
tương ứng với sự thay đổi của 2 cột đó.
Chúng ta thực hiện các bước tương tự đối với mỗi 6 kí tự, bắt đầu với kí tự thứ 2. Kết quả
thu được là biểu đồ cột được cho trong hình 4. Sử dụng kĩ thuật tương tự chúng ta cũng tìm thấy

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.
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.
VIGENÈRE CIPHER
14
The underlying plaintext, is then found to be:
Scrooge was better than his word. He did it all, and infinitely more; and to Tiny Tim, who
did not die, he was a second father. He became as good a friend, as good a master, and as good a
man, as the good old city knew, or any other good old city, town, or borough, in the good old
world. Some people laughed to see the alteration in him, but he let them laugh, and little heeded
them; for he was wise enough to know that nothing ever happened on this globe, for good, at
which some people did not have their fill of laughter in the outset; and knowing that such as these
would be blind anyway, he thought it quite as well that they should wrinkle up their eyes in grins,
as have the malady in less attractive forms. His own heart laughed: and that was quite enough for
him.
Bản rõ ở phía dưới là cái chúng ta thu được:
Scrooge was better than his word. He did it all, and infinitely more; and to Tiny Tim, who did
not die, he was a second father. He became as good a friend, as good a master, and as good a man,
as the good old city knew, or any other good old city, town, or borough, in the good old world.
Some people laughed to see the alteration in him, but he let them laugh, and little heeded them; for
he was wise enough to know that nothing ever happened on this globe, for good, at which some
people did not have their fill of laughter in the outset; and knowing that such as these would be
blind anyway, he thought it quite as well that they should wrinkle up their eyes in grins, as have the
malady in less attractive forms. His own heart laughed: and that was quite enough for him.
VIGENÈRE CIPHER
15
He had no further intercourse with Spirits, but lived upon the Total Abstinence Principle,
ever afterwards; and it was always said of him, that he knew how to keep Christmas well, if any
man alive possessed the knowledge. May that be truly said of us, and all of us! And so. as Tiny
Tim observed. God bless Us. Every One!

The above text is taken from A Christmas Carol by Charles Dickens.
He had no further intercourse with Spirits, but lived upon the Total Abstinence Principle,
ever afterwards; and it was always said of him, that he knew how to keep Christmas well, if any
man alive possessed the knowledge. May that be truly said of us, and all of us! And so. as Tiny Tim
observed. God bless Us. Every One!
Văn bản ở phía trên được lấy từ A Christmas Carol bởi Charles Dickens.
VIGENÈRE CIPHER
THE END

×