Viết chương trình mã hóa và giãi mã văn bản với thuật toán mã hóa Caesar, Vigenere, Rail Fence .Chương trình có thể thực hiện các chức năng sau:
-
Cho phép nhập văn bản vào hệ thống.
-
Cho phép nhập khóa bảo vệ văn bản.
-
Cho phép ghi File và mở File.
Hướng dẫn mã dịch chuyển Caesar:
-Ta lần lượt đánh chỉ số cho các chữ cái bắt đầu từ 0.
- Gọi k là 1 số nguyên từ 0 ->25 được gọi là khóa.
-Hàm mã hóa: E(p,k)=(p+k)mod26 với p là chỉ số của ký tự cần mã hóa.
-Hàm giải mã: D(c,k)=|c-k|mod26 với c là chỉ số của ký tự cần giải mã.
Hướng Dẫn Mật mã Vigenere: còn gọi là mật mã nhiều bảng mã. Ưu điểm của mã này là việc sử dụng 26 bảng mã khác nhau. Do đó mà không bị phá trong một thời gian dài. Ngoài ra mã này còn hỗ trợ việc sử dụng từ khóa vô cùng tiện lợi.
Thuật toán:
-
Khoá K là một bộ gồm nhiều khoá con
-
Mã hoá:
-
eK(x1, x2, …, xm) = (x1 + k1, x2 + k2, …, xm + km)
-
Giải mã:
-
dK(y1, y2, …, ym) = (y1 – k1, y2 – k2, …, ym – km)
-
(cộng, trừ theo modulo 26)
Ví dụ:
-
{A, B, C, …, X, Y, Z} = Z26={0, 1, …, 25}.
-
K = (2, 8, 15, 7, 4, 17) (“CIPHER”).
-
p = “thiscryptosy”.
-
c = “VPXZGIAXIVWP”
Hướng Dẫn Mã Rail Fence: còn được gọi là mã zig zag là một hình thức của mã chuyển vị:
-
Thông điệp được viết lần lượt từ trái qua phải trên các cột (rail) của một hàng dào tưởng tượng theo đường chéo từ trên xuống dưới.
-
Theo đường chéo từ dưới lên khi đạt tới cột thấp nhất.
-
Và khi đạt tới cột cao nhất, lại viết theo đường chéo từ trên xuống. Cứ lặp đi lặp lại như thế nào cho đến khi viết hết toàn bộ nội dung của thông điệp.
-
Ví dụ: mã hóa chuổi HUTECH TECHNOLOGY với khóa là 2.
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
Nguồn: Sharecode.vn
Chạy trên phần mềm NetBean
File -> Open Project -> Browse đến source -> OK