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

Mã hóa và giải mã mật mã hai ô vuông, còn gọi là double Playfair — một mật mã cặp chữ cái mã hóa các chữ cái theo từng cặp trên hai ô vuông 5×5 được trộn bằng từ khóa. Nó đơn giản hơn Four-Square nhưng mạnh hơn Playfair, với cách bố trí dọc hoặc ngang và thiết kế nghịch đảo trong đó việc giải mã chính là thao tác giống hệt như mã hóa. Đặt cả hai từ khóa, theo dõi lưới 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 (trên / trái)

Từ khóa 2 (dưới / phải)

Bảng chữ cái 25 chữ: Q bị loại khỏi các ô vuông và khỏi văn bản, nên J giữ ô riêng của nó. Hai ô vuông được xếp chồng lên nhau, và các cặp cùng cột đi qua mà không thay đổi.

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

Mỗi cặp văn bản thường được tìm thấy ngang qua hai ô vuông từ khóa, và hai góc đối diện của hình chữ nhật mà nó tạo thành chính là cặp mã. Các ô từ khóa được tô sáng.

Ô vuông 1 (trên / trái)

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
S
T
U
V
W
X
Y
Z

Ô vuông 2 (dưới / phải)

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
S
T
U
V
W
X
Y
Z

Cách sử dụng Mật mã hai ô vuông

  1. 1

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

    Vì mật mã hai ô vuông có tính nghịch đảo, Mã hóa và Giải mã chạy các bước giống nhau; lựa chọn chỉ định khoảng cách của kết quả xuất ra. Chọn bảng chữ cái gộp I/J hoặc bỏ Q, và cách bố trí dọc hoặc ngang.

  2. 2

    Nhập hai từ khóa

    Gõ một từ khóa cho ô vuông thứ nhất và một từ khóa khác cho ô vuông thứ hai. 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, với các điểm trong suốt được vẽ mờ.

  4. 4

    Đọc lưới hai ô vuông

    Mở lưới để xem hai ô vuông từ khóa, được xếp chồng hoặc đặt cạnh nhau cho khớp với cách bố trí, 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, bảng chữ cái và cách bố trí của bạn, sẵn sàng để dùng.

Tìm hiểu về mật mã hai ô vuông

Mật mã hai ô vuông là gì?

Mật mã hai ô vuông, thường được gọi là double Playfair, là một mật mã thủ công mã hóa các chữ cái hai chữ một lần bằng hai ô vuông 5×5 được trộn bằng từ khóa. Nó nằm đúng giữa Playfair và Four-Square: Playfair dùng một ô vuông, Four-Square dùng bốn, còn mật mã hai ô vuông dùng hai. Nó thường được ghi công cho nhà mật mã học người Pháp Félix Delastelle, cũng chính là bộ óc đứng sau các mật mã Bifid và Four-Square, và nó cung cấp nhiều chất liệu khóa hơn Playfair trong khi vẫn dễ làm bằng tay.

Vì nó hoạt động trên các cặp chữ cái — gọi là digraph — mật mã hai ô 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 tần suất chữ cái đơn vốn khiến các mật mã thay thế đơn giản sụp đổ trong vài phút, và 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. Điểm kỳ quặc đáng chú ý duy nhất của nó là một số cặp được xuất ra mà không thay đổi, một điểm yếu được khám phá bên dưới, nhưng với tư cách là một mật mã thanh lịch và dễ học, nó là loại được ưa chuộng trong các câu đố và các thử thách capture-the-flag.

Mật mã hai ô vuông hoạt động ra sao

Dựng hai ô vuông 5×5, 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, theo thứ tự và không lặp lại, 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 gộp vào một ô.

Để mã hóa một cặp, định vị chữ cái thứ nhất trong ô vuông thứ nhất và chữ cái thứ hai trong ô vuông thứ hai. Hai chữ cái vạch ra một hình chữ nhật trải ngang qua các ô vuông; cặp mã được đọc từ hai góc đối diện, mỗi góc nằm trong ô vuông của riêng nó. Việc giải mã không cần một quy trình riêng: mật mã hai ô vuông có tính nghịch đảo, nên chạy đúng các bước giống hệt trên cặp mã sẽ trả lại cặp văn bản thường gốc. Tính tự nghịch đảo đó là một trong những đặc điểm quyến rũ nhất của mật mã này.

Cách bố trí dọc và ngang

Hai ô vuông có thể được sắp xếp theo hai cách. Trong cách bố trí dọc, chúng được xếp chồng lên nhau, ô này ở trên ô kia: chữ cái thứ nhất của mỗi cặp được tìm thấy trong ô vuông trên, chữ cái thứ hai trong ô vuông dưới, và các chữ cái mã cùng chia sẻ các hàng nhưng hoán đổi cột. Trong cách bố trí ngang, hai ô vuông nằm cạnh nhau: chữ cái thứ nhất được tìm thấy trong ô vuông trái và chữ cái thứ hai trong ô vuông phải, và các chữ cái mã cùng chia sẻ các cột nhưng hoán đổi hàng.

Hai cách bố trí tạo ra văn bản mã khác nhau từ cùng các từ khóa, nên trên thực tế chúng là những thiết lập khác biệt mà người gửi và người nhận phải thống nhất với nhau. Với các từ khóa EXAMPLE và KEYWORD cùng bảng chữ cái bỏ Q, thông điệp HELP ME OBI WAN KENOBI mã hóa thành HE DL XW SD JY AN HO TK DG trong cách bố trí dọc, nhưng thành XG NB ME BP AI RY PG ES HB trong cách bố trí ngang. Chọn cách bố trí ở trên và lưới trực tiếp sẽ xếp lại cho khớp.

Hai từ khóa và bảng chữ cái

Mật mã hai ô vuông có hai bí mật độc lập: một từ khóa cho mỗi ô vuông. 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 trước, rồi đến phần còn lại của bảng chữ cái — và 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. Cả người gửi lẫn người nhận phải cùng chia sẻ cả hai từ khóa, cùng một biến thể bảng chữ cái và cùng một cách bố trí.

Bạn có thể để trống một từ khóa để dùng một ô vuông theo thứ tự bảng chữ cái thường thay cho nó. Để trống cả hai khiến hai ô 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 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. Để dùng thực tế, hai từ khóa mạnh và khác nhau mang lại độ an toàn cao nhất.

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

Lấy HELP ME OBI WAN KENOBI với từ khóa 1 EXAMPLE và từ khóa 2 KEYWORD, dùng bảng chữ cái bỏ Q và cách bố trí dọc. Văn bản tách thành các cặp HE, LP, ME, OB, IW, AN, KE, NO, BI. Với HE, H nằm trong ô vuông trên và E trong ô vuông dưới; vì chúng cùng chia sẻ một cột, cặp này đi thẳng qua mà không thay đổi thành HE — một điểm trong suốt.

Với LP, L nằm trong ô vuông trên và P trong ô vuông dưới ở các cột khác nhau, nên các góc khác của hình chữ nhật cho ra D trong ô vuông trên và L trong ô vuông dưới: LP trở thành DL. Tiếp tục, toàn bộ thông điệp mã hóa thành HE DL XW SD JY AN HO TK DG. Lưu ý rằng HE và AN xuất hiện trở lại không thay đổi. Vì mật mã có tính nghịch đảo, việc giải mã với cùng các từ khóa, bảng chữ cái và cách bố trí sẽ chạy đúng các bước giống hệt và khôi phục lại HELPMEOBIWANKENOBI.

Các điểm trong suốt: điểm yếu của mật mã hai ô vuông

Mật mã hai ô vuông có một lỗ hổng nổi tiếng: mỗi khi hai chữ cái của một cặp đã cùng chia sẻ tọa độ bị hoán đổi — cùng cột trong cách bố trí dọc, hoặc cùng hàng trong cách bố trí ngang — cặp mã trở nên giống hệt cặp văn bản thường. Những cặp lộ liễu này được gọi là các điểm trong suốt, và trung bình khoảng một phần năm số cặp chữ cái xuất ra mà không thay đổi.

Các điểm trong suốt rò rỉ văn bản thường thẳng vào văn bản mã và đã cho các nhà phân tích mật mã một chỗ bám, đó là lý do mật mã hai ô vuông cuối cùng bị xem là yếu hơn các lựa chọn thay thế không có đặc tính này. Bảng phân tích vẽ các điểm trong suốt theo kiểu làm mờ để bạn có thể thấy chính xác chúng xảy ra thường xuyên ra sao với văn bản và từ khóa của bạn — một minh họa sống động về việc tại sao ngay cả một mật mã thủ công khôn khéo cũng có thể phản bội thông điệp của nó.

Hai ô vuông so với Playfair và Four-Square, và độ an toàn

Mật mã hai ô vuông là một bước trung gian trong họ các mật mã ô vuông của Delastelle. Nó cải tiến Playfair bằng cách dùng hai từ khóa thay vì một và bằng cách không bao giờ cần tách các chữ cái đôi — vì hai nửa của một cặp đến từ các ô vuông khác nhau, một cặp như LL hay EE được mã hóa một cách gọn gàng. Four-Square đi xa hơn với bốn ô vuông và không có điểm trong suốt, đổi lại là phải thiết lập nhiều hơn; mật mã hai ô vuông giữ mọi thứ nhẹ nhàng hơn nhưng phải trả giá bằng điểm yếu trong suốt.

Theo tiêu chuẩn hiện đại, mật mã hai ô 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, và các điểm trong suốt khiến nó đặc biệt dễ bị tổn thương, 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. Để 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ã hai ô 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ã hai ô vuông là gì?
Mật mã hai ô vuông, còn được gọi là double Playfair, là một mật mã thay thế cặp chữ cái (digraph) dùng hai ô vuông 5×5 được trộn bằng từ khóa. Nó nằm giữa Playfair, loại dùng một ô vuông, và Four-Square, loại dùng bốn. Các chữ cái được mã hóa hai chữ một lần, và hai từ khóa độc lập mang lại cho nó nhiều chất liệu khóa hơn Playfair trong khi vẫn giữ nó dễ làm bằng tay.
Mật mã hai ô vuông hoạt động như thế nào?
Dựng hai ô vuông 5×5 được trộn bằng từ khóa. Để mã hóa một cặp, tìm chữ cái thứ nhất trong ô vuông thứ nhất và chữ cái thứ hai trong ô vuông thứ hai; hai chữ cái tạo thành một hình chữ nhật, và cặp mã được đọc từ các góc đối diện, mỗi góc nằm trong ô vuông của riêng nó. Việc giải mã chạy đúng các bước giống hệt, vì mật mã hai ô vuông có tính nghịch đảo — áp dụng nó hai lần sẽ trả lại văn bản gốc.
Sự khác biệt giữa cách bố trí dọc và ngang là gì?
Trong cách bố trí dọc, hai ô vuông được xếp chồng lên nhau, chữ cái thứ nhất của mỗi cặp được tìm thấy trong ô vuông trên và chữ cái thứ hai trong ô vuông dưới, và các chữ cái mã hoán đổi cột. Trong cách bố trí ngang, hai ô vuông nằm cạnh nhau, chữ cái thứ nhất nằm trong ô vuông trái và chữ cái thứ hai trong ô vuông phải, và các chữ cái mã hoán đổi hàng. Cùng các từ khóa cho ra văn bản mã khác nhau trong mỗi cách bố trí, nên cả hai bên phải thống nhất về nó.
Tại sao mật mã hai ô vuông được gọi là double Playfair?
Vì nó được dựng từ hai ô vuông có khóa theo kiểu Playfair và mã hóa các cặp chữ cái gần giống như cách Playfair làm, mật mã hai ô vuông được gọi rộng rãi bằng biệt danh double Playfair. Không nên nhầm lẫn nó với mật mã chiến trường không liên quan thời Thế chiến II đôi khi cũng được gọi là double Playfair; ở đây cái tên đơn giản phản ánh hai ô vuông từ khóa của nó và mối quan hệ họ hàng gần gũi với mật mã Playfair gốc.
Bạn có thể cho một ví dụ thực hành về mật mã hai ô vuông không?
Với từ khóa 1 EXAMPLE, từ khóa 2 KEYWORD, bảng chữ cái bỏ Q và cách bố trí dọc, HELP ME OBI WAN KENOBI tách thành HE, LP, ME, OB, IW, AN, KE, NO, BI và mã hóa thành HE DL XW SD JY AN HO TK DG. HE và AN cùng chia sẻ một cột, nên chúng đi qua mà không thay đổi như các điểm trong suốt, trong khi LP trở thành DL và phần còn lại tuân theo quy tắc hình chữ nhật.
Các điểm trong suốt trong mật mã hai ô vuông là gì?
Một điểm trong suốt là một cặp chữ cái mã hóa thành chính nó. Nó xảy ra mỗi khi hai chữ cái đã cùng chia sẻ tọa độ mà mật mã sẽ hoán đổi — cùng cột trong cách bố trí dọc, hoặc cùng hàng trong cách bố trí ngang. Khoảng một phần năm số cặp chữ cái là một điểm trong suốt, điều này rò rỉ văn bản thường vào văn bản mã và là điểm yếu chính của mật mã hai ô vuông. Bảng phân tích hiển thị chúng theo kiểu làm mờ.
Làm thế nào để giải mã một mật mã hai ô vuông?
Vì mật mã có tính nghịch đảo, việc giải mã giống hệt việc mã hóa: tách văn bản mã thành các cặp và chạy mỗi cặp qua hai ô vuông một lần nữa. Trong công cụ này, chọn Giải mã và nhập cùng hai từ khóa, biến thể bảng chữ cái và cách bố trí đã được dùng để mã hóa, và nó sẽ dựng lại thông điệp cho bạn, được nối liền mà không có các dấu cách của lúc mã hóa.
Mật mã hai ô vuông khác với mật mã Four-Square như thế nào?
Cả hai đều là mật mã cặp chữ cái thuộc họ của Delastelle. Mật mã hai ô vuông dùng hai ô vuông từ khóa và có tính nghịch đảo nhưng chịu ảnh hưởng của các điểm trong suốt, nơi một số cặp mã hóa thành chính chúng. Four-Square dùng bốn ô vuông — hai ô thường và hai ô có khóa — không có điểm trong suốt, và mạnh hơn một chút, nhưng nó cần thiết lập nhiều hơn. Mật mã hai ô vuông đánh đổi một phần độ mạnh để có một thiết kế nhẹ hơn, tự nghịch đảo.
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. 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.
Đ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 hai ô 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.
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ã bốn ô vuông

Mật mã Playfair

Mật mã Bifid

Mật mã Trifid

Mật mã Hill

Mật mã Caesar