Professional Documents
Culture Documents
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
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
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.
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
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.
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.
Key là “MINH”
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.
Ư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:
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.
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.
Ư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.
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.
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.
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.
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.
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.
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
Trang 18
3.2.2. Mã hóa Vigenère
Trang 19
3.2.3. Mã hóa Playfair
Trang 20
CHƯƠNG 4. KẾT LUẬN
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