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ã bốn ô vuông

Mã hóa và giải mã mật mã bốn ô vuông, loại mật mã cặp chữ cái dùng hai từ khóa do Félix Delastelle phát minh. Các chữ cái được mã hóa theo từng cặp trên bốn ô vuông 5×5 — hai ô vuông thường và hai ô vuông được trộn bởi các từ khóa của bạn — khiến nó mạnh hơn Playfair một cách rõ rệt. Đặt cả hai từ khóa, theo dõi lưới bốn ô vuông trực tiếp và phần phân tích từng cặp, rồi sao chép, tải xuống hoặc chia sẻ kết quả. Mọi thứ đều chạy trong trình duyệt của bạn.

Từ khóa

Từ khóa 1 (góc trên phải)

Từ khóa 2 (góc dưới trái)

Bảng chữ cái 25 chữ: I và J cùng chia sẻ một ô, nên một J được giải mã sẽ đọc trở lại thành I. Lựa chọn kinh điển cho mật mã bốn ô vuông.

Văn bản thường
Văn bản mã

Nhập văn bản ở trên để xem kết quả tại đây.

Lưới bốn ô vuông

Các chữ cái văn bản thường được tìm thấy trong hai ô vuông thường (góc trên trái và góc dưới phải); các chữ cái mã được đọc từ hai ô vuông từ khóa (góc trên phải và góc dưới trái), với các ô từ khóa được tô sáng.

Ô vuông thường

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

Ô vuông từ khóa 2

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

Ô vuông từ khóa 1

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

Ô vuông thường

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

Cách sử dụng Mật mã bốn ô vuông

  1. 1

    Chọn mã hóa hoặc giải mã và một bảng chữ cái

    Chọn Mã hóa để biến văn bản thường thành các cặp mã bốn ô vuông, hoặc Giải mã để biến chúng trở lại. Chọn bảng chữ cái gộp I/J (mặc định kinh điển) hoặc bỏ Q để giữ J tách biệt.

  2. 2

    Nhập hai từ khóa

    Gõ một từ khóa cho ô vuông góc trên phải và một từ khóa khác cho ô vuông góc dưới trái. Cả hai bên phải cùng chia sẻ cả hai từ khóa. Để trống một hoặc cả hai để dùng một ô vuông thường thay cho nó.

  3. 3

    Nhập hoặc dán văn bản của bạn

    Nhập thông điệp của bạn và nó được chuyển đổi ngay khi bạn gõ. Bảng các bước hiển thị mỗi cặp văn bản thường nằm trên cặp mã mà nó trở thành.

  4. 4

    Đọc lưới bốn ô vuông

    Mở lưới để xem hai ô vuông thường và hai ô vuông từ khóa, với các ô từ khóa được tô sáng, để bạn có thể lần theo bất kỳ cặp nào bằng mắt.

  5. 5

    Sao chép, tải xuống hoặc chia sẻ

    Sao chép kết quả, tải 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 văn bản, từ khóa và bảng chữ cái của bạn, sẵn sàng để dùng.

Tìm hiểu về mật mã bốn ô vuông

Mật mã bốn ô vuông là gì?

Mật mã bốn ô vuông là một mật mã thủ công mã hóa các chữ cái hai chữ một lần, do nhà mật mã học người Pháp Félix Delastelle phát minh vào khoảng năm 1902 — cũng chính là bộ óc đa tài đứng sau các mật mã Bifid và Trifid. Nó là họ hàng gần của mật mã Playfair cổ hơn, nhưng trong khi Playfair dùng một ô vuông 5×5 duy nhất, mật mã bốn ô vuông trải công việc ra trên bốn ô vuông được sắp xếp thành một khối 2×2. Hai trong số đó giữ bảng chữ cái thường và hai ô được trộn bởi các từ khóa riêng biệt, nên mật mã giấu đi tần suất của từng chữ cái đơn và khó phá bằng tay hơn Playfair một cách đáng kể.

Vì nó hoạt động trên các cặp chữ cái — gọi là digraph — thay vì từng chữ cái đơn, mật mã bốn ô vuông là một mật mã thay thế đa ký tự. Việc mã hóa theo cặp làm phẳng dấu vết tần suất chữ cái vốn khiến các mật mã thay thế đơn giản sụp đổ trong vài phút, và việc dùng hai từ khóa độc lập gần như nhân đôi lượng chất liệu khóa so với Playfair. Nó chưa bao giờ đạt được danh tiếng của Playfair, loại mà các quân đội thực sự triển khai, nhưng nó là một minh họa đẹp đẽ và rất dễ học về cách một thay đổi nhỏ trong cách bố trí mang lại một bước nhảy thực sự về độ mạnh.

Mật mã bốn ô vuông hoạt động ra sao

Bố trí bốn ô vuông 5×5 thành một khối 2×2. Ô vuông góc trên trái và góc dưới phải giữ bảng chữ cái thường theo thứ tự; ô vuông góc trên phải và góc dưới trái mỗi ô giữ một bảng chữ cái được trộn bằng từ khóa (các chữ cái riêng biệt của từ khóa trước, rồi đến phần còn lại của bảng chữ cái). Vì 26 chữ cái phải vừa vào 25 ô, một chữ cái bị gộp lại — theo cách kinh điển thì I và J cùng chia sẻ một ô.

Để mã hóa một cặp chữ cái, tìm chữ cái thứ nhất trong ô vuông thường góc trên trái và chữ cái thứ hai trong ô vuông thường góc dưới phải. Hai chữ cái mã được đọc từ các ô vuông từ khóa: chữ cái thứ nhất là chữ cái trong ô vuông góc trên phải nằm cùng hàng với chữ cái thứ nhất và cùng cột với chữ cái thứ hai; chữ cái thứ hai là chữ cái trong ô vuông góc dưới trái nằm cùng hàng với chữ cái thứ hai và cùng cột với chữ cái thứ nhất. Nói ngắn gọn: hai chữ cái thường vạch ra một hình chữ nhật ngang qua các ô vuông, và hai góc đối diện trong các ô vuông từ khóa chính là cặp chữ mã. Việc giải mã chỉ đơn giản là đảo ngược đường đi — định vị các chữ cái mã trong các ô vuông từ khóa và đọc các chữ cái thường trở lại từ các ô vuông thường.

Hai từ khóa và các ô vuông thường

Mật mã bốn ô vuông có hai bí mật độc lập: từ khóa cho ô vuông góc trên phải và từ khóa cho ô vuông góc dưới trái. Mỗi ô được dựng giống hệt như một ô vuông Playfair hay Polybius có khóa — các chữ cái riêng biệt của từ khóa được viết vào trước, theo thứ tự và không lặp lại, rồi phần còn lại của bảng chữ cái theo sau. Lưới trực tiếp bên dưới tô sáng các ô từ khóa để bạn có thể quan sát quá trình trộn; hai ô vuông thường luôn giữ nguyên thứ tự bảng chữ cái thường, vì chúng chỉ được dùng để *tìm* các chữ cái, không bao giờ để ngụy trang chúng.

Cả người gửi lẫn người nhận phải cùng chia sẻ cả hai từ khóa và thống nhất về biến thể bảng chữ cái. Bạn có thể để trống một từ khóa để dùng một ô vuông thường thay cho nó — và nếu bạn để trống cả hai, cả bốn ô vuông đều giống hệt nhau và mật mã rút gọn thành một phép hoán vị cặp chữ cái cố định, một cách tiện lợi để thấy hình học của nó trước khi bất kỳ sự trộn từ khóa nào được thêm vào.

Gộp I/J hoặc bỏ Q

Hai mươi sáu chữ cái không vừa vào hai mươi lăm ô, nên một chữ cái phải nhường chỗ. Quy ước kinh điển của mật mã bốn ô vuông, chung với Playfair, gộp I và J vào một ô: một J trong thông điệp được mã hóa thành I, và một I được giải mã có thể đại diện cho chữ nào trong hai chữ — gần như luôn rõ ràng từ ngữ cảnh. Đây là mặc định ở đây.

Lựa chọn thay thế loại bỏ hoàn toàn Q khỏi các ô vuông (và khỏi văn bản), giữ cho I và J tách biệt — hữu ích khi sự mơ hồ J/I quan trọng hơn chữ Q hiếm gặp. Chọn biến thể bằng nút chuyển ở trên; lưới trực tiếp tự gắn nhãn lại, và cả hai bên phải dùng cùng một biến thể nếu không thông điệp sẽ không giải mã được.

Một ví dụ thực hành mật mã bốn ô vuông

Lấy từ ATTACK với từ khóa 1 EXAMPLE (góc trên phải) và từ khóa 2 KEYWORD (góc dưới trái), dùng bảng chữ cái gộp I/J. ATTACK tách thành các cặp AT, TA, CK. Với cặp đầu tiên, A nằm ở hàng 1, cột 1 của ô vuông thường góc trên trái, và T nằm ở hàng 4, cột 4 của ô vuông thường góc dưới phải.

Chữ cái mã thứ nhất được đọc từ ô vuông từ khóa góc trên phải tại hàng của A và cột của T, rơi vào M; chữ cái thứ hai được đọc từ ô vuông từ khóa góc dưới trái tại hàng của T và cột của A, cũng rơi vào M — nên AT mã hóa thành MM. Tiếp tục, TA trở thành OW và CK trở thành PA, nên ATTACK mã hóa thành MM OW PA. Lưu ý rằng mật mã có thể tạo ra một chữ cái đôi như MM, điều mà Playfair không bao giờ làm. Việc giải mã với cùng hai từ khóa đảo ngược từng cặp thẳng trở lại thành ATTACK.

Giải mã một thông điệp bốn ô vuông

Việc giải mã chạy cùng bộ máy đó theo chiều ngược lại. Tách văn bản mã thành các cặp, tìm chữ cái thứ nhất của mỗi cặp trong ô vuông từ khóa góc trên phải và chữ cái thứ hai trong ô vuông từ khóa góc dưới trái, rồi đọc các chữ cái thường ra khỏi hai ô vuông thường tại các hàng và cột tương ứng. Công cụ này làm tất cả những điều đó cho bạn khi bạn chọn Giải mã và nhập cùng hai từ khóa và biến thể bảng chữ cái đã được dùng để mã hóa.

Vì chỉ có các chữ cái A–Z tồn tại trên các ô vuông, mọi dấu cách, chữ số và dấu câu trong thông điệp gốc đều bị bỏ đi trong quá trình mã hóa và sẽ không xuất hiện trở lại. Một chữ cái cuối lẻ loi được đệm thêm (bằng X, hoặc Z khi chính chữ cái đó là X) để thông điệp có thể được tách thành các cặp trọn vẹn, nên một thông điệp được giải mã có thể kết thúc bằng một chữ cái đệm thừa — điều đó vốn có ở các mật mã cặp chữ cái, không phải lỗi của công cụ.

Bốn ô vuông so với Playfair, và độ an toàn

Mật mã bốn ô vuông cải tiến Playfair theo hai cách. Nó dùng hai từ khóa thay vì một, nhân đôi chất liệu khóa, và nó không bao giờ cần chèn một ký tự đệm vào giữa các chữ cái đôi như cách Playfair làm, vì hai nửa của một cặp được đọc từ các ô vuông khác nhau — nên một cặp như LL hay EE được mã hóa một cách gọn gàng. Những thay đổi đó khiến việc làm bằng tay hơi tốn công hơn một chút nhưng rõ ràng khó tấn công hơn, trong khi vẫn giữ cùng ý tưởng lưới dễ hình dung.

Tuy nhiên, theo tiêu chuẩn hiện đại, mật mã bốn ô vuông vẫn là một mật mã cổ điển và không an toàn trước máy tính. Giống như mọi mật mã thay thế cặp chữ cái, nó bảo toàn tần suất của các cặp chữ cái, nên với đủ văn bản nó sẽ chịu thua trước phân tích tần suất cặp chữ cái và các cuộc tấn công khi đã biết văn bản gốc. Giá trị của nó ngày nay là về mặt giáo dục — nó là một bước tiến thanh lịch từ Playfair làm cho lợi ích của việc có thêm chất liệu khóa trở nên rõ ràng. Để bảo vệ thông tin thực sự, hãy luôn dùng một thuật toán hiện đại, đã được giới chuyên môn bình duyệt như AES, và giữ mật mã bốn ô vuông cho lịch sử, các câu đố và các thử thách capture-the-flag.

Câu hỏi thường gặp

Mật mã bốn ô vuông là gì?
Mật mã bốn ô vuông là một mật mã thay thế cặp chữ cái (digraph) do Félix Delastelle phát minh vào khoảng năm 1902. Nó dùng bốn ô vuông 5×5 trong một khối 2×2 — hai ô giữ bảng chữ cái thường và hai ô được trộn bởi các từ khóa riêng biệt — để mã hóa các chữ cái hai chữ một lần. Nó là họ hàng mạnh hơn của mật mã Playfair, dùng hai từ khóa thay vì một và không bao giờ cần tách các chữ cái đôi.
Mật mã bốn ô vuông hoạt động như thế nào?
Bố trí bốn ô vuông 5×5. Để mã hóa một cặp, tìm chữ cái thứ nhất trong ô vuông thường góc trên trái và chữ cái thứ hai trong ô vuông thường góc dưới phải; cặp mã là chữ cái trong ô vuông góc trên phải nằm cùng hàng với chữ cái thứ nhất và cùng cột với chữ cái thứ hai, tiếp theo là chữ cái trong ô vuông góc dưới trái nằm cùng hàng với chữ cái thứ hai và cùng cột với chữ cái thứ nhất. Việc giải mã đảo ngược điều này — tìm các chữ cái mã trong các ô vuông từ khóa và đọc các chữ cái thường trở lại từ các ô vuông thường.
Tại sao mật mã bốn ô vuông dùng hai từ khóa?
Hai từ khóa trộn ô vuông góc trên phải và góc dưới trái một cách độc lập, điều này gần như nhân đôi chất liệu khóa so với từ khóa đơn của Playfair và khiến mật mã khó phá hơn. Hai ô vuông thường giữ nguyên thứ tự bảng chữ cái vì chúng chỉ được dùng để định vị các chữ cái văn bản thường, không phải để ngụy trang chúng. Cả người gửi lẫn người nhận phải cùng chia sẻ cả hai từ khóa và cùng một biến thể bảng chữ cái.
Bạn có thể cho một ví dụ thực hành về mật mã bốn ô vuông không?
Với từ khóa 1 EXAMPLE, từ khóa 2 KEYWORD và bảng chữ cái gộp I/J, ATTACK tách thành AT, TA, CK. Với AT, A ở hàng 1 cột 1 của ô vuông thường góc trên trái và T ở hàng 4 cột 4 của ô vuông thường góc dưới phải; đọc ô vuông góc trên phải tại hàng của A và cột của T cho ra M, và ô vuông góc dưới trái tại hàng của T và cột của A cũng cho ra M, nên AT trở thành MM. TA trở thành OW và CK trở thành PA, nên ATTACK mã hóa thành MM OW PA.
Làm thế nào để giải mã một mật mã bốn ô vuông?
Tách văn bản mã thành các cặp, tìm chữ cái thứ nhất của mỗi cặp trong ô vuông từ khóa góc trên phải và chữ cái thứ hai trong ô vuông từ khóa góc dưới trái, rồi đọc các chữ cái thường ra khỏi hai ô vuông thường tại các hàng và cột tương ứng. Trong công cụ này, chọn Giải mã và nhập cùng hai từ khóa và biến thể bảng chữ cái đã được dùng để mã hóa, và nó sẽ dựng lại thông điệp cho bạn.
Mật mã bốn ô vuông khác với mật mã Playfair như thế nào?
Cả hai đều là mật mã cặp chữ cái được dựng trên các ô vuông 5×5, nhưng mật mã bốn ô vuông dùng bốn ô vuông và hai từ khóa, trong khi Playfair dùng một ô vuông và một từ khóa. Mật mã bốn ô vuông cũng không bao giờ chèn một ký tự đệm vào giữa các chữ cái đôi — vì hai nửa của một cặp được đọc từ các ô vuông khác nhau, một cặp như LL được mã hóa gọn gàng — trong khi Playfair phải tách các chữ cái đôi. Những thay đổi đó khiến mật mã bốn ô vuông tốn công bằng tay hơn một chút nhưng rõ ràng khó phá hơn.
Sự khác biệt giữa gộp I/J và bỏ Q là gì?
Hai mươi sáu chữ cái không vừa vào hai mươi lăm ô, nên một chữ phải nhường chỗ. Lựa chọn kinh điển gộp I và J vào một ô, nên một J được mã hóa thành I và một J được giải mã đọc trở lại thành I. Lựa chọn thay thế loại bỏ Q khỏi các ô vuông và văn bản, giữ cho I và J tách biệt. Chọn cái nào phù hợp với thông điệp của bạn; cả hai bên phải dùng cùng một biến thể nếu không mật mã sẽ không giải mã chính xác.
Mật mã bốn ô vuông có thể tạo ra các chữ cái đôi không?
Có. Vì hai nửa của một cặp được đọc từ hai ô vuông khác nhau, một cặp văn bản thường có thể mã hóa thành một chữ cái đôi như MM hoặc LL, và văn bản thường có chữ đôi như LL được mã hóa mà không cần ký tự đệm nào. Đây là một khác biệt thấy rõ so với Playfair, loại không bao giờ có thể xuất ra một cặp đôi và phải tách văn bản thường có chữ đôi bằng một chữ X. Điều này là bình thường và không cho thấy lỗi.
Điều gì xảy ra với dấu cách, chữ số và dấu câu?
Chỉ có các chữ cái A–Z tồn tại trên các ô vuông, nên dấu cách, chữ số và dấu câu bị loại bỏ trước khi mã hóa và không xuất hiện trở lại khi bạn giải mã. Nếu thông điệp có số chữ cái lẻ, một ký tự đệm (X, hoặc Z khi chữ cái cuối chính là X) được thêm vào để nó có thể được tách thành các cặp trọn vẹn, nên một thông điệp được giải mã có thể kết thúc bằng một chữ cái thừa. Sự mất định dạng này vốn có ở mật mã này.
Tôi có phải dùng từ khóa trong cả hai ô vuông không?
Không. Bạn có thể để trống một trong hai từ khóa để dùng một ô vuông theo thứ tự bảng chữ cái thường thay cho nó, và để trống cả hai khiến cả bốn ô vuông giống hệt nhau — điều này biến mật mã thành một phép hoán vị cặp chữ cái cố định, một cách hữu ích để thấy hình học của nó trước khi trộn từ khóa. Để dùng thực tế, hai từ khóa mạnh và khác nhau mang lại độ an toàn cao nhất, và cả hai phải được chia sẻ với người nhận.
Mật mã bốn ô vuông an toàn đến mức nào?
Không an toàn theo tiêu chuẩn hiện đại. Nó mạnh hơn Playfair nhờ hai từ khóa và cách xử lý các chữ cái đôi gọn gàng hơn, nhưng nó vẫn là một mật mã cặp chữ cái cổ điển: nó bảo toàn tần suất của các cặp chữ cái, nên với đủ văn bản mã nó sẽ thất thủ trước phân tích tần suất cặp chữ cái và các cuộc tấn công khi đã biết văn bản gốc. Nó là một mật mã thủ công hợp lý vào thời của nó và rất tuyệt cho việc học, nhưng để bảo vệ thực sự hãy dùng một thuật toán hiện đại như AES.
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 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ữ văn bản và từ khóa 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 thông điệp của bạn vẫn riêng tư cho đến khi bạn chọn chia sẻ liên kết.

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ã hai ô vuông

Mật mã Playfair

Mật mã Bifid

Mật mã Trifid

Mật mã Hill

Mật mã Caesar