T

Text Machine

強力なテキストツールを、ブラウザで

ADFGX / ADFGVX暗号

第一次世界大戦におけるドイツ陸軍の野戦暗号、ADFGX暗号と ADFGVX暗号を暗号化・復号しましょう。各文字はまず Polybius 方陣から読み取った二つのラベル文字に分けられ (分割の段階)、続いて連なり全体が縦列転置のキーワードでかき混ぜられます。方陣を混ぜ、転置の鍵を設定し、リアルタイムの二段階の作業を追いながら、結果をコピー・ダウンロード・共有できます。すべての処理はブラウザ上で実行されます。

キーワード

方陣の鍵

転置の鍵

方陣の鍵は各文字を分割する Polybius 方陣を混ぜ、転置の鍵は結果をかき混ぜる縦列を決めます。両者とも同じ方陣と鍵を使わなければなりません。転置の鍵を空のままにすると、分割の段階だけを単独で見ることができます。

平文
暗号文

上にテキストを入力すると、結果がここに表示されます。

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

ADFGX / ADFGVX暗号 の使い方

  1. 1

    暗号化か復号と方陣を選ぶ

    平文を ADFGX暗号文に変えるには暗号化を、暗号文を戻すには復号を選びます。文字には 5×5 の ADFGX方陣を、数字も運ぶには 6×6 の ADFGVX方陣を選びます。

  2. 2

    二つのキーワードを設定する

    任意で、Polybius 方陣を混ぜる方陣キーワードと、縦列の段階を動かす転置キーワードを入力します。両者とも同じ方陣と鍵を使わなければなりません。分割だけを見るには転置の鍵を空のままにします。

  3. 3

    テキストを入力または貼り付ける

    メッセージを入力すると、入力すると同時に変換されます。手順パネルが各文字をその二つのラベルの上に示し、続いてラベルを鍵を付けた縦列に流し込んだ様子を示します。

  4. 4

    方陣を読む

    ADFGX方陣を開いて、すべての文字をその行と列のラベルとともに、また強調されたキーワードのマスを確認しましょう。

  5. 5

    コピー・ダウンロード・共有する

    結果をコピーしたり、テキストファイルとしてダウンロードしたり、入力したテキスト・方陣・キーワードをそのまま整えてツールを開き直すリンクで共有したりできます。

ADFGX暗号と ADFGVX暗号を理解する

ADFGX / ADFGVX暗号とは何ですか?

ADFGX暗号は、ドイツ陸軍の将校 Fritz Nebel が考案した野戦暗号で、第一次世界大戦の終盤に近い1918年3月、西部戦線で運用に投入されました。その拡張形である ADFGVX は1918年6月に続きました。この暗号の名は、その出力に現れる唯一の文字 — 元の方式では A、D、F、G、X、拡張版では A、D、F、G、V、X — に由来します。これらの文字は意図的に選ばれました。モールス信号でそれぞれが互いに大きく異なるため、ひどく乱れた無線送信であっても一方が他方に変わってしまう恐れが小さかったのです。

ADFGX は分割転置暗号であり、二つの段階で働くことを意味します。まず Polybius 方陣を使ってすべての文字を二つの記号に分け (分割)、続いてキーワードで動く縦列転置によって、得られた記号の連なりをかき混ぜます。どちらの段階も単独では強くありませんが、換字と転置を組み合わせることで各文字の情報がメッセージ全体に広がり、これによって ADFGVX はその時代で最も解読の難しい野戦暗号の一つとなりました。

ADFGX か ADFGVX か: どちらの方陣ですか?

ADFGX は25個のマスを持つ 5×5 の方陣を使います。ラテン文字は26文字あるため、古典的な Polybius 方陣とまったく同じように I と J が一つのマスを共有します。したがって復号された J は I として読み戻されます。五つの行と列のラベルは A、D、F、G、X です。これは1918年の元の暗号であり、文字だけしか運べません。

ADFGVX は六つ目のラベル V を加えて、36個のマスからなる 6×6 の方陣を作ります。その余分な空間によって、26文字すべてを一つも統合せずに収め、さらに0から9までの十個の数字も収められるので、数字を綴り出すことなく暗号化できます — 地図の座標、日付、部隊番号を送るのに不可欠でした。上のトグルで方陣を選んでください。リアルタイムの参照グリッドが、それに合わせて行と列のラベルを付け替えます。

方陣、ラベル、そして二つのキーワード

この暗号の中心は方陣です。ある文字のマスを読むと行のラベルと列のラベルが得られ、そのラベルの組がその文字の符号となります。このツールは任意の方陣キーワードから方陣を組み立てます — 鍵を付けた Polybius や Playfair の方陣とまったく同じように、キーワードの重複しない文字を順に、繰り返しなく先に書き入れ、残りのアルファベットが続きます。リアルタイムの方陣はキーワードのマスを強調するので、混ざる様子を見られます。歴史的には方陣はでたらめにかき混ぜたものでしたが、キーワードは同じ効果に至るための便利で再現しやすい方法です。

ADFGX は二つ目の独立した秘密を必要とします: 転置のキーワードです。すべての文字がラベルの組に変えられたあと、連なり全体がこのキーワードの下に行ごとに書き出され、縦列は鍵の文字のアルファベット順に読み取られます。二つの鍵は異なる役目を果たします — 方陣の鍵は各文字が何になるかを決め、転置の鍵は各片がどこに行き着くかを決めます — そして両者とも両方を共有しなければなりません。このツールでは転置の鍵を空のままにして、分割の段階だけを見ることができます。

ADFGX暗号の仕組み

暗号化は二つの段階で進みます。第一段階、分割: メッセージの各文字を方陣の中で見つけ、その行のラベルに続いて列のラベルへと置き換えます。N 文字のメッセージは 2N 個のラベル文字の連なりになります。第二段階、転置: その連なりを転置のキーワードの下に行ごとに書き出します。縦列の数はキーワードの文字数だけあり、続いて縦列をキーワードの文字のアルファベット順に一つずつ持ち上げて、つなぎ合わせて暗号文とします。伝統的には五文字ずつの組で書きます。

転置こそがこの暗号に強さを与えるものです。分割のあと、一つの文字の二つの片は隣り合って並んでいますが、縦列の読み取りがそれらを引き離し、他の文字の片の間に散らばらせるので、ただ一つの平文の文字を取り戻すにも、まずメッセージ全体の転置を元に戻さなければなりません。上のツールは両方の段階をリアルタイムで示します。分割パネルが各文字をその二つのラベルの上に並べ、転置パネルがラベルの連なりを鍵を付けた縦列に流し込んだ様子を、読み取り順に番号を振って示します。

ADFGX の実例

単語 ATTACK を素の 5×5 方陣と転置の鍵 KEY で扱ってみましょう。各文字をその行と列のラベルに分割します: A は AA、T は GG、T は GG、A は AA、C は AF、K は DX です。つなぎ合わせるとラベルの連なり AAGGGGAAAFDX となり、元の六文字の二倍の長さです。

さて転置します。鍵 KEY は三文字なので、連なりを三つの縦列に書き出します — 四つの行として AAG、GGG、AAA、FDX を、見出し K、E、Y の下に並べます。見出しのアルファベット順に縦列を読みます: まず E が A G A D を与え、続いて K が A G A F を、続いて Y が G G A X を与えます。つなぎ合わせて五文字ずつに組むと、ATTACK は AGADA GAFGG AX に暗号化されます。方陣キーワードを加えたり、転置の鍵を変えたりすると、結果はまったく変わりますが、それでも ATTACK へと復号できます。

ADFGX のメッセージを復号する

復号は二つの段階を逆にたどります。暗号文の長さと転置のキーワードから、各縦列に属するラベル文字の数を正確に割り出せます。暗号文はそれらの縦列に切り分け直され、縦列は元の順に戻され、行を横に読むと分割されたラベルの連なりが組み立て直されます。その連なりを二つのラベルずつ — 行のラベルに続いて列のラベル — 取り、各組を方陣の中で引くと元の文字が取り戻されます。復号を選ぶと、ツールがこれらすべてをあなたの代わりに行います。

正しく復号するには、暗号化に使われたのと同じ方陣 (同じ方式と方陣キーワード) と同じ転置のキーワードを使わなければなりません。そのどれか一つでも間違えると、縦列が誤った場所で切られるため、ラベルが誤って組になり、出力が文字化けします — これはまさにこの暗号を野戦で役立つものにした性質です。5×5 の方陣には文字だけ、6×6 の方陣には文字と数字だけが入っているため、元のメッセージのほかのものは暗号化の途中で取り除かれ、ふたたび現れることはありません。

歴史、Painvin、そして安全性

ADFGVX はその設計だけでなく、破られたことでも有名です。1918年6月、ドイツの春季攻勢がパリへ迫るなか、フランスの暗号解読者 Georges Painvin は、数週間にわたる消耗の激しい作業のすえに傍受された ADFGVX のメッセージを解き、その中にはドイツ軍がどこを攻撃するつもりかを明らかにしたことから「勝利の電文」と呼ばれるようになったメッセージも含まれていました。彼の解読は第一次世界大戦の暗号解読における最も称えられる功績の一つであり、連合国が攻撃を予期する助けとなりました。

現代の基準では ADFGVX は安全ではありません。その分割と転置の組み合わせは単純な頻度分析を打ち負かしますが、Painvin が切り開いた手法や、現代のコンピューターを使った攻撃に屈します。とりわけ複数のメッセージが同じ鍵を共有しているときや、十分な暗号文が手に入るときはなおさらです。今日その価値は教育にあります: 換字と転置を積み重ねることがどのように暗号を強めるかを、いきいきと手を動かして示す例だからです。本当の情報を守るには、つねに AES のような現代的で査読を経たアルゴリズムを使い、ADFGX は歴史やパズル、キャプチャー・ザ・フラッグのチャレンジのために取っておきましょう。

よくある質問

ADFGX暗号とは何ですか?
ADFGX暗号は第一次世界大戦のドイツ陸軍の野戦暗号で、Fritz Nebel が考案し、1918年3月に導入されました。これは分割転置暗号です: 各文字はまず Polybius 方陣から読み取った一対の記号に置き換えられ、続いて記号の連なり全体が縦列転置のキーワードでかき混ぜられます。その出力は A、D、F、G、X の文字だけを使い、そこから名が来ています。
ADFGX と ADFGVX の違いは何ですか?
ADFGX は25個のマスからなる 5×5 の方陣を使うため、I と J が一つのマスを共有し、文字だけしか送れません。ADFGVX は六つ目のラベル V を加えて36個のマスからなる 6×6 の方陣とし、26文字すべてを別々に収め、さらに0から9までの数字も収めるので、数字も暗号化できます。ADFGVX は、軍事メッセージに必要な数字を運ぶため、ADFGX の数か月後の1918年6月に導入されました。
なぜ A、D、F、G、V、X の文字が使われるのですか?
これらの文字は、モールス信号のパターンが互いに大きく異なるために選ばれました。1918年には暗号文は無線でモールス信号として送られ、雑音や混信が一つの文字を別の文字に変えてしまうことが容易に起こりえました。モールス符号が混同しにくい記号を選ぶことで、乱れるメッセージが減り、この暗号は雑音の多い戦時の無線回線でより信頼できるものになりました。
ADFGX暗号はどう動きますか?
二つの段階で働きます。まず分割: 各文字を方陣の中で見つけ、その行のラベルに続いて列のラベルへと置き換え、長さを二倍にします。続いて転置: そのラベルの連なりをキーワードの下に行ごとに書き出し、縦列をキーワードの文字のアルファベット順に読み取ります。二つの段階が合わさって、各文字の二つの片をメッセージ全体に散らばらせます。
二つのキーワードは何のためにありますか?
ADFGX は二つの独立した秘密を使います。方陣キーワードは Polybius 方陣を混ぜ、各文字がどの一対のラベルになるかを決めます。転置キーワードは、ラベルの連なりが読み取られていく縦列を組み立て、各片がどこに行き着くかを決めます。これらは異なる役目を果たし、送り手と受け手の両方が両方を共有しなければなりません。このツールでは方陣キーワードは任意であり、転置キーワードを空のままにして分割を単独で示すこともできます。
ADFGX の実例を見せてもらえますか?
素の 5×5 方陣で、ATTACK は AA GG GG AA AF DX に分割され、連なり AAGGGGAAAFDX を与えます。転置の鍵 KEY を使うと、その連なりは K、E、Y の下に三つの縦列に書き出され、アルファベット順 — E、続いて K、続いて Y — に読まれて AGAD、AGAF、GGAX を与えます。五文字ずつに組むと、ATTACK は AGADA GAFGG AX に暗号化されます。どちらのキーワードを変えても、暗号文はまったく変わります。
ADFGX のメッセージはどうやって復号しますか?
二つの段階を逆にたどります。暗号文の長さと転置のキーワードから、各縦列に属する文字の数を割り出し、暗号文をそれらの縦列に切り分け、元の順に戻してラベルの連なりを組み立て直します。続いて連なりを二つのラベルずつ取り、各行と列の組を方陣の中で引きます。このツールでは復号を選び、暗号化に使われたのと同じ方陣、方陣キーワード、転置キーワードを入力してください。
ADFGVX暗号を破ったのは誰ですか?
フランスの暗号解読者 Georges Painvin が、1918年6月のドイツ春季攻勢のさなかに ADFGVX を破りました。数週間にわたる激しい作業のすえ、彼は傍受されたメッセージを解き、その中にはドイツ軍がパリ近くのどこを攻撃するつもりかを明らかにしたことから、のちに「勝利の電文」と呼ばれるものも含まれていました。彼の解読は第一次世界大戦の暗号解読における最もよく知られた成功の一つであり、連合国が攻撃に備える助けとなりました。
暗号における分割とは何ですか?
分割とは、各平文の文字を二つ以上の小さな部分 — ここでは方陣の中のそのマスの行と列のラベル — に分けて、それらの部分を独立して動かせるようにすることです。それ自体では、分割は単なる換字にすぎません。その力は、ADFGX がそうするように、部分を引き離す転置と組み合わされたときに現れます。一つの文字を取り戻すことが、メッセージ全体の混ぜ合わせを元に戻すことに左右されるようになるからです。
ADFGVX の方陣はでたらめでなければなりませんか?
歴史的には1918年の方陣はアルファベットと数字のでたらめな並びで、あらかじめ合意されていました。このツールは代わりに任意のキーワードから方陣を組み立てます。鍵を付けた Polybius や Playfair の方陣を作るのと同じやり方です: キーワードの重複しない文字を先に、続いて残りを順に並べます。これは覚えやすく再現しやすいうえに、同じ種類の混ぜ合わせを与えます。方陣キーワードを空のままにすると、素のアルファベット順の方陣になります。
ADFGX暗号はどれほど安全ですか?
現代の基準では安全ではありません。分割と転置を積み重ねることで単純な頻度分析を打ち負かし、ADFGVX を1918年には強い野戦暗号にしましたが、それでも当時 Georges Painvin によって破られ、現代のコンピューターを使った手法はこれを容易に破ります。とりわけ鍵が使い回されているときや、十分な暗号文が手に入るときはなおさらです。今日その価値は教育にあります。本当の保護には AES のような現代的なアルゴリズムを使い、ADFGX は学習やパズルのために取っておきましょう。
入力したテキストはサーバーに送信されますか?
いいえ。すべての暗号化と復号はブラウザ内だけで実行されるため、入力したテキストがアップロード・記録・保存されることはありません。共有リンクでさえ、テキストと方陣、キーワードを URL のハッシュ以降の部分に保持しますが、ブラウザはこの部分をサーバーに送信しないため、自分でリンクを共有するまでメッセージは非公開のまま保たれます。

関連ツール

こちらの便利なツールもどうぞ

シーザー暗号

ヴィジュネル暗号

アトバシュ暗号

レールフェンス暗号

プレイフェア暗号

アフィン暗号