トライフィッド暗号
Bifid の三次元の兄弟であるトライフィッド暗号を暗号化・復号しましょう。各文字を 3x3x3 の立方体上の三つの座標へ分割し、一つのブロックの座標を混ぜ合わせることで、出力されるすべての文字が三つの入力に依存するようになります。周期を設定し、任意のキーワードを加え、リアルタイムの分割を追いながら、結果をコピー・ダウンロード・共有できます。すべての処理はブラウザ上で実行されます。
周期
キーワード
周期はブロックの大きさです。テキストはこの数の文字からなるブロックに分けられ、座標は各ブロックの中で混ぜられます。両者とも同じ周期を使わなければなりません。
上にテキストを入力すると、結果がここに表示されます。
トライフィッドの立方体
層 1
1
2
3
1
2
3
層 2
1
2
3
1
2
3
層 3
1
2
3
1
2
3
トライフィッド暗号 の使い方
- 1
暗号化か復号を選ぶ
平文をトライフィッド暗号文に変えるには暗号化を、暗号文を平文に戻すには復号を選びます。
- 2
周期とキーワードを設定する
暗号が働くブロックの大きさを選びます。周期 0 はメッセージ全体を一つのブロックとして扱います。素の立方体を使うにはキーワードを空のままにし、混ぜるには一つ入力します。両者とも同じ設定を使わなければなりません。
- 3
テキストを入力または貼り付ける
メッセージを入力すると、入力すると同時に変換されます。分割パネルが各ブロックの文字をその層・行・列の数字の上に示します。
- 4
立方体を読む
トライフィッドの立方体を開いて、三つの層すべてと、すべての記号の座標、強調されたキーワードのマスを確認しましょう。
- 5
コピー・ダウンロード・共有する
結果をコピーしたり、テキストファイルとしてダウンロードしたり、入力したテキスト・キーワード・周期をそのまま整えてツールを開き直すリンクで共有したりできます。
トライフィッド暗号を理解する
トライフィッド暗号とは何ですか?
トライフィッド暗号は、フランスの暗号学者 Félix-Marie Délastelle が考案し、1902年に発表した古典暗号です。これは彼の Bifid 暗号を三次元へ拡張したものです。Bifid が各文字を平らな方陣から読み取った二つの座標に変えるのに対し、トライフィッドは各文字を三つの座標 — 層・行・列 — に変え、これは27個の記号からなる 3x3x3 の立方体から読み取ります。それらの座標は続いて一緒にかき混ぜられてから、ふたたび文字として読み戻され、一つの方式の中で換字と転置を結びつけます。
三つ目の座標を加えることこそが、トライフィッドを Bifid より強くする部分です。三つの別々の数字の流れが、ふたたび組にされる前に互いに織り交ぜられるため、出力の各文字は二つではなく、入力の異なる三つの文字に依存します。この情報のより広い広がり — 拡散 — は、文字頻度のパターンをいっそう徹底的に隠します。だからこそトライフィッドは、暗号学の講義やパズル集で好んで使われる上級の例題なのです。
3x3x3 の立方体と、その27番目の記号
トライフィッドは各記号に一つずつ、合わせて27個のマスを必要とし、これは三つの 3x3 の層を積み重ねて立方体に並べたものです。アルファベットの26文字がそのうち26個のマスを埋めると一つが余るので、27番目の記号が加えられます。このツールは、よくある慣例であるプラス記号 (+) を使います。めったに入力されない記号なので、メッセージ中のふつうの句読点は文字として扱われず、単に取り除かれます。したがってすべての記号は、1から3までの三つの数字からなる固有の住所を持ちます: どの層にあるか、どの行か、どの列か、です。
立方体はキーワードで混ぜることもできます。キーワードの重複しない記号を、順に、繰り返しなく先に立方体へ書き入れ、残りのアルファベットが続きます — 鍵を付けた Polybius や Playfair の方陣を組み立てるのとまったく同じやり方で、ただ三次元であるだけです。上のリアルタイムの立方体はキーワードのマスを強調して、混ざる様子を見られるようにします。キーワードを変えるとすべての座標が変わるので、キーワードは秘密の一部であり、両者とも同じものを使わなければなりません。
トライフィッド暗号の仕組み
暗号化は三つの段階で起こります。第一に、分割: 各文字を立方体の中で引き、その三つの座標 — 層・行・列 — に置き換えます。第二に、一つのブロックの文字の座標を三行で書き出し、すべての層の数字を一行目に、すべての行の数字を二行目に、すべての列の数字を三行目に書きます。第三に、その合わさった数字の連なりをまっすぐ横へ読み、三つずつ取り、各組を立方体の中で層・行・列として引いて暗号文の文字を生み出します。
層を先に、続いて行を、続いて列を書くことがこの方法の核心です。それが異なる文字から来た数字を織り交ぜるからです。上のツールはこれをリアルタイムで示します。入力するにつれ、分割パネルが各ブロックの文字をその層・行・列の数字の上に並べますが、これは紙の上で手で暗号を解くときとまったく同じやり方なので、一つの入力文字の三つの数字が三つの別々の出力文字へと離れていく様子を見ることができます。
周期、すなわちブロックの大きさ
周期はトライフィッドが働くブロックの大きさです。テキストはその数の文字からなるブロックに分けられ、層・行・列を織り交ぜる作業は各ブロックの中で独立して行われます。短い周期は各文字の影響が広がりうる範囲を制限し、長い周期はそれをメッセージのより広い範囲へ広げます。Délastelle の古典的な解説例は五の周期を使い、送り手と受け手は同じ値で合意しなければなりません。
周期を 0 に設定するのは周期がまったくないことを意味します: メッセージ全体を一つのブロックとして扱い、これは Délastelle がもともと記した方式で、最も強い拡散を与えます。引き換えに、長く周期のないメッセージは手で解くのがより難しくなります。上で周期を変えてみて、立方体とテキストが同じままでも暗号文がどう変わるかを見てください — その敏感さこそがブロック構造のすべての狙いです。
トライフィッドの実例
単語 HELLO を素の立方体と、単語全体を覆う周期で扱ってみましょう。まず各文字を層・行・列に分割します: H は 1,3,2、E は 1,2,2、L は 2,1,3、二つ目の L もまた 2,1,3、O は 2,2,3 です。層を一行に書くと 1 1 2 2 2 となり、行を次の行に書くと 3 2 1 1 2 となり、列を三行目に書くと 2 2 3 3 3 となります。
さて、三つの行を一つの連なりとしてまっすぐ横へ読み — 1 1 2 2 2 3 2 1 1 2 2 2 3 3 3 — 数字を三つずつ取ります: 112, 223, 211, 222, 333。各組を立方体の中で層・行・列として引くと B, O, J, N そして + となるので、HELLO は BOJN+ に暗号化されます。周期を 3 にすると、同じ単語は代わりに BVOMR になります。ブロックが別の場所で切れて混ぜ方が変わるからです。
トライフィッド暗号を復号する
復号は手順を逆にたどります。各ブロックについて、すべての暗号文の文字の三つの座標を順に読み取ると、合わさった数字の連なりがふたたび現れます。その連なりを等しい三つの部分に分けると、前の部分が元の層の数字、真ん中の部分が行の数字、後ろの部分が列の数字となり、各文字の層をそれに合う行および列と組にすると平文が組み立て直されます。復号を選ぶと、ツールがこれらすべてをあなたの代わりに行います。
正しく復号するには、暗号化に使われたのと同じ設定を使わなければなりません: 同じキーワードと同じ周期です。そのどちらか一つでも間違えると、数字が誤った場所で分かれ、文字化けしたテキストが生まれます — これはまさにこの暗号を役立つものにしている性質でもあります。立方体には26文字とプラス記号しか入っていないため、元のメッセージのほかの文字は暗号化の途中で取り除かれ、ふたたび現れることはありません。
トライフィッド対 Bifid、そしてその安全性
トライフィッドと Bifid は兄弟です: どちらも文字を座標へ分割してブロックにわたって織り交ぜ、どちらも Délastelle が考案しました。違いは次元です。Bifid は平らな方陣と文字ごとに二つの座標を使い、トライフィッドは立方体と三つの座標を使うので、各出力文字が二つではなく三つの入力に依存し、より大きな拡散を与えます。トライフィッドは、Bifid と、その土台である Polybius の方陣を理解した人にとって、自然な次の一歩です。
現代の基準ではトライフィッドは安全ではありません。その三方向の分割は単純な頻度分析を打ち負かしますが、暗号解読者は、とりわけ周期が短いか知られていて十分な暗号文が手に入るとき、これを破る確立された方法を持っており、キーワードは敷居をわずかに上げるだけです。今日その本当の価値は教育にあります: さらなる分割がどのように暗号を強めるかを、いきいきと手を動かして見られる方法だからです。本当の情報を守るには、つねに AES のような現代的で査読を経たアルゴリズムを使い、トライフィッドは学習やパズル、キャプチャー・ザ・フラッグのチャレンジのために取っておきましょう。
よくある質問
トライフィッド暗号とは何ですか?
トライフィッド暗号はどう動きますか?
トライフィッド暗号は誰が考案しましたか?
トライフィッドと Bifid 暗号の違いは何ですか?
トライフィッド暗号における周期とは何ですか?
立方体の27番目の記号は何ですか?
キーワードは何をしますか?
トライフィッドの実例を見せてもらえますか?
トライフィッド暗号はどうやって復号しますか?
トライフィッドは Polybius の方陣とどう関係していますか?
トライフィッド暗号はどれほど安全ですか?
入力したテキストはサーバーに送信されますか?
関連ツール
こちらの便利なツールもどうぞ