Mật mã ADFGX / ADFGVX
Mã hóa và giải mã mật mã ADFGX và ADFGVX, mật mã chiến trường của Quân đội Đức trong Thế chiến thứ nhất. Mỗi chữ cái trước hết được tách thành hai chữ cái nhãn lấy từ một hình vuông Polybius (bước phân số hóa), rồi toàn bộ luồng được xáo trộn bằng một từ khóa hoán vị cột. Trộn hình vuông, đặt khóa hoán vị, theo dõi quá trình hai giai đoạn 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.
Khóa hình vuông
Khóa hoán vị
Khóa hình vuông trộn hình vuông Polybius dùng để phân số hóa từng chữ cái; khóa hoán vị xác định các cột dùng để xáo trộn kết quả. Cả hai bên phải dùng cùng những hình vuông và khóa. Để trống khóa hoán vị để xem riêng giai đoạn phân số hóa.
Nhập văn bản ở trên để xem kết quả tại đây.
Hình vuông ADFGX
A
D
F
G
X
A
D
F
G
X
Cách sử dụng Mật mã ADFGX / ADFGVX
- 1
Chọn mã hóa hoặc giải mã và một hình vuông
Chọn Mã hóa để biến văn bản thường thành văn bản mã ADFGX, hoặc Giải mã để biến văn bản mã trở lại. Chọn hình vuông ADFGX 5×5 cho các chữ cái hoặc hình vuông ADFGVX 6×6 để chuyển tải cả các chữ số.
- 2
Đặt hai từ khóa
Tùy chọn nhập một từ khóa hình vuông để trộn hình vuông Polybius, và một từ khóa hoán vị để điều khiển bước cột. Cả hai bên phải dùng cùng hình vuông và khóa. Để trống khóa hoán vị để xem riêng phân số hóa.
- 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 các bước hiển thị mỗi chữ cái lên trên hai nhãn của nó, rồi các nhãn được điền vào các cột có khóa.
- 4
Đọc hình vuông
Mở hình vuông ADFGX để xem mọi chữ cái với nhãn hàng và cột của nó, cùng 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, hình vuông và các từ khóa của bạn, sẵn sàng để dùng.
Tìm hiểu về mật mã ADFGX và ADFGVX
Mật mã ADFGX / ADFGVX là gì?
Mật mã ADFGX là một mật mã chiến trường do sĩ quan Quân đội Đức Fritz Nebel phát minh và được đưa vào sử dụng ở Mặt trận phía Tây vào tháng 3 năm 1918, gần cuối Thế chiến thứ nhất. Dạng mở rộng của nó, ADFGVX, ra đời vào tháng 6 năm 1918. Mật mã lấy tên từ những chữ cái duy nhất từng xuất hiện trong đầu ra của nó — A, D, F, G, X cho phiên bản gốc và A, D, F, G, V, X cho phiên bản mở rộng. Những chữ cái đó được chọn một cách có chủ ý: trong mã Morse chúng rất khác biệt với nhau, nên ngay cả một bản truyền vô tuyến bị nhiễu nặng cũng khó biến chữ này thành chữ khác.
ADFGX là một mật mã hoán vị phân số hóa, nghĩa là nó hoạt động theo hai giai đoạn. Trước hết nó tách mỗi chữ cái thành hai ký hiệu bằng một hình vuông Polybius (phân số hóa); rồi nó xáo trộn luồng ký hiệu thu được bằng một phép hoán vị cột được điều khiển bởi một từ khóa. Không bước nào riêng lẻ là mạnh, nhưng việc kết hợp phép thay thế với phép hoán vị làm lan tỏa thông tin của mỗi chữ cái ra khắp toàn bộ thông điệp, điều đã khiến ADFGVX trở thành một trong những mật mã chiến trường khó nhất thời bấy giờ.
ADFGX hay ADFGVX: hình vuông nào?
ADFGX dùng một hình vuông 5×5 chứa 25 ô. Bảng chữ cái Latinh có 26 chữ cái, nên I và J chia chung một ô, đúng như trong một hình vuông Polybius cổ điển; vì vậy một chữ J được giải mã sẽ đọc ra thành I. Năm nhãn hàng và cột là A, D, F, G và X. Đây là mật mã gốc năm 1918 và nó chỉ có thể chuyển tải các chữ cái.
ADFGVX thêm một nhãn thứ sáu, V, để tạo thành một hình vuông 6×6 gồm 36 ô. Chỗ trống thêm đó cho phép nó chứa cả 26 chữ cái mà không gộp ô nào, cộng với mười chữ số từ 0 đến 9, nên nó có thể mã hóa các con số — điều thiết yếu để gửi tọa độ bản đồ, ngày tháng và phiên hiệu đơn vị — mà không cần đánh vần chúng ra. Hãy chọn hình vuông bằng nút chuyển ở trên; lưới tham chiếu trực tiếp sẽ đặt lại nhãn các hàng và cột của nó cho khớp.
Hình vuông, các nhãn, và hai từ khóa
Trái tim của mật mã là hình vuông. Đọc ô của một chữ cái cho ra một nhãn hàng và một nhãn cột, và cặp nhãn đó chính là mã của chữ cái. Công cụ này dựng hình vuông từ một từ khóa hình vuông tùy chọn, đúng như một hình vuông Polybius hay Playfair có khóa: các chữ cái duy nhất của từ khóa được viết vào 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. Hình vuô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. Trong lịch sử, hình vuông là một sự xáo trộn ngẫu nhiên; một từ khóa là cách thuận tiện, có thể lặp lại để đạt được hiệu quả tương tự.
ADFGX cần một bí mật thứ hai, độc lập: từ khóa hoán vị. Sau khi mỗi chữ cái đã được biến thành một cặp nhãn, toàn bộ luồng được viết thành các hàng bên dưới từ khóa này và các cột được đọc ra theo thứ tự bảng chữ cái của các chữ cái khóa. Hai khóa làm những việc khác nhau — khóa hình vuông quyết định mỗi chữ cái trở thành gì, khóa hoán vị quyết định mỗi nửa kết thúc ở đâu — và cả hai bên đều phải chia sẻ cả hai. Hãy để trống khóa hoán vị trong công cụ này để xem riêng giai đoạn phân số hóa.
Mật mã ADFGX hoạt động ra sao
Việc mã hóa chạy theo hai giai đoạn. Giai đoạn một, phân số hóa: mỗi chữ cái của thông điệp được tìm trong hình vuông và thay bằng nhãn hàng của nó theo sau là nhãn cột của nó. Một thông điệp gồm N chữ cái trở thành một luồng 2N chữ cái nhãn. Giai đoạn hai, hoán vị: luồng đó được viết ra thành các hàng bên dưới từ khóa hoán vị, với số cột bằng số chữ cái của từ khóa, rồi các cột được lấy ra từng cái một theo thứ tự bảng chữ cái của các chữ cái từ khóa và ghép lại với nhau để tạo thành văn bản mã, theo truyền thống được viết thành các nhóm năm.
Phép hoán vị chính là điều mang lại sức mạnh cho mật mã. Sau khi phân số hóa, hai nửa của một chữ cái nằm cạnh nhau; việc đọc ra theo cột sau đó kéo chúng tách ra và làm tản chúng vào giữa các nửa của những chữ cái khác, đến mức khôi phục bất kỳ một chữ cái văn bản thường nào cũng đòi hỏi phải tháo gỡ phép hoán vị cho toàn bộ thông điệp trước. Công cụ ở trên hiển thị cả hai giai đoạn trực tiếp: bảng phân số hóa trải mỗi chữ cái lên trên hai nhãn của nó, và bảng hoán vị hiển thị luồng nhãn được điền vào các cột có khóa với thứ tự đọc của chúng được đánh số.
Một ví dụ ADFGX thực hành
Lấy từ ATTACK trên hình vuông 5×5 thông thường với khóa hoán vị KEY. Phân số hóa mỗi chữ cái thành nhãn hàng và nhãn cột của nó: A là AA, T là GG, T là GG, A là AA, C là AF, và K là DX. Ghép lại với nhau cho ra luồng nhãn AAGGGGAAAFDX, dài gấp đôi sáu chữ cái ban đầu.
Bây giờ hoán vị. Khóa KEY có ba chữ cái, nên viết luồng thành ba cột — AAG, GGG, AAA, FDX thành bốn hàng — dưới các tiêu đề K, E, Y. Đọc các cột theo thứ tự bảng chữ cái của các tiêu đề: E trước cho ra A G A D, rồi K cho ra A G A F, rồi Y cho ra G G A X. Ghép lại và nhóm thành năm, ATTACK mã hóa thành AGADA GAFGG AX. Thêm một từ khóa hình vuông, hoặc đổi khóa hoán vị, sẽ thay đổi kết quả hoàn toàn trong khi vẫn giải mã trở lại thành ATTACK.
Giải mã một thông điệp ADFGX
Việc giải mã đảo ngược hai giai đoạn. Từ độ dài của văn bản mã và từ khóa hoán vị, bạn có thể tính ra chính xác bao nhiêu chữ cái nhãn thuộc về mỗi cột; văn bản mã được cắt lại thành những cột đó, các cột được đặt trở lại đúng thứ tự ban đầu của chúng, và đọc ngang qua các hàng sẽ dựng lại luồng nhãn đã phân số hóa. Lấy luồng đó hai nhãn một lần — một nhãn hàng rồi một nhãn cột — và tra mỗi cặp trong hình vuông sẽ khôi phục các chữ cái ban đầu. 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 hình vuông (cùng biến thể và cùng từ khóa hình vuông) và cùng từ khóa hoán vị đã được dùng để mã hóa. Sai bất kỳ cái nào trong số đó và các cột bị cắt sai chỗ, nên các nhãn ghép cặp không đúng và đầu ra trở nên lộn xộn — vốn chính là đặc tính đã khiến mật mã hữu ích trên chiến trường. Vì chỉ có các chữ cái nằm trong hình vuông 5×5 và chỉ có các chữ cái cùng chữ số trong hình vuông 6×6, bất kỳ thứ gì 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.
Lịch sử, Painvin, và độ an toàn
ADFGVX nổi tiếng không chỉ vì thiết kế của nó mà còn vì đã bị phá vỡ. Vào tháng 6 năm 1918, khi cuộc tổng tấn công mùa xuân của Đức tiến về Paris, nhà phân tích mật mã người Pháp Georges Painvin đã giải được các thông điệp ADFGVX bị chặn bắt sau nhiều tuần làm việc kiệt sức, trong đó có một thông điệp về sau được gọi là Điện vô tuyến Chiến thắng vì nó tiết lộ nơi quân Đức định tấn công. Việc phá mã của ông là một trong những kỳ tích được ca ngợi nhất của phân tích mật mã Thế chiến thứ nhất và đã giúp phe Đồng minh đoán trước cuộc tấn công.
Theo tiêu chuẩn hiện đại, ADFGVX không an toàn. Sự kết hợp giữa phân số hóa và hoán vị của nó đánh bại phân tích tần suất đơn giản, nhưng nó thất thủ trước các phương pháp mà Painvin đã tiên phong và trước các cuộc tấn công có máy tính hỗ trợ hiện đại, đặc biệt khi nhiều thông điệp dùng chung cùng các khóa hoặc khi có đủ văn bản mã. Ngày nay giá trị của nó là về giáo dục: nó là một minh chứng sống động, thực hành về cách chồng phép thay thế và phép hoán vị 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ữ ADFGX cho lịch sử, các câu đố và các thử thách capture-the-flag.
Câu hỏi thường gặp
Mật mã ADFGX là gì?
Sự khác biệt giữa ADFGX và ADFGVX là gì?
Tại sao lại dùng các chữ cái A, D, F, G, V và X?
Mật mã ADFGX hoạt động như thế nào?
Hai từ khóa dùng để làm gì?
Có thể cho một ví dụ ADFGX thực hành không?
Làm thế nào để giải mã một thông điệp ADFGX?
Ai đã phá vỡ mật mã ADFGVX?
Phân số hóa trong một mật mã là gì?
Hình vuông ADFGVX có nhất thiết phải ngẫu nhiên không?
Mật mã ADFGX 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