バイフィッド暗号
バイフィッド暗号を暗号化・復号しましょう。各文字をポリュビオス座標へ分割し、それらを混ぜ合わせることで、出力されるすべての文字が二つの入力に依存するようにします。周期を設定し、5×5 と 6×6 の方陣を切り替え、任意のキーワードを加え、リアルタイムの分割を追いながら、結果をコピー・ダウンロード・共有できます。すべての処理はブラウザ上で実行されます。
方陣
周期
キーワード
周期はブロックの大きさです。テキストはこの数の文字からなるブロックに分けられ、座標は各ブロックの中で混ぜられます。両者とも同じ周期を使わなければなりません。
上にテキストを入力すると、結果がここに表示されます。
ポリュビオスの方陣
1
2
3
4
5
1
2
3
4
5
バイフィッド暗号 の使い方
- 1
暗号化か復号を選ぶ
平文をバイフィッド暗号文に変えるには暗号化を、暗号文を平文に戻すには復号を選びます。
- 2
方陣とキーワードを選ぶ
I と J が一つのマスを共有する古典の 5×5 の方陣を選ぶか、数字 0 から 9 までを加える 6×6 の方陣を選びます。素の方陣を使うにはキーワードを空のままにし、混ぜるには一つ入力します。
- 3
周期を設定する
暗号が働くブロックの大きさを選びます。周期 0 はメッセージ全体を一つのブロックとして扱います。両者とも同じ周期を使わなければなりません。
- 4
テキストを入力または貼り付ける
メッセージを入力すると、入力すると同時に変換されます。分割パネルが各ブロックの文字をその行と列の数字の上に示します。
- 5
コピー・ダウンロード・共有する
結果をコピーしたり、テキストファイルとしてダウンロードしたり、入力したテキスト・方陣・キーワード・周期をそのまま整えてツールを開き直すリンクで共有したりできます。
バイフィッド暗号を理解する
バイフィッド暗号とは何ですか?
バイフィッド暗号は、フランスの暗号学者 Félix-Marie Délastelle が1901年ごろに考案した古典暗号です。これはポリュビオスの方陣の上に直接築かれます。すべての文字はまず一対の座標 — その行と列 — に変えられ、続いてそれらの座標が一緒にかき混ぜられてから、ふたたび文字として読み戻されます。この二段階の設計は換字と転置を結びつけており、それこそが素のポリュビオス換字と比べてバイフィッドに強さを与えるものです。
巧妙な部分は混ぜ方にあります。隣り合う文字の行の数字と列の数字が、ふたたび組にされる前に互いに織り交ぜられるため、出力の各文字は結局、入力の異なる二つの文字に依存することになります。この情報の広がり — 拡散と呼ばれるもの — は、単純換字暗号をあれほど破りやすくする文字頻度の目立つパターンを隠し、分割がどのように暗号を強めるかを示す、好んで使われる教育の例題にバイフィッドを仕立てます。
バイフィッド暗号の仕組み
暗号化は三つの段階で起こります。第一に、分割: 各文字を方陣の中で引き、その行番号と列番号に置き換えます。第二に、一つのブロックの文字の座標を二行で書き出します — すべての行の数字を上の行に、すべての列の数字を下の行に書きます。第三に、その合わさった数字の連なりをまっすぐ横へ読み、二つずつ取り、各組を方陣の中で行と列として引いて暗号文の文字を生み出します。
行を先に、列を後に書くことがこの方法の核心です。それが異なる文字から来た数字を織り交ぜるからです。上のツールはこれをリアルタイムで示します。入力するにつれ、分割パネルが各ブロックの文字をその行と列の数字の上に並べますが、これは紙の上で手で暗号を解くときとまったく同じやり方なので、一つの入力文字の数字が二つの別々の出力文字へと離れていく様子を見ることができます。
ポリュビオスの方陣: 5×5 と 6×6
バイフィッドは座標を読み取るためのポリュビオスの方陣を必要とし、その大きさを選べます。古典的な 5×5 の方陣は25個のマスを持ち、26文字のアルファベットには一つ足りないので、伝統によって I と J が一つのマスを共有します。したがって暗号化した J は、復号すると I として戻ってきます。行と列には1から5まで番号が付き、これはバイフィッドのほぼすべての教科書の例題で使われる方式です。
6×6 の方陣は36個のマスを持ち — 26文字すべてに数字 0 から 9 までを加えたものです — 統合されるものがなく、文字と数字の両方が正確に往復します。どちらの方陣もキーワードで混ぜられます。キーワードの重複しない文字を、順に、繰り返しなく先に書き入れ、残りのアルファベットが続きますが、これは鍵を付けた Playfair やポリュビオスの方陣を組み立てる方法と同じです。リアルタイムの格子はキーワードの文字を強調して、混ざる様子を見られるようにします。
周期、すなわちブロックの大きさ
周期はバイフィッドが働くブロックの大きさです。テキストはその数の文字からなるブロックに分けられ、行のあと列で織り交ぜる作業は各ブロックの中で独立して行われます。短い周期は各文字の影響が広がりうる範囲を制限し、長い周期はそれをメッセージのより広い範囲へ広げます。よく選ばれるのは五から十文字の周期で、送り手と受け手は同じ値で合意しなければなりません。
周期を 0 に設定するのは周期がまったくないことを意味します: メッセージ全体を一つのブロックとして扱い、これは Délastelle がもともと記した方式で、最も強い拡散を与えます。引き換えに、長く周期のないメッセージは手で解くのがより難しくなります。上で周期を変えてみて、方陣とテキストが同じままでも暗号文がどう変わるかを見てください — その敏感さこそがブロック構造のすべての狙いです。
バイフィッドの実例
単語 HELLO を素の 5×5 の方陣と、単語全体を覆う周期で扱ってみましょう。まず分割します: H は行2、列3、E は行1、列5、L は行3、列1、二つ目の L もまた行3、列1、O は行3、列4です。行を一行に書くと 2 1 3 3 3 となり、列を次の行に書くと 3 5 1 1 4 となります。
さて、二つの行を一つの連なりとしてまっすぐ横へ読み — 2 1 3 3 3 3 5 1 1 4 — 数字を組にして取ります: 21, 33, 33, 51, 14。各組を方陣の中で行と列として引くと F, N, N, V そして D となるので、HELLO は FNNVD に暗号化されます。繰り返される L が、もはや出力の中で繰り返されるパターンとして現れないことに注目してください — それが拡散の働きです。周期を 3 にすると、同じ単語は代わりに FNVND になります。ブロックが別の場所で切れるからです。
バイフィッド暗号を復号する
復号は手順を逆にたどります。各ブロックについて、暗号文の文字の座標を順に読み取ると、合わさった数字の連なりがふたたび現れます。その連なりを半分に分けると、前半が元の行の数字、後半が元の列の数字となり、各行をそれに合う列と組にすると平文の文字が組み立て直されます。復号を選ぶと、ツールがこれらすべてをあなたの代わりに行います。
正しく復号するには、暗号化に使われたのと同じ三つの設定を使わなければなりません: 同じ方陣の大きさ、同じキーワード、同じ周期です。そのどれか一つでも間違えると、座標が誤った場所で分かれ、文字化けしたテキストが生まれます — これはまさにこの暗号を役立つものにしている性質でもあります。また、5×5 の方陣では二つの文字がマスを共有していたために、元の J が I として戻ってくることも覚えておいてください。
バイフィッド暗号の歴史と安全性
Félix Délastelle は1902年の暗号学の論考でバイフィッド暗号を発表し、三次元の格子を使うその親類である Trifid 暗号や、四方陣・二方陣暗号も並べて載せました。バイフィッドは決して軍用級の体系ではありませんでしたが、分割と転置を組み合わせれば単純な頻度分析を打ち負かせることを示した重要な一歩であり、今日でもパズルや暗号チャレンジ、暗号学の講義の定番であり続けています。
現代の基準ではバイフィッドは安全ではありません。暗号解読者は、とりわけ周期が知られているか短く、十分な暗号文が手に入るとき、これを破るよく確立された方法を持っており、キーワードは敷居をわずかに上げるだけです。今日その本当の価値は教育にあります: 拡散がなぜ重要かを手を動かして見られる明快な方法だからです。本当の情報を守るには、つねに AES のような現代的で査読を経たアルゴリズムを使い、バイフィッドは学習やパズル、キャプチャー・ザ・フラッグのチャレンジのために取っておきましょう。
よくある質問
バイフィッド暗号とは何ですか?
バイフィッド暗号はどう動きますか?
バイフィッド暗号は誰が考案しましたか?
バイフィッド暗号における周期とは何ですか?
キーワードは何をしますか?
5×5 と 6×6 の方陣の違いは何ですか?
バイフィッドの実例を見せてもらえますか?
バイフィッド暗号はどうやって復号しますか?
バイフィッドはポリュビオスの方陣とどう違いますか?
バイフィッド暗号はどれほど安全ですか?
バイフィッドと Trifid の違いは何ですか?
入力したテキストはサーバーに送信されますか?
関連ツール
こちらの便利なツールもどうぞ