Tải bản đầy đủ (.docx) (27 trang)

hệ mã Vignere_ Bài tập lớn

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 (1.47 MB, 27 trang )

Tìm hiểu về hệ mã hóa VIGENERE
TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT
KHOA CÔNG NGHỆ THÔNG TIN
-----------------------------------

HỌC PHẦN : CƠ SỞ AN NINH MẠNG
Họ và tên :
MSSV :
Nhóm : 07
ĐỀ TÀI: (3.1.d)TÌM HIỂU HỆ MÃ HĨA VIGENERE

Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE

NỘI DUNG
Sơ đồ tư duy..........................................................................................................................................................3
1.Giới thiệu...........................................................................................................................................................4
2.Khái niệm...........................................................................................................................................................4
3.Mã hóa và giải mã.............................................................................................................................................4
4. Các thiết bị mật mã Vigenère khác..................................................................................................................7
5. Bản chất đại số của mật mã Vigenère.............................................................................................................9
6. Ước tính độ dài khóa......................................................................................................................................10
6.1.Phương pháp Kasiski...............................................................................................................................10
6.2.Chỉ số trùng hợp.......................................................................................................................................15
*Ước tính độ dài khóa với chỉ số trùng hợp:...........................................................................................17
7.Khơi phục khóa................................................................................................................................................18
7.1.Phương pháp (The method):..................................................................................................................18
7.2. Phân tích tần số:......................................................................................................................................23
Tài liệu tham khảo:.............................................................................................................................................25



Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE

Sơ đồ tư duy

1.Giới thiệu

4.Các thiết bị mật mã
Vigenere khác

2.Khái niệm

Hệ mã hóa
Vigenere

5.Bản chất đại số của mật
mã Vigenere

3.Mã hóa và giải mã

6.Ước tinh độ dài khóa
Khơi phục
khóa

Hà Nội, ngày 8 tháng 12 năm 2020



Tìm hiểu về hệ mã hóa VIGENERE

1.Giới thiệu
Mật mã Vigenere xuất hiện lần đầu tiên vào năm 1585 trong cuốn Traicté des Chiffres ( A
Treatise on Secret Writing - Một luận thuyết về cách viết bí mật ) của Blaise de Vigenère.
Tuy nhiên, Giovan Batista Belaso đã thảo luận về một kỹ thuật tương tự trong tập sách La
cifra del( năm 1553) của ông.
Sig. Giovan Batista Belaso [KAHN1967, page 137]. Singh [SINGH1999, pp. 45--51,
Chapter 2] có một cuộc thảo luận ngắn và thú vị về Vigenère, được trích dẫn bên dưới, và
Kahn [KAHN1967, trang 137, Chương 4] có một phần giải thích dài hơn và chi tiết hơn.
Mặt khác, cuốn sách của Vigenère đã trình bày một hệ thống khóa tự động, có lẽ là đóng
góp lớn của ơng cho mật mã học ngồi mật mã Vigenère. Chúng tơi sẽ khơng thảo luận về
hệ thống khóa tự động này.
Vigenère làm quen với các tác phẩm của Alberti, Trithemius và Porta khi ở tuổi hai mươi
sáu, ông được cử đến Rome trong một sứ mệnh ngoại giao hai năm. Đầu tiên, mối quan tâm
của ơng đối với mật mã là hồn tồn thực tế và có liên quan đến cơng việc ngoại giao của
ơng. Sau đó, ở tuổi ba mươi chín, Vigenère quyết định rằng ơng đã tích lũy đủ tiền để có thể
từ bỏ sự nghiệp của mình và tập trung vào cuộc sống học tập. Sau đó, ơng mới xem xét chi
tiết các ý tưởng của Alberti, Trithemius và Porta, biến chúng thành một mật mã mới chặt
chẽ và mạnh mẽ [SINGH1999, trang 46.]
Mặc dù Alberti, Trithemius và Porta đều có những đóng góp quan trọng, nhưng mật mã này
được biết đến với cái tên mật mã Vigenère để vinh danh người đã phát triển nó thành dạng
cuối cùng. Điểm mạnh của mật mã Vigenère nằm ở chỗ nó không sử dụng một mà là 26
bảng chữ cái mật mã riêng biệt để mã hóa một thơng điệp [SINGH1999, 48].
Để sắp xếp lại thông điệp, người nhận dự định cần biết hàng nào của ô vuông Vigenère đã
được sử dụng để ghép từng chữ cái, vì vậy phải có một hệ thống thống nhất để chuyển đổi
giữa các hàng. Điều này đạt được bằng cách sử dụng từ khóa [SINGH1999, trang 49].
Công việc của Vigenère lên đến đỉnh cao trong cuốn A Treatise on Secret Writing, xuất bản
năm 1586. Trớ trêu thay, đây cũng là năm Thomas Phelippes phá vỡ mật mã của Mary
Queen of Scots. Giá như thư ký của Mary đọc luận thuyết này, anh ta sẽ biết về mật mã

VIG, những thông điệp của Mary gửi cho Babington sẽ khiến Phelippes bối rối, và mạng
sống của cơ ấy có thể đã được tha [SINGH1999, trang 51.]
Tiếp theo phần sau sẽ tập trung vào những điều cơ bản của mật mã Vigenère. Khái niệm ,
mã hóa và giải mã theo công thức;Vigenère Cipher Encryption and Decryption (mã hóa
và giải mã Vigenere) giải thích mật mã và các quy trình mã hóa và giải mã;các thiết bị
mật mã Vigenère khác thảo luận về hai thiết bị, đĩa và slide, giúp q trình mã hóa và giải
mã dễ dàng hơn so với việc sử dụng bảng Vigenère và Bản chất đại số của mật mã
Vigenère nói về cách lập trình mật mã Vigenère. Mật mã Vigenère Cipher Encryption và
Decryption rất đơn giản, dễ hiểu và dễ thực hiện. Tuy nhiên, trong gần ba thế kỷ, mật mã
Vigenère vẫn chưa bị phá vỡ cho đến khi Friedrich W. Kasiski xuất bản cuốn sách năm
1863 của mình. Ngồi ra Charles Babbage cũng sử dụng một kỹ thuật tương tự và phá thành
công mật mã Vigenère vào năm 1846, nhưng ông đã khơng cơng bố tác phẩm của mình.
Hướng dẫn này xử lý hai phương pháp để phá vỡ mật mã Vigenère. Phương pháp Kasiski
Phương pháp của Kasiski để tìm độ dài có thể có của từ khóa khơng xác định. Chỉ số Trùng
Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE
hợp trình bày phương pháp Chỉ số Trùng hợp (IOC, IoC hoặc IC) do William F. Friedman
đề xuất vào năm 1922. Phương pháp này được sử dụng để tìm độ dài của từ khóa khơng xác
định ( Ước tính độ dài từ khóa với chỉ số trùng hợp ). Khi độ dài có thể có của từ khóa
khơng xác định được tìm thấy, phương pháp χ 2 được sử dụng để khôi phục từ khóa. Vì
ước tính độ dài từ khóa có thể khơng chính xác, có thể cần một số lần lặp lại. Do đó, để giải
mã một bản mã được mã hóa bằng mật mã Vigenère, người ta thường tuân theo một quy
trình lặp đi lặp lại như hình dưới đây. Cuối cùng, các ví dụ hồn chỉnh cung cấp một số ví
dụ hồn chỉnh.

Chú
thích:
[KAHN1967] David Kahn, The Code Breakers , Macmillan, 1967. (Một ấn bản sửa đổi và

cập nhật đã được Scriber xuất bản năm 1996.)
[SINGH1999] Simon Singh, The Code Book , Anchor Books, 1999.
2.Khái niệm
Hệ mã hóa Vigenere là hệ mật mã mà trong đó tập các bản rõ P,tập các bản mã C cũng như
là tập các khóa K đều thuộc vào vành với mỗi khóa
k=(k1, k2,….,km) ∊ K , m là độ dài khóa, với mọi x,y thuộc ,ta có định nghĩa:
ek(x1,x2,…,xm) = (x1 + k1 , x2 + k2 ,…, xm + km )
dk(y1,y2, …,ym) = (y1 - k1 , y2 - k2 ,…, ym - km )
Các phép cộng trừ đều lấy theo Modulo 26
Ý tưởng: chia chuỗi cần mã hóa thành các đoạn có độ dài m và mã hóa theo đoạn
Ví dụ :Mã hóa bản rõ dùng Vigenere với khóa K
Bản rõ (P) : XINCHAO
Khóa (K) : RPI
A
0

B
1

C
2

D
3

E
4

F
5


G
6

H
7

I
8

J
9

K
10

L
11

M
12

N
13

O
14

P
15


K
16

R
17

S
18

T
19

U
20

V
21

W
22

X
23

Y
24

Z
25


Xét khóa k = RPI = (17,15,8), độ dài khóa m = 3
Bản rõ “XINCHAO” với các tương ứng:
X
23

I
8

N
13

C
2

H
7

A
0

O
14

Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE
Sau đó chia chuỗi thành các đoạn có độ dài là 3 và cộng mỗi đoạn với dãy (17,15,8) ta có
kết quả sau:

X
23
17
14
O

+

I
8
15
23
X

N
13
8
21
V

C
2
17
19
T

H
7
15
22

W

A
0
8
8
I

O
14
17
5
F

Vậy bản mã thu được là : “OXVTWIF”
VÍ DỤ _GIẢI MÃ:
Bản mã thu được là : “OXVTWIF” với tương ứng:
O
X
V
T
W
I
F
14
23
21
19
22
8

5
Công thức giải mã:
dk(y1,y2, …,ym) = (y1 - k1 , y2 - k2 ,…, ym - km )
Sau đó chia chuỗi thành các đoạn có độ dài m = 3 và trừ mỗi đoạn với dãy
(17,15,8) ta có kết quả sau:

-

O
14
17
23
X

X
23
15
8
I

V
21
8
13
N

T
19
17
2

C

W
22
15
7
H

I
8
8
0
A

F
5
17
14
O

Vậy bản mã thu được là : “XINCHAO”
3.Mã hóa và giải mã
Mật mã Vigenère sử dụng bảng 26 × 26 với A đến Z làm tiêu đề hàng và tiêu đề cột Bảng
này thường được gọi là Vigenère Tableau , Vigenère Table hoặc Vigenère Square . Chúng ta
sẽ sử dụng Vigenère Table . Hàng đầu tiên của bảng này có 26 chữ cái tiếng Anh. Bắt đầu
với hàng thứ hai, mỗi hàng có các chữ cái dịch chuyển sang trái một vị trí theo cách tuần
hồn. Ví dụ, khi chữ B được chuyển đến vị trí đầu tiên trên hàng thứ hai, chữ A sẽ di chuyển
về cuối.

Hà Nội, ngày 8 tháng 12 năm 2020



Tìm hiểu về hệ mã hóa VIGENERE

Ngồi bản rõ, mật mã Vigenère cũng yêu cầu một từ khóa, được lặp lại sao cho tổng độ dài
bằng với độ dài của bản rõ.
Ví dụ: giả sử bản rõ là MICHIGAN TECHNOLOGICAL UNIVERSITY và từ khóa là
HOUGHTON . Sau đó, từ khóa phải được lặp lại như sau:
MICHIGAN TECHNOLOGICAL UNIVERSITY
HOUGHTON HOUGHTONHOUGH TONHOUGNTO
Chúng tôi làm theo truyền thống bằng cách loại bỏ tất cả các khoảng trắng và dấu câu,
chuyển đổi tất cả các chữ cái thành chữ hoa và chia kết quả thành các khối 5 chữ cái. Kết
quả là bản rõ và từ khóa trên trở thành như sau:
MICHI GANTE CHNOL OGICA LUNIV ERSIT Y
HOUGH TONHO UGHTO NHOUG HTONH OUGHT O
Để mã hóa, hãy chọn một chữ cái trong bản rõ và chữ cái tương ứng của nó trong từ khóa,
sử dụng chữ cái từ khóa và chữ cái rõ ràng làm chỉ số hàng và chỉ mục cột, và mục nhập tại
giao điểm hàng-cột là chữ cái trong bản mã . Ví dụ, chữ cái đầu tiên trong plaintext là M và
thư từ khóa tương ứng của nó là H . Điều này có nghĩa là hàng của H và cột của M được sử
dụng, và mục nhập T tại giao điểm là kết quả được mã hóa.
Tương tự, vì chữ N trong MICHIGAN tương ứng với chữ N trong từ khóa, mục nhập tại
giao điểm của hàng N và cột N là A là chữ cái được mã hóa trong bản mã.

Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE

Lặp lại q trình này cho đến khi tất cả các chữ cái rõ ràng được xử lý, bản mã
là TWWNPZOA ASWNUHZBNWWGS NBVCSLYPMM . Phần sau có bản rõ, từ khóa

lặp lại và bản mã được căn chỉnh với nhau.
MICHI GANTE CHNOL OGICA LUNIV ERSIT Y
HOUGH TONHO UGHTO NHOUG HTONH OUGHT O
TWWNP ZOAAS WNUHZ BNWWG SNBVC SLYPM M
Để giải mã, hãy chọn một ký tự trong bản mã và ký tự tương ứng của nó trong từ khóa, sử
dụng ký tự từ khóa để tìm hàng tương ứng và tiêu đề chữ cái của cột chứa ký tự bản mã là
ký tự bản rõ cần thiết. Ví dụ, để giải mã chữ T đầu tiên trong bản mã, chúng ta tìm
chữ H tương ứng trong từ khóa. Sau đó, hàng của H được sử dụng để tìm ký tự T tương
ứng và cột chứa T cung cấp ký tự rõ ràng M (xem các hình trên). Hãy xem xét chữ P thứ
năm trong bản mã. Chữ cái này tương ứng với chữ cái từ khóa H và hàngH được sử dụng
để tìm P . Kể từ khi P là trên cột I , chữ rõ tương ứng là I .
4. Các thiết bị mật mã Vigenère khác
Vì bảng Vigenère lớn và khơng thuận tiện lắm, hai thiết bị di động đã được phát triển để
giúp việc mã hóa và giải mã dễ dàng hơn. Thiết bị đầu tiên, đĩa mật mã , được phát minh
bởi Leon Battista Alberti (1404--1472). Đĩa mật mã này có hai đĩa đồng tâm, với đáy lớn cố
định và đĩa trên nhỏ có thể xoay được. 26 chữ cái tiếng Anh được hiển thị dọc theo chu vi
của mỗi đĩa. Người ta có thể xoay đĩa trên cùng để căn chỉnh bất kỳ chữ cái nào với chữ A
trên đĩa dưới cùng. Bản rõ và bản mã lần lượt sử dụng các chữ cái trên đĩa dưới cùng và trên
cùng.

Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE

Việc sử dụng đĩa mật mã rất đơn giản. Xoay đĩa trên cùng sao cho ký tự từ khóa đang được
sử dụng thẳng hàng với ký tự A trên đĩa dưới cùng, và các chữ cái rõ ràng và bản mã tương
ứng nằm trên đĩa dưới cùng và trên cùng. Quy trình căn chỉnh này tương đương với việc
chuyển các hàng xuống dưới. Ví dụ, nếu hai chữ A thẳng hàng với nhau, chúng ta đang sử
dụng hàng A ; nếu B thẳng hàng với A , chúng ta đang sử dụng hàng B ; và nếu C là phù

hợp với A , chúng ta đang sử dụng hàng C . Do đó, đĩa mật mã dùng đĩa quay thay thế bàn
lớn, tiện lợi hơn.
Xem xét chữ cái thứ 10 E trong bản rõ và chữ cái O của từ khóa tương ứng .
MICHIGAN
TECHNOLOGICAL
UNIVERSITY
HOUGHTON HOUGHTONHOUGH
TONHOUGNTO
TWWNPZOA ASWNUHZBNWWGS
NBVCSLYPMM
Xoay đĩa trên cùng cho đến khi O thẳng hàng với A (xem hình bên dưới) và do đó, chữ E
trên đĩa dưới cùng thẳng hàng với chữ S trên đĩa trên. Do đó, E được mã hóa để S .

Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE

Ngược lại, thứ 10 thư ciphertext S tương ứng với bức thư từ khóa O . Xoay đĩa trên cùng
cho đến khi O thẳng hàng với A và ký tự bản mã S trên đĩa trên cùng thẳng hàng với
chữ E ở đĩa dưới cùng. Do đó, bức thư giải mã của S là E .
Một thiết bị đơn giản khác thường được gọi là Saint Cyr Slide hoặc chỉ đơn giản
là trượt . Hàng trên cùng của trang chiếu này là cố định và có 26 chữ cái tiếng Anh.
Hàng dưới cùng có thể được trượt sang trái và phải và có hai bộ 26 chữ cái ( tức là lặp lại
26 chữ cái hai lần). Lưu ý rằng các thiết lập thứ hai chỉ cần 25 chữ từ A đến Y . Tại
sao? Việc sử dụng nó giống với đĩa mật mã với phần cố định trên cùng cho các chữ cái rõ
ràng và phần di chuyển dưới cùng cho chữ bản mã. Chúng ta chỉ trượt phần dưới cùng để
chữ cái từ khóa thẳng hàng với chữ A và các hàng trên cùng và dưới cùng cung cấp các chữ
cái rõ ràng và bản mã tương ứng.
Hãy xem xét chữ I thứ 5 trong ví dụ của chúng ta. Thư từ khóa tương ứng của nó

là H . Trượt phần dưới sao cho H thẳng hàng với Một trong những phần cố định và chữ
rõ tôi tương ứng với chữ cái P . Do đó, tơi được mã hóa bởi H để P .

Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE
Các thứ 11 thư ciphertext là W và chữ từ khóa tương ứng là U . Để giải mã, hãy trượt phần
dưới cùng sao cho U thẳng hàng với A của phần trên cùng. Bức thư ciphertext W trong
tương ứng phía dưới để C ở phía trên, và W được giải mã với U để C .

5. Bản chất đại số của mật mã Vigenère
Như ở phần trước, Bảng chữ cái được chuyển sang trái một vị trí lặp đi lặp lại để xây dựng
bảng Vigenère 26 × 26. Điều này tương đương với việc dịch chuyển bảng chữ cái ( tức
là tiêu đề hàng của bảng Vigenère) sang bên phải một vị trí tại một thời điểm.

Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE
Ví dụ, hàng B có được bằng cách dịch chuyển hàng A sang trái một vị trí. Điều này tương
đương với việc chuyển bảng chữ cái sang đúng một vị trí. Đối với dãy B , A được chuyển
sang B và B được chuyển sang C và do đó, A được mã hóa để B và B được mã hóa
để C . Tương tự, đối với hàng D cách A ba vị trí , A được dịch chuyển ba vị trí
thành D , Bđược chuyển ba vị trí để E , và C được chuyển ba vị trí để F . Do
đó, A , B và C được mã hóa thành D , E và F bằng cách dịch chuyển sang đúng ba vị
trí. Nói chung, nếu một bức thư rõ P được mã hóa bởi một lá thư từ khóa K đó là d vị trí
từ A , P được mã hóa bởi K để thư C đó là d vị trí ở bên phải của P. Chúng ta phải xem xét
sự chuyển dịch theo chu kỳ. Nếu các chữ cái A , B , C , ..., Z được gán giá trị 0, 1, 2, ..., 25
tuổi, từng chữ cái từ khóa đơn giản là khoảng cách từ đó bức thư gửi Một . Kết quả là, ký tự

mật mã C thu được như sau, trong đó "mod" là số học mơ đun:
C = ( P + d ) mod 26
Tóm lại, nếu từ khóa được lặp lại đủ số lần để tổng độ dài bằng độ dài của bản rõ, đối với
bản rõ p 1 p 2 ... p n , từ khóa k 1 k 2 ... k n và bản mã c 1 c 2 ... c n , chúng ta có
c i = ( p i + k i ) mod 26
Giải mã là quy trình được đảo ngược bằng cách dịch chuyển bản mã sang trái. Vì dịch
chuyển sang trái là một phép trừ, quy trình giải mã đơn giản là:
p i = ( c i - k i ) mod 26
Với ý nghĩ này, rất dễ dàng lập trình một mật mã Vigenère như sau:

Lưu ý Quan trọng: Trong mã ASCII, chữ A đến Z là liên tiếp và K - ' Một ' là khoảng cách
từ A đến lá thư K . Tuy nhiên, 26 chữ cái trong mã EBCDIC khơng liên tiếp. Do đó, sẽ tốt
hơn nếu lưu các ký tự trong một mảng 26 phần tử và thay đổi chỉ số mảng hơn là sử
dụng K - ' A '.
6. Ước tính độ dài khóa
6.1.Phương pháp Kasiski
Friedrich W. Kasiski, một sĩ quan quân đội Đức (thực ra là một thiếu tá), đã xuất bản cuốn
sách Die Geheimschriaries und die Dechiffrirkunst ( Mật mã và nghệ thuật giải mã ) vào
năm 1863 [KASISK1863]. Hình sau là bìa sách của Kasiski. Cuốn sách dài hơn 100 trang
này là tác phẩm đầu tiên được xuất bản về việc phá vỡ mật mã Vigenère, mặc dù Charles
Babbage đã sử dụng kỹ thuật tương tự, nhưng chưa bao giờ được xuất bản, sớm nhất là vào
năm 1846.

Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE

Kasiski đề xuất rằng người ta có thể tìm kiếm các đoạn lặp lại trong bản mã và biên dịch
một danh sách các khoảng cách phân tách các đoạn lặp lại. Sau đó, độ dài từ khóa có khả

năng phân chia nhiều khoảng cách này. Chính xác hơn, Kasiski đã quan sát [KASISKI1863,
KULLBACK1976} sau:

Nếu một chuỗi con lặp lại trong bản rõ được mã hóa bởi cùng một chuỗi con trong từ
khóa, thì bản mã chứa một chuỗi con lặp lại và khoảng cách của hai lần xuất hiện là bội số
của độ dài từ khóa.

Khơng phải mọi chuỗi lặp lại trong bản mã đều phát sinh theo cách này; nhưng, xác
suất lặp lại tình cờ nhỏ hơn đáng kể. Xem [POMMERENING2006] để biết một cuộc thảo
luận đơn giản và thú vị.
Trong hình sau, khoảng cách giữa hai chuỗi con lặp lại, được hiển thị bằng màu vàng, trong
bản mã là g . Vì từ khóa độ dài k được lặp lại để lấp đầy độ dài của bản mã, nên khoảng
cách g là bội số của độ dài từ khóa k . Do đó, nếu chúng ta thấy hai chuỗi con lặp lại với
Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE
khoảng cách g , thì một trong những yếu tố của g có khả năng là độ dài của từ khóa. Ví dụ:
nếu khoảng cách là g = 18, vì các thừa số của g là 2, 3, 6, 9 và 18, một trong số chúng có thể
là độ dài của từ khóa chưa biết.

Hãy xem xét ví dụ sau được mã hóa bởi từ khóa ION . BVR chuỗi con trong bản mã lặp lại
ba lần. Hai đầu tiên được mã hóa từ THE bởi ION . Vì từ khóa ION được chuyển sang phải
nhiều lần, khoảng cách giữa chữ B trong lần xuất hiện đầu tiên của BVR và lần thứ hai là
bội số của độ dài từ khóa 3. Lần xuất hiện thứ hai và thứ ba của BVR kể một câu chuyện
khác. Họ được mã hóa từ THE và NIJ sử dụng các phần khác nhau của từ khóa ( ví
dụ , ION và ONI) và khoảng cách giữa hai chữ B trong BVR thứ hai và thứ ba có thể
khơng phải là bội số của độ dài từ khóa. Do đó, ngay cả khi chúng tơi tìm thấy các chuỗi
con lặp lại, khoảng cách giữa chúng có thể là bội số của độ dài của từ khóa và việc lặp lại có
thể chỉ là ngẫu nhiên.

Văn bản thơ

...... THE ................ THE ..................... NIJ ..........

Từ khóa

...... ION ................ ION .................... IONI ...........

Bản mã

...... BVR ................ BVR ..................... BVR ..........

Một bản mã dài có thể có cơ hội cao hơn để xem nhiều chuỗi con lặp lại hơn và một bản rõ
ngắn được mã hóa với từ khóa tương đối dài có thể tạo ra một bản mã mà khơng có sự lặp
lại nào. Ngoài ra, các chuỗi con dài lặp lại trong một bản mã khơng có khả năng là do ngẫu
nhiên, trong khi các chuỗi con lặp lại ngắn có thể xuất hiện thường xuyên hơn và một số
trong số đó có thể hồn tồn là do ngẫu nhiên. Ví dụ sau đây cho thấy mã hóa
của MICHIGANTECHNOLOGICALUNIVERSITY với khóa là boy . Khơng có chuỗi
con lặp lại nào có độ dài ít nhất là 2. Tất nhiên, phương pháp của Kasiski không thành công.
MICHI
GANTE
CHNOL
OGICAL LUNIV
ERSIT
Y
BOYBO
YBOYB
OYBOY
BOYBO
YBOYB

OYBOY
B
NWAIW
EBBRF
QFOCJ
PUGDO
JVBGW
SPTWR
Z
Hãy xem xét một bản rõ dài hơn. Sau đây là trích dẫn của Charles Antony Richard Hoare
(Tony Hoare hay CAR Hoare), người chiến thắng Giải thưởng ACM Turing năm 1980, về
thiết kế phần mềm:
There are two ways of constructing a software design:
One way is to make it so simple that there are obviously
no deficiencies, and the other way is to make it so complicated
that there are no obvious deficiencies.
Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE
The first method is far more difficult.
Sau khi loại bỏ dấu cách và dấu chấm câu và chuyển đổi thành chữ hoa, chúng ta có những
điều sau:
THERE ARETW OWAYS OFCON STRUC TINGA SOFTW AREDE SIGNO NEWAY
ISTOM AKEIT SOSIM PLETH ATTHE REARE OBVIO USLYN ODEFI CIENC
IESAN DTHEO THERW AYIST OMAKE ITSOC OMPLI CATED THATT HEREA
RENOO BVIOU SDEFI CIENC IESTH EFIRS TMETH ODISF ARMOR EDIFF
ICULT

Sau đó, phần trên được mã hóa bằng từ khóa SYSTEM gồm 6 chữ cái như sau:

LFWKI MJCLP SISWK HJOGL KMVGU RAGKM KMXMA MJCVX WUYLG GIISW
ALXAE YCXMF KMKBQ BDCLA EFLFW KIMJC GUZUG SKECZ GBWYM OACFV
MQKYF WXTWM LAIDO YQBWF GKSDI ULQGV SYHJA VEFWB LAEFL FWKIM
JCFHS NNGGN WPWDA VMQFA AXWFZ CXBVE LKWML AVGKY EDEMJ XHUXD
AVYXL

Phần sau có bản rõ, từ khóa và bản mã được căn chỉnh với nhau. Các văn bản màu xanh lam
đánh dấu các chuỗi con lặp lại có độ dài 8. Đây là các chuỗi con dài nhất có độ dài nhỏ hơn
10 trong bản mã. Chuỗi văn bản rõ THEREARE xuất hiện ba lần tại các vị trí 0, 72 và 144.
Khoảng cách giữa hai lần xuất hiện là 72. Từ khóa lặp lại và bản mã lần
lượt là SYSTEMSY và LFWKIMJC . Do đó, ba lần xuất hiện này không phải là ngẫu
nhiên và 72 là bội số của độ dài từ khóa 6.
THERE ARETW OWAYS OFCON STRUC TINGA SOFTW AREDE SIGNO NEWAY
SYSTE MSYST EMSYS TEMSY STEMS YSTEM SYSTE MSYST EMSYS TEMSY
LFWKI MJCLP SISWK HJOGL KMVGU RAGKM KMXMA MJCVX WUYLG GIISW
ISTOM AKEIT SOSIM PLETH ATTHE REARE OBVIO USLYN ODEFI CIENC
STEMS YSTEM SYSTE MSYST EMSYS TEMSY STEMS YSTEM SYSTE MSYST
ALXAE YCXMF KMKBQ BDCLA EFLFW KIMJC GUZUG SKECZ GBWYM OACFV
IESAN DTHEO THERW AYIST OMAKE ITSOC OMPLI CATED THATT HEREA
EMSYS TEMSY STEMS YSTEM SYSTE MSYST EMSYS TEMSY STEMS YSTEM
MQKYF WXTWM LAIDO YQBWF GKSDI ULQGV SYHJA VEFWB LAEFL FWKIM
RENOO BVIOU SDEFI CIENC IESTH EFIRS TMETH ODISF ARMOR EDIFF
SYSTE MSYST EMSYS TEMSY STEMS YSTEM SYSTE MSYST EMSYS TEMSY
JCFHS NNGGN WPWDA VMQFA AXWFZ CXBVE LKWML AVGKY EDEMJ XHUXD
ICULT
STEMS
AVYXL

Hà Nội, ngày 8 tháng 12 năm 2020



Tìm hiểu về hệ mã hóa VIGENERE
Chuỗi con lặp lại dài nhất tiếp theo WMLA trong bản mã có độ dài 4 và xuất hiện ở vị trí
108 và 182. Khoảng cách giữa hai vị trí này là 74. Tại vị trí 108, bản rõ EOTH được mã
hóa thành WMLA bằng SYST . Ở vị trí 182, ETHO bản rõ được mã hóa
thành WMLA bằng STEM . Trong trường hợp này, ngay cả khi chúng tơi tìm thấy các
chuỗi con lặp lại WMLA , chúng khơng được mã hóa bởi cùng một phần của từ khóa và
chúng đến từ các phần bản rõ khác nhau. Do đó, sự lặp lại này là một cơ hội thuần túy và
khoảng cách 74 khơng chắc là bội số của độ dài từ khóa.
IESAN DTH EO TH ERW AYIST OMAKE ITSOC OMPLI CATED THATT HEREA
EMSYS TEM SY ST EMS YSTEM SYSTE MSYST EMSYS TEMSY STEMS YSTEM
MQKYF WXT WM LA IDO YQBWF GKSDI ULQGV SYHJA VEFWB LAEFL FWKIM
RENOO BVIOU SDEFI CIENC IESTH EFIRS TM ETH O DISF ARMOR EDIFF
SYSTE MSYST EMSYS TEMSY STEMS YSTEM SY STE M SYST EMSYS TEMSY
JCFHS NNGGN WPWDA VMQFA AXWFZ CXBVE LK WML A VGKY EDEMJ XHUXD
ICULT
STEMS
AVYXL

Có năm chuỗi con lặp lại có độ dài 3. Chúng là MJC ở vị trí 5 và 35 với khoảng cách
30, ISW ở vị trí 11 và 47 (khoảng cách = 36), KMK ở vị trí 28 và 60 (khoảng cách =
32), VMQ ở vị trí 99 và 165 (khoảng cách = 66), và DAV ở vị trí 163 và 199 (khoảng cách
= 36). Bảng sau đây là một bản tóm tắt. Lưu ý rằng bản mã lặp lại KWK được mã hóa từ
hai phần bản rõ là GAS và SOS với các phần từ khóa của EMS và SYS , tương ứng. Do đó,
đây là một cơ hội thuần túy.
Vị trí
5
35
11
47

28
60
99
165
163
199
Khoản
30
36
32
66
36
g cách
Bản rõ ARE ARE WAY WAY GAS
SOS
CIE
CIE
FIC
FIC
Khóa MSY MSY MSY MSY EMS SYS TEM TEM YST YST
Bản mã MJC MJC ISW
ISW KMK KMK VWQ VWQ DAV DAV
Bảng sau đây cho thấy khoảng cách và các yếu tố của chúng. Vì khoảng cách có thể là bội
số của độ dài từ khóa, nên hệ số của khoảng cách có thể là độ dài của từ khóa. Nếu đối sánh
là do ngẫu nhiên, các yếu tố của khoảng cách này có thể khơng phải là yếu tố của độ dài từ
khóa. Nói chung, lựa chọn tốt là lựa chọn lớn nhất xuất hiện thường xuyên nhất. Lưu ý rằng
các chuỗi con lặp lại dài hơn có thể cung cấp các lựa chọn tốt hơn vì các kết quả trùng khớp
này ít có khả năng xảy ra tình cờ hơn.
Chiều dài
8

4
3

Khoảng cách
72
74
66
36
32
30

Các nhân tố
2 3 4 6 8 9 12 18 24 36 72
2 37 74
2 2 3 6 11 22 33 66
2 3 4 6 9 12 18 36
2 4 8 16 32
2 3 5 6 10 15
Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE
Bảng sau đây cho thấy khoảng cách và tất cả các yếu tố không cao hơn 20. Hàng cuối cùng
của bảng có tổng số của mỗi yếu tố. Rõ ràng là các yếu tố 2, 3 và 6 xảy ra thường xuyên
nhất với các số lần lượt là 6, 4 và 4. Vì độ dài từ khóa 2 quá ngắn để được sử dụng hiệu quả,
độ dài 3 và 6 hợp lý hơn. Do đó, chúng tơi có thể sử dụng 3 và 6 làm ước tính ban đầu để
khơi phục từ khóa và giải mã bản mã.
Các nhân tố
10 11 12 13 14 15 16 17 18 19 20


Khoản 2 3 4 5 6 7 8 9
g cách
74
X
72
X X X
X
X X
X
X
66
X X
X
X
36
X X X
X
X
X
X
32
X
X
X
X
30
X X
X X
X
X

Tổng
6 4 3 1 4 0 2 2 1 1 2 0 0 1 1 0 2 0 0
Nếu chúng tơi tin rằng một số khoảng cách có thể khơng phải do ngẫu nhiên, chúng tơi có
thể tính ước số chung lớn nhất (GCD) của những khoảng cách này và sử dụng nó làm độ dài
từ khóa có thể. Như đã đề cập trước đó, khoảng cách 74 và 32 có thể là do ngẫu nhiên và
các khoảng cách còn lại là 72, 66, 36 và 30. GCD của chúng là GCD (72, 66, 36, 30) = 6. Vì
chúng ta biết từ khóa SYSTEM , 6 là độ dài chính xác. Nếu chúng ta chỉ có một bản mã
trong tay, chúng ta phải thực hiện một số công việc đốn.
Vì GCD (a, b, c, d) = GCD (GCD (a, b), c, d) nên chúng ta có GCD (72,66,36,30) =
GCD (GCD (72,66), 36, 30) = GCD (6,36,30) = GCD (GCD (6,36), 30) = GCD (6,30) = 6
Chú thích:

[KASISKI1863] Friedrich W. Kasiski, Die Geheimschriaries und die Dechiffrirkunst ,
Mittler und Sohn, Berlin, 1863. (Một phiên bản fax không hạn chế đã được Adamant Media
Corporation xuất bản năm 2006.)

[KULLBACK1976] Solomon Kullback, Các phương pháp thống kê trong phân tích mật
mã , Aegean Park Press, 1976. (Cuốn sách này ban đầu được xuất bản vào năm 1938 bởi Văn
phịng In ấn Chính phủ.)

[POMMERENING2006] Klaus Pommerening, Bài kiểm tra của Kasiski: Không thể lặp lại
do tai nạn ? , Cryptologia , Vol. 30 (2006), số 4 (tháng 10), trang 346-352.

6.2.Chỉ số trùng hợp
Cho một chuỗi văn bản, chỉ số của IC hoặc IOC trùng hợp , là xác suất của hai chữ cái
được chọn ngẫu nhiên bằng nhau. Việc sử dụng chỉ số của sự trùng hợp lần đầu tiên được
William F. Friedman đề xuất vào năm 1922 [FRIEDMAN1996, KULLBACK1976]. Theo
nhà sử học David Kahn [KAHN1967, trang 176], `` Revierbank Publication số 22, được
viết vào năm 1920, khi Friedman 28 tuổi, phải được coi là ấn phẩm đơn lẻ quan trọng nhất
trong lĩnh vực mật mã. Khoa học đã đưa khoa học vào một thế giới mới . '' Xem Clark

[CLARK1977] để biết thêm về cuộc sống cá nhân của Friedman. Phần sau là bìa của

Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE
Riverbank Publication số 22 [FRIEDMAN1996]. Nó được in ở Pháp vào năm 1922 để tiết
kiệm chi phí.

Gọi độ dài của văn bản là N và kích thước của bảng chữ cái là n . Hãy xem xét các i -thứ
thư một i trong bảng chữ cái. Giả sử a i xuất hiện trong văn bản đã cho F i lần. Vì số
chữ a i trong văn bản là F i , nên chọn chữ a i đầu tiên có F i các lựa chọn khác nhau và chọn
chữ a i thứ hai chỉ có F i -1 lựa chọn khác nhau vì một a i đã được chọn. Vì cóN ( N -1) cách
khác nhau để chọn hai ký tự từ văn bản, xác suất để có hai chữ a i là
Vì bảng chữ cái có n chữ cái khác nhau và điều trên áp dụng cho mỗi chữ cái trong số
chúng, nên xác suất để có hai chữ cái giống nhau trong văn bản là:

Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE
Do đó, chỉ số của sự trùng hợp là:
Lưu ý rằng tiếng Anh có n = 26 chữ cái.
Ví dụ: Sau đây là bản mã của câu trích dẫn của Hoare được mã hóa bằng mật mã Vigenère

và một từ khóa khơng xác định:
VVQGY TVVVK ALURW FHQAC MMVLE HUCAT WFHHI PLXHV UWSCI GINCM
UHNHQ RMSUI MHWZO DXTNA EKVVQ GYTVV QPHXI NWCAB ASYYM TKSZR
CXWRP RFWYH XYGFI PSBWK QAMZY BXJQQ ABJEM TCHQS NAEKV VQGYT
VVPCA QPBSL URQUC VMVPQ UTMML VHWDH NFIKJ CPXMY EIOCD TXBJW

KQGAN
Đếm tần số được hiển thị bên dưới:

IC giảm xuống cịn 0,041989 vì đây khơng phải là văn bản tiếng Anh thuần túy cũng không
phải ngẫu nhiên.
Chú thích:
 [CLARK1977] Clark, The Man Who Broke Purple, Little, Brown and Company,
1977.
 [FRIEDMAN1996] William F. Friedman, The Index of Coincidence and Its
Applications in Cryptanalysis, Aegean Park Press, 1996. (This book was originally
published in 1922 as Riverbank Publication No. 22, Riverbank Laboratories,
Geneva, Illinois. It is also available from George C. Marshall Foundation here.)
 [KAHN1967] David Kahn, The Code Breakers, Macmillan, 1967. (A revised and
updated edition was published by Scriber in 1996.)
 [KULLBACK1976] Solomon Kullback, Statistical Methods in Cryptanalysis,
Aegean Park Press, 1976. (This book was originally published in 1938 by the
Government Printing Office.)

Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE
*Ước tính độ dài khóa với chỉ số trùng hợp:

Chỉ số trùng hợp có thể được sử dụng để ước tính độ dài của từ khóa khơng xác định. Cuối
cùng, chúng ta hãy đốn độ dài l và chia bản mã C = ,,,..., thành các chuỗi l như sau:


Chuỗi đầu tiên S1 bắt đầu với C1 và bao gồm mọi chữ cái lth
: S1 = C1C1+lC1+2lC1+3l...




Chuỗi thứ hai S2 bắt đầu với C2 và bao gồm mọi chữ cái l-th: S2 = C2C2+lC2+2lC2+3l...



Nói chung,chuỗi Si bắt đầu với Ci và bao gồm mọi chữ cái l-th: Si = CiCi+lCi+2lCi+3l...



l-th chuỗi Sl bắt đầu với Cl và bao gồm mọi chữ cái l-th: Sl = ClC2lC3lC4l...

Theo cách này, ta có l các chuỗi S1, S2, ..., Sl,một trong số đó là một chuỗi con của bản
mã.Những chuỗi con này thường được gọi là cosets. Hơn thế nữa,nếu độ dài của khóa l là
đúng,mỗi coset sẽ là kết quả mã hóa bởi các kí tự giống nhau của khóa. Chú ý rằng những
cosets “ngắn hơn” có ⌊N/l⌋ kí tự và cosets “đầy đủ” có ⌊N/l⌋+ các kí tự.
7.Khơi phục khóa
7.1.Phương pháp (The method):
Nếu ước tính độ dài khóa là đúng, mỗi coset được xây dựng sẽ được mã hóa bằng cùng một
chữ cái.Sau đây là mã hóa với từ BOY:

MICHIGAN
BOYBOYBO

TECHNOLOGICAL
YBOYBOYBOYBOY

UNIVERSITY
BOYBOYBOYB


Vì độ dài khóa là 3 nên chúng ta có các conset sau:

MICHIGAN
NIBFOPDVWTZ
WWBQCUOBSW
AERFJGJGPR

TECHNOLOGICAL

UNIVERSITY

Nếu A được coi là chữ cái đứng thứ 0, thì ta có bảng sau có tất cả 26 chữ cái tiếng Anh.
0
A
13
N

1
B
14
O

2
C
15
P

3
D

16
Q

4
E
17
R

5
F
18
S

6
G
19
T

7
H
20
U

8
I
21
V

9
J

22
W

10
K
23
X

11
L
24
Y

12
M
25
Z

Kể từ chữ cái đầu tiên trong từ khóa là B , các chữ rõ tương ứng với B được chuyển sang
một vị trí đúng để M trở nên N và A trở thành B . Vì ký tự thứ hai trong từ khóa là O , các
ký tự bản rõ tương ứng với O được chuyển sang đúng 14 vị trí để I trở thành W , O trở
thành B , v.v. Tương tự, coset thứ ba thu được bằng cách dịch chuyển các chữ cái rõ ràng
tương ứng với Y sang đúng 24 vị trí.
Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE
Trong trường hợp chỉ biết ba coset, chúng ta cần dịch chuyển mỗi coset sang trái một số vị
trí để lấy lại bản rõ. Chính xác hơn, mỗi coset được dịch sang trái 1 vị trí, 2 vị trí, ..., và 25
vị trí. Lưu ý rằng chúng ta không cần phải dịch chuyển vị trí 0 vì bản thân nó là coset. Vì

mỗi dịch chuyển tạo ra một khả năng giải mã coset, nên có 26 khả năng khác nhau. Nếu
chúng ta có k coset, tổng số tổ hợp dịch chuyển là 26 k , có thể rất lớn ngay cả khi k nhỏ. Ví
dụ: nếu độ dài từ khóa có thể là 8, thì có 26 8= 208,827,064,576 kết hợp dịch chuyển có thể
có (hoặc các từ khóa có thể có). Với một số lượng lớn các kết hợp như vậy, rất khó để xác
minh sự dịch chuyển của coset nào có thể mang lại chữ cái từ khóa chính xác. Do đó, chúng
ta cần một phương pháp tốt hơn là sử dụng vũ lực.
Có một phương pháp đơn giản dựa trên tần suất xuất hiện của các chữ cái trong tiếng
Anh . Vì mỗi coset được mã hóa bởi cùng một chữ cái, tần số của nó trơng khơng giống
một văn bản tiếng Anh điển hình. Dịch chuyển một coset thay đổi tần số của nó. Trong số
26 ca dịch có thể xảy ra, một ca có thể mang lại bản rõ ban đầu có tần số phải rất giống với
tần số của tiếng Anh. Do đó, chúng tơi có thể so sánh tần suất của mỗi sự thay đổi với tần số
của tiếng Anh và sự dịch chuyển tạo ra một tần số gần nhất với tần số tiếng Anh có thể là sự
thay đổi chính xác. Nhưng, ý nghĩa của "gần nhất" là gì? May mắn thay, trong thống kê có
các phương pháp để đo lường mức độ phù hợp, một trong số đó là phương pháp χ 2 . Cho
một tập hợp các giá trị quan sát f 1 , f2 , ..., f n và tập hợp các giá trị đã biết / dự kiến tương
ứng F 1 , F 2 , ..., F n , χ 2 được tính như sau:

Trong trường hợp của chúng tơi, Flà các giá trị trong bảng tần
số tiếng Anh , đã biết, và flà tần số thu được từ một sự thay
đổi. Sự dịch chuyển của một coset tạo ra giá trị χ 2 nhỏ nhất là sự dịch chuyển của một
coset có tần số gần giống với tần số của ngôn ngữ tiếng Anh. Tuy nhiên, sự dịch chuyển
tương ứng với χ 2 nhỏ nhất có thể khơng phải lúc nào cũng là lựa chọn chính xác. Nói
chung, chúng ta phải kiểm tra một số dịch chuyển tương ứng với một số giá trị χ 2 nhỏ .
Hãy xem xét coset thứ hai WWBQCUOBSW đã thảo luận trước đó. Số đếm, tần số f i và
tần số F i được hiển thị bên dưới. Χ 2 được tính là 17,0130.

Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE


Nếu coset WWBQCUOBSW dịch sang trái một vị trí, ta có VVAPBTNARV và bảng
sau. Χ 2 được tính là 10,8557.

Bảng sau đây cho thấy 26 χ 2 giá trị của mỗi coset với giá trị nhỏ nhất được in đậm. Χ 2 nhỏ
nhất của coset 1 là 1,9532 tương ứng với chữ B ( tức là dịch sang trái một vị trí). Χ 2 nhỏ
nhất của coset 2 là 2,1695 tương ứng với chữ O ( tức là dịch sang trái 14 vị trí). Χ 2 nhỏ
nhất của coset 3 là 2,3933 tương ứng với chữ Y ( tức là dịch sang trái 24 vị trí). Nói cách
khác, vũ trụ thứ nhất, thứ hai và thứ ba được mã hóa bởi B , O vàY , tương ứng. Do đó,
chúng tơi may mắn và tìm được từ khóa BOY chính xác.

Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE
Gỉa sử tiếp tục mã hóa
TECHNOLOGICAL
khóa khơng xác định có

MICHIGAN
UNIVERSITY với từ
độ dài 4:

YITZU GRFFE
EIKUT P

TZZOC GSITS XUEAH

Giá trị χ 2 của tất cả các
coset được hiển thị

tiết kiệm không gian,
bốn giá trị χ 2 nhỏ

dịch chuyển đối với mỗi
trong bảng dưới đây. Để
bảng này chỉ hiển thị
nhất của mỗi coset.

Bản mã số Kí tự Coset 1 χ 2 Coset 2 χ 2 Coset 3 χ 2 Coset 4 χ 2
0

A

2.2259

2.2292

1

B

2.9978

2

C

5.6245

5


F

6

G

12

M

14

O

15

P

1.9889

17

R

5.9857

18

S


4.6828

20

U

2.3036

25

Z

3,6112

4.1750
5.2742
3.9131

3.4856
4.3258

2.0008

3.6293

Giá trị χ 2 nhỏ nhất gợi ý từ khóa là UAPS và kết quả được giải mã
là EIEHAGCNLEEHFONOYIEADUPINETSATA . Điều này chắc chắn khơng chính
xác. Nếu chúng ta căn chỉnh bản rõ, bản mã và văn bản được giải mã với nhau như sau,
chúng ta sẽ có thể thấy được vấn đề.

MICHIGAN TECHNOLOGICAL UNIVERSITY
YITZUGRF FETZZOCGSITSX UEAHEIKUTP
EIEHAGCN LEEHFONOYIEAD UPINETSATA
Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE
Rõ ràng là sự dịch chuyển thứ hai tương ứng với A và dịch chuyển thứ tư tương ứng
với S là đúng, vì các chữ cái ở các vị trí tương ứng của bản rõ và bản mã giống hệt
nhau. Tuy nhiên, dịch chuyển đầu tiên U và dịch chuyển thứ ba P thì khơng. Do đó, từ khóa
khơng xác định trơng giống như sau:
F

A

M

C
A

S

S

P

U

R


Sau đây có tất cả 16 kết hợp có thể có:
FAAS MAAS SAAS UAAS
FACS MACS SACS UACS
FAPS MAPS SAPS UAPS
FARS MARS SARS UARS
Phần sau cho thấy sự giải mã với từng trong số 16 từ khóa có thể có:
FAAS

TITHPGRN
AETHUOCONITAS
UEICEISPTP

FACS

TIRHPGPN AERHUOAONIRAS
UCICEGSPTN

FAPS

TIEHPGCN
AEEHUONONIEAS
UPICETSPTA

FARS

TICHPGAN AECHUOLONICAS
UNICERSPTY

MITHIGRN
MAAS TETHNOCOGITAL

UEIVEISITP

MIRHIGPN
MACS TERHNOAOGIRAL
UCIVEGSITN

MIEHIGCN
MAPS TEEHNONOGIEAL
UPIVETSITA

MICHIGAN
SARS TECHNOLOGICAL
UNIVERSITY

SAAS

GITHCGRN
NETHHOCOAITAF
UEIPEISCTP

GIRHCGPN
SACS NERHHOAOAIRAF
UCIPEGSCTN

SAPS

GIEHCGCN
NEEHHONOAIEAF
UPIPETSCTA


EICHAGAN
SARS LECHFOLOYICAD
UNINERSATY

UAAS EITHAGRN

UACS EIRHAGPN
Hà Nội, ngày 8 tháng 12 năm 2020


Tìm hiểu về hệ mã hóa VIGENERE
LETHFOCOYITAD
UEINEISATP

LERHFOAOYIRAD
UCINEGSATN

EIEHAGCN
UAPS LEEHFONOYIEAD
UPINETSATA

EICHAGAN
UARS LECHFOLOYICAD
UNINERSATY

Do đó, từ khóa chính xác là MARS . So với 26 4 = 456,976, 16 nhỏ hơn đáng kể và có thể
sử dụng brute force để khơi phục từ khóa và bản rõ. Lưu ý rằng tỷ lệ thành công cao hơn
nhiều nếu bản mã dài và từ khóa tương đối ngắn.
7.2. Phân tích tần số:
Một số mật mã ban đầu chỉ sử dụng từ khóa một chữ cái. Đây được gọi là mật mã thay thế

đơn giản hoặc mật mã đơn chữ cái . Nói chung, với hai hằng số nguyên a và b , một ký tự
bản rõ x được mã hóa thành một ký tự bản mã ( ax + b ) mod 26 . Nếu a bằng 1, đây là mật
mã của Caesar. Trên thực tế, nếu chúng ta chọn một từ khóa có độ dài 1 trong mật mã
Vigenère, nó sẽ trở thành mật mã Caesar. Do đó, các thuật tốn mã hóa và giải mã được
thảo luận trong bản chất đại số có tất cả các thành phần để mã hóa và giải mã. Các phương
pháp X2 này là một cách hiệu quả để giải mã một bản mã được mã hóa bằng một phương
pháp thay thế đơn giản, vì chỉ có một ký tự trong từ khóa và do đó chỉ có một coset. Do đó,
chúng tơi chỉ chọn độ dài từ khóa là 1 và sử dụngphương phápχ 2 để tìm từ khóa phù hợp
nhất.
Phương pháp χ 2 là một phương pháp đo mức độ phù hợp hoạt động trên hai chuỗi giá
trị. Trong trường hợp của chúng ta, hai chuỗi giá trị là: tần số chữ cái tiếng Anh và tần số
chữ cái của một sự dịch chuyển cụ thể của coset duy nhất. Sự dịch chuyển của một coset tạo
ra χ 2 nhỏ nhất có thể được mã hóa bằng ký tự tương ứng của sự dịch chuyển đó. Do đó,
dịch coset 26 lần và tìm chữ cái có giá trị χ 2 nhỏ nhất sẽ tìm được từ khóa một chữ cái.
Hãy xem xét bản mã sau được mã hóa bằng mật mã của Caesar:
YKBXG WLKHF TGLVH NGMKR FXGEX GWFXR HNKXT KLBVH FXMHU NKRVT
XLTKG HMMHI KTBLX ABFMA XXOBE MATMF XGWHE BOXLT YMXKM AXFMA
XZHHW BLHYM BGMXK KXWPB MAMAX BKUHG XLLHE XMBMU XPBMA VTXLT
KMAXG HUEXU KNMNL ATMAM HEWRH NVTXL TKPTL TFUBM BHNLB YBMPX
KXLHB MPTLT ZKBXO HNLYT NEMTG WZKBX OHNLE RATMA VTXLT KTGLP
XKWBM AXKXN GWXKE XTOXH YUKNM NLTGW MAXKX LMYHK UKNMN
LBLTG
AHGHN KTUEX FTGLH TKXMA XRTEE TEEAH GHNKT UEXFX GVHFX BMHLI
XTDBG VTXLT KLYNG XKTE

Bảng sau có giá trị χ 2 của mỗi ca. Kể từ khi χ 2 giá trị tương ứng với chữ cái T là nhỏ nhất,
bản mã trên là rất có khả năng mã hóa bởi T .

A


B

C

D

E

F

G

H

I

J

K

L

M

Hà Nội, ngày 8 tháng 12 năm 2020


×