1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo cuối kỳ nhập môn bảo mật thông tin ứng dụng của caesar cipher trong thực tế

31 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

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ử

Trang 1

BÁO CÁO CUỐI KỲ

NHẬP MÔN BẢO MẬT THÔNG TIN

ỨNG DỤNG CỦA CAESAR CIPHER

Trang 2

BÁO CÁO CUỐI KỲ

NHẬP MÔN BẢO MẬT THÔNG TIN

ỨNG DỤNG CỦA CAESAR CIPHER

Trang 3

LỜI CẢM ƠN

Tôi xin chân thFnh cảm ơn Thầy TS Bùi Duy Anh đã tận tình giảngdạy trong suốt quá trình hXc vF hướng dẫn em hoFn thFnh bFi báo cáonFy Nếu không có những nỗ lục hoFn thiện bFi giảng cũng như chỉ dẫnđầy tâm huyết của Thầy thì bFi báo cáo nFy khó lòng hoFn thiện được.

Nếu bFi báo cáo có những chi tiết thiếu xót không nghiêm trXng,mong Thầy thông cảm bỏ qua.

Tôi xin cám ơn.

Trang 4

BÁO CÁO ĐƯỢC HOÀN THÀNHTẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

Tôi xin cam đoan đây là sản phẩm đồ án của riêng chúng tôi và được sự hướng dẫn của Thầy TS Bùi Duy Anh Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo.

Ngoài ra, trong đồ án còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc.

Nếu phát hiện có bất kỳ sự gian lận nFo chúng tôi xin hoFn toFn chịutrách nhiệm về nội dung đồ án của mình Trường đại học Tôn Đức Thắng không

liên quan đến những vi phạm tác quyền, bản quyền do chúng tôi gây ra trong quá

Trang 5

PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN

Trang 6

TÓM TẮT NỘI DÙNG BÁO CÁO BAO GỒM

Mục đích chủ đề: 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 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ử và hiện tại Thiết kế và phát triển một ứng dụng web cho phép người dùng mã hóa và giải mã các tin nhắn bằng caesar cipher một cách dễ dàng và nhanh chóng Làm rõ được 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.

Trang 7

1.2 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 6

CHƯƠNG 2: THIẾT KẾ DEMO 7

2.1 Sơ đồ thiết kế demo 7

2.1.1 Sơ đồ use case tổng quan của hệ thống 7

2.1.2 Các use case hệ thống 8

2.1.2.1 Use case Encrypt 8

2.1.2.2 Use case Decrypt 10

2.1.3 Sơ đồ tuần tự (Sequence diagram) 12

2.1.3.1 Use case Encrypt 12

2.1.3.2 Use case Decrypt 13

2.2 Source code demo 13

CHƯƠNG 3: CHƯƠNG TRÌNH DEMO 18

3.1 Hướng dẫn sử dụng chương trình: 18

3.1.1 Để mã hoá (Encrypt) chuỗi được nhập 18

3.1.2 Để giải mã (Decrypt) chuỗi bị mã hoá 19

3.2 Kết quả của chương trình demo 19

3.2.1 Tính năng mã hoá (Encrypt) 19

Trang 8

3.2.1 Tính năng giải mã (Decrypt) 20

CHƯƠNG 4: KẾT LUẬN 22

TÀI LIỆU THAM KHẢO 23

PHỤ LỤC 24

Trang 9

DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT

CÁC KÝ HIỆU

CÁC CHỮ VIẾT TẮT

Trang 10

DANH MỤC CÁC BẢNG BIỂU, HÌNH VẼ, ĐỒ THỊ DANH MỤC HÌNH

Hình 2.1: Sơ đồ use case tổng quan của hệ thống 7

Hình 2.2 Use case Encrypt 8

Hình 2.3 Use case Decrypt 10

Hình 2.4 Sơ đồ tuần tự của use case Encrypt 12

Hình 2.5 Sơ đồ tuần tự của use case Decrypt 13

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 14 Hình 2.7 Thẻ body của chương trình chứa phần front-end 15

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 16

Hình 2.9 Phần Script để tạo hiệu ứng Texting ở tiêu đề của trang web 17

Hình 3.1 Cách mã hoá chuỗi 18

Hình 3.2 Cách giải mã chuỗi 19

Hình 3.3 Kết quả demo tính năng mã hoá (Encrypt) 1 đoạn văn 20

Hình 3.4 Kết quả demo tính năng giải mã (Decrypt) 1 đoạn văn 21

DANH MỤC BẢNG Bảng 2.1 Đặc tả use case Encrypt 9

Bảng 2.2 Đặc tả use case Decrypt 11

Trang 11

CHƯƠNG 1: PHẦN LÝ THUYẾT

Mã Caesar (Caesar cipher) là một phương pháp mã hóa đơn giản, trong đó mỗi ký tự trong văn bản gốc được thay thế bằng một ký tự khác trong bảng chữ cái một khoảng cách cố định Phương pháp này được đặt tên theo Julius Caesar, nhà lãnh đạo quân sự và chính trị La Mã thời cổ đại, người được cho là đã sử dụng phương pháp này để bảo mật các thông điệp quan trọng.

1.1 Khám phá các ứng dụng thực tế của Cæsar cipher trong lịch sử vFhiện tại

- Trong lịch sử:

 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ã.

- Hiện tại:

 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.

Trang 12

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ôngtin 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).

Trang 14

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

Trang 15

2.1.2 Các use case hệ thống

2.1.2.1 Use case Encrypt

Hình 2.2 Use case Encrypt

USE CASE NAME Encrypt.

SCENARIO Tại trang chủ của hệ thống mã hoá Caesar.

TRIGGERINGEVENT

Lấy chuỗi Input và số Shift, sau đó mã hoá chuỗi Input và xuất ra chuỗi Output.

BRIEFDESCRIPTION

Người sử dụng để mã hoá chuỗi họ nhập vào.

Trang 16

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

Trang 17

2.1.2.2 Use case Decrypt

Hình 2.3 Use case Decrypt

USE CASE NAME Decrypt.

SCENARIO Tại trang chủ của hệ thống mã hoá Caesar.

TRIGGERINGEVENT

Lấy chuỗi Input và số Shift, sau đó mã hoá chuỗi Input và xuất ra chuỗi Output.

Trang 18

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

Trang 19

2.1.3 Sơ đồ tuần tự (Sequence diagram)

2.1.3.1 Use case Encrypt

Hình 2.4 Sơ đồ tuần tự của use case Encrypt

Trang 20

2.1.3.2 Use case Decrypt

Hình 2.5 Sơ đồ tuần tự của use case Decrypt

2.2 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.

Trang 21

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

Trang 22

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:

En(x)=[(c−65+ x)mod 26]+65 (2.1) 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:

Trang 23

Dn(x)=[(c−65−x+26)mod 26]+65 (2.2) 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

Trang 24

Hình 2.9 Phần Script để tạo hiệu ứng Texting ở tiêu đề của trang web

Trang 25

CHƯƠNG 3: CHƯƠNG TRÌNH DEMO

Để minh hoạ cụ thể cho thuật toán mã hoá Caesar Cipher, dưới đây là phần demo của chương trình mã hoá 1 chuỗi text được nhập vào bằng thuật toán mã hoá Caesar Cipher, chương này bao gồm 2 phần: hướng sử dụng chương trình và kết quả demo.

3.1 Hướng dẫn sử dụng chương trình:

3.1.1 Để mã hoá (Encrypt) chuỗi được nhập

Cách thực hiện:

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 3 Ấn nút “Encrypt”

4 Chuỗi được mã hoá sẽ xuất hiện ở ô Output.

Hình 3.1 Cách mã hoá chuỗi

Trang 26

3.1.2 Để giải mã (Decrypt) chuỗi bị mã hoá

Cách thực hiện:

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 3 Ấn nút “Decrypt”

4 Chuỗi được giải mã sẽ xuất hiện ở ô Output.

Hình 3.2 Cách giải mã chuỗi

3.2 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

Trang 27

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.

 Shift: 3

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

Trang 28

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.

 Shift: 3

Hình 3.4 Kết quả demo tính năng giải mã (Decrypt) 1 đoạn văn

Trang 29

CHƯƠNG 4: KẾT LUẬN

Sau bài báo cáo nghiên cứu đề tài: ứng dụng của caesar cipher trong thực tế, đây là một dự án thú vị và hữu ích Tôi đã đạt được nhiều kết quả quan trọng như:

 Xác định các lĩnh vực và ngành nghề có thể áp dụng caesar cipher để bảo mật thông tin, ví dụ như giao tiếp quân sự, truyền thông bí mật, mã hóa tài liệu nhạy cảm,

 So sánh hiệu quả và an toàn của caesar cipher với các phương pháp mã hóa khác, như vigenere cipher, substitution cipher, transposition cipher,

 Thiết kế và phát triển một ứng dụng web cho phép người dùng mã hóa và giải mã các tin nhắn bằng caesar cipher một cách dễ dàng và nhanh chóng.

Qua nghiên cứu đề tài này, tôi đã học được nhiều bài học quý giá như:  Caesar cipher là một phương pháp mã hóa đơn giản nhưng hiệu quả, có

thể áp dụng trong nhiều trường hợp thực tế.

 Caesar cipher cũng có những hạn chế và điểm yếu, ví dụ như dễ bị phá mã nếu kẻ tấn công biết được số lượng ký tự bị dịch chuyển hoặc có được một phần của văn bản gốc.

 Caesar cipher có thể được cải tiến và kết hợp với các phương pháp mã hóa khác để tăng độ bảo mật và khó phá mã hơn.

Tôi rất tự hào và hài lòng với những gì đã làm được trong nghiên cứu đề tài này Tôi mong muốn tiếp tục nghiên cứu và phát triển caesar cipher trong tương lai.

Trang 30

TÀI LIỆU THAM KHẢO

Caesar, J (2023, August 17) Caesar Cipher Retrieved from McGill School of Computer Science :

https://www.cs.mcgill.ca/~rwest/wikispeedia/wpcd/wp/c/Caesar_cipher.htm Hahn, E (2016, December 8) Caesar Shift in JavaScript Retrieved from Github Gist:

Karleigh Moore, Satyabrata Dash, Eli Ross (2023, August 17) Caesar Cipher Retrieved from Brilliant Math & Science Wiki: https://brilliant.org/wiki/caesar-cipher/ Kumar, A (2023, May 11) Caesar Cipher in Cryptography Retrieved from

GeeksForGeeks: https://www.geeksforgeeks.org/caesar-cipher-in-cryptography/

Trang 31

PHỤ LỤC

Ngày đăng: 14/04/2024, 22:43

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w