T

Text Machine

Công cụ văn bản mạnh mẽ, ngay trong trình duyệt của bạn

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

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.

Văn bản
Kết quả

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. 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. 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. 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. 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 là một mật mã thay thế đa bảng được đặt tên theo đô đốc người Anh Sir Francis Beaufort. Giống mật mã Vigenère, nó dịch chuyển mỗi chữ cái bằng một từ khóa lặp lại, nhưng nó trừ bản rõ ra khỏi khóa thay vì cộng vào, điều này khiến nó có tính thuận nghịch: cùng một phép toán vừa mã hóa vừa giải mã.
Mật mã Beaufort hoạt động như thế nào?
Đánh số bảng chữ cái từ A là 0 đến Z là 25 và lặp lại từ khóa dọc theo thông điệp. Với mỗi chữ cái, bản mã là chữ cái khóa trừ đi chữ cái bản rõ, lấy theo modulo 26: C = (K − P) mod 26. Chỉ các chữ cái bị thay đổi; dấu cách, chữ số và dấu câu đi xuyên qua và không làm từ khóa tiến lên.
Mật mã Beaufort có giống mật mã Vigenère không?
Chúng là họ hàng gần nhưng không giống nhau. Vigenère cộng khóa vào bản rõ, C = (P + K) mod 26, và dùng một bước khác để giải mã. Beaufort trừ bản rõ ra khỏi khóa, C = (K − P) mod 26, và dùng một bước cho cả hai chiều. Một thông điệp được mã hóa bằng cái này sẽ không giải mã đúng dưới cái kia.
Vì sao mật mã Beaufort có tính thuận nghịch?
Mã hóa tính C = (K − P) mod 26. Đưa bản mã trở lại qua cùng bước cho ra (K − C) mod 26 = (K − (K − P)) mod 26, rút gọn thành P, chữ cái ban đầu. Vì hai chữ cái khóa triệt tiêu nhau, áp dụng mật mã hai lần trả về thông điệp, nên một phép toán duy nhất vừa mã hóa vừa giải mã.
Bạn có thể cho một ví dụ về mật mã Beaufort không?
Mã hóa HELLO với từ khóa KEY cho ra DANZQ. Các chữ cái khóa K, E, Y, K, E xếp thẳng dưới thông điệp, và trừ mỗi chữ cái bản rõ ra khỏi chữ cái khóa của nó theo modulo 26 cho ra D, A, N, Z, Q. Giải mã DANZQ với cùng từ khóa KEY và cùng phép trừ trả về HELLO.
Làm thế nào để giải mã một mật mã Beaufort?
Dùng đúng từ khóa đã được dùng để mã hóa, và dán bản mã vào công cụ. Vì Beaufort có tính thuận nghịch nên không có chế độ giải mã riêng: nhập từ khóa và bản mã sẽ tạo ra bản rõ ban đầu một cách trực tiếp. Nếu bạn không biết từ khóa, bạn phải khôi phục nó bằng phép phá mã.
Biến thể mật mã Beaufort là gì?
Biến thể Beaufort, đôi khi được gọi là Beaufort Đức, trừ khóa ra khỏi bản rõ thay vào đó: C = (P − K) mod 26. Đó là bước giải mã Vigenère được dùng để mã hóa, và khác với Beaufort thực thụ, nó không thuận nghịch, nên phải được hoàn tác bằng phép mã hóa Vigenère. Công cụ này hiện thực Beaufort thuận nghịch cổ điển.
Tôi nên dùng từ khóa nào?
Bất kỳ từ hay cụm từ nào gồm các chữ cái đều dùng được. Một từ khóa dài hơn, ít đoán trước được hơn thì mạnh hơn, bởi vì sự an toàn của mật mã phụ thuộc vào việc từ khóa dài, khó đoán, và không bao giờ được dùng lại. Những từ khóa ngắn hoặc thông dụng nhanh chóng bị phá. Dấu cách, chữ số và dấu câu trong từ khóa đều bị bỏ qua, nên chỉ các chữ cái của nó là quan trọng.
Mật mã Beaufort có thay đổi dấu cách và dấu câu không?
Không. Chỉ 26 chữ cái được mã hóa. Dấu cách, chữ số và dấu câu đi xuyên qua không đổi, và chúng không tiêu tốn một chữ cái từ khóa, nên từ khóa vẫn được căn thẳng với những chữ cái mà nó biến đổi. Chữ hoa chữ thường được giữ nguyên trong kết quả nên kết quả giữ được hình dạng của văn bản gốc của bạn.
Làm thế nào để phá mật mã Beaufort?
Beaufort là một mật mã dùng khóa lặp lại, nên cuộc tấn công cũng chính là cuộc tấn công phá Vigenère. Trước tiên tìm độ dài khóa bằng phép kiểm tra Kasiski và chỉ số trùng hợp, rồi tách bản mã thành các cột chia sẻ một chữ cái khóa và giải mỗi cột như một phép dịch đơn giản bằng phân tích tần suất. Một từ khóa ngắn hoặc dùng lại bị phá nhanh chóng.
Mật mã Beaufort có an toàn không?
Không. Theo tiêu chuẩn hiện đại, nó không cung cấp sự an toàn thực sự nào: một từ khóa lặp lại khuất phục trước phép phá mã cổ điển, và ngay cả những từ khóa dài cũng không thể chống chọi một chiếc máy tính. Tốt nhất nên xem nó như một mật mã giáo dục và giải đố cùng một mảnh của lịch sử mật mã học. Để bảo vệ thực sự, hãy dùng một thuật toán hiện đại như AES thay vào đó.
Văn bản của tôi có được tải lên máy chủ không?
Không. Toàn bộ việc mã hóa và giải mã diễn ra hoàn toàn trong trình duyệt của bạn, nên văn bản và từ khóa của bạn không bao giờ được tải lên, ghi lại hay lưu trữ. Ngay cả một liên kết chia sẻ cũng giữ dữ liệu của bạn trong phần URL nằm sau dấu thăng, phần mà trình duyệt không bao giờ gửi đến máy chủ, nên nó vẫn riêng tư cho đến khi bạn chọn chia sẻ.

Công cụ liên quan

Tiếp tục với những công cụ hữu ích này

Mật mã Porta

Mật mã Vigenère

Mật mã Gronsfeld

Mật mã Trithemius

Mật mã Autokey

Mật mã Running Key