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ã Bifid

Mã hóa và giải mã mật mã Bifid, vốn phân số hóa mỗi chữ cái thành tọa độ Polybius rồi trộn chúng lại để mỗi chữ cái đầu ra phụ thuộc vào hai chữ cái đầu vào. Đặt chu kỳ, chuyển đổi giữa bảng 5×5 và 6×6, thêm một từ khóa tùy chọn, theo dõi quá trình phân số hóa trực tiế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.

Thiết lập mật mã

Bảng

Chu kỳ

Từ khóa

Chu kỳ là kích thước khối: văn bản được chia thành các khối gồm bấy nhiêu chữ cái và các tọa độ được trộn trong từng khối. Cả hai bên phải dùng cùng một chu kỳ.

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.

Bảng Polybius

1

2

3

4

5

1

A
B
C
D
E

2

F
G
H
I/J
K

3

L
M
N
O
P

4

Q
R
S
T
U

5

V
W
X
Y
Z

Cách sử dụng Mật mã Bifid

  1. 1

    Chọn mã hóa hoặc giải mã

    Chọn Mã hóa để biến văn bản thường thành văn bản mã Bifid, hoặc Giải mã để biến văn bản mã trở lại thành văn bản thường.

  2. 2

    Chọn bảng và từ khóa

    Chọn bảng 5×5 cổ điển, nơi I và J dùng chung một ô, hoặc bảng 6×6, vốn thêm các chữ số 0 đến 9. Để trống từ khóa cho bảng thông thường hoặc nhập một từ khóa để trộn nó.

  3. 3

    Đặt chu kỳ

    Chọn kích thước khối mà mật mã làm việc. Chu kỳ bằng 0 coi toàn bộ thông điệp là một khối. Cả hai bên phải dùng cùng một chu kỳ.

  4. 4

    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 phân số hóa hiển thị các chữ cái của mỗi khối lên trên các chữ số hàng và cột của chúng.

  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, bảng, từ khóa và chu kỳ của bạn, sẵn sàng để dùng.

Tìm hiểu về mật mã Bifid

Mật mã Bifid là gì?

Mật mã Bifid là một mật mã cổ điển do nhà mật mã học người Pháp Félix-Marie Délastelle phát minh vào khoảng năm 1901. Nó xây dựng trực tiếp trên bảng Polybius: mỗi chữ cái trước hết được biến thành một cặp tọa độ — hàng và cột của nó — rồi các tọa độ đó được xáo trộn cùng nhau trước khi được đọc lại thành chữ cái. Thiết kế hai giai đoạn này kết hợp phép thay thế với phép hoán vị, và đó là điều mang lại cho Bifid sức mạnh so với một phép thay thế Polybius thuần túy.

Phần khéo léo nằm ở sự trộn lẫn. Vì các chữ số hàng và cột của các chữ cái lân cận được đan xen trước khi chúng được ghép cặp lại, mỗi chữ cái của đầu ra rốt cuộc phụ thuộc vào hai chữ cái khác nhau của đầu vào. Sự lan tỏa thông tin đó — gọi là khuếch tán — che giấu những mẫu hình tần suất chữ cái dễ lộ vốn khiến các mật mã thay thế đơn giản dễ bị phá đến vậy, và nó khiến Bifid trở thành một ví dụ giảng dạy được ưa chuộng cho cách phân số hóa làm mạnh một mật mã.

Mật mã Bifid hoạt động ra sao

Việc mã hóa diễn ra theo ba bước. Thứ nhất, phân số hóa: mỗi chữ cái được tra trong bảng và thay bằng số hàng và số cột của nó. Thứ hai, các tọa độ của một khối chữ cái được viết ra thành hai hàng — tất cả các chữ số hàng trên dòng trên và tất cả các chữ số cột trên dòng dưới. Thứ ba, chuỗi chữ số kết hợp đó được đọc thẳng ngang qua, lấy hai cái một lần, và mỗi cặp được tra trong bảng như một hàng và một cột để tạo ra một chữ cái mã.

Viết các hàng trước và các cột sau là trái tim của phương pháp: nó đan xen những chữ số đến từ các chữ cái khác nhau. Công cụ ở trên hiển thị điều này trực tiếp. Khi bạn gõ, bảng phân số hóa trải các chữ cái của mỗi khối lên trên các chữ số hàng và cột của chúng, đúng theo cách bạn sẽ thực hiện mật mã bằng tay trên giấy, nên bạn có thể quan sát các chữ số của một chữ cái đầu vào trôi tách ra thành hai chữ cái đầu ra riêng biệt.

Bảng Polybius: 5×5 và 6×6

Bifid cần một bảng Polybius để đọc tọa độ từ đó, và bạn có thể chọn kích thước của nó. Bảng 5×5 cổ điển chứa 25 ô, thiếu một ô so với bảng chữ cái 26 chữ, nên theo truyền thống I và J dùng chung một ô; do đó một chữ J bạn mã hóa sẽ trở lại thành I khi bạn giải mã. Các hàng và cột được đánh số từ 1 đến 5, và đây là phiên bản được dùng trong hầu hết mọi ví dụ sách giáo khoa về Bifid.

Bảng 6×6 chứa 36 ô — cả 26 chữ cái cộng với các chữ số 0 đến 9 — nên không có gì bị gộp và cả chữ cái lẫn chữ số đều đảo ngược lại chính xác. Bạn cũng có thể trộn một trong hai bảng bằng một từ khóa: các chữ cái duy nhấ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, đúng như cách một bảng Playfair hay Polybius có khóa được dựng lên. Lưới trực tiếp làm nổi bật các chữ cái của từ khóa để bạn có thể thấy sự trộn lẫn.

Chu kỳ, hay kích thước khối

Chu kỳ là kích thước khối mà Bifid làm việc. Văn bản được chia thành các khối gồm bấy nhiêu chữ cái, và việc đan xen hàng-rồi-cột được thực hiện trong từng khối một cách độc lập. Một chu kỳ ngắn giới hạn ảnh hưởng của mỗi chữ cái có thể lan xa đến đâu; một chu kỳ dài trải nó ra khắp phần lớn thông điệp. Lựa chọn phổ biến là chu kỳ từ năm đến mười chữ cái, và người gửi cùng người nhận phải thống nhất cùng một giá trị.

Đặt chu kỳ thành 0 nghĩa là hoàn toàn không có chu kỳ: toàn bộ thông điệp được coi là một khối duy nhất, đây là sơ đồ mà Délastelle mô tả nguyên thủy và là sơ đồ cho khả năng khuếch tán mạnh nhất. Sự đánh đổi là một thông điệp dài không có chu kỳ sẽ khó xử lý bằng tay hơn. Hãy thử đổi chu kỳ ở trên và xem văn bản mã thay đổi ra sao dù bảng và văn bản vẫn giữ nguyên — sự nhạy cảm đó chính là toàn bộ ý nghĩa của cấu trúc khối.

Một ví dụ Bifid thực hành

Lấy từ HELLO với bảng 5×5 thông thường và một chu kỳ phủ trọn từ. Trước hết phân số hóa: H là hàng 2 cột 3, E là hàng 1 cột 5, L là hàng 3 cột 1, chữ L thứ hai lại là hàng 3 cột 1, và O là hàng 3 cột 4. Viết các hàng trên một dòng cho ra 2 1 3 3 3, và các cột trên dòng tiếp theo cho ra 3 5 1 1 4.

Bây giờ đọc hai dòng thẳng ngang qua như một chuỗi duy nhất — 2 1 3 3 3 3 5 1 1 4 — và lấy các chữ số theo cặp: 21, 33, 33, 51, 14. Tra mỗi cặp trong bảng như một hàng và một cột cho ra F, N, N, V và D, nên HELLO mã hóa thành FNNVD. Hãy để ý cách các chữ L lặp lại không còn xuất hiện như một mẫu hình lặp lại trong đầu ra — đó là khuếch tán đang vận hành. Với chu kỳ 3 thì cùng từ đó lại trở thành FNVND, bởi các khối ngắt ở một chỗ khác.

Giải mã một mật mã Bifid

Việc giải mã chạy các bước theo chiều ngược lại. Với mỗi khối, bạn đọc ra theo thứ tự các tọa độ của các chữ cái mã, điều này tái tạo lại chuỗi chữ số kết hợp. Tách đôi chuỗi đó cho ra các chữ số hàng ban đầu ở nửa đầu và các chữ số cột ban đầu ở nửa sau, và ghép mỗi hàng với cột tương ứng sẽ dựng lại các chữ cái của văn bản thường. Công cụ làm tất cả những điều này cho bạn khi bạn chọn Giải mã.

Để giải mã đúng, bạn phải dùng cùng ba thiết lập đã được dùng để mã hóa: cùng kích thước bảng, cùng từ khóa và cùng chu kỳ. Sai bất kỳ thiết lập nào và các tọa độ sẽ tách sai chỗ, tạo ra văn bản lộn xộn — vốn chính là đặc tính khiến mật mã trở nên hữu ích. Cũng hãy nhớ rằng với bảng 5×5 một chữ J ban đầu trở lại thành I, vì hai chữ cái đó dùng chung một ô.

Lịch sử và độ an toàn của mật mã Bifid

Félix Délastelle công bố mật mã Bifid trong chuyên luận về mật mã học năm 1902 của ông, cùng với những người họ hàng của nó là mật mã Trifid, vốn dùng một lưới ba chiều, và các mật mã bốn-ô-vuông và hai-ô-vuông. Bifid chưa bao giờ là một hệ thống cấp quân sự, nhưng nó là một bước quan trọng trong việc cho thấy cách kết hợp phân số hóa với phép hoán vị có thể đánh bại phân tích tần suất đơn giản, và nó vẫn là một thành phần thiết yếu của các câu đố, các thử thách mật mã, và các khóa học mật mã học.

Theo tiêu chuẩn hiện đại, Bifid không an toàn. Các nhà phân tích mật mã có những phương pháp đã được kiểm chứng kỹ để phá nó, đặc biệt khi chu kỳ đã biết hoặc ngắn và có đủ văn bản mã, còn một từ khóa chỉ nâng rào cản lên một chút. Giá trị thực sự của nó ngày nay là về giáo dục: nó là một cách rõ ràng, thực hành để thấy vì sao khuếch tán quan trọ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à hãy giữ Bifid cho việc học, các câu đố, và các thử thách capture-the-flag.

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

Mật mã Bifid là gì?
Mật mã Bifid là một mật mã cổ điển do Félix Délastelle phát minh vào khoảng năm 1901. Nó biến mỗi chữ cái thành tọa độ hàng và cột của nó trên một bảng Polybius, rồi đan xen các tọa độ đó trước khi đọc chúng trở lại thành chữ cái. Bằng cách kết hợp phép thay thế với phép hoán vị, nó trải ảnh hưởng của mỗi chữ cái ra hai chữ cái đầu ra, điều này che giấu các mẫu hình tần suất vốn khiến các mật mã đơn giản dễ bị phá.
Mật mã Bifid hoạt động như thế nào?
Mỗi chữ cái được thay bằng chữ số hàng và chữ số cột của nó từ bảng. Với một khối chữ cái, tất cả các chữ số hàng được viết trên một dòng và tất cả các chữ số cột trên dòng tiếp theo; chuỗi kết hợp đó sau đó được đọc ngang qua theo cặp, và mỗi cặp được tra như một hàng và một cột để cho ra một chữ cái mã. Giải mã đảo ngược quá trình: các tọa độ của các chữ cái mã tách trở lại thành các hàng và cột ban đầu.
Ai đã phát minh ra mật mã Bifid?
Mật mã Bifid được tạo ra bởi nhà mật mã học người Pháp Félix-Marie Délastelle, người đã mô tả nó vào khoảng năm 1901 và công bố nó trong tác phẩm về mật mã học năm 1902 của ông. Ông cũng nghĩ ra các mật mã liên quan là Trifid, bốn-ô-vuông và hai-ô-vuông. Bifid là một minh chứng buổi đầu rằng việc phân số hóa các chữ cái thành tọa độ và trộn chúng có thể làm mạnh một mật mã chống lại phân tích tần suất.
Chu kỳ trong mật mã Bifid là gì?
Chu kỳ là kích thước khối. Thông điệp được chia thành các khối gồm bấy nhiêu chữ cái, và việc đan xen hàng và cột diễn ra trong từng khối riêng rẽ. Một chu kỳ ngắn giới hạn tác động của mỗi chữ cái lan xa đến đâu, trong khi một chu kỳ dài trải nó ra xa hơn. Chu kỳ bằng 0 nghĩa là toàn bộ thông điệp là một khối. Người gửi và người nhận phải dùng cùng một chu kỳ để liên lạc.
Từ khóa làm gì?
Một từ khóa xáo trộn bảng Polybius nền tảng. Các chữ cái duy nhất của nó được viết vào lưới 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. Điều này thay đổi mọi tọa độ, nên cả hai bên phải dùng cùng từ khóa cũng như cùng kích thước bảng và chu kỳ. Để trống từ khóa thì dùng bảng theo thứ tự bảng chữ cái thông thường.
Sự khác biệt giữa bảng 5×5 và 6×6 là gì?
Bảng 5×5 có 25 ô, nên hai chữ cái — thường là I và J — dùng chung một ô để vừa với bảng chữ cái 26 chữ, và một chữ J giải mã trở lại thành I. Bảng 6×6 có 36 ô, đủ cho cả 26 chữ cái cộng với các chữ số 0 đến 9 mà không gộp gì cả, nên chữ cái và chữ số đảo ngược lại chính xác. Dùng 5×5 cho các ví dụ cổ điển và 6×6 khi bạn cần chữ số.
Có thể cho một ví dụ Bifid thực hành không?
Dùng bảng 5×5 thông thường trên trọn từ, HELLO phân số hóa thành các hàng 2 1 3 3 3 và các cột 3 5 1 1 4. Đọc chúng như một chuỗi, 2 1 3 3 3 3 5 1 1 4, và ghép các chữ số thành cặp cho ra 21 33 33 51 14, vốn tra ra thành F N N V D. Vậy HELLO mã hóa thành FNNVD. Với chu kỳ 3 thì cùng từ đó trở thành FNVND, bởi các khối ngắt ở một chỗ khác.
Làm thế nào để giải mã một mật mã Bifid?
Đọc ra theo thứ tự các tọa độ của các chữ cái mã để dựng lại chuỗi chữ số kết hợp, rồi tách đôi nó: nửa đầu là các chữ số hàng của văn bản thường và nửa sau là các chữ số cột. Ghép mỗi hàng với cột tương ứng sẽ khôi phục các chữ cái. Trong công cụ này, chọn Giải mã và đặt cùng bảng, từ khóa và chu kỳ đã được dùng để mã hóa.
Bifid khác với bảng Polybius như thế nào?
Bảng Polybius chỉ đơn giản thay mỗi chữ cái bằng hai chữ số tọa độ của nó, nên đó là một phép thay thế thẳng và các chữ số của một chữ cái không bao giờ trộn với chữ cái khác. Bifid thêm một bước hoán vị: nó đan xen các hàng và cột của cả một khối trước khi ghép các chữ số lại, nên mỗi chữ cái đầu ra phụ thuộc vào hai chữ cái đầu vào. Chính sự trộn thêm đó khiến Bifid khó phá hơn nhiều so với một mật mã Polybius thuần túy.
Mật mã Bifid an toàn đến mức nào?
Không an toàn theo tiêu chuẩn hiện đại. Mặc dù khuếch tán của nó đánh bại phân tích tần suất đơn giản, các nhà phân tích mật mã có những phương pháp đáng tin cậy để phá Bifid, đặc biệt với một chu kỳ ngắn hoặc đã biết và đủ văn bản mã, còn một từ khóa chỉ làm chậm điều đó. Giá trị của nó ngày nay là về giáo dục. Để bảo vệ thông tin thực sự, hãy dùng một thuật toán hiện đại như AES và giữ Bifid cho các câu đố và việc học.
Sự khác biệt giữa Bifid và Trifid là gì?
Cả hai đều do Délastelle phát minh và hoạt động theo cùng một cách, nhưng Trifid dùng ba tọa độ cho mỗi chữ cái thay vì hai, lấy từ một khối lập phương 3×3×3 gồm 27 ký hiệu thay vì một bảng phẳng. Do đó Trifid phân số hóa mỗi chữ cái thành ba phần và trộn chúng qua một khối, cho khuếch tán nhiều hơn cả Bifid. Bifid là phiên bản hai-tọa-độ đơn giản hơn và phổ biến hơn trong các câu đố.
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, bảng, từ khóa và chu kỳ 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ã Trifid

Ô vuông Polybius

Mật mã bốn ô vuông

Mật mã hai ô vuông

Mật mã Caesar

Mật mã Vigenère