スキュタレー暗号
古代スパルタの棒を使う暗号であり、史上最古の軍事暗号装置でもあるスキュタレー暗号を暗号化・復号しましょう。選んだ太さの棒にメッセージを巻き付け、棒に沿って書き込み、かき混ぜられた順序で読み出します。直径を調整すると、グリッドがリアルタイムに形づくられる様子を眺められます。すべての処理はブラウザ上で実行されます。
直径
直径が暗号のキーです: 棒の周りに一周で何文字が巻き付くか、すなわちグリッドの列数を決めます。送信者と受信者は同じ直径を使わなければなりません。
上にテキストを入力すると、スキュタレー暗号の結果がここに表示されます。
スキュタレーのグリッド図
メッセージ IAMHURTVERYBADLYHELP を4文字分の棒に巻き付けた例です。上にあなた自身のテキストを入力すると、グリッド上で確認できます。
スキュタレー暗号 の使い方
- 1
暗号化か復号かを選ぶ
平文をスキュタレー暗号文に変えるなら暗号化を、暗号文から元のメッセージを復元するなら復号を選びます。
- 2
棒の直径を設定する
直径を選びます。これは棒の周りに何文字が巻き付くか、したがってグリッドが何列使うかを決めます。復号するには、暗号化に使われたのと同じ直径を設定してください。
- 3
テキストを入力または貼り付ける
メッセージを入力します。入力すると同時に暗号が自動で実行され、下のグリッド図が、あなたのテキストが棒にどう巻き付くかを正確に示すように更新されます。
- 4
結果を読み、確認し、共有する
変換されたテキストが即座に表示されます。グリッド図を開いて列がどう読まれるかを確認し、結果をコピーしたり、テキストファイルとしてダウンロードしたり、あなたの設定とテキストをそのままにツールを開き直すリンクで共有したりできます。
スキュタレー暗号を理解する
スキュタレー暗号とは何ですか?
スキュタレー (スキタレーとも綴られます) は、古典的な転置式暗号であり、歴史に知られる最古の暗号装置です。古代ギリシア人、とりわけスパルタ人が、紀元前7世紀ごろから軍事暗号として用いました。スキュタレーとは、決まった太さの木の棒にすぎません: 羊皮紙や革の細長い帯をその周りに螺旋状に巻き付け、棒の長さに沿ってメッセージを書き、帯をほどくと文字はばらばらの順序で残り、同じ直径の棒に巻き付けたときにのみ再び意味をなします。
あらゆる転置式暗号と同じように、スキュタレーは換字式暗号のように文字を別の文字に置き換えることは決してありません。すべての文字をそのまま保ち、順序だけを変えるため、暗号文は常に元のメッセージのアナグラムになります。送信者と受信者が共有する唯一の秘密は、棒の太さです。
スキュタレー暗号の仕組み
棒を紙の上で再現する最も簡単な方法はグリッドを使うことです。棒の直径が、一周で周りに何文字収まるかを決め、その数がそのまま列数になります。メッセージはグリッドに1行ずつ、左から右へと書き込み、次の行に移る前に各行を埋めていきます — まさに帯が棒に螺旋状に巻き付いていくのに沿って書いていくのと同じです。メッセージ全体を配置したら、最初の列をまっすぐ下へ、続いて2列目へ、と読み進め、列をつなぎ合わせて暗号文を作ります。
すべての文字が関与するため、スペースや句読点もそのままの位置に残されることなく、文字と同じようにあちこちへ移動します。文字数は決して変わらず、これが転置式暗号の特徴です。行に沿って埋めたグリッドの列を下へと読むことが、かき混ぜられた順序を生み出します — そしてそれは、物理的な帯をほどく動作とまったく同じものです。
実例で見る
メッセージ IAMHURTVERYBADLYHELP を、周りに4文字を収める棒で取り上げましょう。すると、グリッドは4列になります。20文字を行ごとに書き込むと5行が埋まります: IAMH、次に URTV、次に ERYB、次に ADLY、次に HELP。これが棒に沿って書かれたメッセージです。
では、各列を順にまっすぐ下へ読みます。1列目は IUEAH、2列目は ARRDE、3列目は MTYLL、4列目は HVBYP と綴られます。つなぎ合わせると暗号文は IUEAHARRDEMTYLLHVBYP になります。元のすべての文字がそのまま残っており、新しい順序にかき混ぜられているだけで、結果は入力とまったく同じ長さです。
スキュタレー暗号を復号する方法
復号するには、同じ直径の棒 — つまり同じ列数 — が必要です。暗号文の長さとその列数から、グリッドの高さがどれだけだったか、そして各列に何文字属するかが、メッセージがちょうどの長方形を埋めなかったときのわずかに短い列も含めて正確にわかります。暗号文をそれらの列に切り分け、横に並べ、グリッドを行に沿って読み戻すと、元のメッセージを復元できます。
このツールはそのすべてをあなたの代わりに行います。復号に切り替え、暗号化に使われたのと同じ直径を設定し、暗号文を貼り付けてください。直径がわからない場合は、それぞれの値を順に試すだけで構いません — 妥当なものはほんの数えるほどしかありません — 出力が意味の通る言葉として読めるようになるまで試してください。
直径とキー
棒の直径が、スキュタレー暗号のキーそのものです。太い棒はその円周の周りにより多くの文字を収め、列数が増えて異なるかき混ぜを生みます。細い棒はより少なく収めます。周りに1文字だけしか収まらない直径は何もしません。1列だけでは並べ替えるものがないからです。したがって有用な範囲は2から始まります。
この暗号には巧妙な双対性が隠れています: ある長さのメッセージをある直径で暗号化することは、対応する行数で復号することと同じです。グリッドを列に沿って下へ読むことと、行に沿って読むことが、互いに逆の操作だからです。これこそが、送信者と受信者が一つの数 — 二人がともに持つ棒の太さ — についてだけ合意すればよい理由です。
スキュタレー暗号を破る方法
スキュタレーの鍵空間はごくわずかです。唯一の秘密は一つの小さな数だけなので、攻撃者は単に妥当なあらゆる直径 — 2、次に3、次に4、と — を試し、それぞれで復号して、意味の通る結果を読み取ればよいのです。この総当たり探索は手作業でもほんの一瞬で済み、コンピュータなら一瞬です。メッセージの長さが試す価値のある列数を制限するため、作業量は最初に見えるよりもさらに小さくなります。
この暗号は純粋な転置なので、文字そのものは手つかずのまま残り、暗号文の文字頻度は通常の言語とぴったり一致します。それ自体が手がかりです: 文字の統計が完全に正常でありながら意味をなさないテキストは、スキュタレーのような転置式暗号が使われている強い兆候であり、解析者はそこで文字ではなく順序の復元に集中できます。
スキュタレー暗号は安全ですか?
いいえ。一つの小さな数だけをキーとし、総当たりで素早く破られるスキュタレーは、秘密に保たれなければならない情報に対して実質的な保護をまったく提供しません。古代におけるその価値は、強度ではなく、戦場での速さと手軽さにありました。一部の歴史家は、その主な利点は秘匿性と同じくらい認証と素早い取り扱いにあったと論じています。
今日、スキュタレーは教育と娯楽のために重んじられています。転置という考え方を紹介する理想的な方法であり、パズルや脱出ゲーム、キャプチャー・ザ・フラッグの課題にとって満足のいく仕組みであり、暗号史の手に取れる一片でもあります。本物の安全性のためには、代わりに AES のような現代的なアルゴリズムが使われます。
よくある質問
スキュタレー暗号とは何ですか?
スキュタレー暗号はどう動きますか?
スキュタレーの例を見せてもらえますか?
スキュタレー暗号はどうやって復号しますか?
スキュタレー暗号における直径とは何ですか?
なぜスキュタレーは転置式暗号と呼ばれるのですか?
スキュタレー暗号はスペースや句読点を変えますか?
スキュタレーとレールフェンス暗号の違いは何ですか?
スキュタレー暗号はどうやって破りますか?
スキュタレー暗号は安全ですか?
入力したテキストはサーバーに送信されますか?
スキュタレー暗号をコードで書くにはどうすればよいですか?
関連ツール
こちらの便利なツールもどうぞ