Chuyển đến nội dung

Mật Mã Atbash

Gõ hoặc dán văn bản và nhận bản đảo Atbash ngay khi bạn gõ — A thành Z, B thành Y, và cứ thế xuống bảng chữ cái. Atbash tự hoàn tác, nên cùng một ô vừa mã hóa vừa giải mã, và phần cách tính hiển thị bảng chữ cái cùng từng phép hoán đổi. 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.

Giữ lại

Bảng chữ cái và cách tính

Mỗi chữ cái ở vị trí n trong bảng chữ cái (A = 1, Z = 26) trở thành chữ cái ở vị trí 27 − n. Mã hóa và giải mã là cùng một bước, nên đưa kết quả qua lần nữa sẽ cho lại văn bản của bạn.

GốcABCDEFGHIJKLM
AtbashZYXWVUTSRQPON
GốcNOPQRSTUVWXYZ
AtbashMLKJIHGFEDCBA

Các chữ cái trong văn bản của bạn được tô sáng ở hàng gốc; các chữ cái mà chúng trở thành được tô sáng bên dưới.

Từng chữ cái — 10 chữ cái đầu tiên

Chữ cáiVị trí27 − vị tríKết quả
H819S
E522V
L1215O
L1215O
O1512L
W234D
O1512L
R189I
L1215O
D423W

Cách Sử Dụng Mật Mã Atbash

  1. 1. Nhập văn bản. Gõ hoặc dán vào ô. Atbash không có khóa, nên không cần thiết lập gì khác.
  2. 2. Đọc kết quả. Văn bản đảo ngược hiện ra khi bạn gõ. Dán văn bản Atbash vào và bạn sẽ nhận lại bản gốc — cùng một bước vừa mã hóa vừa giải mã.
  3. 3. Chọn những gì giữ lại. Bỏ chọn chữ hoa, khoảng trắng hoặc dấu câu để chỉ còn chữ viết hoa, một chuỗi chữ cái liền nhau, hoặc chỉ các chữ cái — cách thường dùng để trình bày văn bản mật mã.
  4. 4. Kiểm tra cách tính. Bảng chữ cái tô sáng các chữ cái bạn đã dùng và các chữ cái mà chúng trở thành; bảng bên dưới trình bày từng bước cho mười hai chữ cái đầu tiên.

Atbash Hoạt Động Như Thế Nào

Viết bảng chữ cái theo thứ tự xuôi, viết ngược lại bên dưới, rồi thay mỗi chữ cái bằng chữ cái nằm đối diện: A↔Z, B↔Y, C↔X, và cứ thế đến M↔N ở giữa. Dưới dạng công thức, chữ cái ở vị trí n (A = 1, Z = 26) trở thành chữ cái ở vị trí 27 − n, nên H (8) thành S (19). Nếu đếm từ 0, như các nhà mật mã thường làm, quy tắc là 25 − x — điều này khiến Atbash trở thành mật mã affine với a = 25 và b = 25.

Mười ba cặp hoán đổi của Atbash: mỗi chữ cái ở trên đổi chỗ với chữ cái bên dưới, theo cả hai chiều.
ABCDEFGHIJKLM
ZYXWVUTSRQPON

Ví dụ minh họa. Hello World trở thành Svool Dliow: H (8) → S (19), E (5) → V (22), L (12) → O (15) và O (15) → L (12). Đưa Svool Dliow vào lại và bạn sẽ có Hello World. Mỗi chữ cái giữ nguyên kiểu chữ và khoảng trắng đi thẳng qua, nên kết quả có cùng hình dạng với văn bản của bạn — đó cũng là lý do Atbash rất dễ nhận ra.

Phép hoán đổi tạo ra vài điều thú vị. WIZARD được mã hóa thành DRAZIW — cùng một từ viết ngược — vì W và D, I và R, Z và A là các cặp đối xứng, và chúng tình cờ nằm ở các vị trí đối xứng trong từ.

Atbash Bắt Nguồn Từ Đâu

Atbash bắt đầu như một phép thay thế trong bảng chữ cái Hebrew, và tên gọi của nó tóm tắt quy tắc. Aleph (א), chữ đầu tiên, đổi chỗ với tav (ת), chữ cuối cùng; bet (ב), chữ thứ hai, đổi với shin (ש), chữ áp chót — a-t-b-sh. Với 22 chữ cái Hebrew có 11 cặp.

Những ví dụ nổi tiếng nhất nằm trong Sách Giê-rê-mi. Tên Sheshach (ששך), trong Giê-rê-mi 25:26 và 51:41, tương ứng từng chữ cái với Babel (בבל), tức Ba-by-lôn, theo phép hoán đổi này; còn Leb-kamai (לב קמי) trong 51:1 tương ứng với Kasdim (כשדים), tức người Canh-đê. Giê-rê-mi 51:41 cũng gọi thẳng tên Ba-by-lôn trong cùng câu, nên phép thay thế khó có thể nhằm che giấu điều gì; người ta thường coi đó là trò chơi chữ, còn việc những dạng này đi vào văn bản bằng cách nào vẫn đang được tranh luận.

Cách Phá Atbash và Vì Sao Nó Không An Toàn

Atbash không có gì bí mật. Không có khóa để đoán: ai biết phương pháp đều có thể đọc thông điệp, và bảng chữ cái đảo ngược là một trong những thứ đầu tiên người giải đố thử. Ngay cả khi không đoán được, mọi E trong bản gốc đều thành V và mọi T thành G, nên các chữ cái xuất hiện nhiều nhất trong bản mã sẽ dẫn thẳng về các chữ cái phổ biến nhất của ngôn ngữ. Đó là phân tích tần suất, và Công Cụ Đếm Tần Suất Chữ Cái sẽ giúp bạn đếm.

Hãy coi Atbash như một câu đố và một bài học đầu tiên: nó cho thấy phép thay thế là gì chỉ trong một dòng phép tính. Muốn có một khóa thực sự, hãy thử Mật Mã Affine, phương pháp tổng quát hóa cùng ý tưởng; muốn cách thay thế đổi từ chữ này sang chữ khác, hãy thử Mật Mã Vigenère.

Câu Hỏi Thường Gặp

Mật mã Atbash là gì?
Atbash là một mật mã thay thế đảo ngược bảng chữ cái: A thành Z, B thành Y, C thành X, và cứ thế đến M và N, là hai chữ cái đổi chỗ với nhau. Nó không có khóa, và cùng một phép hoán đổi vừa mã hóa vừa giải mã. Nó bắt nguồn từ phép thay thế bảng chữ cái Hebrew và nay là chủ đề quen thuộc trong câu đố và các bài học về mật mã.
Làm thế nào để giải mã Atbash?
Áp dụng Atbash thêm một lần nữa. Mỗi chữ cái đổi với cặp đối xứng của nó, nên mã hóa hai lần sẽ trả về bản gốc — Svool quay lại thành Hello. Đó là lý do công cụ này chỉ có một ô nhập thay vì chế độ mã hóa và giải mã riêng: dán bản mã vào và đọc bản rõ ra.
Atbash có giống mật mã Caesar không?
Không. Mật mã Caesar dịch mọi chữ cái cùng một khoảng cách dọc bảng chữ cái, nên các chữ cái giữ nguyên thứ tự (ABC thành DEF). Atbash phản chiếu bảng chữ cái, nên thứ tự bị đảo ngược (ABC thành ZYX), và không một phép dịch Caesar nào làm được điều đó. Tuy vậy, cả hai đều là trường hợp đặc biệt của mật mã affine: Caesar có a = 1, còn Atbash có a = 25 và b = 25.
Điều gì xảy ra với số, khoảng trắng và chữ cái có dấu?
Chữ số, khoảng trắng và dấu câu được giữ nguyên trừ khi bạn chọn loại bỏ chúng. Chữ cái Latinh có dấu được tính như chữ cái gốc, nên é được mã hóa như e, thành v. Chữ cái thuộc bảng chữ cái khác, như Cyrillic hay Hy Lạp, được giữ nguyên, và công cụ cho bạn biết nó tìm thấy bao nhiêu chữ như vậy.
Atbash có trong Kinh Thánh không?
Có. Các trường hợp rõ ràng nhất nằm trong Sách Giê-rê-mi: Sheshach (25:26 và 51:41) tương ứng từng chữ cái với Babel theo Atbash Hebrew, và Leb-kamai (51:1) tương ứng với Kasdim, tức người Canh-đê. Vì Ba-by-lôn cũng được nêu thẳng ở gần đó, phép hoán đổi thường được hiểu là trò chơi chữ chứ không phải kiểu viết bí mật.
Tại sao gọi là Atbash?
Cái tên ghép hai cặp hoán đổi đầu tiên của bảng chữ cái Hebrew: aleph với tav (א–ת) và bet với shin (ב–ש), tạo thành a-t-b-sh. Các cặp hoán đổi Hebrew khác cũng được đặt tên tương tự — chẳng hạn Albam ghép aleph với lamed và bet với mem.

Công Cụ Liên Quan

Thêm trong Mã và mật mã