回転グリル暗号
回転グリル(Fleissnerグリルとも呼ばれます)を暗号化・復号します。セルの四分の一を切り抜いた正方形のカードを空の格子に重ね、穴を通してメッセージを書き、カードを九十度回してまた書く、これを四回繰り返して格子を埋めます。格子を一行ずつ読み取れば暗号文の完成です。格子の大きさを選び、グリルを作るキーワードを設定して、グリルと格子のリアルタイム図を確認しましょう。すべてブラウザ内で動作します。
キーワード
格子の大きさ
キーワードがグリル、つまりカードに開ける穴を決めます。格子のセルは、互いに回転で入れ替わる四つ組にまとまり、各キーワードの文字がそのうちのどのセルに穴を開けるかを選ぶため、各組からちょうど一つの穴が生まれます。これが、四回の回転で格子を完璧に埋められる条件です。キーワードが違えば穴のパターンも変わります。文字だけが意味を持ち、両者が同じキーワードと同じ格子の大きさを使う必要があります。
上にテキストを入力すると、ここに結果が表示されます。
グリル図
例: サンプルメッセージが四回の四分の一回転にわたってグリルを通して格子を埋めていく様子です。上に自分のテキストを入力すると更新されます。
グリル(一回目の回転の穴)
格子(回転ごとに色分け)
回転 1
回転 2
回転 3
回転 4
回転グリル暗号 の使い方
- 1
暗号化か復号かを選ぶ
回転グリルで平文をかき混ぜるなら暗号化を、グリル暗号文を平文に戻すなら復号を選びます。
- 2
キーワードを設定する
グリルを作るキーワードを入力します。各文字が、どのセルを穴として切り抜くかを選びます。両者で同じキーワードを使ってください。
- 3
格子の大きさを選ぶ
4×4・6×6・8×8 の格子を選びます。大きな格子は、より長いテキストの塊を一度にかき混ぜます。両者は同じ大きさを使う必要があります。
- 4
テキストを入力または貼り付ける
メッセージを入力すると、打ち込むそばから変換されます。図にはグリルと格子が表示され、各セルはそれを埋めた回転ごとに色分けされます。
- 5
コピー・ダウンロード・共有する
結果をコピーしたり、テキストファイルとしてダウンロードしたり、あなたのテキスト・キーワード・格子の大きさをそのまま再現してツールを開くリンクを共有したりできます。
回転グリル暗号を理解する
回転グリル暗号とは
回転グリルは転置式暗号です。文字そのものを変えるのではなく、文字を書く順序をかき混ぜることでメッセージを隠します。この暗号の道具がグリルそのもの、つまり一部のセルを穴として切り抜いた硬い正方形のカードです。グリルを同じ大きさの空の格子に重ね、穴を通してメッセージの最初の文字を書き、次にカードを四分の一回転させて、新しい位置になった穴を通して続きの文字を書きます。四回回すとカードは格子のすべてのセルをちょうど一度ずつ覆い終え、その格子を通常の読み順で読み取ったものが暗号文になります。
最もよく知られた形は、1881年にこれを記述したオーストリアの大佐エードゥアルト・フライスナー・フォン・ヴォストロヴィッツ(Eduard Fleissner von Wostrowitz)にちなんで名付けられており、1916年に西部戦線でドイツ軍に採用されたことで有名です。同じ正方形が書いたときとはまったく違う順序で読まれるため、一文字も失われないまま文字が徹底的にかき混ぜられます。これこそが転置式暗号の特徴であり、回転グリルが今日に至るまで好まれる教材であり続ける理由です。
グリルと格子
すべては穴で決まります。各辺のセル数が偶数の格子(ここでは4×4・6×6・8×8)を用意すると、そのセルが四つの家族にまとまっていることに気づきます。どのセルも、正方形を九十度・百八十度・二百七十度と回したときに重なる三つのセルと一緒になって、一つの家族を成します。4×4 の格子には四つ、6×6 の格子には九つ、8×8 の格子には十六の家族があります。各家族がグリルの一つの枠であり、有効なグリルを作るには各家族からちょうど一つのセルを切り抜きます。
なぜちょうど一つなのでしょうか。そうすれば、グリルを四つの位置にわたって回したとき、各家族の四つのセルがそれぞれ一度きり露出するからです。どのセルも四回ともずっと覆われたまま(空白になってしまう)ということがなく、二度露出する(文字を上書きしてしまう)こともありません。一家族につき一つの穴こそが、四回の回転で格子を衝突なく完全に埋められるための、まさにその条件なのです。
キーワードからグリルを作る
歴史的には、送り手と受け手は物理的なグリル、あるいはどのセルが穴かを書いた説明を共有していました。このツールは代わりにキーワードからグリルを作るので、覚えやすく、共有しやすく、いつでも同じパターンを再現できます。キーワードの各文字が順に読まれ、家族ごとに四つのセルのうちどれを切り抜くかを選ぶのに使われます。キーワードが家族の数より短い場合は、単純に繰り返されます。
キーワードは常に一家族につき一つのセルしか選ばないため、どんなキーワードでも自動的に有効なグリルができます。暗号を壊すようなキーワードを入力する方法はありません。文字を変えれば穴が変わり、格子の大きさを変えれば、新しい家族の数に合わせてパターン全体が作り直されます。ページの図は出来上がったグリルを描くので、回す前にどのセルが開いているかを正確に確認できます。
回転グリル暗号の仕組み
暗号化は一回転ずつ進みます。グリルを開始位置に置き、穴から見えているセルにメッセージの最初の文字を、読み順(各行を左から右へ、上から下へ)に書き込みます。グリルを時計回りに四分の一回転させ、新しい位置の穴を通して続きの文字を書きます。さらに回して書き、もう一度繰り返して、合わせて四つの位置で格子が埋まります。メッセージが格子より短い場合は、残ったセルが詰め物の文字Xで埋められるので、格子は常に完成します。長い場合は、新しい格子を始めて同じグリルをもう一度使います。
上の図は全体像の両側を示しています。左は開始位置のグリルで、切り抜かれた穴に印が付いています。右は完成した格子で、各セルが書かれた回転(一回目・二回目・三回目・四回目)ごとに色分けされているので、メッセージが渦を巻きながら所定の位置に収まっていく様子が見られます。その格子を一行ずつまっすぐ横に読むと、出力に表示される暗号文になります。
具体例
この暗号自身の名前 FLEISSNERGRILLE(十五文字)を、4×4 の格子で使ってみましょう。グリルの穴が、回す前に2行目の3・4列目、3行目の4列目、4行目の1列目にあるとします。最初の四文字 F、L、E、I をそれらの穴を通して読み順に書き、次にカードを時計回りに回して S、S、N、E、さらに R、G、R、I、最後に L、L、E と詰め物の文字を書くと、十六のセルすべてが埋まります。
では完成した格子を一行ずつまっすぐ横に読むと、SLLRGEFLRISEINE と綴られます。転置は並べ替えるだけなので、これは元の語のアナグラムです。復号するには、まったく同じグリルをそれらの文字の上に戻して重ね、同じ四回転の順序で穴を通して読めば、FLEISSNERGRILLE が戻ってきます。これがこの暗号の古典的な例です。ツールでは、選んだキーワードと格子の大きさからグリルが自動で作られます。
回転グリルのメッセージを復号する
復号は暗号化を鏡に映したものです。暗号文を空の格子に一行ずつ、いっぱいになるまで書き込みます。次に同じグリルをその上に重ね、穴から見える文字を読み順に読み、グリルを四分の一回転させてまた読み、四回すべての回転にわたって続けます。文字が元の順序で出てきて、メッセージが復元されます。
これが成り立つには、両者が三つのことで一致している必要があります。同じ格子の大きさ、同じグリル(ここでは同じキーワード)、そして同じ回転の向きです。このツールは暗号化でも復号でも終始グリルを時計回りに回すので、ここで作ったメッセージは必ずここで復号できます。この暗号は文字を動かすだけなので、元の文で文字でないもの(空白・数字・記号)は暗号化の前に取り除かれて再び現れません。また、最後の格子を完成させるために加えられた詰め物のXは、復号したテキストの末尾に現れます。
歴史・用途・安全性
グリル暗号は古いものです。十六世紀にはジェロラモ・カルダーノ(Gerolamo Cardano)が秘密の文書のための単純なグリルを提案し、格子全体を埋める回転グリルは十九世紀にフライスナー(Fleissner)が定めました。ドイツは1916年に大きさごとの暗号名で回転グリルを軍に支給しました。5×5 はアンナ(Anna)、6×6 はベルタ(Berta)、8×8 はドーラ(Dora)、といった具合です。しかしこれらは、ジョルジュ・パンヴァン(Georges Painvin)率いるフランスの暗号解読者に破られるまで、戦地でわずか数か月しかもちませんでした。今日では、回転グリルは主にパズルとして、また転置の仕組みを生き生きと学べる教材として生き続けています。
現代の基準では、これはごくわずかな安全性しか提供しません。転置は元の文字を保つため、暗号文は平文とまったく同じ文字頻度を持ち、格子の大きさを言い当てた攻撃者が試すべきグリルは、特に小さな格子では限られた数しかありません。同じグリルで同じ長さの複数のメッセージは、とりわけ手がかりを与えてしまいます。回転グリルはその歴史と心地よい仕組みを楽しみ、遊びや学習に使いましょう。ただし、本物の秘密を守るために使ってはいけません。そこでは AES のような、現代的で専門家の査読を経たアルゴリズムが適切な選択です。
よくある質問
回転グリル暗号とは何ですか?
Fleissnerグリルとは何ですか?
キーワードはどのようにグリルを作るのですか?
どの格子の大きさが使えますか?
具体例を見せてもらえますか?
回転グリルのメッセージはどうやって復号しますか?
復号したテキストに余計なXがあるのはなぜですか?
空白・数字・記号は扱えますか?
縦列転置やスキュタレー転置とどう違うのですか?
回転グリル暗号は安全ですか?
テキストはサーバーにアップロードされますか?
関連ツール
こちらの便利なツールもどうぞ