UTILS.
100% trong trình duyệt
🏛️

Mật mã hoán vị theo cột (Columnar Transposition)

Hoán vị cột theo từ khóa: điền lưới theo hàng, rồi đọc các cột theo thứ tự bảng chữ cái của các chữ trong từ khóa. Biến thể đầy đủ hoặc không đầy đủ.

— kết quả hiển thị ở đây —

Về công cụ này

Công cụ Mật mã hoán vị theo cột (Columnar Transposition) là bộ mã hóa và giải mã miễn phí chạy ngay trong trình duyệt cho một mật mã hoán vị dựa theo từ khóa, từng được quân đội dùng trong lịch sử và nay phổ biến trong các CTF. Bản rõ được viết từ trái sang phải vào một lưới có chiều rộng bằng độ dài của từ khóa. Mỗi cột sau đó được đánh số theo thứ hạng bảng chữ cái của chữ trong từ khóa phía trên nó — trường hợp trùng được phân định từ trái sang phải — và bản mã được tạo ra bằng cách đọc các cột theo thứ tự thứ hạng tăng dần. Ví dụ với từ khóa ZEBRAS, cột A được đọc trước, rồi B, rồi E, R, S, Z.

Hai biến thể được hỗ trợ. Trong biến thể đầy đủ (có đệm), hàng ngắn cuối cùng được điền bằng ký tự đệm bạn chọn để mọi cột có cùng chiều cao. Trong biến thể không đầy đủ (không đều), không thêm phần đệm, để lại hàng cuối lởm chởm; khi đó giải mã tính cẩn thận độ dài thực của mỗi cột để các chữ cái rơi về đúng ô. Mọi tính toán được thực hiện cục bộ trong trình duyệt của bạn và không có gì được tải lên.

Giải mã đảo ngược quy trình: từ độ dài bản mã và từ khóa, công cụ xác định mỗi cột chứa bao nhiêu chữ cái, gán các khối bản mã cho các cột theo thứ tự thứ hạng khóa, và đọc lưới đã dựng lại theo từng hàng. Trong biến thể có đệm, mọi ký tự đệm ở cuối được cắt bỏ khỏi văn bản khôi phục. Vì hoán vị chỉ thay đổi vị trí chữ cái chứ không thay đổi danh tính của chúng, hoán vị theo cột thường được kết hợp với một mật mã thay thế để tăng độ mạnh.

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

Thứ tự đọc cột được chọn thế nào?
Mỗi cột được xếp hạng theo thứ tự bảng chữ cái của chữ trong từ khóa phía trên nó, trường hợp trùng phân định từ trái sang phải. Các cột sau đó được đọc từ thứ hạng thấp nhất tới cao nhất. Với ZEBRAS thứ tự là A, B, E, R, S, Z.
Khác biệt giữa đầy đủ và không đầy đủ là gì?
Đầy đủ đệm hàng cuối bằng ký tự đệm để mọi cột cao bằng nhau; không đầy đủ để hàng cuối lởm chởm không có phần đệm. Giải mã tính đến độ dài cột không đều trong biến thể không đầy đủ.
Ký tự đệm để làm gì?
Trong biến thể đầy đủ, nó điền vào bất kỳ ô trống nào ở hàng cuối để mọi cột có cùng số chữ cái. Nó nên là một chữ cái ít có khả năng xuất hiện trong thông điệp, chẳng hạn X; nó được cắt bỏ khi giải mã.
Cách viết của từ khóa có quan trọng hay chỉ các chữ cái của nó?
Chỉ thứ tự bảng chữ cái của các chữ cái là quan trọng, nên các từ khóa có cùng mẫu chữ cái sau khi sắp xếp cho ra cùng một hoán vị. Các chữ cái lặp lại được xếp hạng từ trái sang phải theo thứ tự chúng xuất hiện.

Công cụ khác