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

Mã hóa và giải mã mật mã Trifid, người anh em ba chiều của Bifid: mỗi chữ cái được phân số hóa thành ba tọa độ trên một khối lập phương 3x3x3, các tọa độ của một khối được trộn lại, và mỗi chữ cái đầu ra rốt cuộc phụ thuộc vào ba chữ cái đầu vào. Đặt chu kỳ, 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ã

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.

Khối lập phương Trifid

Lớp 1

1

2

3

1

A
B
C

2

D
E
F

3

G
H
I

Lớp 2

1

2

3

1

J
K
L

2

M
N
O

3

P
Q
R

Lớp 3

1

2

3

1

S
T
U

2

V
W
X

3

Y
Z
+

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

  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ã Trifid, 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

    Đặt chu kỳ và từ khóa

    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. Để trống từ khóa cho khối lập phương thông thường hoặc nhập một từ khóa để trộn nó. Cả hai bên phải dùng cùng các thiết lập.

  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 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ố lớp, hàng và cột của chúng.

  4. 4

    Đọc khối lập phương

    Mở khối lập phương Trifid để xem cả ba lớp, với tọa độ của mỗi ký hiệu và bất kỳ ô từ khóa nào được làm nổi bậ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à chu kỳ của bạn, sẵn sàng để dùng.

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

Mật mã Trifid là gì?

Mật mã Trifid 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à công bố vào năm 1902. Nó là phần mở rộng ba chiều của mật mã Bifid của ông: trong khi Bifid biến mỗi chữ cái thành hai tọa độ đọc từ một bảng phẳng, thì Trifid biến mỗi chữ cái thành ba tọa độ — một lớp, một hàng và một cột — đọc từ một khối lập phương 3x3x3 gồm 27 ký hiệu. Những tọa độ đó sau đó được xáo trộn cùng nhau trước khi được đọc lại thành chữ cái, kết hợp phép thay thế với phép hoán vị trong một sơ đồ duy nhất.

Chính việc thêm một tọa độ thứ ba là điều khiến Trifid mạnh hơn Bifid. Vì ba luồng chữ số riêng biệt được đan xen trước khi chúng được nhóm lại, mỗi chữ cái của đầu ra phụ thuộc vào ba chữ cái khác nhau của đầu vào thay vì hai. Sự lan tỏa thông tin rộng hơn đó — khuếch tán — che giấu những mẫu hình tần suất chữ cái còn kỹ lưỡng hơn nữa, và đó là lý do Trifid là một ví dụ nâng cao được ưa chuộng trong các khóa học mật mã học và các bộ sưu tập câu đố.

Khối lập phương 3x3x3 và ký hiệu thứ 27 của nó

Trifid cần 27 ô, mỗi ô cho một ký hiệu, được sắp xếp thành ba lớp 3x3 chồng lên nhau thành một khối lập phương. 26 chữ cái của bảng chữ cái lấp đầy 26 trong số những ô đó, để lại một ô trống, nên một ký hiệu thứ 27 được thêm vào. Công cụ này dùng dấu cộng, một quy ước phổ biến; vì nó hiếm khi được gõ, dấu câu thông thường trong thông điệp của bạn chỉ đơn giản bị bỏ đi chứ không bị coi là một chữ cái. Do đó mỗi ký hiệu có một địa chỉ duy nhất gồm ba con số từ 1 đến 3: nó nằm ở lớp nào, hàng nào và cột nào.

Bạn cũng có thể trộn khối lập phương bằng một từ khóa. Các ký hiệu duy nhất của từ khóa được viết vào khối lập phương 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 Polybius hay Playfair có khóa được dựng lên, chỉ là trong ba chiều. Khối lập phương trực tiếp ở trên làm nổi bật các ô của từ khóa để bạn có thể thấy sự trộn lẫn. Đổi từ khóa sẽ thay đổi mọi tọa độ, nên từ khóa là một phần của bí mật và cả hai bên phải dùng cùng một từ khóa.

Mật mã Trifid 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 khối lập phương và thay bằng ba tọa độ của nó — lớp, hàng và cột. Thứ hai, các tọa độ của một khối chữ cái được viết ra thành ba hàng, với tất cả các chữ số lớp trên dòng đầu, tất cả các chữ số hàng trên dòng thứ hai và tất cả các chữ số cột trên dòng thứ ba. Thứ ba, chuỗi chữ số kết hợp đó được đọc thẳng ngang qua, lấy ba cái một lần, và mỗi nhóm ba được tra trong khối lập phương như một lớp, một hàng và một cột để tạo ra một chữ cái mã.

Viết các lớp trước, rồi các hàng, rồi các cột 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ố lớp, 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 ba chữ số của một chữ cái đầu vào trôi tách ra thành ba chữ cái đầu ra riêng biệt.

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

Chu kỳ là kích thước khối mà Trifid 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 lớp-hàng-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. Các ví dụ thực hành kinh điển của Délastelle dùng chu kỳ bằng năm, 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ù khối lập phươ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ụ Trifid thực hành

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

Bây giờ đọc ba dòng thẳng ngang qua như một chuỗi duy nhất — 1 1 2 2 2 3 2 1 1 2 2 2 3 3 3 — và lấy các chữ số ba cái một lần: 112, 223, 211, 222, 333. Tra mỗi nhóm ba trong khối lập phương như một lớp, một hàng và một cột cho ra B, O, J, N và +, nên HELLO mã hóa thành BOJN+. Với chu kỳ 3 thì cùng từ đó lại trở thành BVOMR, bởi các khối ngắt ở một chỗ khác và sự trộn lẫn thay đổi.

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

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ự ba tọa độ của mỗi chữ cái mã, điều này tái tạo lại chuỗi chữ số kết hợp. Tách chuỗi đó thành ba phần bằng nhau cho ra các chữ số lớp ban đầu ở phần đầu, các chữ số hàng ở phần thứ hai và các chữ số cột ở phần thứ ba; ghép lớp của mỗi chữ cái với hàng và cột tương ứng của nó sẽ dựng lại 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 những thiết lập đã được dùng để mã hóa: cùng từ khóa và cùng chu kỳ. Sai bất kỳ thiết lập nào và các chữ số 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. Vì chỉ có 26 chữ cái và dấu cộng nằm trong khối lập phương, bất kỳ ký tự nào khác trong thông điệp gốc đều đã bị bỏ đi trong lúc mã hóa và sẽ không xuất hiện lại.

Trifid so với Bifid, và độ an toàn của nó

Trifid và Bifid là anh em: cả hai đều phân số hóa các chữ cái thành tọa độ và đan xen chúng qua một khối, và cả hai đều do Délastelle nghĩ ra. Sự khác biệt nằm ở số chiều. Bifid dùng một bảng phẳng và hai tọa độ cho mỗi chữ cái; Trifid dùng một khối lập phương và ba tọa độ, nên mỗi chữ cái đầu ra phụ thuộc vào ba chữ cái đầu vào thay vì hai, cho khuếch tán nhiều hơn. Trifid là bước tiếp theo tự nhiên cho bất kỳ ai đã hiểu Bifid và bảng Polybius mà nó được dựng trên đó.

Theo tiêu chuẩn hiện đại, Trifid không an toàn. Mặc dù phép phân số hóa ba chiều 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 được thiết lập để phá nó, đặc biệt khi chu kỳ ngắn hoặc đã biết 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 sống động, thực hành để thấy cách phân số hóa thêm làm mạnh một mật mã. Để 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ữ Trifid 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ã Trifid là gì?
Mật mã Trifid là một mật mã cổ điển do Félix Délastelle phát minh và công bố vào năm 1902. Nó là phiên bản ba chiều của mật mã Bifid của ông: mỗi chữ cái được biến thành ba tọa độ — một lớp, một hàng và một cột — trên một khối lập phương 3x3x3 gồm 27 ký hiệu, và những tọa độ đó được đan xen qua một khối trước khi được đọc lại thành chữ cái. Điều này khiến mỗi chữ cái đầu ra phụ thuộc vào ba chữ cái đầu vào.
Mật mã Trifid hoạt động như thế nào?
Mỗi chữ cái được thay bằng chữ số lớp, hàng và cột của nó từ khối lập phương. Với một khối chữ cái, tất cả các chữ số lớp được viết trên một dòng, tất cả các chữ số hàng trên dòng tiếp theo và tất cả các chữ số cột trên dòng thứ ba; chuỗi kết hợp đó sau đó được đọc ngang qua theo nhóm ba, và mỗi nhóm ba được tra như một lớp, 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 bằng cách tách chuỗi trở lại thành ba phần bằng nhau.
Ai đã phát minh ra mật mã Trifid?
Mật mã Trifid được tạo ra bởi nhà mật mã học người Pháp Félix-Marie Délastelle và công bố trong chuyên luận về mật mã học năm 1902 của ông, cùng với các mật mã liên quan là Bifid, bốn-ô-vuông và hai-ô-vuông. Trifid là phần mở rộng ba chiều của Bifid, cho thấy rằng việc phân số hóa mỗi chữ cái thành ba tọa độ thay vì hai trải ảnh hưởng của nó ra còn xa hơn nữa và làm mạnh mật mã chống lại phân tích tần suất.
Sự khác biệt giữa mật mã Trifid và Bifid là gì?
Cả hai đều phân số hóa các chữ cái thành tọa độ và đan xen chúng qua một khối, nhưng Bifid dùng một bảng phẳng 5x5 hoặc 6x6 và hai tọa độ cho mỗi chữ cái, trong khi Trifid dùng một khối lập phương 3x3x3 gồm 27 ký hiệu và ba tọa độ. Vì Trifid trộn ba luồng chữ số thay vì hai, mỗi chữ cái đầu ra phụ thuộc vào ba chữ cái đầu vào thay vì hai, cho khuếch tán nhiều hơn. Trifid là cái mạnh hơn, nâng cao hơn trong hai cái.
Chu kỳ trong mật mã Trifid 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 lớp-hàng-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.
Ký hiệu thứ 27 trong khối lập phương là gì?
Một khối lập phương 3x3x3 có 27 ô nhưng bảng chữ cái chỉ có 26 chữ cái, nên một ký hiệu thứ 27 được thêm vào để lấp ô cuối cùng. Công cụ này dùng dấu cộng, một quy ước phổ biến. Vì nó hiếm khi được gõ, dấu câu thông thường trong văn bản của bạn bị bỏ đi chứ không bị nhầm thành một chữ cái. Dấu cộng có thể xuất hiện trong đầu ra đã mã hóa, nơi nó chỉ đơn giản đánh dấu ô cuối cùng đó của khối lập phương.
Từ khóa làm gì?
Một từ khóa xáo trộn khối lập phương. Các ký hiệu duy nhất của nó được viết vào khối lập phương 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 chu kỳ. Để trống từ khóa thì dùng khối lập phương theo thứ tự bảng chữ cái thông thường. Khối lập phương trực tiếp làm nổi bật các ô của từ khóa để bạn có thể thấy sự trộn lẫn hoạt động ra sao.
Có thể cho một ví dụ Trifid thực hành không?
Dùng khối lập phương thông thường trên trọn từ, HELLO phân số hóa thành các lớp 1 1 2 2 2, các hàng 3 2 1 1 2 và các cột 2 2 3 3 3. Đọc chúng như một chuỗi, 1 1 2 2 2 3 2 1 1 2 2 2 3 3 3, và nhóm các chữ số thành nhóm ba cho ra 112, 223, 211, 222, 333, vốn tra ra thành B, O, J, N và +. Vậy HELLO mã hóa thành BOJN+. Với chu kỳ 3 thì cùng từ đó trở thành BVOMR.
Làm thế nào để giải mã một mật mã Trifid?
Đọc ra theo thứ tự ba tọa độ của mỗi chữ cái mã để dựng lại chuỗi chữ số kết hợp, rồi tách nó thành ba phần bằng nhau: phần đầu là các chữ số lớp của văn bản thường, phần thứ hai là các chữ số hàng và phần thứ ba là các chữ số cột. Kết hợp lại lớp, hàng và cột của mỗi chữ cái sẽ khôi phục văn bản. Trong công cụ này, chọn Giải mã và đặt cùng từ khóa và chu kỳ đã được dùng để mã hóa.
Trifid liên hệ với bảng Polybius như thế nào?
Bảng Polybius là tổ tiên hai chiều của cả Bifid lẫn Trifid: nó cho mỗi chữ cái một cặp tọa độ trên một lưới phẳng. Bifid trộn những địa chỉ hai-tọa-độ đó qua một khối, còn Trifid mở rộng ý tưởng sang ba chiều với một khối lập phương, nên mỗi chữ cái có một địa chỉ ba-tọa-độ. Nếu bạn hiểu bảng Polybius và Bifid, thì Trifid là bước tiếp theo hợp lý đi lên.
Mật mã Trifid an toàn đến mức nào?
Không an toàn theo tiêu chuẩn hiện đại. Mặc dù phép phân số hóa ba chiều 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á Trifid, đặ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ữ Trifid cho các câu đố và việc học.
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, 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ã Bifid

Ô 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