You are on page 1of 28

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VĨNH LONG

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO
Đề tài: MÃ HÓA CỔ ĐIỂN
Môn học : AN TOÀN VÀ AN NINH THÔNG TIN

Giảng viên hướng dẫn: TS. Trần Thái Bảo


Sinh viên thực hiện: Nhóm 1
Nguyễn Văn Đức An MSSV: 19004002
Nguyễn Thị Thảo Vy MSSV: 20004259
Nguyễn Văn Trường Giang MSSV: 20004039
Lớp: ĐH.CNTT 2020 - A2, ĐH.CNTT 2019 - A1
Khóa: 2020-2024

Vĩnh Long, năm 2023


NHẬN XÉT VÀ ĐÁNH GIÁ CỦA NGƯỜI HƯỚNG DẪN

Ý thức thực hiện: ............................................................................................


.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
Nội dung thực hiện: ........................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
Hình thức trình bày: ........................................................................................
.........................................................................................................................
.........................................................................................................................
Tổng hợp kết quả:
- Tổ chức báo cáo trước hội đồng
- Tổ chức chấm thuyết minh

Vĩnh Long, ngày 09 tháng 06 năm 2023

Người hướng dẫn


(Ký và ghi rõ họ tên)
LỜI NÓI ĐẦU
Trong mật mã học, mật mã học cổ điển là một dạng của mật mã học đã
được sử dụng trong lịch sử phát triển của loài người. Mã hóa học cổ điển hoạt
động trên cơ sở bảng chữ cái và chúng được thực hiện bằng tay hay một số máy
móc cơ khí đơn giản. Ngược lại, các mô hình mã hóa hiện đại sử dụng các máy
tính hay công nghệ số hóa khác và hoạt động mã hóa dựa trên việc thay thế các
bit hay byte. Mã hóa dữ liệu là việc làm quan trọng trong nhiều lĩnh vực đời sống,
những lợi ích mã hóa đem lại: Đảm bảo tính riêng tư, bảo vệ dữ liệu, hỗ trợ xác thực,..
Mã hóa cổ điển đã được thêm vào trong môn học An toàn và An ninh
thông tin thuộc khoa Công Nghệ Thông Tin của trường Đại Học SPKT Vĩnh
Long. Đấy là kiến thức cơ bản, giúp cho sinh viên có được kiến thức nền tảng
để học chuyên sâu hơn vào lĩnh vực an toàn và an ninh thông tin.
Vì thế, nhóm chúng em xin lấy đề tài Mã hóa cổ điển làm đề tài nghiên
cứu, tìm hiểu thêm về giải thuật cũng như các ngôn ngữ lập trình, xây dựng nên
giao diện mã hóa cổ điển.
LỜI CẢM ƠN

Trước hết, nhóm chúng em xin cảm ơn đến giảng viên hướng dẫn là thầy
Trần Thái Bảo giảng viên hướng dẫn môn An toàn và an ninh thông tin. Trong
quá trình học tập trên lớp thầy đã tận tình giảng dạy, củng cố lại kiến thức
chuyên ngành cho chúng em.Tạo điều kiện cho chúng em được thực hành và
ứng dụng môn học trong nhiều công việc.
Tuy bài báo cáo của nhóm chúng em còn thiếu sót , trong quá trình báo
cáo mong thầy tận tình đóng góp ý kiến để nhóm chúng em cải thiện bài báo
cáo, cũng như kiến thức của mình.
Nhóm em sẽ cố gắng hoàn thiện bài báo cáo tốt hơn, luôn tích cực trong
quá trình xây dựng bài, rút kinh nghiệm cho những học phần chuyên ngành sau.
Chúng em xin chân thành cảm ơn !
MỤC LỤC

CHƯƠNG 1.TỔNG QUAN VỀ MÃ HÓA CỔ ĐIỂN........................Trang 1


1.1. TÌM HIỂU VỀ MÃ HÓA CỔ ĐIỂN.................................................Trang 1
1.1.1. Khái niệm................................................................................Trang 1
1.1.2. Kết luận...................................................................................Trang 1
1.2. CÁC PHƯƠNG PHÁP MÃ HÓA CỔ ĐIỂN....................................Trang 2
1.2.1.Mã hóa Caesar.........................................................................Trang 2
1.2.2.Mã hóa Vigenère......................................................................Trang 3
1.2.3.Mã hóa Playfair........................................................................Trang 6
1.3. MỤC TIÊU CỦA MÃ HÓA CỔ ĐIỂN.............................................Trang 7
1.4. CHỨC NĂNG CỦA MÃ HÓA CỔ ĐIỂN........................................Trang 7
1.5. TÍNH ỨNG DỤNG............................................................................Trang 8
1.6. MỘT VÀI VÍ DỤ VỀ MÃ HÓA.......................................................Trang 9
CHƯƠNG 2. PHÂN TÍCH HỆ THỐNG...........................................Trang 10
2.1. MÔ TẢ HỆ THỐNG.......................................................................Trang 10
2.2. PHƯƠNG PHÁP NGHIÊN CỨU...................................................Trang 11
2.3. PHẠM VI NGHIÊN CỨU...............................................................Trang 11
CHƯƠNG 3. MÔ HÌNH TRIỂN KHAI ............................................Trang 12
3.1.NGÔN NGỮ LẬP TRÌNH...............................................................Trang 12
3.2. GIAO DIỆN MÃ HÓA CỔ ĐIỂN...................................................Trang 12
3.2.1.Mã hóa Caesar.......................................................................Trang 13
3.2.2.Mã hóa Vigenère....................................................................Trang 14
3.2.3.Mã hóa Playfair......................................................................Trang 15
CHƯƠNG 4. KẾT LUẬN...................................................................Trang 16
4.1. ƯU, NHƯỢT ĐIỂM...........................................................Trang 16
4.2. HƯỚNG PHÁT TRIỂN.......................................................Trang 16
TÀI LIỆU THAM KHẢO...................................................................Trang 17
CHƯƠNG 1. TỔNG QUAN VỀ MÃ HÓA CỔ ĐIỂN
1.1. Tìm hiểu về mã hóa cổ điển
1.1.1. Khái niệm
Mã hóa thông tin là quá trình biến đổi một đoạn thông tin thành một đoạn
mã khác sao cho chỉ có người được cấp quyền mới có thể đọc được thông tin
đó. Trong những năm đầu của việc truyền thông tin, mã hóa cổ điển là một
trong những phương pháp được sử dụng rộng rãi. Phương pháp này thường sử
dụng các phép toán đơn giản như thay thế, hoán vị, dịch chuyển, phân rã và kết
hợp các kỹ thuật mã hóa khác nhau để tạo ra một đoạn mã.
Mã hóa cổ điển là phương pháp mã hóa thông tin được sử dụng từ rất lâu
trước đây. Mục tiêu chức năng của nó là bảo vệ thông tin bằng cách biến đổi nó
thành một đoạn mã không thể đọc được trực tiếp bởi những người không được
cấp quyền. Mã hóa cổ điển thường được sử dụng để bảo vệ thông tin quan trọng
như tin tức quân sự, thông tin tài chính, thông tin bí mật của chính phủ và doanh
nghiệp.
Tuy nhiên, mã hóa cổ điển không đảm bảo tính bảo mật cao vì nó dễ bị
giải mã bằng các kỹ thuật tấn công được phát triển trong thời gian qua. Trong
khi mã hóa cổ điển vẫn được sử dụng trong nhiều ứng dụng, những phương
pháp mã hóa hiện đại hơn như RSA và AES đã được phát triển để đáp ứng nhu
cầu bảo mật cao hơn trong các hệ thống thông tin hiện đại.
1.1.2 Một số khái niệm cơ bản

 Thông điệp(message): là một loại thực thể vật lý mang thông tin
cần trao đổi. Có thể là thư, văn bản, email, imgages, video,..

Trang 1
 Thông điệp gốc,bản rõ(Plain text, message): là thông điệp, dữ liệu
gốc ban đầu được tạo ta bởi chủ sỡ hữu, những người tiếp cận thông
điệp điều có thể hiểu được nội dung.
 Thông điệp mã, bản mã(Cipher text, message): là thông điệp, dữ
liệu đã được biến đổi theo một quy tắc nào đó thành dạng khác mà
chỉ những người biết quy tắc biến đổi ngược mới biết được nội
dung.

1.1.3. Kết luận


Mã hóa cổ điển là một phương pháp mã hóa thông tin cổ điển được sử dụng
rộng rãi trong quá khứ. Tuy nhiên, với sự phát triển của công nghệ, các phương
pháp mã hóa hiện đại hơn đã được phát triển để đáp ứng nhu cầu bảo mật cao
hơn của các hệ thống thông tin hiện đại. Mã hóa cổ điển vẫn là một phương pháp
quan trọng trong lịch sử của việc bảo vệ thông tin và vẫn được sử dụng trong
một số ứng dụng.

1.2. Các phương pháp mã hóa cổ điển


1.2.1. Mã hóa Caesar

Julius Caesar

Trang 2
Julius Caesar là người đã sử dụng dạng mã hóa này với phép dịch chuyển 3
vị trí để bảo vệ các thông điệp có ý nghĩa quân sự.
Mật mã Caesar (hay còn được gọi là Mật mã của Caesar, Mật mã chuyển vị, Mã
của Caesar hay Chuyển vị Caesar) là một trong những kỹ thuật mã hóa đơn giản và
phổ biến nhất. Đây là một dạng mật mã thay thế, trong đó mỗi ký tự trên văn bản
thô sẽ được thay bằng một ký tự khác, có vị trí cách nó một khoảng xác định
trong bảng chữ cái

Mã hóa Caesar được sử dụng từ thời La Mã cổ đại, khoảng thế kỷ 1 TCN.


Bước mã hóa được thực hiện trong mật mã Caesar thường được kết hợp như một phần
của các dạng mã hóa phức tạp hơn, chẳng hạn như mật mã Vigenère, hiện nay vẫn
được áp dụng cho mã hóa ROT13. Cũng giống như tất cả các dạng mật mã thay thế
một bảng chữ cái khác, mật mã Caesar rất dễ bị phá giải và về cơ bản không đáp ứng
đủ khả năng bảo mật thông tin liên lạc trong cuộc sống hiện đại.

Mã hóa Caesar mã hóa bằng cách thay thế ký tự

Phương pháp mã hóa Caesar được biểu diễn như sau:


Sơ đồ hệ mật mã: S = (P,C,K,E,D)
Trong đó P=C=K=Z26 , với mỗi khóa k thuộc K hàm mã hóa một ký tự x i
thuộc P và hàm giải mã ký tự yi thuộc C xác định theo công thức:
Mã hóa: yi = eK(xi) = (xi + k) (mod n ) (n=26)
Giải mã: xi = dK(yi) =( yi - k) (mod n) (n=26)
1.2.1.1 Độ an toàn và cách thức tấn công

Trang 3
 Độ an toàn: Mã hóa Caesar không cung cấp mức độ an
toàn cao. Vì bảng chữ cái trong tiếng Anh chỉ có 26 ký tự,
do đó chỉ có 26 khóa khả thi để thử, và mọi khóa đều có
thể thử trong thời gian ngắn. Do đó, mã hóa Caesar dễ
dàng bị tấn công bằng phương pháp tấn công vét cạn hoặc
tấn công thông qua phân tích tần suất.
 Cách thức tấn công: Các phương pháp tấn công phổ biến
đối với mã hóa Caesar là tấn công vét cạn và tấn công
phân tích tần suất. Trong tấn công vét cạn, tất cả các khóa
có thể có sẽ được thử một cách tuần tự cho đến khi tìm ra
khóa đúng. Trong tấn công phân tích tần suất, phân tích
thống kê được sử dụng để xác định mẫu tần suất của các
ký tự và từ trong văn bản mã hóa, từ đó giúp xác định
khóa và giải mã văn bản.
1.2.1.2. Ưu điểm và nhược điểm
 Ưu điểm:
Đơn giản và dễ hiểu: Mã hóa Caesar có cách hoạt động
rất đơn giản, chỉ đòi hỏi việc dịch chuyển ký tự theo một
vị trí cố định trong bảng chữ cái. Do đó, nó dễ hiểu và
triển khai ngay cả cho người mới bắt đầu trong lĩnh vực
mật mã học.
Tính tương đối nhanh: Vì mã hóa Caesar chỉ yêu cầu
thực hiện một phép dịch chuyển đơn giản trên mỗi ký tự,
nên quá trình mã hóa và giải mã đều nhanh chóng.
Sử dụng trong một số trường hợp đơn giản: Mã hóa
Caesar có thể hữu ích trong các trường hợp cần độ bảo mật
thấp hoặc khi cần chỉ thực hiện một quá trình mã hóa
nhanh chóng.

Trang 4
 Nhược điểm:
Độ an toàn yếu: Vì chỉ có 26 khóa khả thi để thử
(tương ứng với số lượng ký tự trong bảng chữ cái tiếng
Anh), mã hóa Caesar rất dễ bị tấn công và giải mã bằng
cách thử tất cả các khóa có thể có trong thời gian ngắn. Do
đó, nó không cung cấp độ an toàn cao trong việc bảo vệ
thông tin.
Dễ bị tấn công thông qua phân tích tần suất: Vì các ký
tự trong văn bản mã hóa bị dịch chuyển theo một vị trí cố
định, các mẫu tần suất trong văn bản mã hóa vẫn giữ
nguyên. Điều này tạo điểm khác biệt và dễ dàng bị phát
hiện bằng phân tích tần suất, cho phép tấn công và giải mã.
Không giữ được độ dài từ: Mã hóa Caesar không bảo
vệ độ dài từ ban đầu trong văn bản rõ. Mọi từ đều được
dịch chuyển cùng một khoảng cách, dẫn đến mất đi sự cân
đối và mẫu từ ban đầu.
Dễ bị tấn công bằng phương pháp vét cạn: Vì số lượng
khóa thử nghiệm nhỏ (chỉ có 26 khóa), kẻ tấn công có thể
dễ dàng thử tất cả các khóa có thể có để tìm ra khóa đúng
và giải mã thông tin.

1.2.2. Mã hóa Vigenère


Mã hóa Vigenère: Được phát minh bởi nhà mật mã học người Pháp Blaise
de Vigenère vào thế kỷ 16. Đây là một phương pháp hoán vị, sử dụng một từ
khóa để tạo ra một bảng hoán vị để mã hóa thông tin.
Trong các loại mã hóa cổ điển được giới thiệu ở bài trước: mã hóa Caesar,
mã hóa Affine, được gọi chung là mã thay thế dùng một bảng chữ
cái (monoalphabetic substitution cipher). Nghĩa là ta dùng một ánh xạ các chữ
Trang 5
cái trong bảng mã thành bản rõ và tất cả các chữ cái trong bản mã đều dùng
chung một ánh xạ.

Yếu điểm của loại mã này là bản mã sẽ giữ lại các đặc điểm mẫu từ và tần
xuất của văn bản gốc. Để loại bỏ yếu điểm trên, các nhà lập mã đã tạo ra một hệ
mã khác gọi là mã thay thế dùng nhiều bảng chữ cái (polyalphabetic substitution
cipher).

Hệ mã này được đặt theo tên của một nhà mật mã học người Pháp Blaise
de Vigenère (1523-1596). Mật mã Vigenère là một dạng đơn giản của mật mã
thay thế dùng nhiều bảng chữ cái.

Thuật toán mã hóa Vigenère: Đối với hệ mã hoá này không gian các bản
mã và bản rõ là các thông điệp được tạo thành từ một bảng chữ cái A (giống hệ
mã Caesar). Các chữ cái được đánh số từ 0 tới n−1 trong đó n là số phần tử của
bảng chữ cái.

Trang 6
Để mã hóa một bản rõ P, ta chia P thành các đoạn có độ dài m và chuyển
thứ tự tương ứng của chúng trong bảng không gian mã.
Chẳng hạn X=(x1,x2,x3,…,xm). Khi đó quá trình mã hoá và giải mã được
thực hiện như sau:

Về thực chất hệ mã hoá này là sự kết hợp mã hoá Caesar nhiều lần. Nếu
trong Caesar ta thay thế từng ký tự đơn lẻ thì trong hệ mã hoá Vigenere sẽ thay
thế từng bộ m ký tự liên tiếp. Với mỗi m ký tự, ta có số khoá có thể sử dụng
là nm, cụ thể với bảng chữ cái tiếng anh sẽ có 26m khoá có thể sử dụng.

Ví dụ: Cho chuỗi plaintext P : THUONG MAI DIEN TU”

Key là “MINH”

Bước 1: Điền keyword dưới plaintext P và lặp lại ta có:

Hàng 1: T H U O N G M A I D I E N T U

Hàng 2: M I N H M I N H M I N H M I N

Trang 7
Bước 2: Lấy một chữ cái ở hàng 2 ứng với một chữ cái ở hàng 1 và dựa vào
bảng sau để tìm ra chữ cái tương ứng

(Cột – Hàng)

 T-M => F
 H-I => P
 U-N => H
 O-H => V
 N-M => Z
 G-I => O
 M-N => Z
 A-H => H
 I-M => U
 D-I => L
 I-N => V
 E-H => L
 N-M => Z
 T-I => B
 U-N => H

Kết luận:
 Plain text: THUONG MAI DIEN TU
 Cipher text: FPHVZO ZHU LVLZ BH
1.2.2.1. Độ an toàn và cách thức tấn công
 Độ an toàn: Mã hóa Vigenère không cung cấp độ an toàn cao.
Nếu không được sử dụng đúng cách, mã Vigenère có thể bị phá
vỡ bằng các phương pháp tấn công thống kê hoặc tấn công từ
điển.
Trang 8
 Cách thức tấn công: Các phương pháp tấn công phổ biến nhất
là tấn công từ điển (dictionary attack) và tấn công vét cạn
(brute-force attack). Trong tấn công từ điển, kẻ tấn công sẽ thử
tất cả các khóa có thể có từ một từ điển đã được tạo trước để
tìm ra khóa đúng. Trong tấn công vét cạn, tất cả các khóa có thể
có sẽ được thử một cách tuần tự cho đến khi tìm ra khóa đúng.

1.2.2.2. Ưu điểm và nhược điểm

 Ưu điểm:
Độ an toàn tương đối: Mã hóa Vigenère cung cấp một mức
độ an toàn tương đối cao hơn so với các phương pháp mã hóa
đơn giản như Caesar. Với khóa có độ dài đủ dài và được chọn
ngẫu nhiên, mã Vigenère có thể khá khó bị phá vỡ.
Không tạo ra mẫu rõ ràng: Mã hóa Vigenère không dễ dàng
bị phát hiện mẫu rõ trong văn bản mã hóa. Điều này làm khó
cho việc tấn công và giải mã thông tin.
Đa dạng hóa: Mã Vigenère cho phép sử dụng khóa có độ
dài lớn hơn ký tự trong bảng chữ cái, cho phép tạo ra các khối
mã hóa phức tạp hơn và khó khăn hơn trong việc tìm ra khóa
đúng.
 Nhược điểm:

Dễ bị tấn công bằng phương pháp tấn công từ điển: Khi


khóa có độ dài ngắn và không đủ mạnh, mã hóa Vigenère dễ bị
tấn công bằng phương pháp tấn công từ điển. Kẻ tấn công có
thể thử tất cả các khóa có thể có từ một từ điển đã được tạo
trước để tìm ra khóa đúng và giải mã thông tin.

Mẫu lặp lại: Nếu một mẫu trong văn bản rõ lặp lại đủ lâu,
nó có thể được phát hiện và tấn công bằng cách sử dụng

Trang 9
phương pháp tấn công thống kê. Điều này làm giảm độ an toàn
của mã hóa Vigenère.

Độ dài khóa: Độ dài khóa của mã hóa Vigenère cần đủ dài


và ngẫu nhiên để đảm bảo độ an toàn. Nếu khóa quá ngắn, mã
hóa sẽ trở nên yếu và dễ bị tấn công.

1.2.3. Mã hóa Playfair


Mã hóa Playfair:
Đây là một phương pháp hoán vị, sử dụng một ma trận 5x5 để mã hóa
thông tin. Các ký tự trong thông tin được chia thành các cặp, và mỗi cặp được
mã hóa bằng cách tìm kiếm các ký tự trong ma trận và thực hiện các thao tác di
chuyển trên ma trận để tạo ra kết quả mã hóa.

Ví dụ ma trận với từ khóa MONARCHY


MONAR
CHYBD
E F G I/J K
LPQST
UVWXZ
• Mã hóa 2 chữ cái một lúc
– Nếu 2 chữ giống nhau, tách ra bởi 1 chữ điền thêm thường là X hoặc Q
Ví dụ: EE sẽ dược thay bởi EX
– Nếu 2 chữ nằm cùng hàng, thay bởi các chữ bên phải

Trang 10
Ví dụ: EF sẽ thay bằng FG
– Nếu 2 chữ nằm cùng cột, thay bởi các chữ bên dưới
Ví dụ: OF thay bằng HP
– Các trường hợp khác, mỗi chữ cái được thay bởi chữ cái khác cùng hàng, trên
cột chữ cái cùng cặp
Ví dụ: ET sẽ thay bằng KL
1.2.3.1. Độ an toàn và cách thức tấn công
 Độ an toàn: Mã hóa Playfair cung cấp một mức độ an toàn
tương đối tốt hơn so với Vigenère. Tuy nhiên, nó cũng có thể bị
phá vỡ nếu không được thực hiện đúng cách hoặc nếu tấn công
từ điển được áp dụng.
 Cách thức tấn công: Các phương pháp tấn công phổ biến nhất
đối với mã hóa Playfair là tấn công từ điển và tấn công phân
tích xác suất. Trong tấn công từ điển, một tập hợp các cặp từ
phổ biến được tạo trước được sử dụng để thử tất cả các khóa có
thể có. Trong tấn công phân tích xác suất, phân tích thống kê
được sử dụng để xác định các cặp chữ cái thường xuất hiện
cùng nhau trong văn bản mã hóa, từ đó giúp tìm ra khóa và giải
mã văn bản.

1.2.3.2. Ưu điểm và nhược điểm

 Ưu điểm:
Tạo ra văn bản mã hóa không có mẫu rõ ràng: Mã hóa
Playfair tạo ra các khối mã hóa không có mẫu rõ ràng, làm khó
cho việc tấn công và giải mã thông tin. Điều này đảm bảo mức
độ an toàn tương đối cao.
Độ phức tạp cao hơn: Mã hóa Playfair sử dụng một bảng
Playfair phức tạp để thực hiện mã hóa, tạo ra một quy tắc phức

Trang 11
tạp hơn so với mã hóa đơn giản như Caesar. Điều này làm khó
cho việc tấn công thông thường.
 Nhược điểm:
Phụ thuộc vào bảng Playfair: Mã hóa Playfair yêu cầu một
bảng Playfair chính xác và phức tạp để thực hiện mã hóa và
giải mã. Nếu bảng này không được tạo hoặc áp dụng đúng
cách, mã hóa có thể trở nên yếu và dễ bị tấn công.
Tấn công bằng phương pháp tấn công từ điển: Nếu khóa
không đủ dài và mạnh, mã hóa Playfair cũng dễ bị tấn công
bằng phương pháp tấn công từ điển, tương tự như mã hóa
Vigenère. Kẻ tấn công có thể thử tất cả các khóa có thể có từ
một từ điển đã được tạo trước để tìm ra khóa đúng và giải mã
thông tin.

1.3. Mục tiêu của mã hóa cổ điển


Mục tiêu của mã hóa cổ điển là bảo vệ thông tin bằng cách biến đổi thông
tin ban đầu thành một đoạn mã khó đọc được, giúp bảo mật thông tin. Khi sử
dụng mã hóa cổ điển, thông tin được mã hóa bằng cách sử dụng một số phép
toán đơn giản như hoán vị, dịch chuyển và thay thế. Mã hóa cổ điển không đảm
bảo tính bảo mật cao, nhưng vẫn được sử dụng trong nhiều ứng dụng và là một
phương pháp quan trọng trong lịch sử của việc bảo vệ thông tin.

1.4. Chức năng của mã hóa cổ điển


 Bảo mật thông tin: Mã hóa cổ điển có thể được sử dụng để bảo vệ thông
tin khỏi những người không được ủy quyền truy cập thông tin đó.
 Tránh trùng lặp: Mã hóa cổ điển có thể được sử dụng để tránh sự trùng
lặp của thông tin. Ví dụ: khi gửi nhiều bản sao của cùng một thông tin,
bạn có thể mã hóa các bản sao đó để đảm bảo rằng chúng không giống
nhau.

Trang 12
 Giảm thiểu lỗi: Mã hóa cổ điển cũng có thể được sử dụng để giảm thiểu
lỗi trong quá trình truyền thông tin. Ví dụ: nếu bạn muốn gửi một thông
tin cho người khác nhưng đường truyền mạng không ổn định, bạn có thể
mã hóa thông tin đó để giảm thiểu rủi ro của các lỗi trong quá trình
truyền.
 Giảm thiểu chi phí: Mã hóa cổ điển có thể được sử dụng để giảm thiểu
chi phí khi truyền thông tin.

1.5. Tính ứng dụng

Mã hóa cuộc gọi điện thoại: Trong một số trường hợp, mã hóa cổ điển
được sử dụng để bảo vệ cuộc gọi điện thoại khỏi việc nghe trộm và giữ cho
thông tin truyền đi được bảo mật. Điều này đặc biệt quan trọng trong các cuộc
gọi thương mại, hội nghị quan trọng hoặc trong các ngành công nghiệp nhạy
cảm.

Mã hóa dữ liệu trên thiết bị di động: Trong các thiết bị di động như điện
thoại thông minh hoặc máy tính bảng, mã hóa cổ điển được sử dụng để bảo vệ
dữ liệu cá nhân như ảnh, video, tin nhắn và tệp tin khác. Điều này giúp đảm bảo
rằng thông tin cá nhân không thể truy cập trái phép khi thiết bị bị mất hoặc đánh
cắp.

Mã hóa truyền thông mạng: Mã hóa cổ điển được sử dụng để bảo vệ thông
tin khi truyền qua mạng, bao gồm truyền thông trực tuyến, truyền file và truyền
dữ liệu qua mạng nội bộ. Điều này đảm bảo rằng dữ liệu không bị đánh cắp
hoặc thay đổi trong quá trình truyền tải.

Mã hóa tập tin và email trên đĩa CD/DVD: Khi bạn tạo sao lưu dữ liệu
quan trọng trên đĩa CD/DVD, mã hóa cổ điển có thể được sử dụng để bảo vệ tệp
tin và email trên đĩa. Điều này giúp ngăn chặn việc truy cập trái phép vào dữ
liệu khi đĩa bị mất hoặc rơi vào tay kẻ xấu.

Trang 13
Mã hóa truyền thông đám mây: Khi bạn lưu trữ và chia sẻ dữ liệu trong các
dịch vụ đám mây như Dropbox, Google Drive hoặc OneDrive, mã hóa cổ điển
có thể được sử dụng để bảo vệ dữ liệu khỏi việc truy cập trái phép từ bên thứ ba.
Điều này giúp đảm bảo an toàn và bảo mật cho dữ liệu của bạn trong quá trình
truyền và lưu trữ trên đám mây.

Như vậy, mã hóa cổ điển vẫn đóng vai trò quan trọng trong nhiều lĩnh vực
khác nhau để bảo vệ thông tin và đảm bảo an toàn cho dữ liệu.

1.6. Một vài ví dụ về mã hóa

Mã hóa email: Các dịch vụ email như Gmail, Outlook, hay Yahoo Mail sử
dụng mã hóa cổ điển để bảo vệ các thông điệp và tệp đính kèm gửi đi và nhận
về. Điều này đảm bảo rằng các thông tin cá nhân và thương mại gửi qua email
không bị đánh cắp hoặc đọc trái phép.

Mã hóa truyền thông trực tuyến: Khi bạn thực hiện giao dịch trực tuyến
trên các trang web mua sắm, ngân hàng trực tuyến hoặc các trang web có yêu
cầu thông tin nhạy cảm, mã hóa cổ điển được sử dụng để bảo vệ dữ liệu cá nhân
và tài khoản của bạn. Điều này giúp ngăn chặn kẻ tấn công từ việc truy cập trái
phép vào thông tin của bạn.

Mã hóa dữ liệu lưu trữ: Khi bạn lưu trữ dữ liệu trên ổ cứng, USB hoặc
trong đám mây, mã hóa cổ điển có thể được sử dụng để bảo vệ dữ liệu khỏi truy
cập trái phép trong trường hợp mất mát hoặc đánh cắp thiết bị lưu trữ.

Mã hóa thông tin tài chính: Khi bạn thực hiện giao dịch trực tuyến, mã hóa
cổ điển được sử dụng để bảo vệ thông tin tài chính như số thẻ tín dụng, thông
tin tài khoản ngân hàng và mã PIN. Điều này giúp đảm bảo rằng thông tin tài
chính của bạn không bị đánh cắp hoặc sử dụng trái phép.

Mã hóa thông tin y tế: Trong lĩnh vực y tế, các hệ thống quản lý thông tin
bệnh nhân (HIS) và hồ sơ y tế điện tử (EHR) sử dụng mã hóa cổ điển để bảo vệ

Trang 14
thông tin bệnh nhân. Điều này đảm bảo rằng dữ liệu nhạy cảm về sức khỏe của
bệnh nhân không bị truy cập trái phép.

CHƯƠNG 2 : PHÂN TÍCH HỆ THỐNG


2.1 Mô tả hệ thống

Với sự phát triển của Internet, việc trao đổi các thông tin, chia sẻ dữ liệu
ngày càng trở nên dễ dàng. Tuy nhiên, việc này cũng tiềm tàng nhiều nguy cơ,
rủi ro từ việc đánh cắp thông tin từ hacker. Vì vậy, các phương pháp mã hóa ra
đời đã giúp ích rất nhiều cho việc bảo mật thong tin.

Các giải thuật sẽ được viết bằng các ngôn ngữ lập trình khác nhau, tùy vào
nhu cầu của lập trình viên. Xây dựng một giao diện tích hợp các chức chuyển
đổi mã dễ sử dụng.

Các nguyên nhân sử dụng đến mã hóa :

 Riêng tư : Mã hóa đảm bảo rằng không ai có thể đọc thông tin liên lạc
hoặc dữ liệu khi nghỉ ngơi ngoại trừ người nhận dự định hoặc chủ sở
hữu dữ liệu phù hợp.
 Bảo vệ : Mã hóa tránh vi phạm dữ liệu, cho dù dữ liệu đang trong quá
trình di chuyện hoặc trạng thái nghỉ. Nếu một thiết bị của công ty bị
mất hoặc bị đánh cắp và ổ cứng của nó được mã hóa chính xác, dữ
liệu trên thiết bị đó có thể vẫn được bảo mật.
 Xác thực : Mã hóa công khai, trong số những thứ khác, thiết lập rằng
máy chủ gốc trang web sở hữu khóa riêng và do đó được cấp chứng
chỉ SSL, hợp pháp.
 Quy định : Vì tất cả những lý do này, nhiều quy định của ngành và
chính phủ yêu cầu các công ty xử lý dữ liệu người cùng phải giữ dữ
liệu đó được mã hóa.

Trang 15
2.2 Phương pháp nghiên cứu
 Nghiên cứu các lý thuyết cơ bản của mã hóa cổ điển, bao gồm các
khái niệm, thuật toán và ứng dụng.
 Sử dụng các công cụ mã hóa cổ điển để thực hành và thử nghiệm
các thuật toán mã hóa cổ điển khác nhau. Các công cụ này có thể
bao gồm các phần mềm mã hóa và giải mã, các trang web thử
nghiệm mã hóa và các bài tập lập trình.
 Tìm kiếm các nghiên cứu và bài báo khoa học liên quan đến mã
hóa cổ điển để hiểu rõ hơn về chủ đề này. Các nghiên cứu này có
thể được tìm thấy trong các cơ sở dữ liệu khoa học như IEEE
Xplore, ACM Digital Library hoặc Google Scholar.
2.3 Phạm vi nghiên cứu
 Nghiên cứu về các thuật toán mã hóa cổ điển, bao gồm các phương
pháp thay thế ký tự, phân tích tần số, mã hóa chuyển vị và mã hóa
Vigenere.
 Nghiên cứu về tính bảo mật của các thuật toán mã hóa cổ điển và
khả năng của chúng.
 Ứng dụng của mã hóa cổ điển.

Trang 16
CHƯƠNG 3. MÔ HÌNH TRIỂN KHAI
3.1. Ngôn ngữ lập trình
JavaScript là ngôn ngữ lập trình được nhà phát triển sử dụng để tạo trang web
tương tác. Từ làm mới bảng tin trên trang mạng xã hội đến hiển thị hình ảnh động và
bản đồ tương tác, các chức năng của JavaScript có thể cải thiện trải nghiệm người
dùng của trang web. Là ngôn ngữ kịch bản phía máy khách, JavaScript là một trong
những công nghệ cốt lõi của World Wide Web.
JavaScript là 1 trong 3 ngôn ngữ chính của lập trình web, và nó được dùng phổ
biến trong suốt 20 năm qua. Từ thuở sơ khai, nó còn có tên là Mocha (năm 1995), sau
đó được đổi thành Mona, Livescript, và cuối cùng là JavaScript như hiện nay.

Tính đến năm 2016, có đến 92% trang web hiện nay đang sử dụng JavaScript, và
rất có thể bạn đã dùng qua rất nhiều trang web có sử dụng ngôn ngữ lập trình này.

3.2. Giao diện mã hóa cổ điển


Giao diện chính: Ứng dụng mã hóa và giải mã. Gồm 3 tùy chọn loại mã
hóa: Caesar, Vigenère, Playfair

Trang 17
Hình 3.1. Giao diện ứng dụng mã hóa
Khi mở giao diện, ta sẽ có thể chọn một trong ba loại mã hóa: Caesar,
Vigenère và Playfair, mỗi lựa chọn sẽ dẫn đến một loại mã hóa tương ứng.
3.2.1. Mã hóa Caesar

Hình 3.2. Giao diện mã hóa Caesar


Ở đây, nhập vào văn bản chưa mã hóa là một chuỗi: “an toan thong tin”,
sau đó chọn Key, Key có giá trị từ 0 - 26 tương ứng với bảng chữ cái có 26 kí
tự. Khi nhấn nút Encrypt (Mã hóa), ta sẽ được kết là là 1 chuỗi đã được mã hóa
trong khung văn bản đã mã hóa: “er xser xlrsk xmr”. Độ dịch chuyển là 4 nên
các kí tự “a” sẽ trở thành “e”, “n” sẽ trở thành “r”, … áp dụng với các kí tự còn
lại trong chuỗi. Còn khi nhấn vào nút Decrypt (Giải mã) cùng với chuỗi đã mã
hóa, kết quả sẽ được hiển thị lên khung văn bản chưa mã hóa.

Trang 18
3.2.2. Mã hóa Vigenère

Hình 3.3. Giao diện mã hóa Vigenère


Với mã hóa Vigenère, cần nhập vào một chuỗi văn bản, sau đó chọn khóa
Key rồi đến nút Encrypt, kết quả sẽ được hiển thị ở khung Cipher Text. Cần
nhập Key có độ dài tương ứng với Plain Text, có 2 cách tạo Key là lặp lại Key
hoặc Tạo Key tự động.

Trang 19
3.2.3. Mã hóa Playfair

Hình 3.4. Mã hóa Playfair


Mã hóa Playfair bao gồm 1 ma trận 5x5 với đầu vào là mã Key, sẽ áp
dụng vào từng ô chữ trong ma trận, nếu có ký tự trùng sẽ bỏ qua không lặp lại.
Xét từ cặp kí tự trong Plain Text, nếu 2 ký tự giống nhau sẽ chèn thêm kí tự X.
Từng cặp kí tự sẽ được biến đổi theo hàng hoặc theo cột, ở hình trên ta thấy cặp
kí tự “an” thành “oh” là vì kí tự “a” và “n” không cùng hàng hay cột nên ta sẽ
xét theo định chéo của hình chữ nhật tạo thành giữa 2 kí tự, còn ở cặp kí tự “o”
và “n” sẽ được mã hóa thành “e” và “u” do xét theo chiều từ trên xuống ở cột
chứa 2 kí tự “o” và “n”.

Trang 20
CHƯƠNG 4. KẾT LUẬN

4.1. Kết Luận


4.1.1 Đạt được:
 Giao diện dễ sử dụng
 Có đủ Decrypt và Encrypt
4.1.2 Hạn chế
 Chưa có nhiều loại mã hóa
 Chưa tích họp thêm phần lưu file và đọc file
 Chưa có nhiều chức năng
4.2. Hướng phát triển
Phát triển giao diện sử dụng thêm nhiều loại mã hóa khác, thêm nhiều chức
năng hơn, thêm phần đọc file và lưu file.

Trang 21
TÀI LIỆU THAM KHẢO
- https://vi.wikipedia.org/wiki/M%E1%BA%ADt_m%C3%A3_Playfair :
Mã hóa Playfair
- https://vi.wikipedia.org/wiki/M%E1%BA%ADt_m%C3%A3_Caesar :
Mã hóa Caeser
- https://vi.wikipedia.org/wiki/M%E1%BA%ADt_m%C3%A3_Vigen
%C3%A8re : Mã hóa Vigenère
- https://vi.wikipedia.org/wiki/M%E1%BA%ADt_m%C3%A3_h
%E1%BB%8Dc_c%E1%BB%95_%C4%91i%E1%BB
%83n#:~:text=Trong%20m%E1%BA%ADt%20m%C3%A3%20h
%E1%BB%8Dc%2C%20m%E1%BA%ADt,nh%C6%B0%20d
%C3%B9ng%20m%C3%A1y%20t%C3%ADnh%20th%E1%BB%AD :
Tìm hiểu về mã hóa cổ điển

Trang 22

You might also like