Mật mã Beaufort
Mã hóa và giải mã mật mã Beaufort, một mật mã đa bảng dựa trên từ khóa được đặt tên theo đô đốc người Anh Sir Francis Beaufort. Nó có tính thuận nghịch: cùng một từ khóa vừa mã hóa vừa giải mã, nên không có chế độ giải mã riêng. Nhập một từ khóa và theo dõi quá trình tính toán hình thành trực tiếp. Mọi thứ đều chạy trong trình duyệt của bạn.
Beaufort có tính thuận nghịch: cùng một từ khóa vừa mã hóa vừa giải mã. Để giải mã một thông điệp, hãy dán bản mã vào và nhập đúng từ khóa đó, và kết quả chính là bản rõ ban đầu. Không có nút giải mã riêng.
Từ khóa
Từ khóa là bí mật được chia sẻ giữa người gửi và người nhận. Nó lặp lại dọc theo thông điệp, và mỗi chữ cái của nó quy định vị trí đó bị trừ đi bao nhiêu. Chỉ các chữ cái được dùng; mọi dấu cách, chữ số hoặc dấu câu trong từ khóa đều bị bỏ qua.
Nhập văn bản ở trên để xem kết quả Beaufort tại đây.
Cách sử dụng Mật mã Beaufort
- 1
Nhập từ khóa
Gõ từ khóa bí mật được chia sẻ, chẳng hạn FORTIFICATION. Chỉ các chữ cái của nó được dùng; mọi dấu cách, chữ số hoặc dấu câu đều bị bỏ qua. Cùng một từ khóa được dùng cho cả mã hóa và giải mã.
- 2
Gõ hoặc dán văn bản của bạn
Nhập thông điệp bạn muốn chuyển đổi: bản rõ để mã hóa, hoặc bản mã Beaufort để giải mã. Mật mã chạy tự động ngay khi bạn gõ, và quá trình tính toán từng chữ cái cập nhật trực tiếp bên dưới.
- 3
Đọc kết quả thuận nghịch
Vì Beaufort có tính thuận nghịch, cùng một từ khóa phục vụ cả hai chiều. Để khôi phục một thông điệp, dán bản mã vào và nhập đúng từ khóa đã được dùng để mã hóa nó; kết quả là bản rõ ban đầu.
- 4
Xem, sao chép và chia sẻ
Mở quá trình tính toán để xem mỗi chữ cái được tính ra sao, rồi sao chép kết quả, tải nó xuống dưới dạng tệp văn bản, hoặc chia sẻ một liên kết mở lại công cụ với đúng từ khóa và văn bản của bạn.
Tìm hiểu về mật mã Beaufort
Mật mã Beaufort là gì?
Mật mã Beaufort là một mật mã thay thế đa bảng được đặt tên theo Sir Francis Beaufort, vị đô đốc Hải quân Hoàng gia mà ngày nay được nhớ đến nhiều nhất qua thang đo gió Beaufort. Nó có quan hệ mật thiết với mật mã Vigenère: một từ khóa lặp lại dịch chuyển từng chữ cái của thông điệp, nên cùng một chữ cái bản rõ có thể mã hóa thành nhiều chữ cái bản mã khác nhau tùy vào vị trí của nó. Chính sự trải đều mỗi chữ cái khắp bảng chữ cái này khiến một mật mã đa bảng khó đọc hơn nhiều so với một phép dịch Caesar đơn giản.
Điều khiến Beaufort khác biệt là chiều của phép toán. Thay vì cộng khóa vào bản rõ như Vigenère làm, Beaufort trừ bản rõ ra khỏi khóa. Chỉ một thay đổi đó đem lại cho mật mã đặc tính hữu ích nhất của nó: nó có tính thuận nghịch, nghĩa là cùng một phép toán vừa mã hóa vừa giải mã. Phương pháp này được in trên một tấm thẻ nhỏ xuất bản ngay sau khi Beaufort qua đời năm 1857, và cùng quy tắc thuận nghịch đó về sau được tích hợp vào các máy rotor như Hagelin M-209 được dùng vào giữa thế kỷ hai mươi.
Mật mã Beaufort hoạt động ra sao
Đánh số bảng chữ cái từ A là 0 đến Z là 25. Từ khóa được lặp lại bao nhiêu lần tùy cần để xếp một chữ cái khóa dưới mỗi chữ cái của thông điệp. Với mỗi vị trí, bạn lấy chữ cái khóa, trừ chữ cái bản rõ ra khỏi nó, và cuộn kết quả vòng quanh bảng chữ cái bằng phần dư cho 26. Viết thành công thức, chữ cái bản mã là C = (K − P) mod 26. Chỉ có chữ cái được biến đổi; dấu cách, chữ số và dấu câu đi thẳng qua và không tiêu tốn một chữ cái khóa, nên từ khóa vẫn được xếp thẳng hàng với những chữ cái có ý nghĩa.
Trên giấy, cùng phép tính đó có thể được thực hiện bằng một tabula recta, lưới vuông chứa mọi bảng chữ cái đã dịch chuyển. Để mã hóa một chữ cái, bạn tìm chữ cái bản rõ dọc theo hàng trên cùng, đi xuống theo cột đó cho đến khi gặp chữ cái từ khóa, rồi đọc bản mã từ nhãn ở ngoài cùng bên trái của hàng đó. Phép tra cứu này chỉ là một cách trực quan để tính cùng phép trừ ấy, và đó chính xác là điều mà quá trình tính toán trực tiếp bên dưới công cụ cho thấy với mỗi chữ cái trong thông điệp của bạn.
Ví dụ thực hành
Mã hóa thông điệp HELLO với từ khóa KEY. Lặp lại từ khóa cho ra các chữ cái khóa K, E, Y, K, E xếp thẳng dưới H, E, L, L, O. Trừ mỗi chữ cái bản rõ ra khỏi chữ cái khóa của nó, K trừ H là 10 − 7 = 3 tức là D; E trừ E là 0 tức là A; Y trừ L là 24 − 11 = 13 tức là N; K trừ L là 10 − 11 = −1, và cuộn vòng quanh cho ra 25 tức là Z; cuối cùng E trừ O là 4 − 14 = −10, cuộn về 16 tức là Q. Bản mã là DANZQ.
Bây giờ giải mã DANZQ với cùng từ khóa KEY và cùng phép trừ. K trừ D là 10 − 3 = 7 tức là H; E trừ A là 4 tức là E; Y trừ N là 24 − 13 = 11 tức là L; K trừ Z là 10 − 25 = −15, cuộn về 11 tức là L; E trừ Q là 4 − 16 = −12, cuộn về 14 tức là O. Kết quả lại là HELLO. Phép toán y hệt đã khôi phục thông điệp, và đó chính là toàn bộ ý nghĩa của mật mã Beaufort.
Vì sao Beaufort là nghịch đảo của chính nó
Đặc tính thuận nghịch suy ra trực tiếp từ công thức. Mã hóa tính C = (K − P) mod 26. Nếu bạn đưa bản mã đó trở lại qua cùng bước với cùng khóa, bạn tính (K − C) mod 26, tức là (K − (K − P)) mod 26. Hai chữ cái khóa triệt tiêu nhau và bạn còn lại P, bản rõ ban đầu. Vì phép trừ trong bảng chữ cái vòng tròn này đối xứng theo cách đó, mã hóa hai lần đưa bạn trở về nơi bạn đã bắt đầu.
Điều này thực sự tiện lợi. Với Vigenère bạn phải nhớ cộng khi mã hóa và trừ khi giải mã, nên hai chiều dùng những thủ tục khác nhau. Với Beaufort chỉ có một thủ tục để học, và một thiết lập máy duy nhất hay một công cụ duy nhất có thể phục vụ cả hai chiều. Đó là lý do công cụ này không có nút giải mã riêng: bạn chỉ cần nhập đúng từ khóa và dán bất kỳ văn bản nào bạn muốn chuyển đổi.
Beaufort, Vigenère, và biến thể Beaufort
Sẽ hữu ích nếu xếp song song ba mật mã từ khóa có quan hệ mật thiết. Mật mã Vigenère cộng, C = (P + K) mod 26, và cần phép trừ ngược lại để giải mã. Mật mã Beaufort thực thụ trừ bản rõ ra khỏi khóa, C = (K − P) mod 26, và có tính thuận nghịch. Còn có một quy tắc thứ ba, biến thể Beaufort, đôi khi được gọi là Beaufort Đức, vốn trừ khóa ra khỏi bản rõ, C = (P − K) mod 26. Biến thể đó chính xác là bước giải mã Vigenère được dùng như một phép mã hóa, và khác với Beaufort thực thụ, nó không thuận nghịch, nên cần phép mã hóa Vigenère để hoàn tác.
Vì cả ba đều chia sẻ một từ khóa lặp lại và một tabula recta, chúng thường bị nhầm lẫn, và một thông điệp được mã hóa bằng cái này sẽ trông như vô nghĩa dưới cái kia. Công cụ này hiện thực Beaufort thuận nghịch cổ điển. Nếu bạn cần quy tắc cộng hoặc biến thể, công cụ Vigenère trên Text Machine bao quát Vigenère và các chế độ liên quan của nó.
Cách phá mật mã Beaufort
Beaufort thừa hưởng những điểm mạnh và những điểm yếu của bất kỳ mật mã đa bảng dùng khóa lặp lại nào. Hàng phòng thủ của nó là một chữ cái bản rõ ánh xạ tới nhiều chữ cái bản mã khác nhau, điều này làm phẳng những đỉnh tần suất chữ cái dễ thấy vốn để lộ một mật mã thay thế đơn giản. Điểm yếu của nó là khóa lặp lại. Một khi nhà phân tích đoán được độ dài của từ khóa, bản mã tách thành các cột riêng biệt mà mỗi cột được mã hóa bằng một chữ cái khóa cố định duy nhất, và mỗi cột trở thành một mật mã dịch đơn thuần khuất phục trước phân tích tần suất.
Cách cổ điển để tìm độ dài khóa là phép kiểm tra Kasiski, vốn tìm các nhóm chữ cái lặp lại và đo khoảng cách giữa chúng, cùng với chỉ số trùng hợp, vốn đo mức độ không đồng đều của tần suất chữ cái. Khi đã biết độ dài khóa, việc khôi phục từng chữ cái khóa diễn ra nhanh chóng. Toàn bộ cuộc tấn công cũng chính là cuộc tấn công nổi tiếng đã phá mật mã Vigenère, nên một thông điệp Beaufort chỉ mạnh bằng đúng mức từ khóa của nó dài, khó đoán, và chỉ được dùng một lần.
Mật mã Beaufort có an toàn không?
Không. Theo tiêu chuẩn hiện đại, mật mã Beaufort không cung cấp sự an toàn thực sự nào. Một từ khóa ngắn hoặc lặp lại nhanh chóng khuất phục trước các phương pháp Kasiski và chỉ số trùng hợp ở trên, và ngay cả một từ khóa dài cũng không thể chống chọi một nhà phân tích quyết tâm có máy tính. Nó thuộc về thời đại của các mật mã thủ công và các máy mật mã thuở ban đầu, nơi sức hấp dẫn của nó là một quy tắc thuận nghịch thông minh, dễ dùng chứ không phải sức mạnh bất khả phá.
Ngày nay mật mã Beaufort được quý trọng vì mục đích học tập và giải trí. Đó là một cách tuyệt vời để hiểu phép thay thế đa bảng và ý tưởng tao nhã về một mật mã tự nghịch đảo, và nó xuất hiện thường xuyên trong các câu đố, phòng trốn thoát và thử thách cướp cờ. Để bảo vệ thông tin thực sự, bạn nên dựa vào các thuật toán hiện đại, được kiểm chứng kỹ lưỡng như AES thay vào đó.
Câu hỏi thường gặp
Mật mã Beaufort là gì?
Mật mã Beaufort hoạt động như thế nào?
Mật mã Beaufort có giống mật mã Vigenère không?
Vì sao mật mã Beaufort có tính thuận nghịch?
Bạn có thể cho một ví dụ về mật mã Beaufort không?
Làm thế nào để giải mã một mật mã Beaufort?
Biến thể mật mã Beaufort là gì?
Tôi nên dùng từ khóa nào?
Mật mã Beaufort có thay đổi dấu cách và dấu câu không?
Làm thế nào để phá mật mã Beaufort?
Mật mã Beaufort có an toàn không?
Văn bản của tôi có được tải lên máy chủ không?
Công cụ liên quan
Tiếp tục với những công cụ hữu ích này