ADFGVX暗号
方陣、転置キーワード、メッセージを入力して、ADFGVX暗号で暗号化または復号できます。その前身となる 5 × 5 の ADFGX にも対応しています。このツールは両段階を表示します。各文字を2文字に変換するポリビウス方陣と、それらを並べ替える列転置です。無料、登録は不要で、データはブラウザの外に出ません。
キーワードの文字が最初に方陣を埋め、各文字は1回だけ使われます。残りのアルファベット(と数字)が続きます。25文字または36文字をすべて入力すると、方陣を正確に指定できます。
第2段階で列の順序を決めます。同じ文字は左から順に扱われます。少なくとも2文字または数字を使ってください。
行ごとに書くのが一般的な方法です。実際の方陣は任意の混合アルファベットでしたので、25文字または36文字のキーワードを完全に入力すると、どの方法を選んでも方陣が固定されます。
暗号化されるのは文字(6 × 6 の方陣では数字も)だけです。空白と句読点は除かれ、結果は大文字になります。暗号文に使われるのは A、D、F、G、X(と V)の文字だけです。
両段階
段階1 — ポリビウス方陣
平文の各文字は2つの文字になります。最初に行のラベル、次に列のラベルです。
| A | D | F | G | V | X | |
|---|---|---|---|---|---|---|
| A | N | A | 1 | C | 3 | H |
| D | 8 | T | B | 2 | O | M |
| F | E | 5 | W | R | P | D |
| G | 4 | F | 6 | G | 7 | I |
| V | 9 | J | 0 | K | L | Q |
| X | S | U | V | X | Y | Z |
文字とそのペア
| 平文 | A | T | T | A | C | K | A | T | 1 | 2 | 0 | 0 | A | M |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ペア | AD | DD | DD | AD | AG | VG | AD | DD | AF | DG | VF | VF | AD | DX |
段階2 — 列転置
ペアの文字をキーワードの下に行ごとに書きます。キーワードの文字のアルファベット順に列に番号を付け(同じ文字は左から順に)、その順に列を上から下へ読み出します。
| P | R | I | V | A | C | Y |
|---|---|---|---|---|---|---|
| 4 | 5 | 3 | 6 | 1 | 2 | 7 |
| A | D | D | D | D | D | A |
| D | A | G | V | G | A | D |
| D | D | A | F | D | G | V |
| F | V | F | A | D | D | X |
最初の行は列を読む順序です。最後の行は短い場合があり、埋め足しはしません。
ペアの文字(順番どおり): ADDDDDADAGVGADDDAFDGVFVFADDX
ADFGVX暗号ツールの使い方
- 1. ADFGVX か ADFGX かを選びます。 ADFGVX は文字と数字 0–9 を入れた 6 × 6 の方陣を使います。ADFGX は 5 × 5 の方陣で、I と J が同じマスを共有するか、Q を除きます。
- 2. 方陣を決めます。 キーワードを入力すると、残りのアルファベットが続きます。25 文字または 36 文字をすべて入力すると、方陣を正確に指定できます。元の混合アルファベットと同じです。
- 3. 転置キーワードを入力します。 第2段階で列を読む順序を決めます。少なくとも2文字(または数字)を使ってください。
- 4. 本文を入力し、暗号化か復号を選びます。 暗号化されるのは文字と数字だけです。作業内容として、方陣、各文字のペアの文字、転置の格子が表示されます。
ADFGVX暗号のしくみ
ADFGVX は2段階の暗号です。第1段階では、行と列に A、D、F、G、V、X のラベルが付いたポリビウス方陣を使い、平文の各文字を2文字に変換します。その2文字は、行のラベル、次に列のラベルです。これは分数化(フラクショネーション)と呼ばれ、メッセージの長さを2倍にします。第2段階では、ペアの文字を転置キーワードの下に行ごとに書きます。キーワードの文字のアルファベット順に列を上から下へ読み出します。同じ文字は左から順に扱い、最後の行は短いままにします。暗号文に使われるのは、この6文字だけです。
どちらの段階も単独では強くありません。単純なポリビウス置換は文字の頻度を明かし、単純な転置は文字そのものを明かします。組み合わせると、ペアの2つの文字が別々の列に移動し、ペアがばらばらになります。復号するには順序を逆にします。まず正しい列の長さで暗号文を切り分けて転置を元に戻し、行をペアとして読み、方陣で各ペアを調べます。
具体例
Wikipedia の ADFGVX の例では、方陣として NA1C3H8TB2OME5WRPD4F6G7I9J0KLQSUVXYZ を全文キーワードとして入力し、転置キーワードは PRIVACY を使っています。平文は attack at 1200am です。
| 段階 | 結果 |
|---|---|
| 平文の文字 | A T T A C K A T 1 2 0 0 A M |
| 段階1:ペアの文字 | AD DD DD AD AG VG AD DD AF DG VF VF AD DX |
| キーワードによる列の順序 | P R I V A C Y → 4 5 3 6 1 2 7(A, C, I, P, R, V, Y の順に読む) |
| 段階2:暗号文 | DGDD DAGD DGAF ADDF DADV DVFA ADVX |
第1段階では、A は行 A、列 D にあるので、A が AD になります。続いて、28 個のペアの文字を PRIVACY の下に4行に並べます。列を A、C、I、P、R、V、Y の順に読むと暗号文が得られます。このツールは両方の行を再現します。ADFGX も同じ方法で、5 × 5 の方陣を使います。Wikipedia の ADFGX の例では、キーワード CARGO で attack at once が FAXDF ADDDG DGFFF AFAXA FAFX になります。
ADFGVX暗号の歴史
ADFGVX は、第一次世界大戦中のドイツ帝国陸軍の野戦暗号で、陸軍中尉フリッツ・ネーベルが考案しました。その前身である ADFGX は、1918年3月1日に西部戦線で初めて使われ、ADFGVX は1918年6月1日に、数字を送れるように追加の V と行・列を加えて登場しました。文字は、モールス符号で互いに大きく異なる音になるように選ばれ、無線通信士の誤りを減らしました。どちらの方陣も転置キーワードも、毎日変わりました。
解読の経緯
フランスの暗号解読者ジョルジュ・パンヴァンは1918年にこの暗号を解読しました。彼は定型的な書き出しのある電文から手がかりを得て、転置の規則性を探りました。キーワードの長さが偶数のとき、列が方陣の行由来のペアの文字と列由来のペアの文字を交互に含み、それぞれ頻度の特徴が異なることも利用しました。フランスの文献では、彼の解読がドイツ軍の春季攻勢を止めるのに役立ったとされていますが、歴史家ヒルマー=デートレフ・ブリュックナーはその決定的な影響について異論を唱えています。今日では、コンピュータが少量の暗号文からADFGVXを破ることができます。
歴史的な暗号であり、安全な暗号ではありません
ADFGVX は1918年当時には本格的な暗号でしたが、今では安全ではありません。歴史、パズル、教育のために使い、私的な内容には決して使わないでください。
よくある質問
- ADFGVX暗号とは何ですか?
- ADFGVX は、1918年にドイツ軍が使った手作業の暗号です。6 × 6 のポリビウス方陣から選んだ2文字で各文字を置き換え、その後、文字を転置暗号で入れ替えます。暗号文に使われるのは A、D、F、G、V、X の6文字だけです。
- ADFGXとADFGVXの違いは何ですか?
- ADFGX は1918年3月に登場し、I と J が同じマスを共有する 5 × 5 の方陣を使いました。ADFGVX は1918年6月に続き、26文字すべてと数字 0–9 を入れた 6 × 6 の方陣で、数字も送れるようになりました。
- ADFGVX暗号はどう復号しますか?
- まず転置を元に戻します。キーワードと文の長さから列の長さを求め、暗号文をキーワードのアルファベット順の列に切り分けて、格子に書き戻します。格子を行ごとに読んでペアの文字を得て、各ペアをポリビウス方陣で調べます。
- A、D、F、G、V、X の6文字はなぜ使われたのですか?
- モールス符号で送ったときに互いに大きく異なるため、無線通信士の誤りが減りました。これらの文字に固有の意味はなく、互いに異なる6文字であれば同じ暗号になります。
- ADFGVX暗号を解読したのは誰ですか?
- フランスの中尉ジョルジュ・パンヴァンが1918年に解読しました。彼は定型的な電文の書き出しと、各ペアの行の半分と列の半分で異なる文字の頻度を使って、まず転置を、次に方陣を明らかにしました。
- ADFGVX暗号は安全ですか?
- いいえ。当時は強力でしたが、現代のソフトウェアは少量の文章から両方の鍵を復元できます。学習やパズルのための歴史的な暗号として扱ってください。