Mật mã lưới xoay
Mã hóa và giải mã mật mã lưới xoay, còn được gọi là lưới Fleissner. Một tấm thẻ vuông với một phần tư số ô được đục thủng được đặt lên trên một lưới ô trống; bạn viết thông điệp qua các lỗ, xoay tấm thẻ chín mươi độ, rồi viết tiếp, cho đến khi bốn lần xoay đã lấp đầy lưới ô. Đọc lưới ô theo từng hàng và bạn có bản mã. Chọn kích thước lưới, đặt một từ khóa để dựng lưới, và xem sơ đồ lưới-và-ô trực quan. Mọi thứ đều chạy trong trình duyệt của bạn.
Từ khóa
Kích thước lưới
Từ khóa dựng nên lưới: những lỗ được đục thủng trên tấm thẻ. Các ô của lưới được chia thành các nhóm bốn ô xoay lẫn vào nhau, và mỗi chữ cái từ khóa chọn ra ô nào của một nhóm bị đục — vì vậy đúng một lỗ đến từ mỗi nhóm, chính là quy tắc cho phép bốn lần xoay lấp đầy lưới ô một cách hoàn hảo. Một từ khóa khác tạo ra một mẫu lỗ khác. Chỉ các chữ cái mới được tính, và cả hai bên đều phải dùng cùng một từ khóa và cùng một kích thước lưới.
Nhập văn bản phía trên để xem kết quả ở đây.
Sơ đồ lưới
Ví dụ: một thông điệp mẫu lấp đầy lưới ô qua tấm lưới qua bốn lần xoay một phần tư. Nhập văn bản của riêng bạn phía trên để cập nhật.
Tấm lưới (các lỗ ở lần xoay 1)
Lưới ô (tô màu theo lần xoay)
Lần xoay 1
Lần xoay 2
Lần xoay 3
Lần xoay 4
Cách sử dụng Mật mã lưới xoay
- 1
Chọn mã hóa hoặc giải mã
Chọn Mã hóa để xáo trộn văn bản gốc bằng lưới xoay, hoặc Giải mã để biến văn bản mật mã lưới trở lại thành văn bản gốc.
- 2
Đặt từ khóa
Gõ một từ khóa để dựng tấm lưới. Mỗi chữ cái chọn ra những ô nào bị đục thủng thành lỗ. Hãy dùng cùng một từ khóa ở cả hai bên.
- 3
Chọn kích thước lưới
Chọn một lưới ô 4×4, 6×6 hoặc 8×8. Một lưới ô lớn hơn xáo trộn những đoạn văn bản dài hơn cùng một lúc. Cả hai bên phải dùng cùng một kích thước.
- 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õ. Sơ đồ hiển thị tấm lưới và lưới ô, với mỗi ô được tô màu theo lần xoay đã lấp đầy nó.
- 5
Sao chép, tải xuống hoặc chia sẻ
Sao chép kết quả, tải nó 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 chính xác văn bản, từ khóa và kích thước lưới của bạn đã sẵn sàng.
Tìm hiểu về mật mã lưới xoay
Mật mã lưới xoay là gì?
Lưới xoay là một mật mã hoán vị: nó che giấu thông điệp không phải bằng cách thay đổi các chữ cái mà bằng cách xáo trộn thứ tự chúng được viết. Công cụ của mật mã này chính là tấm lưới — một tấm thẻ vuông cứng với một số ô được cắt đi thành các lỗ. Bạn đặt tấm lưới lên trên một lưới ô trống cùng kích thước, viết những chữ cái đầu tiên của thông điệp qua các lỗ, rồi xoay tấm thẻ một phần tư vòng và viết những chữ cái tiếp theo qua các lỗ ở vị trí mới của chúng. Sau bốn lần xoay, tấm thẻ đã che phủ mọi ô của lưới đúng một lần, và lưới ô, khi đọc theo thứ tự đọc thông thường, chính là bản mã của bạn.
Dạng nổi tiếng nhất của nó được đặt theo tên Eduard Fleissner von Wostrowitz, một đại tá người Áo đã mô tả nó vào năm 1881, và nó nổi tiếng vì được quân đội Đức áp dụng tại Mặt trận phía Tây vào năm 1916. Bởi cùng một hình vuông được đọc theo một thứ tự hoàn toàn khác với thứ tự nó được viết, các chữ cái được xáo trộn triệt để trong khi từng chữ cái đều được giữ nguyên — đó là dấu hiệu đặc trưng của một mật mã hoán vị và là điều khiến lưới xoay trở thành một ví dụ giảng dạy được ưa chuộng cho đến tận ngày nay.
Tấm lưới và lưới ô
Mọi thứ đều phụ thuộc vào các lỗ. Hãy lấy một lưới ô có số ô chẵn ở mỗi cạnh — 4×4, 6×6 hoặc 8×8 ở đây — và để ý rằng các ô của nó tập hợp thành những họ bốn ô: bất kỳ ô nào, cùng với ba ô mà nó rơi vào khi hình vuông được xoay qua chín mươi, một trăm tám mươi và hai trăm bảy mươi độ. Một lưới ô 4×4 có bốn họ như vậy, một lưới ô 6×6 có chín họ, một lưới ô 8×8 có mười sáu họ. Mỗi họ là một vị trí trong tấm lưới, và để tạo ra một tấm lưới hợp lệ bạn đục thủng đúng một ô từ mỗi họ.
Tại sao lại đúng một ô? Bởi vì khi đó, khi bạn xoay tấm lưới qua bốn vị trí của nó, bốn ô của mỗi họ đều được phơi ra một lần và chỉ một lần duy nhất. Không ô nào bị che suốt cả bốn lần xoay (điều sẽ để nó trống), và không ô nào bị phơi ra hai lần (điều sẽ ghi đè lên một chữ cái). Một lỗ trên mỗi họ chính là điều kiện chính xác cho phép bốn lần xoay lấp đầy lưới ô một cách trọn vẹn và không xung đột.
Dựng tấm lưới từ một từ khóa
Trong lịch sử, người gửi và người nhận chia sẻ một tấm lưới vật lý, hoặc một bản mô tả bằng văn bản về những ô nào là lỗ. Thay vào đó, công cụ này dựng tấm lưới từ một từ khóa, vì vậy nó dễ ghi nhớ, dễ chia sẻ, và luôn tái tạo cùng một mẫu. Mỗi chữ cái của từ khóa được đọc lần lượt và được dùng để chọn ô nào trong bốn ô của một họ bị đục thủng, lần lượt từng họ một. Nếu từ khóa ngắn hơn số họ, nó chỉ đơn giản lặp lại.
Bởi vì từ khóa chỉ luôn chọn ra một ô cho mỗi họ, mọi từ khóa đều tự động tạo ra một tấm lưới hợp lệ — không có cách nào gõ một từ khóa làm hỏng mật mã. Đổi một chữ cái và bạn đổi một lỗ; đổi kích thước lưới và toàn bộ mẫu được dựng lại theo số họ mới. Sơ đồ trên trang vẽ ra tấm lưới kết quả để bạn có thể thấy chính xác những ô nào đang mở trước khi xoay nó.
Mật mã lưới xoay hoạt động như thế nào
Việc mã hóa diễn ra theo từng lần xoay. Với tấm lưới ở vị trí khởi đầu, hãy viết những chữ cái đầu tiên của thông điệp vào các ô lộ ra qua các lỗ, lấy chúng theo thứ tự đọc — trái sang phải dọc theo mỗi hàng, trên xuống dưới. Xoay tấm lưới một phần tư vòng theo chiều kim đồng hồ và viết những chữ cái tiếp theo qua các lỗ ở vị trí mới của chúng. Xoay tiếp, viết tiếp, và một lần nữa, tổng cộng bốn vị trí, và lưới ô đã đầy. Nếu thông điệp ngắn hơn lưới ô, các ô còn lại được lấp bằng chữ cái độn X để lưới ô luôn hoàn chỉnh; nếu nó dài hơn, một lưới ô mới được bắt đầu và cùng tấm lưới đó được dùng lại.
Sơ đồ phía trên cho thấy cả hai nửa của bức tranh. Bên trái là tấm lưới ở vị trí khởi đầu, với các lỗ đã đục được đánh dấu. Bên phải là lưới ô đã hoàn thành, mỗi ô được tô màu theo lần xoay mà nó được viết — lần xoay thứ nhất, thứ hai, thứ ba, thứ tư — để bạn có thể thấy thông điệp xoắn ốc vào vị trí. Đọc lưới ô đó thẳng theo hàng ngang, từng hàng một, sẽ cho bản mã hiển thị ở phần kết quả.
Một ví dụ minh họa
Hãy lấy chính tên của mật mã, FLEISSNERGRILLE, mười lăm chữ cái, trên một lưới ô 4×4. Giả sử các lỗ của tấm lưới, trước khi xoay, nằm ở hàng 2 cột 3 và 4, hàng 3 cột 4, và hàng 4 cột 1. Viết bốn chữ cái đầu tiên F, L, E, I qua các lỗ đó theo thứ tự đọc, rồi xoay tấm thẻ theo chiều kim đồng hồ và viết S, S, N, E, rồi R, G, R, I, rồi L, L, E và một chữ cái độn, sẽ lấp đầy cả mười sáu ô.
Bây giờ đọc lưới ô đã hoàn thành thẳng theo hàng ngang, từng hàng một, và nó đánh vần thành SLLRGEFLRISEINE — một đảo chữ của bản gốc, bởi một phép hoán vị chỉ sắp xếp lại. Để giải mã, bạn đặt chính tấm lưới đó trở lại lên những chữ cái này và đọc qua các lỗ theo cùng thứ tự bốn lần xoay, và FLEISSNERGRILLE hiện ra trở lại. Đây là minh họa kinh điển của mật mã; trong công cụ, tấm lưới được dựng sẵn cho bạn từ từ khóa và kích thước lưới mà bạn chọn.
Giải mã một thông điệp lưới xoay
Giải mã là hình ảnh phản chiếu của mã hóa. Viết bản mã vào một lưới ô trống, từng hàng một, cho đến khi nó đầy. Sau đó đặt cùng tấm lưới lên trên nó và đọc các chữ cái lộ ra qua các lỗ theo thứ tự đọc, xoay tấm lưới một phần tư vòng, đọc lại, và tiếp tục cho cả bốn lần xoay. Các chữ cái hiện ra theo thứ tự ban đầu của chúng, khôi phục lại thông điệp.
Để điều này hoạt động, hai bên phải thống nhất ba điều: cùng kích thước lưới, cùng tấm lưới — ở đây là cùng từ khóa — và cùng chiều xoay. Công cụ này xoay tấm lưới theo chiều kim đồng hồ xuyên suốt, cả khi mã hóa lẫn khi giải mã, vì vậy một thông điệp tạo ra ở đây luôn giải mã được ở đây. Bởi mật mã chỉ di chuyển các chữ cái, bất cứ thứ gì không phải là chữ cái trong bản gốc — khoảng trắng, chữ số, dấu câu — đều bị loại bỏ trước khi mã hóa và sẽ không xuất hiện lại, và bất kỳ chữ X độn nào được thêm vào để hoàn thành lưới ô cuối cùng sẽ hiện ra ở cuối văn bản đã giải mã.
Lịch sử, công dụng và độ an toàn
Các mật mã lưới đã có từ lâu: Gerolamo Cardano đề xuất một tấm lưới đơn giản cho việc viết che giấu vào thế kỷ mười sáu, và lưới xoay lấp đầy cả một lưới ô được Fleissner trình bày vào thế kỷ mười chín. Đức cấp phát các tấm lưới xoay cho lực lượng của mình vào năm 1916 với các tên mã theo kích thước — loại 5×5 là Anna, loại 6×6 là Berta, loại 8×8 là Dora, và cứ thế — nhưng chúng chỉ tồn tại được vài tháng ngoài chiến trường trước khi các nhà phân tích mật mã Pháp, do Georges Painvin dẫn đầu, phá vỡ chúng. Ngày nay, lưới xoay tồn tại chủ yếu như một câu đố và một bài học sinh động về cách hoán vị hoạt động.
Theo tiêu chuẩn hiện đại, nó mang lại rất ít độ an toàn. Một phép hoán vị giữ nguyên các chữ cái gốc, vì vậy bản mã có chính xác cùng tần suất chữ cái như bản gốc, và một kẻ tấn công đoán đúng kích thước lưới chỉ có một số lượng tấm lưới hữu hạn để thử, đặc biệt trên một lưới ô nhỏ. Nhiều thông điệp cùng độ dài trên cùng một tấm lưới đặc biệt dễ làm lộ bí mật. Hãy tận hưởng lưới xoay vì lịch sử và cơ chế thú vị của nó, và dùng nó cho trò chơi và việc học — nhưng đừng bao giờ dùng để bảo vệ bí mật thực sự, nơi mà một thuật toán hiện đại, đã được giới chuyên môn thẩm định như AES mới là lựa chọn đúng đắn.
Câu hỏi thường gặp
Mật mã lưới xoay là gì?
Lưới Fleissner là gì?
Từ khóa dựng nên tấm lưới như thế nào?
Tôi có thể dùng những kích thước lưới nào?
Bạn có thể cho xem một ví dụ minh họa không?
Làm thế nào để tôi giải mã một thông điệp lưới xoay?
Tại sao văn bản đã giải mã của tôi có thêm các chữ X?
Nó có xử lý khoảng trắng, chữ số và dấu câu không?
Nó khác với hoán vị theo cột hoặc scytale như thế nào?
Mật mã lưới xoay có an toàn không?
Văn bản của tôi có được tải lên một 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