レールフェンス暗号変換ツール|文字ズラして復号・暗号化

目次

レールフェンス暗号変換ツール

解読する 暗号文を解く
暗号化する 暗号文を作る

暗号文を入力

文字数: 0

※ブラウザ上で処理するため、サーバーに入力した文字を送信することはありません。

高度な設定(開始位置のズレ)

ジグザグの開始位置をずらして解く上級者向け設定。通常は 0 のままでOK。

全段数の復号候補

意味の通る行をタップ → 配置を確認

平文を入力

※ブラウザ上で処理するため、サーバーに入力した文字を送信することはありません。

高度な設定(開始位置のズレ)

ジグザグの開始位置をずらして暗号化する上級者向け設定。通常は 0 のままでOK。

暗号文(結果)

文字数: 0

配置の確認

ツールについて

このツールは、文字をジグザグ(垣根のような波形)に並べ替えて作る「レールフェンス暗号(Rail Fence 暗号/柵状暗号・ジグザグ暗号とも呼ばれます)」を、解読・作成するためのツールです。

いちばんの特長は、段数の分からない暗号文を貼り付けると、2 段から順に、考えられる段数すべての復号結果を縦一列に並べて見せることです。

レールフェンス暗号は、文字を別の文字に置き換えるのではなく、並び順だけを入れ替える「転置式暗号」の一種です。

段数(何段のジグザグにするか)という一つの数字だけが鍵で、その範囲は実用上ごく狭いため、全部の段数を並べてしまえば人の目で正解を拾えます。

この「小さな鍵を全部並べて、人が確かめる」という考え方は、謎解き・リアル脱出ゲーム・ARG(代替現実ゲーム)や、CTF(セキュリティ競技)の初級問題と相性がよく、機械が統計で「それっぽい答え」を一つだけ出す方式より、短い文章や記号混じりの暗号に強いという良さがあります。

日本語の文章や記号を含んだ暗号文もそのまま扱えます。

解いた段数の行をタップすると、その文字がどんなジグザグに並んでいたのかを格子の図で確かめられるので、「なるほど、こう波打って並んでいたのか」と納得しながら使えます。

ツールの使い方

Step 1: モードを選ぶ

いちばん上のタブで、解読する(暗号文を解く)と 暗号化する(暗号文を作る)を選びます。

最初は 解読する が選ばれた状態で開きます。

Step 2: 暗号文を貼り付けて、候補を眺める(解読する)

解読する モードでは、入力欄に解読したい暗号文を貼り付けます。

すると 全段数の復号候補 に、2 段から順に、その暗号文を各段数で復号した結果がずらりと並びます。

Step 3: 意味の通る行を探して、配置を確かめる

並んだ候補の中から、意味の通る行を目で探します。

気になる行をタップすると、その段数での文字の並び(ジグザグの格子図)が下に開き、暗号文がどのように波形へ配置されていたのかを目で確認できます。

Step 4: 平文と段数を入れて暗号文を作る(暗号化する)

暗号化する モードでは、平文を入力 に文章を入れ、段数 を決めると、その場で暗号文ができあがります。

結果欄の コピー ボタンで、暗号文をそのまま書き出せます。

下の 配置の確認 には、入力した文章がジグザグに並ぶ様子が図で表示されます。

Step 5: 開始位置をずらしたいときは高度な設定(任意)

高度な設定(開始位置のズレ) を開くと、オフセット を指定できます。

ジグザグを頂点からではなく途中から始める、上級者向けの設定です。通常は 0 のままで問題ありません。

機能の説明

全段数の復号候補

暗号文を貼り付けると、2 段から順に、考えられる段数すべての復号結果を縦一列に並べます。

初期表示は、実用でよく使われる 210 段(最大9行)に絞って、一目で見渡せるようにしています。

11 段以上で作られた暗号文のときは、一覧の下に もっと段数を見る(11〜20段) が現れ、暗号化モードと同じ 20 段まで候補を広げられます。

ジグザグ格子図(配置の可視化)

候補の行をタップすると、その段数で文字がどのように波形へ並んでいたかを、格子の図で表示します。

ハイライトされたマスをたどると、文字が上段から下段へ、また上段へと折り返す様子が分かります。

図の下に書かれているとおり、この波を段ごと(上から下へ)に読むと、元の暗号文になります。

暗号化モードでも同じ図で、入力した文章の並びを確認できます。

文字数の表示と、端の空白の注意(重要)

入力欄と結果欄には、その文字列の文字数を表示します。

レールフェンス暗号は文字数がひとつ違うだけで結果が大きく変わるため、暗号化した文字数と、解読に貼り付けた文字数が一致しているかを確かめる目印になります。

また、解読の入力の先頭や末尾に空白があるときは注意書きが出ます。

コピー&ペーストで紛れ込みやすい余分な空白(とくに見えにくい全角スペース)に気づけるようにするためです。

コピーで余分な改行が入らない結果欄

暗号化の結果欄は、ドラッグしてコピーしても余分な改行が混入しない形にしています。

コピー ボタンを使えば、暗号文だけを正確に書き出せます。

空白を無視して詰める(暗号化する)

空白を無視して詰める をオンにすると、平文の空白(半角・全角)を取り除いてから暗号にします。

単語の区切りを消して読みにくくしたいときに使います(記号はそのまま1文字として扱います)。

ツールの仕様

レールフェンス暗号の考え方

文字を上の段から下の段へ、斜めに一文字ずつ置いていき、いちばん下まで来たら折り返して上へ戻ります。

この波形(ジグザグ)の一周は 2 ×(段数 − 1) 文字で、たとえば 3 段なら 4 文字ごとに同じ段へ戻ります。

並べ終わったら、いちばん上の段から順に、各段の文字をつなげて読んだものが暗号文です。

復号はこの逆で、暗号文の長さと段数から各段に何文字入るかを計算し、波形へ戻してから元の順に読み直します。

段数の範囲

段数は 2 段からで、暗号化では 20 段まで指定できます。

解読の一覧は初期表示を 210 段に絞り、もっと段数を見る(11〜20段) で 20 段まで広げられます(暗号化の上限と揃えてあり、作った暗号を確実に解けます)。

なお、いずれの場合も文字数以上の段数は、並べ替えても元の文章と変わらない(=暗号にならない)ため候補には出しません。

2 段のジグザグも作れないほど文字数が少ないとき(3 文字未満)は、文字数が足りない旨を表示します。

復号は「暗号文の文字数」が重要

レールフェンス暗号は、どの文字がどの段に乗るかが文字数だけで決まります。

そのため、解読に貼り付けた暗号文が、暗号化したときと一文字でも違うと、全体がずれて元に戻りません。

とくに、コピー&ペーストのときに末尾へ紛れ込む改行や空白(全角スペースを含む)は、見た目では気づきにくいのに結果を総崩れにします。

うまく戻らないときは、まず文字数表示と、先頭・末尾の余分な空白を確認してください。

空白を無視して詰めると往復できません(重要)

空白を無視して詰める をオンにして作った暗号文は、空白を取り除いてから並べ替えているため、復号しても元の空白の位置は戻りません。

オンのときに空白を含む文章を入れると、その旨の注意書きが出ます。

空白の位置まで含めて元へ戻したいときは、この設定をオフ(すべて1文字として扱う)にしてください。

ちょっとした豆知識

レールフェンス暗号のように「並び順だけを入れ替える」暗号は、古くから使われてきました。

古代ギリシアで細い棒に帯を巻きつけて読み書きしたスキュタレー暗号や、紙と鉛筆だけで実行できる野戦用の暗号として、歴史のあちこちに登場します。

この方式のおもしろいところは、文字そのものは変わらないため、暗号文に含まれる文字の種類や出やすさが元の言葉のままになる点です。

そのぶん「文字を置き換える暗号」とは見破り方が異なり、どこで折り返しているか(段数)を見つけるのが解読の勘どころになります。

まさに、全段数を並べて目で探すこのツールが得意とするところです。

よかったらシェアしてね!
目次