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.
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ỳ.
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
2
3
Lớp 2
1
2
3
1
2
3
Lớp 3
1
2
3
1
2
3
Cách sử dụng Mật mã Trifid
- 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
Đặ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
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
Đọ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
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 hoạt động như thế nào?
Ai đã phát minh ra mật mã Trifid?
Sự khác biệt giữa mật mã Trifid và Bifid là gì?
Chu kỳ trong mật mã Trifid là gì?
Ký hiệu thứ 27 trong khối lập phương là gì?
Từ khóa làm gì?
Có thể cho một ví dụ Trifid thực hành không?
Làm thế nào để giải mã một mật mã Trifid?
Trifid liên hệ với bảng Polybius như thế nào?
Mật mã Trifid an toàn đến mức nào?
Văn bản của tôi có được tải lên máy chủ không?
Công cụ liên quan
Tiếp tục với những công cụ hữu ích này