Tổng quan
Giới thiệu mã hóa cổ điển Ceaser
Mã hóa dữ liệu là tiến trình che dấu dữ liệu thật (plaintext), nghĩa là chuyển dữ liệu thật thành dữ liệu không có ý nghĩa hoặc có ý nghĩa khác xa với dữ liệu thật. Tiến trình đó gọi là mã hóa (encrytion) Kết quả của tiến trình gọi là bản mã (ciphertext) Từ “encrytion” được tạo ra từ “cryptography” (mật mã) xuất phát từ tiếng Hi Lạp cổ xưa “Kryptos” (Che dấu) và từ “graphia” (viết) Tiến trình mã hóa dữ liệu có thế được thực hiện bằng cách hoán vị dữ liệu thật hoặc thay thế chúng bằng dữ liệu khác Tiến trình ngược với tiến trình mã hóa tức là chuyển từ bản mã thành dữ liệu ban đầu gọi là giải mã.
Mọi công việc hàng ngày của chúng ta có thể thực hiện được từ xa với sự hỗ trợ của Internet Tất cả thông tin liên quan đến công việc đều do máy vi tính quản lý và truyền đi qua hệ thống mạng Đối với thông tin bình thường thì không ai chú ý đến, nhưng đối với những thông tin mang tính chất sống còn đối với một số cá nhân hay tổ chức thì vấn đề bảo mật rất quan trọng, do đó cần phải mã hóa thông tin để gửi đi.
Mã hóa dữ liệu rất tuyệt vời, nó có thể bảo mật và ngăn chặn được những việc sau: Nghe trộm, xem lén dữ liệu, giả mạo thông tin, đánh cắp dữ liệu… Và ta có thể phân loại ra hai loại hệ mã hóa cơ bản: Hệ mã hóa đối xưng và Hệ mã hóa bất đối xứng.
Hình 1: Mã hóa Encryption Hình 2: Mã hóa Encryption
Trong mật mã học, mật mã Caesar (Xê da), còn gọi là mật mã dịch chuyển, thuộc hệ mã hóa đối xứng – do hai bên tham gia truyền dữ liệu sử dụng chung một khóa để mã hóa và giải mã, trước khi hai bên trao đổi dữ liệu thì khóa phải được chia sẻ và được dùng chung cho cả 2 bên.
Hình 2: Mật mã cổ điển Caesar
Là một trong những mật mã đơn giản và được biết đến nhiều nhất Hệ mã Caesar là một hệ mã hóa thay thế đơn âm, làm việc trên bảng chữ cái tiếng Anh 26 ký tự. Đó là một dạng của mật mã thay thế, trong đó mỗi ký tự trong văn bản được thay thế bằng một ký tự cách nó một đoạn trong bảng chữ cái để tạo thành bản mã Đồng thời nó cũng được biết tới bởi lần đầu tiên được sử dụng trong quân sự thời La Mã của vị hoàng đế J Caesar Việc mã hoá được thực hiện đơn giản là thay mỗi chữ trong bản rõ bằng chữ thứ ba tiếp theo trong bảng chữ cái vào lúc bấy giờ.
Các doanh nghiệp đã đầu tư vào hệ thống phát hiện và tường lửa bảo mật CNTT chu vi truyền thống đang tiếp tục tìm kiếm thêm thứ gì đó để bảo vệ dữ liệu của họ Giữa tin tặc bên ngoài và nhân viên nội bộ, bảo vệ dữ liệu ở tất cả các trạng thái là nhiệm vụ quá cao đối với hầu hết các giải pháp cũ Để chống lại xu hướng này, các doanh nghiệp đang xem xét việc bảo vệ dữ liệu và cụ thể là các giải pháp mã hóa dữ liệu là giải pháp triển khai tiếp theo của họ Encryption có thể là một lựa chọn tuyệt vời cho các doanh nghiệp đang chuyển một lượng lớn dữ liệu và muốn chắc chắn rằng họ có thể giữ an toàn cho bản thân khỏi bị đánh cắp dữ liệu tiềm ẩn Các vấn đề với các giải pháp mã hóa quá nặng hoặc ảnh hưởng tiêu cực đến trải nghiệm người dùng một cách tiêu cực giờ đã là quá khứ
Vi phạm dữ liệu là một vấn đề thực sự đối với các doanh nghiệp thuộc mọi quy mô, mặc dù nhiều doanh nghiệp nhỏ hơn đã lầm tưởng rằng đó là một vấn đề chủ yếu ảnh hưởng đến các thương hiệu lớn hơn Có rất nhiều lợi ích mà mã hóa có thể mang lại cho công ty của bạn, ngoài những lợi ích mà bạn có thể đã nghi ngờ Nếu bạn đang xem xét mã hóa cho doanh nghiệp của mình, bạn nên tính đến những lợi ích này trước khi đưa ra quyết định của mình. a Bảo vệ dữ liệu hoàn chỉnh
Một giải pháp mã hóa hoàn chỉnh cung cấp cho các doanh nghiệp và chủ sở hữu của họ sự an tâm vì nó bảo vệ dữ liệu ở mọi trạng thái - ở trạng thái nghỉ và khi đang chuyển Mặc dù các giải pháp bảo mật ngoại vi có thể khiến việc truy cập dữ liệu từ bên ngoài trở nên khó khăn hơn, nhưng một khi mạng bị xâm phạm, dữ liệu của bạn chỉ an toàn như mã hóa dữ liệu mà bạn sử dụng Với giải pháp mã hóa phù hợp, bạn có thể trải qua mỗi ngày khi biết rằng dữ liệu của mình an toàn và không có cách nào hợp lý mà tin tặc có thể có được trong tay dữ liệu thô Tôi sẽ không sử dụng một chương trình kiểu brute-force hơn cả đời để giải mã thành công tất cả thông tin.
Mặc dù có những phương tiện khác mà dữ liệu có thể bị truy cập, nhưng thực hiện một bước đơn giản để mã hóa sẽ giúp làm cho công việc trở nên quá khó khăn đối với những tin tặc thường quan tâm đến việc nhắm mục tiêu doanh nghiệp của bạn. b Bảo mật trên nhiều thiết bị
Hình 3: Mã hóa dữ liệu (Data Encryption)
Với việc điện thoại thông minh và các thiết bị di động khác trở nên phổ biến trong những năm gần đây, nhiều công ty đã phải vật lộn để tìm ra giải pháp giữ cho dữ liệu được lưu trữ và truyền qua các thiết bị này an toàn trước khả năng bị đánh cắp May mắn thay, phần mềm mã hóa dữ liệu sẽ cho phép bạn đảm bảo rằng tất cả dữ liệu, trên bất kỳ thiết bị nào, đều được mã hóa hoàn toàn với các biện pháp bảo vệ tương tự như bạn sẽ tìm thấy trong dữ liệu được lưu trữ trên máy tính để bàn Mã hóa dữ liệu sẽ giúp xử lý một tình huống căng thẳng, không thể tránh khỏi và giúp nó có thể kiểm soát được, đồng thời mang lại sự yên tâm Trên hết, xác thực thiết bị có thể loại bỏ nguy cơ xâm nhập từ những người dùng không mong muốn. c Di chuyển dữ liệu một cách an toàn
Một trong những khía cạnh dễ bị tấn công nhất của dữ liệu xuất hiện trong quá trình vận chuyển Mặc dù SSL / TLS là tiêu chuẩn công nghiệp cho dữ liệu đang chuyển động, nó có nhiều nhược điểm đối với bảo mật dữ liệu của bạn Một giải pháp mã hóa hiệu quả giúp đảm bảo rằng dữ liệu được bảo vệ mọi lúc, mọi nơi và chuyển động Các tệp được chia sẻ hoặc tải lên hệ thống đám mây phải đảm bảo rằng các tệp vẫn an toàn trong suốt quá trình vận chuyển. d Tính toàn vẹn được duy trì
Một trong những lo lắng mà nhiều tổ chức thuộc mọi quy mô đều chia sẻ là liệu quá trình mã hóa có ảnh hưởng đến tính toàn vẹn của dữ liệu của họ hay không.Mặc dù đánh cắp dữ liệu là một vấn đề rất phổ biến, nhưng một cách khác để tin tặc thực hiện hành vi gian lận dữ liệu là làm thay đổi dữ liệu có sẵn Mã hóa giữ cho dữ liệu của bạn an toàn không bị thay đổi và người nhận dữ liệu sẽ có thể xem liệu nó có bị giả mạo hay không Thay đổi dữ liệu là điều mà các doanh nghiệp thường bỏ qua khi họ đang tìm cách giữ an toàn cho dữ liệu của mình.
Bảo vệ dữ liệu cơ bản là hoàn toàn cần thiết cho doanh nghiệp của bạn. Đối với những người muốn thực hiện bước tiếp theo hoặc đang khôi phục sau sự cố đánh cắp dữ liệu của chính họ, mã hóa là một trong những phương pháp tốt nhất để đảm bảo rằng dữ liệu của bạn vẫn an toàn Nó cho phép bạn đạt được bảo mật hoàn toàn trên tất cả các thiết bị, gửi và nhận dữ liệu một cách an toàn và đảm bảo tính toàn vẹn tuyệt đối, bất cứ khi nào tệp được truy cập hoặc chia sẻ Nếu bạn quan tâm đến việc bảo vệ doanh nghiệp của mình khỏi tác động của việc vi phạm dữ liệu, thì phần mềm mã hóa là một khoản đầu tư tuyệt vời.
Có hai loại giải pháp mã hóa cơ bản: Giải pháp cho dữ liệu ở trạng thái nghỉ và cho dữ liệu đang chuyển.
Dữ liệu ở trạng thái nghỉ là thông tin được lưu trữ chẳng hạn như trên máy chủ hoặc trong ổ cứng máy tính Dữ liệu đang truyền có nghĩa là dữ liệu đang được truyền cho dù là email hoặc các thông điệp nội bộ từ hệ thống sang hệ thống có truyền dữ liệu xung quanh mạng của bạn hay không Các tin nhắn có thể là email,nhưng chúng cũng có thể là các tin nhắn nội bộ, từ hệ thống đến hệ thống mang dữ liệu xung quanh mạng của bạn.
Các giải pháp riêng biệt có sẵn cho dữ liệu ở trạng thái nghỉ so với dữ liệu đang chuyển Về mặt hệ thống, mỗi thứ đều có tác động riêng Đối với dữ liệu ở trạng thái nghỉ, bạn phải định cấu hình bất kỳ ứng dụng nào cần quyền truy cập vào dữ liệu được mã hóa với các phương tiện để giải mã nó Có khá nhiều giải pháp bảo mật dữ liệu cho việc này như Bitlocker (dành cho Windows) hoặc Firevault (dành cho MACos) Đối với dữ liệu đang chuyển, bạn phải sắp xếp để cả người gửi và người nhận có khả năng mã hóa / giải mã Loại mã hóa này được gọi là mã hóa đầu cuối hoặc E2EE Những yêu cầu này tạo ra gánh nặng quản trị và mọi thứ có thể nhanh chóng trở nên khá phức tạp khi bạn gửi tin nhắn được mã hóa ra bên ngoài tổ chức của mình, v.v.
Ứng dụng và mục tiêu
Hệ mã Caesar có thể được ứng dụng trong nhiều lĩnh vực khác nhau, bao gồm:
•Giao tiếp bí mật: Hệ mã Caesar có thể được sử dụng để truyền đạt thông tin bí mật giữa hai hoặc nhiều người.
•Giáo dục: Hệ mã Caesar có thể được sử dụng để dạy học sinh về các khái niệm cơ bản về mật mã học.
•Giải trí: Hệ mã Caesar có thể được sử dụng để tạo ra các trò chơi và câu đố.
Vào thế kỷ XIX, phần quảng cáo cá nhân trên các tờ báo đôi khi là nơi người ta sử dụng để trao đổi những thông điệp mã hóa, sử dụng các bộ mã đơn giản Kahn
(1967) mô tả về các trường hợp mà những cặp đôi tham gia đối đáp bí mật với nhau bằng cách dùng mật mã Caesar trên tờ The Times Ngay cả vào cuối năm
1915, mật mã Caesar vẫn được sử dụng khi quân đội Nga thay thế nó cho những dạng mật mã phức tạp hơn, vốn tỏ ra quá khó đối với họ; thế nhưng các nhà phân tích mật mã người Áo và người Đức lại rất dễ dàng phá giải các tin nhắn mã hóa của quân đội Nga.
Cấu trúc của hai đĩa quay với mật mã Caesar có thể được sử dụng trong cả việc mã hóa lẫn giải mã.
Ngày nay, chúng ta có thể tìm thấy mật mã Caesar trong các trò chơi dành cho trẻ em, chẳng hạn như vòng giải mã bí mật Thuật toán ROT13 là một mật mã Caesar với độ dịch chuyển 13, nó được sử dụng để làm xáo trộn các văn bản được tìm thấy trên Usenet và dùng để che mờ đoạn văn (như đoạn cuối của câu chuyện cười hay phần tiết lộ nội dung câu chuyện), nhưng không được dùng như một phương pháp mã hóa nghiêm túc.
Mật mã Vigenère sử dụng mật mã Caesar với độ dịch chuyển khác nhau tại mỗi vị trí trong văn bản; giá trị của mỗi khóa mã được xác định bằng một từ khóa lặp lại Nếu từ khóa có dung lượng bằng tin nhắn, được chọn ngẫu nhiên, không bị người khác biết đến và không bao giờ được sử dụng lại, thì đây là dạng mật mã một lần, được chứng minh là không thể phá giải Điều kiện trên khó tới mức gần như không bao giờ đạt được Những từ khóa ngắn hơn tin nhắn (ví dụ: "Complete Victory" được Liên Minh miền Nam sử dụng trong Nội chiến Hoa Kỳ), tạo ra một dạng mật mã tuần hoàn có thể phá giải bằng cách thực hiện phân tích tần suất với thống kê nâng cao.
Tháng 4 năm 2006, trùm Mafia Bernardo Provenzano bị bắt ở Sicilia khi đang trên đường chạy trốn, một phần vì các thông điệp bị phá giải của ông ta được viết bằng một biến thể vụng về của mật mã Caesar Mật mã của Provenzano sử dụng các con số, trong đó "A" được viết là "4", "B" là "5"
Năm 2011, Rajib Karim bị kết án ở Vương quốc Anh về "tội khủng bố" sau khi sử dụng mật mã Caesar để liên lạc với các nhà hoạt động Hồi giáo Bangladesh, thảo luận về âm mưu làm nổ máy bay hoặc phá vỡ mạng công nghệ thông tin của British Airways Mặc dù các bên có quyền tiếp cận các kỹ thuật mã hóa tốt hơn nhiều (bản thân Karim đã sử dụng PGP để lưu trữ dữ liệu trên đĩa máy tính), nhưng họ vẫn chọn bộ mã của riêng mình (được triển khai trên Microsoft Excel), khước từ một bộ mã phức tạp hơn có tên Mujahedeen Secrets, "bởi vì các 'kaffir' hay những kẻ ngoại đạo biết về nó, nên sẽ kém bảo mật hơn" Suy nghĩ trên khiến họ tạo một trình ứng dụng an ninh qua trạng thái mập mờ.
Tuy không còn hưu dụng nhiều, nhưng hệ mã hóa Caesar đã là nền tảng cho sự phát triển Mật mã học nói chung và hệ mã hóa đối xứng nói riêng Nhờ Caesar mà con người có thể phát triển ra nhiều hệ mã hóa hơn với độ bảo mật cao Đặc biệt đã xuất hiện hệ mã hóa cấp cao như AES được sử dụng rộng rãi trong các ứng dụng nhắn tin an toàn lẫn lưu trữ đám mây, chính là một ví dụ điển hình của mật mã đối xứng.
Hoặc mục đích đơn giản của Caesar như đã nói ở trên là giúp những bạn mới dễ tiếp cận và hiểu về Mật mã học từ lúc mới bắt đầu, hoặc ứng dụng thực tiễn vào truyền văn bản dữ liệu Để rồi có nền tảng tốt thì chúng ta có thể học tập và phát triển tới các hệ mã hóa có độ phức tạp và tính hữu dụng cao hơn.
Nguyên lí và cách hoạt động
Nguyên lí hoạt động
Mật mã là một dạng của mật mã thay thế, trong đó mỗi ký tự trong văn bản được thay thế bằng một ký tự cách nó một đoạn trong bảng chữ cái sau khi dịch chuyển k đơn vị để tạo thành bản mã Bởi sự đơn giản của nó nên hệ mã hóa này được biết đến rất rộng rãi Để giải mã, ta thực hiện ngược lại bằng cách chuyển dịch từng kí tự của bản mã lùi về k bước.
Mã hóa: Ci = (Pi + ki mod m) mod 26 , các biến có ý nghĩa như sau:
Ci: Ký tự mã hóa ở vị trí thứ i trong văn bản mã hóa.)
Pi: Ký tự cần mã hóa ở vị trí thứ i trong văn bản gốc.) ki: Khóa hoặc "chìa khóa" sử dụng để mã hóa.) m: Một giá trị hằng số (thường là kích thước của bảng mã hoặc tập hợp các ký tự có thể được mã hóa).)
Trong ví dụ sau muốn mã hóa một ký tự Pi bằng cách thêm một giá trị khóa ki vào nó, sau đó thực hiện toán tử mod m và cuối cùng mod 26 để đảm bảo kết quả nằm trong khoảng từ 0 đến 25 (vì có 26 chữ cái trong bảng chữ cái tiếng Anh)
Giải mã: Trong công thức Pi = (Ci - ki mod m) mod 26, giữa các biến, ta có:
Pi: Ký tự gốc ở vị trí thứ i trong văn bản gốc.)
Ci: Ký tự đã được mã hóa ở vị trí thứ i trong văn bản mã hóa.) ki: Khóa hoặc "chìa khóa" sử dụng để mã hóa.) m: Một giá trị hằng số (thường là kích thước của bảng mã hoặc tập hợp các ký tự có thể được mã hóa).)
Hình 4: Công cụ mã hóa Ceasar
Trong đó: N = 26 nếu hệ mã Caesar sử dụng trên bảng chữ cái tiếng Anh (nếu sử dụng trên bảng chữ cái khác thì N sẽ thay đổi) k: Tương ứng với số thứ tự chữ cái trong bảng mã (Ví dụ: a = 0, b = 1 )
2.1.2 Công thức và giải mã Code
Công thức mã hóa của hệ là:
Khi tiến hành mã hóa, người gửi mật mã sẽ tra cứu từng ký tự của tin nhắn gốc. Sau đó đọ và viết ra ký tự tương ứng lấy bảng chữ cái mà ta có bên trên kết hợp với khóa K tự chọn. Ở đây, x là số thứ tự của chữ trong bản rõ và y là số thứ tự của chữ tương ứng của bản mã; k là khóa của mã Caesar Khóa k là số bước tịnh tiến các chữ trong bảng chữ Do đó có 26 khóa khác nhau Độ dài khóa biểu diễn qua bit ở đây là 5, vì đó là số bit ít nhất cần thiết để biểu diễn 26 giá trị khác nhau.
Ví dụ : Văn bản gốc: "HELLO"
Khóa ki: 3 (được chọn ngẫu nhiên))
Mỗi ký tự Pi trong "HELLO" sẽ được mã hóa bằng công thức Ci = (Pi + 3) mod 26.)
Do đó, khi mã hóa "HELLO" với khóa 3, ta sẽ nhận được "KHOOQ" như là văn bản đã được mã hóa.
Công thức giải mã của hệ là:
Quá trình giải mã của người nhận mật mã được thực hiện ngược lại, với thao tác dịch sang phải theo khóa K đã chọn ban đầu.
Thám mã Caesar là việc làm đơn giản, do số khóa có thể có là rất ít Chỉ có 26 khóa có thể, vì một ký tự chỉ có thể ánh xạ vào một trong số 26 chữ cái của bảng chữ cái tiếng Anh: A, B, C… Các chữ khác sẽ được xác định bằng số bước tịnh tiến tương ứng của Kẻ thám mã có thể thử lần lượt từng khóa một, tức là sử dụng phương pháp tìm duyệt tổng thể Vì số khóa ít nên việc tìm duyệt là khả thi Cho trước bản mã, thử 26 cách dịch chuyển khác nhau, ta sẽ đoán nhận thông qua nội dung các bản rõ nhận được.
Văn bản mã hóa: "KHOOQ"
Khóa ki: 3 (giả sử ta biết khóa đã được sử dụng))
Mỗi ký tự Ci trong "KHOOQ" sẽ được giải mã bằng công thức Pi = (Ci - 3) mod 26.)
Do đó, khi ta giải mã "KHOOQ" với khóa 3, sẽ nhận được "HELLO" như là văn bản đã giải mã.
• Áp dụng công thức mã hóa: và áp dụng bảng chữ mã chữ cái khóa ENG bên trên ta có thể chuyển từ bản rõ sang bản mã như sau:
Ta thu được bản mã: WRLBHXKXP
• Để giải mã thì ta áp dụng công thức: Và ta sẽ thu được bản rõ ban đầu là: TOIYEUHUMG. Để làm rõ vấn đề ta thêm một ví dụ
Văn bản gốc (Văn bản chưa mã hóa): ABCDEF
Văn bản mã hóa: CDEFGH
Trong ví dụ trên, các kí tự trong văn bản gốc được mã hóa bằng cách dịch sang phải 2 kí tự k=2
Vì được dịch sang phải 2 ký tự nên A được mã hóa thành C, B mã hóa thành D… Đặc biệt, Y được mã hóa thành A, Z được mã hóa thành B, quay lại các ký tự đầu tiên.
Văn bản gốc (Văn bản chưa mã hóa): ABCDEF
Văn bản mã hóa: YZABCD
Trong ví dụ trên, các kí tự trong văn bản gốc được mã hóa bằng cách dịch sang trái 2 kí tự k=-2
Vì được dịch sang trái 2 ký tự nên C được mã hóa thành A, D mã hóa thành B… Đặc biệt, A được mã hóa thành Y, B được mã hóa thành Z, quay lại các ký tự cuối cùng.
=> Kết luận: chúng ta có thể thấy rằng k âm là phương pháp giải mã cho mã hoá với k dương và ngược lại.
Trong trường hợp người ta biết một cách chắc chắn rằng mật mã Caesar đã được sử dụng trong mã hóa, thì để thực hiện phân tích mật mã bạo lực, chỉ cần sắp xếp thông qua 26 khóa, liên quan đến ngôn ngữ tiếng Anh, do mức độ phổ biến của mã hóa và giải mã Ngoài ra, nếu một ký tự đã được biết, thì bằng cách xác định độ lệch, bạn có thể nhanh chóng giải mã toàn bộ thư Một trong những phương pháp phổ biến nhất được sử dụng trong phân tích mật mã là “Phân tích tần số”, giả định rằng trong các văn bản dài và đối với các văn bản khác nhau của cùng một ngôn ngữ, tần suất xuất hiện của một chữ cái nhất định trong bảng chữ cái không thay đổi Phương pháp phân tích mật mã bằng tần số đã trở nên nổi tiếng đặc biệt vào năm 1822, trong quá trình giải mã các chữ tượng hình Ai Cập.
Kể từ giữa thế kỷ trước, sự phát triển của phần lớn các thuật toán mã hóa đã được thực hiện có tính đến khả năng chống phá mã bằng tần số, và do đó nó thường được sử dụng trong quá trình đào tạo các nhà mật mã trong tương lai.
Không những vậy, một máy tính bình thường hiện nay có thể giải chuỗi mã hóa Caesar 1000 kí tự bằng phương pháp thử và lỗi (brute force) trong bao 26ms (26 mili giây).
Chuỗi mã hóa có độ dài 1000 ký tự.
Số lượng khóa có thể có là 26.
Cách tính thời gian tấn công brute force:
Mỗi lần thử một giá trị khóa, cần kiểm tra xem kết quả có đúng hay không. Điều này đòi hỏi ít nhất 1000 phép so sánh với chuỗi đã mã hóa.
Tổng số lần thử (26 khóa * 1000 so sánh) sẽ là 26,000.
Giả sử một máy tính thực hiện 1 triệu phép tính trên 1s, thời gian tối thiểu sẽ là 26,000 / 1,000,000 giây = 0.026 giây, tức là khoảng 26 mili giây.
=> Vậy nên mã hóa caesar rất dễ thực hiện trên máy tính
Ưu và nhược điểm của mã hóa Ceaser
Đơn giản: Dễ hiểu và thực hiện mà không cần kiến thức toán học hay máy tính phức tạp
Nhanh chóng: Quá trình mã hóa và giải mã nhanh chóng, đặc biệt là với văn bản ngắn
Sử dụng cơ bản: Không cần công cụ đặc biệt, chỉ cần biết cách di duyển các ký tự trong bảng chữ cái
Không đòi hỏi công cụ phức tạp: Không cần sử dụng phần mềm hoặc công cụ đặc biệt để thực hiện mã hóa và giải mã Chỉ cần biết cách di chuyển các ký tự trong bảng chữ cái
Khả năng áp dụng rộng rãi: Có thể áp dụng mã hóa Caesar trong nhiều tình huống khác nhau, từ việc bảo vệ thông tin cá nhân đến việc tạo ra các trò chơi giáo dục về mã hóa.
Tốc độ xử lý nhanh: Phương pháp mã hóa và giải mã đơn giản, việc xử lý thông tin cũng rất nhanh chóng, đặc biệt là với các văn bản ngắn Điều này có nghĩa là có thể mã hóa và giải mã dữ liệu một cách hiệu quả mà không cần đến máy tính hoặc công cụ phức tạp.
Độ an toàn kém: Bởi vì mã hóa đơn giản và dễ dàng giải mãi, nên nó không đảm bảo độ bảo mật cao Có thể dễ dàng bị tấn công bằng các kỹ thuật phân tích tần số hoặc từ điển, đặc biệt với văn bản dài hoặc ngôn ngữ phổ biến Điều này làm cho mã hóa Caesar không phù hợp cho việc bảo mật thông tin quan trọng hoặc nhạy cảm.
Dễ phát hiện mẫu: Trong các văn bản dài, các mẫu từ hoặc các chuỗi ký tự phổ biến có thể dễ dàng nhận biết và giúp kẻ tấn công suy luận được khóa mã hóa.
Không bảo vệ trước các kỹ thuật hiện đại: Hệ mã Caesar không có khả năng chống lại các kỹ thuật mã hóa hiện đại như phân tích từ điển hoặc các phương pháp mã hóa phức tạp như AES
Dễ bị giải mãi: Vì phương pháp này rất đơn giản, nên nó dễ bị giải mã bằng cách thử và sai hoặc phương pháp phân tích tần số
Không an toàn: Dễ dàng bị tấn công bằng các kỹ thuật phân tích tần số hoặc từ
15 điển, đặc biệt với văn bản dài và ngôn ngữ phổ biến
Giới hạn: Không hiệu quả cho việc mã hóa văn bản dài hoặc trong các ứng dụng cần độ bảo mật cao.
CÀI ĐẶT MẪU VÀ ỨNG DỤNG
Cài đặt mẫu và Demo
Demo “ứng dụng mã hóa Caesar vào bảo mật dữ liệu trong truyền văn bản điện tử”
Bước 1: Mở công cụ Visual Studio Code
Hình 5: Giao Diện Visual Studio Code
Bước 2: Sử dụng ngôn ngữ lập trình PHP, Sau đó ta nhập Source sẵn có vào
VScode và tiến hành chạy
Hình 6: Tiến hành chạy Visual Studio Code
Bước 3: Giao diện mẫu ứng dụng hiện lên Browser
Hình 7: Giao diện hệ thống hiện lên Browser
Ứng dụng vào bảo mật dữ liệu trong truyền văn bản điện tử
Bước 4: Tiến hành chạy demo “Bảo mật dữ liệu văn bản trong truyền tin điện tử”
Nhập văn bản: “Chờ duyên chờ phận chờ thời, Khi mà đủ cả cuộc đời đổi thay, Không còn nhăn mặt nhíu mày, Không còn phiền não từ rày sẽ vui.” và ấn Gửi
Hình 8: Tiến hành nhập văn bản
Sau đó ta nhập “Khóa” mã hóa để bảo mật dữ liệu văn bản
Ví dụ: Khóa là 13 và tiến hành mã hóa
Hình 9: Nhập khóa 13 để tiến hành mã hóa và bảo mật văn bản
Sau khi văn bản đến tay người nhận, ta tiến hành giải mã văn bản:
Sau đây ta chia thành 2 trường hợp: “Khóa Sai” và “Khóa đúng” Trường hợp 1: “Khóa Sai” gồm: Chuỗi kí tự khác “13” và các chuỗi số không nằm trong khoản từ “1-25”
Hình 10: Nhập khóa 9 và tiến hành giải mã
Không khớp (Người nhận chưa nhận được tin)
Ví dụ: Khóa là 32 (không nằm trong khoản 1 - 25)
Hình 11: Nhập khóa 32 và tiến hành giải mã
Ta thấy được hệ thống báo lỗi (người nhận chưa nhận được tin)
Trường hợp 2: Khóa đúng: Nhập khóa là giá trị 13
Hình 12: Nhập khóa 13 và tiến hành giải mã
Ta nhận được tin nhắn giải mã: “Chờ duyên chờ phận chờ thời Khi mà đủ cả cuộc đời đổi thay Không còn nhăn mặt nhíu mày Không còn phiền não từ rày sẽ vui”
Khớp với kết quả (Người nhận đã nhận được tin nhắn)