Công Cụ Mật Mã Beaufort
Nhập một thông điệp và từ khóa để mã hóa hoặc giải mã bằng mật mã Beaufort — hoặc biến thể của nó, chính là mật mã Vigenère chạy ngược. Công cụ hiển thị bảng vuông Beaufort và tổng đứng sau mỗi chữ cái, để bạn có thể kiểm tra kết quả bằng tay. Miễn phí, không cần đăng ký, và không có gì rời khỏi trình duyệt của bạn.
Chỉ chữ cái. Từ khóa lặp lại dọc theo thông điệp, mỗi chữ của văn bản ứng với một chữ khóa.
Beaufort cổ điển có tính đối ứng: cùng các bước dùng để mã hóa và giải mã. Biến thể là mật mã Vigenère chạy ngược, nên giải mã thì phải cộng khóa trở lại.
Phép tính
- Các chữ cái được đánh số A = 0, B = 1 … Z = 25, và mọi phép cộng hoặc trừ đều quay vòng sau 26.
- Mã hóa: chữ mật mã = chữ khóa − chữ bản rõ.
Bảng vuông Beaufort
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B |
| B | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C |
| C | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D |
| D | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E |
| E | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F |
| F | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G |
| G | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H |
| H | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I |
| I | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J |
| J | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K |
| K | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L |
| L | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M |
| M | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N |
| N | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O |
| O | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P |
| P | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q |
| Q | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R |
| R | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S |
| S | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T |
| T | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U |
| U | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V |
| V | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W |
| W | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X |
| X | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y |
| Y | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z |
| Z | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A |
Hàng = chữ khóa, cột = chữ bản rõ, ô = chữ mật mã. Chọn một chữ cái bên dưới để làm sáng nó: hàng và cột của nó chuyển sang xanh, còn ô giao nhau chuyển sang hổ phách.
| Chữ bản rõ | Chữ khóa | Phép tính | Chữ mật mã |
|---|---|---|---|
| F | 5 − 3 = 2 | C | |
| O | 14 − 4 = 10 | K | |
| R | 17 − 5 = 12 | M | |
| T | 19 − 4 = 15 | P | |
| F | 5 − 13 = −8 ≡ 18 | S | |
| O | 14 − 3 = 11 | L | |
| R | 17 − 19 = −2 ≡ 24 | Y | |
| T | 19 − 7 = 12 | M | |
| F | 5 − 4 = 1 | B | |
| O | 14 − 4 = 10 | K | |
| R | 17 − 0 = 17 | R | |
| T | 19 − 18 = 1 | B | |
| F | 5 − 19 = −14 ≡ 12 | M | |
| O | 14 − 22 = −8 ≡ 18 | S | |
| R | 17 − 0 = 17 | R | |
| T | 19 − 11 = 8 | I | |
| F | 5 − 11 = −6 ≡ 20 | U | |
| O | 14 − 14 = 0 | A | |
| R | 17 − 5 = 12 | M | |
| T | 19 − 19 = 0 | A |
Đang hiển thị 20 chữ cái đầu tiên.
Cách Sử Dụng Công Cụ Mật Mã Beaufort
- 1. Chọn một phiên bản. Beaufort cổ điển lấy chữ khóa trừ chữ bản rõ. Biến thể lấy chữ bản rõ trừ chữ khóa. Người gửi và người nhận phải dùng cùng một phiên bản.
- 2. Nhập từ khóa. Chỉ các chữ cái trong đó được tính. Từ khóa lặp lại dọc theo thông điệp, tiến một chữ khóa cho mỗi chữ cái của văn bản.
- 3. Gõ hoặc dán thông điệp. Chọn Mã hóa cho bản rõ hoặc Giải mã cho bản mã. Dấu cách, chữ số và dấu câu được giữ nguyên và không dùng hết chữ khóa.
- 4. Đọc phần tính toán. Chọn bất kỳ chữ cái nào trong bảng tính để làm sáng hàng, cột và kết quả của nó trên bảng vuông.
Mật Mã Beaufort Hoạt Động Như Thế Nào
Mật mã Beaufort là mật mã thay thế đa bảng, được xây dựng trên cùng bảng 26 × 26 như mật mã Vigenère. Đánh số các chữ cái A = 0 đến Z = 25. Với mỗi chữ của thông điệp, lấy chữ tiếp theo của từ khóa lặp lại, K, và chữ bản rõ, P, rồi tính C = K − P (mod 26). Trong mật mã Vigenère, khóa được cộng vào chữ bản rõ; ở đây chữ bản rõ được trừ khỏi khóa.
Chính sự thay đổi đó làm cho mật mã có tính đối ứng. Vì P = K − C cũng là một phép trừ như vậy, bạn giải mã thông điệp Beaufort bằng cách mã hóa lại nó với cùng từ khóa — không cần quy trình giải mã riêng, đó là lý do nó phù hợp với mã viết tay hoặc một máy chỉ có một cài đặt. Bằng tay, bạn tìm chữ bản rõ dọc theo hàng trên của bảng vuông, đi xuống đến chữ khóa, và đọc chữ mật mã ở đầu hàng của cột đó.
Beaufort biến thể
Beaufort biến thể dùng C = P − K. Đó chính xác là phép giải mã Vigenère, nên thông điệp Beaufort biến thể có thể được đọc bằng bất kỳ công cụ Vigenère nào bằng cách chọn giải mã. Biến thể không có tính đối ứng: để giải mã, bạn cộng khóa trở lại, P = C + K. Sách đố chữ và Hiệp hội Mật Mã Hoa Kỳ (American Cryptogram Association) liệt kê hai loại này thành hai kiểu mật mã riêng, đó là lý do công cụ này cung cấp cả hai.
Ví Dụ Minh Họa
Mã hóa DEFEND THE EAST WALL với từ khóa FORT. Các chữ khóa là F = 5, O = 14, R = 17 và T = 19, lặp lại. Kết quả của công cụ khớp với ví dụ được công bố trên ciphersonline.com, và bạn có thể kiểm tra từng bước với bảng tính toán.
| Bản rõ | Khóa | Phép tính | Bản mã |
|---|---|---|---|
| D (3) | F (5) | 5 − 3 = 2 | C |
| E (4) | O (14) | 14 − 4 = 10 | K |
| F (5) | R (17) | 17 − 5 = 12 | M |
| E (4) | T (19) | 19 − 4 = 15 | P |
| N (13) | F (5) | 5 − 13 = −8 ≡ 18 | S |
Toàn bộ thông điệp trở thành CKMPSL YMB KRBM SRIU. Đưa nó trở lại với cùng khóa, Beaufort trả về DEFEND THE EAST WALL. Hãy để ý rằng chữ E đầu tiên và chữ E thứ hai được mã hóa thành K và P — một chữ bản rõ, nhiều chữ mật mã — chính điều đó ngăn việc đếm chữ cái đơn giản phá được thông điệp.
Ai Đã Phát Minh Ra Mật Mã Beaufort?
Mật mã được đặt theo tên Sir Francis Beaufort (1774–1857), sĩ quan Hải quân Hoàng gia gốc Ireland và nhà thủy đạc, nổi tiếng nhất với thang sức gió cũng mang tên ông. Nguồn gốc của nó còn xa hơn: ý tưởng về một khóa lặp lại chọn một bảng chữ cái khác nhau cho mỗi chữ được Giovan Battista Bellaso đưa ra năm 1553 và được Blaise de Vigenère phổ biến năm 1586, còn mật mã Beaufort là lược đồ đó với phép trừ được đảo ngược. Một mô tả về hệ thống được công bố năm 1857, năm Beaufort qua đời. Ứng dụng nổi tiếng về sau nhất của nó nằm trong một máy: Hagelin M-209, thiết bị mật mã dã chiến của Quân đội Hoa Kỳ trong Chiến tranh Thế giới thứ hai, thực hiện một phép thay thế kiểu Beaufort với một khóa không đơn giản lặp lại.
Mật Mã Beaufort Bị Phá Như Thế Nào
Giống mật mã Vigenère, Beaufort là một khóa lặp lại ngắn áp dụng lần lượt từng chữ cái, nên các cách tấn công tương tự đều hiệu quả. Phương pháp của Friedrich Kasiski năm 1863 tìm các đoạn lặp trong bản mã, mà khoảng cách giữa chúng là bội số của độ dài khóa; chỉ số trùng khớp của William Friedman, được phát triển khoảng năm 1920, ước tính độ dài khóa bằng thống kê. Khi biết độ dài, mọi chữ thứ n được mã hóa bằng cùng một chữ khóa, vì vậy mỗi cột là một phép thay thế đơn giản với bảng chữ cái đảo ngược và bị phá bằng phân tích tần suất. Còn có một đường tắt: đảo ngược bảng chữ cái của cả bản mã và khóa (A↔Z, B↔Y — phép ánh xạ Atbash) biến thông điệp Beaufort thành một thông điệp Vigenère thông thường.
Không dùng cho bí mật
Mật mã Beaufort là mật mã dành cho lớp học và trò đố chữ. Máy tính phá được nó chỉ từ vài trăm chữ của bản mã, nên đừng bao giờ dùng nó để bảo vệ điều gì quan trọng.
Câu Hỏi Thường Gặp
- Mật mã Beaufort là gì?
- Mật mã Beaufort là mật mã thay thế đa bảng, mã hóa mỗi chữ thành chữ khóa trừ chữ bản rõ, theo modulo 26, dùng một từ khóa lặp lại. Nó dùng cùng bảng với mật mã Vigenère nhưng đọc bảng đó theo cách khác, và được đặt theo tên nhà thủy đạc Hải quân Hoàng gia Sir Francis Beaufort.
- Mật mã Beaufort khác mật mã Vigenère thế nào?
- Vigenère cộng chữ khóa với chữ bản rõ (C = P + K), còn Beaufort trừ chữ bản rõ khỏi chữ khóa (C = K − P). Do đó Beaufort có tính đối ứng — cùng một phép toán vừa mã hóa vừa giải mã — trong khi Vigenère cần một bước giải mã riêng.
- Làm thế nào để giải mã mật mã Beaufort?
- Nhập cùng từ khóa và áp dụng cùng phép toán lên bản mã: chữ bản rõ = chữ khóa − chữ mật mã. Trong công cụ này bạn có thể chọn Giải mã hoặc đơn giản Mã hóa lại, và cả hai đều cho cùng kết quả với Beaufort cổ điển.
- Beaufort biến thể là gì?
- Beaufort biến thể tính C = P − K, chính là công thức giải mã của mật mã Vigenère. Nó được giải mã bằng cách cộng khóa trở lại, nên không giống Beaufort cổ điển, nó không có tính đối ứng. Hãy chọn phiên bản mà bài đố hoặc sách giáo khoa của bạn quy định.
- Mật mã Beaufort có an toàn không?
- Không. Khóa lặp lại để lại cùng các mẫu như Vigenère, nên kiểm tra Kasiski và chỉ số trùng khớp tiết lộ độ dài khóa, và phân tích tần suất khôi phục từng chữ khóa. Đảo ngược bảng chữ cái bằng Atbash thậm chí biến nó thành mật mã Vigenère. Hãy coi nó là mật mã lịch sử để học hỏi.
- Dấu cách và dấu câu được xử lý thế nào?
- Chỉ các chữ cái A–Z được mã hóa. Mỗi chữ giữ nguyên kiểu chữ hoa hoặc thường, chữ Latin có dấu được xem như chữ cái gốc, và mọi thứ khác được giữ nguyên mà không dùng hết chữ khóa. Bật nhóm năm chữ nếu bạn muốn các khối bản mã truyền thống.