T

Text Machine

Công cụ văn bản mạnh mẽ, ngay trong trình duyệt của bạn

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.

Từ khóa

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.

Văn bản thường
Văn bản mã

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

A
B
C
D
E

D

F
G
H
I/J
K

F

L
M
N
O
P

G

Q
R
S
T
U

X

V
W
X
Y
Z

Cách sử dụng Mật mã ADFGX / ADFGVX

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

Công cụ liên quan

Tiếp tục với những công cụ hữu ích này

Mật mã Caesar

Mật mã Vigenère

Mật mã Atbash

Mật mã Rail Fence

Mật mã Playfair

Mật mã Affine