📊 列転置暗号

列転置暗号でテキストの暗号化・復号。テキストを行ごとに書き込み、鍵で定義された列順で読み出します。

列転置暗号について

列転置暗号は古典的な転置暗号です。平文を鍵長と同じ幅のグリッドに行ごとに書き込みます。次に鍵の文字のアルファベット順で列を読み出し、暗号文を生成します。置換暗号とは異なり、文字は置き換えられず、位置のみが変わります。このツールはすべてブラウザ内で完結——アップロードは一切ありません。

仕組み

  • 列に番号を付ける —— 対応する鍵文字のアルファベット順に基づいて各列にランクを割り当てます(同順位は左から右へ処理)。
  • 暗号化 —— 平文を行ごとにグリッドに埋め、ランクが低い列から順に各列を上から下へ読み出します。
  • 復号 —— 各列に属する文字数を計算し(最終行が不完全な場合あり)、ランク順に列を埋め直し、グリッドを行ごとに読み出します。
  • A〜Z の文字のみ処理。他の文字は暗号化前に削除されます。

ユースケース

  • 転置暗号と置換との違いの学習。
  • 置換暗号と組み合わせて積暗号を構築。
  • アルファベットを変えずに文字位置を攪乱するパズルの作成。
  • 列順がテキストの見かけのランダム性をどう変えるかのデモ。

よくある質問

列転置暗号は安全ですか? 単独ではありません。アナグラミングやパターン攻撃で破れます。置換と組み合わせると強力になります。

鍵に重複文字がある場合は? 同順位は位置で処理——最も左の重複文字が低いランクを得ます。

なぜスペースや句読点を削除するのですか? 暗号が文字を並べ替えるため、非文字を保持すると列構造が漏れます。本ツールはクリーンな出力のためにそれらを削除します。

テキストはアップロードされますか? いいえ。すべての暗号化・復号はローカルブラウザで行われます。