Mật mã hoán vị cột
Mã hóa và giải mã mật mã hoán vị cột, một phép xáo trộn cổ điển dựa trên từ khóa. Văn bản của bạn được viết vào một lưới theo từng hàng bên dưới một từ khóa, rồi các cột được đọc lại theo thứ tự bảng chữ cái của các chữ cái trong từ khóa — không có gì bị thay thế, mỗi ký tự chỉ đơn giản được di chuyển. Chọn cột không đều hoặc đầy đủ, đặt một ký tự đệm, theo dõi lưới 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.
Từ khóa
Nhập một từ khóa. Các chữ cái của nó đặt các cột: văn bản được viết ngang qua chúng theo từng hàng, rồi các cột được đọc ra theo thứ tự bảng chữ cái của từ khóa. Các chữ cái khóa lặp lại được lấy từ trái sang phải.
Nhập văn bản ở trên để xem kết quả tại đây.
Cách sử dụng Mật mã hoán vị cột
- 1
Chọn mã hóa hoặc giải mã
Chọn Mã hóa để xáo trộn văn bản thường thành văn bản mã hoán vị cột, hoặc Giải mã để biến văn bản mã trở lại thành thông điệp gốc.
- 2
Chọn cột không đều hoặc đầy đủ
Không đều để hàng cuối ngắn và trả về văn bản của bạn chính xác. Đầy đủ đệm lưới thành một hình chữ nhật trọn vẹn bằng một ký tự bạn chọn, nên mọi cột đều có cùng độ dài.
- 3
Nhập từ khóa
Gõ một từ khóa. Độ dài của nó đặt số cột và thứ tự bảng chữ cái của các chữ cái trong nó đặt thứ tự các cột được đọc. Cả hai bên phải dùng cùng một từ khóa; trong chế độ Đầy đủ bạn cũng có thể đặt ký tự đệm.
- 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 hoán vị ngay khi bạn gõ. Lưới mã hóa hiển thị văn bản của bạn được lấp vào các cột có khóa với thứ tự đọc của mỗi cột được đánh số.
- 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, chế độ và phần đệm của bạn, sẵn sàng để dùng.
Tìm hiểu về mật mã hoán vị cột
Mật mã hoán vị cột là gì?
Mật mã hoán vị cột là một trong những cách lâu đời và trực quan nhất để giấu một thông điệp. Nó là một mật mã hoán vị, nghĩa là nó không thay đổi bất kỳ chữ cái nào — nó chỉ thay đổi thứ tự của chúng. Mỗi ký tự trong văn bản mã là một ký tự vốn có trong văn bản thường; chúng chỉ đơn giản được xáo trộn theo một quy tắc cố định, có thể lặp lại. Quy tắc đó được đặt bởi một từ khóa, điều này khiến phép xáo trộn dễ chia sẻ với một đối tác tin cậy và khó đảo ngược đối với bất kỳ ai không biết nó.
Ý tưởng là viết thông điệp vào một lưới, theo từng hàng, bên dưới các chữ cái của từ khóa, rồi đọc lại lưới mỗi lần một cột. Mánh khóe nằm ở thứ tự đọc các cột: không phải từ trái sang phải, mà theo thứ tự bảng chữ cái của các chữ cái trong từ khóa. Vì từ khóa quyết định thứ tự đó, hai người cùng chia sẻ từ khóa có thể tự do mã hóa và giải mã, trong khi thứ tự cột trông tùy tiện với mọi người khác.
Mật mã hoán vị cột hoạt động ra sao
Bắt đầu bằng cách viết từ khóa ngang qua đỉnh của một lưới, mỗi chữ cái một cột. Sau đó viết thông điệp bên dưới nó, lấp đầy hàng đầu tiên từ trái sang phải, rồi hàng thứ hai, và cứ thế, cho đến khi toàn bộ thông điệp được trải ra. Số cột được cố định bởi độ dài của từ khóa, nên một từ khóa sáu chữ cái luôn tạo ra sáu cột bất kể thông điệp dài đến đâu.
Bây giờ đánh số các cột theo thứ tự bảng chữ cái của các chữ cái trong từ khóa: cột nằm dưới chữ cái sớm nhất trong bảng chữ cái của từ khóa được đọc trước, cột sớm tiếp theo đọc thứ hai, và cứ thế. Nếu từ khóa có hai chữ cái giống nhau, các cột đó được đọc từ trái sang phải, theo thứ tự chúng xuất hiện. Cuối cùng, đọc lưới mỗi lần một cột theo thứ tự đã đánh số đó, viết ra lần lượt các chữ cái của từng cột. Chuỗi bạn nhận được là văn bản mã. Để giải mã, bạn đảo ngược quá trình: dựng lại lưới rỗng, lấp các cột vào theo thứ tự đọc của chúng, rồi đọc ngang qua các hàng.
Cột không đều so với cột đầy đủ
Hầu hết các thông điệp không chia đều vào lưới, nên hàng cuối cùng bị thiếu. Trong dạng không đều (hay không đầy đủ) — phép hoán vị cột kinh điển trong sách giáo khoa — bạn chỉ đơn giản để trống các ô đó. Khi ấy các cột chênh nhau một về độ dài, và văn bản mã dài đúng bằng thông điệp gốc. Chế độ Không đều của công cụ này làm điều đó, và nó vòng lại văn bản của bạn một cách hoàn hảo: việc giải mã trả về chính xác những gì bạn đã gõ, kể cả dấu cách và dấu câu.
Trong dạng đầy đủ, thay vào đó bạn đệm thông điệp ra để lấp đầy hàng cuối, nên mọi cột đều có cùng độ dài và lưới là một hình chữ nhật hoàn hảo. Phần đệm thường là một chữ cái cố định, đã thống nhất như X hoặc Q, hoặc một dãy ký tự rỗng. Cột đầy đủ làm cho độ dài cột trở nên rõ ràng, điều mà về mặt lịch sử đã đơn giản hóa công việc bút giấy và là thiết yếu khi cùng một lưới được hoán vị lần thứ hai. Chuyển sang chế độ Đầy đủ để đệm lưới bằng ký tự bạn chọn; việc giải mã khi đó trả về văn bản của bạn kèm theo bất kỳ phần đệm nào đã được thêm vào, mà bạn có thể cắt bỏ.
Vai trò của từ khóa
Từ khóa làm hai việc cùng một lúc: độ dài của nó đặt lưới có bao nhiêu cột, và thứ hạng bảng chữ cái của các chữ cái trong nó đặt thứ tự các cột được đọc. Một từ khóa dài hơn tạo ra một lưới rộng hơn, thấp hơn và một phép xáo trộn kỹ lưỡng hơn; một từ khóa có các chữ cái vốn đã gần với thứ tự bảng chữ cái thì hầu như không sắp xếp lại gì, nên một từ khóa được trộn kỹ thì mạnh hơn. Chỉ có thứ tự tương đối của các chữ cái mới quan trọng, đó là lý do một từ khóa và bất kỳ từ nào có cùng thứ hạng chữ cái đều tạo ra cùng một phép hoán vị.
Vì từ khóa là toàn bộ bí mật, cả người gửi lẫn người nhận phải dùng đúng cùng một từ khóa. Trong công cụ này chỉ các chữ cái trong từ khóa mới được tính vào thứ tự cột — dấu cách, chữ số và dấu câu bị bỏ qua — và các chữ cái lặp lại giữ nguyên thứ tự từ trái sang phải của chúng, nên một từ khóa như BANANA vẫn cho ra một chuỗi cột xác định, có thể tái tạo. Đổi từ khóa thì văn bản mã thay đổi hoàn toàn, trong khi cùng một từ khóa luôn giải mã nó trở lại.
Một ví dụ thực hành
Lấy thông điệp WE ARE DISCOVERED FLEE AT ONCE và từ khóa ZEBRAS. Bỏ đi các dấu cách, thông điệp là WEAREDISCOVEREDFLEEATONCE, hai mươi lăm chữ cái, và ZEBRAS có sáu chữ cái, nên ta viết nó vào sáu cột: WEARED ở hàng đầu, ISCOVE ở hàng thứ hai, REDFLE ở hàng thứ ba, EATONC ở hàng thứ tư, và một hàng cuối ngắn chỉ chứa E.
Bây giờ xếp hạng các chữ cái của từ khóa theo bảng chữ cái — A, B, E, R, S, Z — điều này đánh số các cột thành 5, 3, 2, 4, 6, 1 từ trái sang phải. Đọc các cột theo thứ tự đó cho ra EVLN từ cột A, ACDT từ cột B, ESEA từ cột E, ROFO từ cột R, DEEC từ cột S, và cuối cùng WIREE từ cột Z. Ghép lại với nhau, văn bản mã là EVLNACDTESEAROFODEECWIREE. Đưa chuỗi đó cùng từ khóa ZEBRAS vào Giải mã sẽ dựng lại lưới và đọc trở lại WEAREDISCOVEREDFLEEATONCE.
Giải mã một thông điệp hoán vị cột
Việc giải mã trông khó hơn mã hóa nhưng tuân theo cùng một lưới. Từ độ dài của văn bản mã và số cột trong từ khóa, bạn có thể tính ra chính xác mỗi cột cao bao nhiêu: nếu thông điệp không chia đều, các cột bên trái nhất — những cột chứa các ký tự sớm nhất của mỗi hàng — cao hơn các cột còn lại một đơn vị. Biết được chiều cao của mỗi cột cho phép bạn cắt văn bản mã trở lại thành các cột của nó theo thứ tự đọc, thả mỗi cột trở về vị trí từ khóa của nó, và đọc ngang qua các hàng để khôi phục thông điệp.
Bí mật duy nhất bạn cần là từ khóa; mọi thứ khác đều được cố định bởi chính văn bản mã. Đó là lý do công cụ này có thể giải mã thuần túy từ văn bản mã và từ khóa, mà không cần thông tin bổ sung. Dùng cùng từ khóa đã được dùng để mã hóa, và cùng chế độ nếu có liên quan đến phần đệm, thì thông điệp gốc xuất hiện trở lại — với cột không đều nó trở lại chính xác, còn với cột đầy đủ nó trở lại kèm phần đệm, sẵn sàng để cắt bỏ.
Lịch sử và độ an toàn
Hoán vị cột đã có từ nhiều thế kỷ và là một công cụ chủ lực của mật mã chiến trường cho đến tận thế kỷ hai mươi, được coi trọng vì nó không cần gì ngoài giấy, một từ khóa và một bàn tay vững. Tự thân nó không an toàn: vì nó không bao giờ thay đổi các chữ cái, văn bản mã có tần suất chữ cái hoàn toàn giống văn bản thường, và một nhà phân tích mật mã có thể tấn công nó bằng cách đoán số cột và thử ghép các mảnh trở lại với nhau — một kỹ thuật gọi là anagramming. Các thông điệp ngắn và các từ khóa dùng lại đặc biệt sụp đổ nhanh chóng.
Sức mạnh thực sự của nó đến từ việc được kết hợp với các bước khác. Chạy phép hoán vị hai lần với hai từ khóa khác nhau — double transposition — được coi là đủ mạnh cho việc sử dụng nghiêm túc trong nhiều thập kỷ, và xếp chồng phép hoán vị lên trên một phép thay thế chính là điều khiến mật mã ADFGVX trở nên đáng gờm. Ngày nay hoán vị cột được xem là tốt nhất khi coi như một công cụ giảng dạy và một câu đố: nó là một minh họa rõ ràng, thực hành về cách sắp xếp lại các chữ cái giấu đi một thông điệp. Để bảo vệ thông tin thực sự, hãy 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ữ hoán vị cột 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ã hoán vị cột là gì?
Mật mã hoán vị cột hoạt động như thế nào?
Sự khác biệt giữa cột đầy đủ và cột không đều là gì?
Bạn có thể cho một ví dụ hoán vị cột không?
Làm thế nào để giải mã một mật mã hoán vị cột?
Từ khóa làm gì?
Điều gì xảy ra nếu từ khóa có các chữ cái lặp lại?
Mật mã có giữ lại dấu cách và dấu câu không?
Ký tự đệm dùng để làm gì?
Double transposition là gì?
Mật mã hoán vị cột 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