UTILS.
100% ブラウザ内で完結
🏛️

縦列転置式暗号

キーワード駆動の縦列転置: グリッドを行方向に埋め、キーワード文字のアルファベット順に列を読み出します。完全版・不完全版に対応。

— ここに結果が表示されます —

このツールについて

縦列転置式暗号ツールは、歴史的に軍隊で使われ、現在はCTFで一般的なキーワード駆動の転置式暗号のための無料のブラウザ内エンコーダー・デコーダーです。平文はキーワードの長さに等しい幅のグリッドに左から右へ書き込まれます。次に各列はその上のキーワード文字のアルファベット順位で番号付けされ(同順位は左から右で決着)、順位の昇順で列を読み出して暗号文が生成されます。例えばキーワード ZEBRAS では、A列が最初に、次にB、E、R、S、Zの順に読まれます。

2つの変種に対応します。完全版(パディングあり)では、最後の短い行を選んだパディング文字で埋め、すべての列が同じ高さになります。不完全版(不規則)ではパディングを追加せず、最後の行がギザギザのままになります。デコードでは各列の真の長さを慎重に計算し、文字が正しいセルに戻るようにします。すべての計算はブラウザ内でローカルに行われ、何もアップロードされません。

デコードは処理を逆にします。暗号文の長さとキーワードから、ツールは各列が持つ文字数を決定し、鍵順位の順で暗号文ブロックを列に割り当て、再構築したグリッドを行ごとに読み戻します。パディングありの変種では、復元されたテキストから末尾のパディング文字が取り除かれます。転置は文字の位置だけを変えて同一性は変えないため、縦列転置はさらなる強度のために換字式暗号と重ねられることがよくあります。

よくある質問

列の読み出し順はどのように決まりますか?
各列はその上のキーワード文字のアルファベット順で順位付けされ、同順位は左から右で決着します。列は最も低い順位から高い順位へ読み出されます。ZEBRAS では順序は A, B, E, R, S, Z です。
完全版と不完全版の違いは何ですか?
完全版は最後の行をパディング文字で埋めてすべての列を同じ高さにします。不完全版は最後の行をパディングなしのギザギザのままにします。不完全版のデコードでは不揃いな列の長さを考慮します。
パディング文字は何のためですか?
完全版では最後の行の空セルを埋め、すべての列が同じ文字数になるようにします。メッセージに現れそうにない文字、例えばXが望ましく、デコード時に取り除かれます。
キーワードのつづりが重要ですか、それとも文字だけですか?
文字のアルファベット順だけが重要なので、同じソート済み文字パターンを持つキーワードは同じ並べ替えを与えます。繰り返し文字は現れた順に左から右で順位付けされます。

その他のツール