フォースクエア暗号
フェリックス・デラステルが考案した、2つのキーワードを使うダイグラフ暗号 — フォースクエア暗号 — を暗号化・復号しましょう。文字は4つの 5×5 のスクエアにまたがってペア単位で暗号化されます — 2つは平文用、2つはあなたのキーワードでかき混ぜられたもので — これにより Playfair よりも明らかに強くなります。両方のキーワードを設定し、リアルタイムのフォースクエアのグリッドとペアごとの内訳を追いながら、結果をコピー・ダウンロード・共有できます。すべての処理はブラウザ上で実行されます。
キーワード1 (右上)
キーワード2 (左下)
25文字のアルファベット: I と J が1つのマスを共有するため、復号された J は I として読み戻されます。フォースクエア暗号における古典的な選択です。
上にテキストを入力すると、結果がここに表示されます。
フォースクエアのグリッド
平文の文字は2つの平文スクエア (左上と右下) の中で見つけられ、暗号文の文字は2つのキーワードスクエア (右上と左下) から読み出されます。キーワードのマスは強調表示されます。
平文スクエア
キーワード2スクエア
キーワード1スクエア
平文スクエア
フォースクエア暗号 の使い方
- 1
暗号化か復号か、そしてアルファベットを選ぶ
平文をフォースクエア暗号のペアに変えるには暗号化を、それを元に戻すには復号を選びます。I/J を統合したアルファベット (古典的な既定) を選ぶか、J を別々に保つために Q を除外する方式を選びます。
- 2
2つのキーワードを入力する
右上のスクエア用に1つ、左下のスクエア用にもう1つ、キーワードを入力します。双方とも両方のキーワードを共有しなければなりません。片方または両方を空欄にすると、その代わりに平文スクエアを使えます。
- 3
テキストを入力または貼り付ける
メッセージを入力すると、入力すると同時に変換されます。手順パネルは、各平文のペアを、それが変わる暗号ペアの上に重ねて示します。
- 4
フォースクエアのグリッドを読む
グリッドを開くと、2つの平文スクエアと2つのキーワードスクエアが、キーワードのマスを強調表示した状態で見られるので、どのペアも目で追えます。
- 5
コピー・ダウンロード・共有する
結果をコピーしたり、テキストファイルとしてダウンロードしたり、入力したテキスト・キーワード・アルファベットをそのまま整えてツールを開き直すリンクで共有したりできます。
フォースクエア暗号を理解する
フォースクエア暗号とは何ですか?
フォースクエア暗号は、文字を2つずつ暗号化する手作業の暗号で、フランスの暗号学者フェリックス・デラステルによって1902年頃に考案されました — Bifid 暗号や Trifid 暗号を生み出したのと同じ多作な才能の持ち主です。これはより古い Playfair 暗号の近い親戚ですが、Playfair が単一の 5×5 のスクエアを使うのに対し、フォースクエアはその作業を 2×2 のブロックに配置された4つのスクエアに分散させます。そのうち2つは平文のアルファベットを保持し、2つは別々のキーワードでかき混ぜられるので、この暗号は単一文字の頻度を隠し、Playfair よりも手作業で破るのが格段に難しくなります。
単一の文字ではなく文字のペア — ダイグラフ — を扱うため、フォースクエアは多文字換字式暗号です。ペア単位で暗号化することで、単純な換字式暗号を数分で陥落させる文字頻度の指紋がならされ、2つの独立したキーワードを使うことで、Playfair に比べて鍵の材料がおよそ倍になります。実際に軍隊が運用した Playfair ほどの名声には決して届きませんでしたが、配置のわずかな変更がどれほど確かな強度の跳躍をもたらすかを示す、美しく、とても学びやすい実例です。
フォースクエア暗号の仕組み
4つの 5×5 のスクエアを 2×2 のブロックに並べます。左上と右下のスクエアは平文のアルファベットを順番どおりに保持し、右上と左下のスクエアはそれぞれキーワードでかき混ぜられたアルファベット (まずキーワードの重複しない文字、続いて残りのアルファベット) を保持します。26文字を25のマスに収めなければならないため、1文字が畳み込まれます — 古典的には I と J が1つのマスを共有します。
文字のペアを暗号化するには、最初の文字を左上の平文スクエアの中で、2番目の文字を右下の平文スクエアの中で見つけます。2つの暗号文字はキーワードスクエアから読み出されます: 1つ目は、最初の文字の行と2番目の文字の列を共有する右上のスクエアの文字、2つ目は、2番目の文字の行と最初の文字の列を共有する左下のスクエアの文字です。要するに、2つの平文文字がスクエアをまたいで長方形を描き、キーワードスクエアにあるその2つの対角が暗号ペアになります。復号は単にこの経路を逆にたどります — キーワードスクエアの中で暗号文字を見つけ、平文スクエアから平文文字を読み戻します。
2つのキーワードと平文スクエア
フォースクエア暗号には2つの独立した秘密があります: 右上のスクエア用のキーワードと、左下のスクエア用のキーワードです。それぞれは鍵付きの Playfair やポリュビオスのスクエアとまったく同じように作られます — まずキーワードの重複しない文字を順番に、繰り返しなしで書き込み、続いて残りのアルファベットが並びます。下のリアルタイムのグリッドはキーワードのマスを強調表示するので、かき混ぜの様子を見られます。2つの平文スクエアは常に素のアルファベット順を保ちます。なぜなら、それらは文字を「見つける」ためだけに使われ、決して隠すためには使われないからです。
送り手と受け手は両方のキーワードを共有し、アルファベットの方式について合意しなければなりません。キーワードを空欄のままにすると、その代わりに平文スクエアを使えます — そして両方を空欄にすると、4つのスクエアはすべて同一になり、暗号は固定された文字ペアの転置に帰着します。これは、キーワードによるかき混ぜが重ねられる前に、その幾何学的な仕組みを見るのに便利な方法です。
I/J の統合か Q の除外か
26文字は25のマスに収まらないので、1文字が道を譲らなければなりません。Playfair と共通する古典的なフォースクエアの慣例では、I と J を1つのマスに統合します: メッセージ中の J は I として暗号化され、復号された I はどちらを表すこともあり得ます — ほとんどの場合、文脈から明らかです。これがここでの既定です。
もう一つの方式は Q をスクエアから (そしてテキストから) 完全に取り除き、I と J を別々に保ちます — これは、まれな Q よりも J/I の曖昧さの方が重要な場合に役立ちます。上のトグルで方式を選んでください。リアルタイムのグリッドが自らラベルを付け替えます。双方とも同じ方式を使わなければ、メッセージは復号されません。
フォースクエアの実例で見る
I/J を統合したアルファベットを使い、キーワード1に EXAMPLE (右上)、キーワード2に KEYWORD (左下) を用いて、ATTACK という単語を取り上げましょう。ATTACK はペア AT、TA、CK に分かれます。最初のペアでは、A は左上の平文スクエアの 1 行目 1 列目にあり、T は右下の平文スクエアの 4 行目 4 列目にあります。
1つ目の暗号文字は、A の行と T の列で右上のキーワードスクエアから読み出され、M に行き着きます。2つ目は、T の行と A の列で左下のキーワードスクエアから読み出され、こちらも M に行き着きます — つまり AT は MM に暗号化されます。続けると、TA は OW に、CK は PA になるので、ATTACK は MM OW PA に暗号化されます。この暗号は MM のような重なった文字を生み出すことがあり、これは Playfair では決して起こらないことに注意してください。同じ2つのキーワードで復号すると、各ペアがそのまま ATTACK に戻ります。
フォースクエアのメッセージを復号する
復号は同じ仕組みを逆向きに動かします。暗号文をペアに分け、各ペアの最初の文字を右上のキーワードスクエアの中で、2番目を左下のキーワードスクエアの中で見つけ、続いて対応する行と列で2つの平文スクエアから平文文字を読み出します。このツールは、復号を選び、暗号化に使われたのと同じ2つのキーワードとアルファベットの方式を入力すると、これらすべてを代わりに行います。
スクエアには A–Z の文字しか存在しないため、元のメッセージにあったスペース・数字・句読点は暗号化の際に取り除かれ、再び現れることはありません。最後に1文字だけ余る場合は、メッセージを丸ごとのペアに分けられるように埋め草が足されます (X で、その文字自体が X のときは Z で)。そのため、復号されたメッセージは余分な埋め草の文字で終わることがあります — これはダイグラフ暗号に固有のものであり、ツールの不具合ではありません。
フォースクエア対 Playfair、そして安全性
フォースクエアは2つの点で Playfair を改良します。1つではなく2つのキーワードを使って鍵の材料を倍にし、そして Playfair のように重なった文字の間に埋め草を挿入する必要が決してありません。なぜなら、ペアの2つの半分が別々のスクエアから読み出されるからです — そのため LL や EE のようなペアもきれいに暗号化されます。これらの変更によって、手作業では少し手間が増えますが、攻撃するのは明らかに難しくなり、それでいて同じ思い描きやすいグリッドの発想は保たれます。
とはいえ現代の基準では、フォースクエアは依然として古典的な暗号であり、コンピュータに対して安全ではありません。すべてのダイグラフ換字式暗号と同様に、文字ペアの頻度を保持するため、十分な量のテキストがあれば、ダイグラフ頻度分析や既知平文攻撃に屈します。今日におけるその価値は教育的なものです — それは Playfair から優雅に一歩進んだもので、より多くの鍵の材料がもたらす利点を実感させてくれます。本当の情報を守るには、AES のような現代的で査読を経たアルゴリズムを常に使い、フォースクエアは歴史やパズル、キャプチャー・ザ・フラッグのチャレンジのために取っておきましょう。
よくある質問
フォースクエア暗号とは何ですか?
フォースクエア暗号はどう動きますか?
フォースクエア暗号はなぜ2つのキーワードを使うのですか?
フォースクエアの実例を見せてもらえますか?
フォースクエア暗号はどうやって復号しますか?
フォースクエアは Playfair 暗号とどう違いますか?
I/J の統合と Q の除外の違いは何ですか?
フォースクエア暗号は二重の文字を生み出せますか?
スペース・数字・句読点はどうなりますか?
両方のスクエアにキーワードを使わなければなりませんか?
フォースクエア暗号はどれほど安全ですか?
入力したテキストはサーバーに送信されますか?
関連ツール
こちらの便利なツールもどうぞ