Xem xét cách mà thuật toán này có thể được áp dụng để bảo vệ thông tin trong các tình huống khác nhau.Kết quả thực hiện: Thấy rõ được các ứng dụng thực tế của Cæsar cipher trong lịch sử
PHẦN LÝ THUYẾT
Khỏm phỏ cỏc ứng dụng thực tế của Cổsar cipher trong lịch sử và hiện tại
Bảo mật thông tin trong quân sự: Julius Caesar được cho là đã sử dụng phương pháp này để mã hóa các thông điệp trong quân sự và đảm bảo rằng chỉ những người được biết mã mới có thể đọc được nội dung.
Ghi chép bí mật: Caesar cipher cũng được sử dụng trong ghi chép và tài liệu bí mật Nó giúp đảm bảo rằng thông tin quan trọng chỉ có thể được hiểu bởi những người có kiến thức về cách giải mã.
Giáo dục và học tập: Caesar cipher vẫn được sử dụng trong giáo dục để giới thiệu các khái niệm cơ bản về mã hóa và giải mã Nó giúp học sinh hiểu cơ chế đơn giản của mã hóa thay vì sử dụng các phương pháp phức tạp hơn.
Trò chơi và giải đố: Caesar cipher được sử dụng trong các trò chơi và giải đố trí tuệ Người chơi phải giải mã các thông điệp ẩn được mã hóa bằng phương pháp này để hoàn thành nhiệm vụ.
Biểu tượng văn hóa: Caesar cipher đã trở thành biểu tượng văn hóa và xuất hiện trong nhiều tác phẩm nghệ thuật, phim ảnh, và tiểu thuyết.
Nó thể hiện sự gắn kết với quá khứ và đôi khi được sử dụng như một yếu tố thú vị trong việc giới thiệu câu đố cho người xem/đọc giải mã.
1.2 Xem xét cách mF thuật toán nFy có thể được áp dụng để bảo vệ thông tin trong các tình huống khác nhau
Trong các tình huống thực tế:
Mục đích giáo dục và tập trung trẻ em vào tư duy logic: Caesar cipher có thể được sử dụng trong giáo dục như một công cụ giảng dạy để giới thiệu các khái niệm cơ bản về mã hóa và giải mã Điều này giúp trẻ em phát triển tư duy logic và kỹ năng tư duy thông qua việc giải các câu đố giải mã.
Tin nhắn giữa bạn bè, gia đình: Nếu bạn muốn tạo một thông điệp thú vị hoặc một trò chơi giải mã đơn giản trong các cuộc trò chuyện cá nhân với bạn bè hoặc gia đình, bạn có thể sử dụng Caesar cipher Tuy nhiên, hãy nhớ rằng thông tin mã hóa bằng Caesar cipher không được coi là an toàn và không nên được sử dụng để truyền các thông tin nhạy cảm.
Giải đố và trò chơi: Caesar cipher có thể được sử dụng trong các trò chơi giải đố, game trí tuệ và ứng dụng giải trí Người chơi phải giải mã các thông điệp được mã hóa bằng phương pháp này để tiến triển trong trò chơi.
Tạo tính năng giấu thông tin trong ứng dụng: Trong một số ứng dụng hoặc trò chơi, Caesar cipher có thể được sử dụng để tạo tính năng giấu thông tin hoặc gợi ý cho người dùng Điều này có thể thêm tính thú vị và tạo điểm nhấn độc đáo trong sản phẩm.
*Lưu ý: Caesar cipher là một phương pháp mã hóa đơn giản, và trong thời đại hiện đại, nó không được sử dụng để bảo vệ thông tin quan trọng vì tính chất dễ dàng bị giải mã (brute force attack).
Xem xét cách mà thuật toán này có thể được áp dụng để bảo vệ thông tin
Bao gồm: sơ đồ thiết kế use case tổng quan của hệ thống, sơ đồ use case các tính năng của hệ thống,sơ đồ tuần tự các tính năng của hệ thống và mã nguồn của chương trình mã hoá 1 chuỗi text bằng thuật toán Caesar Cipher.
2.1 Sơ đồ thiết kế demo
2.1.1 Sơ đồ use case tổng quan của hệ thống
Hình 2.1: Sơ đồ use case tổng quan của hệ thống
THIẾT KẾ DEMO
Sơ đồ thiết kế demo
2.1.1 Sơ đồ use case tổng quan của hệ thống
Hình 2.1: Sơ đồ use case tổng quan của hệ thống
2.1.2 Các use case hệ thống
SCENARIO Tại trang chủ của hệ thống mã hoá Caesar.
Lấy chuỗi Input và số Shift, sau đó mã hoá chuỗi Input và xuất ra chuỗi Output.
Người sử dụng để mã hoá chuỗi họ nhập vào.
PRECONDITION Phải nhập chuỗi Input và số Shift.
1 Điền chuỗi Input và số Shift.
1.1 Hệ thống hiển thị ô Input và Shift để người dùng điền và hiện kết quả khi người dùng hoàn thành việc điền thông tin.
2 Người dùng click vào nút Encrypt.
2.1 Hệ thống sẽ lưu chuỗi Input và số Shift vào 2 biến tương ứng.
2.2 Hệ thống sẽ gọi đến hàm caesarCipher() để thực hiện mã hoá chuỗi Input. 2.3 Xuất ra màn hình chuỗi Output sau khi được mã hoá.
Bảng 2.1 Đặc tả use case Encrypt
SCENARIO Tại trang chủ của hệ thống mã hoá Caesar.
Lấy chuỗi Input và số Shift, sau đó mã hoá chuỗi Input và xuất ra chuỗi Output.
Người sử dụng để giải mã chuỗi họ nhập vào.
PRECONDITION Phải nhập chuỗi Input và số Shift.
1 Điền chuỗi Input và số Shift.
1.1 Hệ thống hiển thị ô Input và Shift để người dùng điền và hiện kết quả khi người dùng hoàn thành việc điền thông tin.
2 Người dùng click vào nút Decrypt.
2.1 Hệ thống sẽ lưu chuỗi Input và số Shift vào 2 biến tương ứng.
2.2 Hệ thống sẽ gọi đến hàm decryptCaesarCipher() để thực hiện giải mã chuỗi Input.
2.3 Xuất ra màn hình chuỗi Output sau khi được giải mã.
Bảng 2.2 Đặc tả use case Decrypt
2.1.3 Sơ đồ tuần tự (Sequence diagram)
Hình 2.4 Sơ đồ tuần tự của use case Encrypt
Hình 2.5 Sơ đồ tuần tự của use case Decrypt
Source code demo
Dưới đây là phần source code của chương trình demo mã hoá 1 chuỗi text được nhập vào bằng thuật toán Caesar Cipher, đây là 1 ứng dụng web được viết bằng ngôn ngữ HTML, CSS (Bootsrap 5) và JavaScript.
Source code có sự hỗ trợ của các thư viện sau:
Bootsrap 5.0.2 được nhúng online từ CDN của Jsdelivr.
Ngoài ra còn có một vài tài nguyên bổ trợ chứa trong thư mục Assets:
Logo favicon của trang web.
Script hackerText.js được viết bằng JavaSript để thực hiện hiệu ứng ở tiêu đề trang web.
Hình 2.6 Thẻ head của chương trình bao gồm các thư viện bổ trợ và thẻ liên quan
Hình 2.7 Thẻ body của chương trình chứa phần front-end
Các phương thức có trong source code: o Phương thức caesarCipher(): được sử dụng để mã hoá chuỗi (string) nhập vào ở ô Input, phương thức này sẽ duyệt qua từng kí tự c có trong chuỗi được đổi qua mã ASCII, sau đó dịch chuyển n bước nhảy (số bước nhảy này được lấy từ ô Shift) theo công thức:
Nếu kí tự nhập vào là chữ cái alphabet sẽ được dịch chuyển, còn kí tự nào không phải là chữ cái alphabet thì sẽ được giữ nguyên. o Phương thức decryptCaesarCipher(): được sử dụng để giải mã chuỗi (string) nhập vào ở ô Input, phương thức này sẽ duyệt qua từng kí tự c có trong chuỗi được đổi qua mã ASCII, sau đó dịch chuyển n bước nhảy (số bước nhảy này được lấy từ ô Shift) theo công thức:
Nếu kí tự nhập vào là chữ cái alphabet sẽ được dịch chuyển, còn kí tự nào không phải là chữ cái alphabet thì sẽ được giữ nguyên.
Hình 2.8 Thẻ body của chương trình chứa 2 phương thức caesarCipher() và decryptCaesarCipher() để thực thi các tính năng của chương trình
Hình 2.9 Phần Script để tạo hiệu ứng Texting ở tiêu đề của trang web
CHƯƠNG TRÌNH DEMO
Hướng dẫn sử dụng chương trình
3.1.1 Để mã hoá (Encrypt) chuỗi được nhập
1 Nhập chuỗi ban đầu vào ô Input.
2 Chọn số Shift mà bạn muốn dịch chuyển, ở đây để mặc định là 3.
4 Chuỗi được mã hoá sẽ xuất hiện ở ô Output.
Hình 3.1 Cách mã hoá chuỗi
3.1.2 Để giải mã (Decrypt) chuỗi bị mã hoá
1 Nhập chuỗi bị mã hoá vào ô Input.
2 Chọn số Shift mà bạn muốn dịch chuyển, ở đây để mặc định là 3.
4 Chuỗi được giải mã sẽ xuất hiện ở ô Output.
Hình 3.2 Cách giải mã chuỗi
Kết quả của chương trình demo
3.2.1 Tính năng mã hoá (Encrypt)
Ta sẽ nhập lần lượt các thông số như Hình 3.3
Input: A Caesar cipher is a simple and ancient method of encrypting text by shifting each letter of the alphabet by a certain number of positions For example, if the shift is 3, then A becomes D, B becomes E, C becomes F, and so on The Caesar cipher is also known as the shift cipher or the substitution cipher It is one of the easiest types of ciphers to break, since there are only
26 possible keys to try However, it can still be used for fun or educational purposes You can use the web page in your browser to encrypt or decrypt any message using the Caesar cipher Just enter your input, choose a shift value, and click on the button You will see the output below.
Hình 3.3 Kết quả demo tính năng mã hoá (Encrypt) 1 đoạn văn
3.2.1 Tính năng giải mã (Decrypt)
Ta sẽ nhập lần lượt các thông số như Hình 3.4
Input: D Fdhvdu flskhu lv d vlpsoh dqg dqflhqw phwkrg ri hqfubswlqj whaw eb vkliwlqj hdfk ohwwhu ri wkh doskdehw eb d fhuwdlq qxpehu ri srvlwlrqv Iru hadpsoh, li wkh vkliw lv 3, wkhq D ehfrphv G, E ehfrphv H, F ehfrphv I, dqg vr rq Wkh Fdhvdu flskhu lv dovr nqrzq dv wkh vkliw flskhu ru wkh vxevwlwxwlrq flskhu Lw lv rqh ri wkh hdvlhvw wbshv ri flskhuv wr euhdn, vlqfh wkhuh duh rqob 26 srvvleoh nhbv wr wub Krzhyhu, lw fdq vwloo eh xvhg iru ixq ru hgxfdwlrqdo sxusrvhv Brx fdq xvh wkh zhe sdjh lq brxu eurzvhu wr hqfubsw ru ghfubsw dqb phvvdjh xvlqj wkh Fdhvdu flskhu Mxvw hqwhu brxu lqsxw, fkrrvh d vkliw ydoxh, dqg folfn rq wkh exwwrq Brx zloo vhh wkh rxwsxw ehorz.
Hình 3.4 Kết quả demo tính năng giải mã (Decrypt) 1 đoạn văn