本文へスキップ
Case Converter Online
ja

シーザー暗号の暗号化・復号

アルファベットを一定の数だけずらしてメッセージを暗号化し、逆にずらして復号します。鍵がわからない場合も、ツールの下のリストが25通りのずらし幅をすべて試し、英語として読めるものを示します。

双方向に変換できます。ずれるのは A から Z の文字だけで、数字、スペース、句読点はそのままです。

暗号文の25通りのずらし

普通の単語として読める行を選んでください。

    シーザー暗号とは

    シーザー暗号は、各アルファベットを、アルファベット順で決まった数だけ先にある文字に置き換える暗号です。ずらし幅が3なら、A は D に、B は E になります。アルファベットの最後まで来ると先頭に戻るので、X は A に、Y は B に、Z は C になります。

    名前の由来はユリウス・カエサル(ジュリアス・シーザー)です。ローマの歴史家スエトニウスによると、カエサルは私的な手紙で3つずらす方法を使っていました。知られている中で最も古い暗号のひとつで、今でも多くの人が最初に学ぶ暗号です。

    ずらし幅が鍵になります。鍵を知っていれば、同じ数だけ逆にずらしてメッセージを元に戻せます。

    このツールが扱うのは英語のアルファベット26文字です。日本語のテキストを暗号化したい場合は、ローマ字にしてから入力してください。

    ツールの使い方

    暗号化する。 「平文」欄にメッセージを入力します。入力に合わせて「暗号文」欄に暗号化された結果が表示されます。

    復号する。 暗号化されたメッセージを「暗号文」欄に貼り付けます。「平文」欄に読めるテキストが表示されます。

    鍵を変える。 「ずらし幅」のスライダーを動かすか、マイナスとプラスのボタンで1つずつ変更します。最後に入力した方の欄はそのまま固定され、もう一方の欄が更新されます。

    鍵がわからないメッセージを解読する。 メッセージを「暗号文」欄に貼り付け、「暗号文の25通りのずらし」という見出しのリストを見てください。考えられる答えがすべて表示されます。最も英語らしいものには「英語の可能性が最も高い」というタグが付きます。各行の横にある番号ボタンを押すと、スライダーがそのずらし幅に設定されます。

    どちらかの欄の上にある「コピー」でテキストをコピーし、「クリア」でやり直せます。

    変換例

    以下は、このページで暗号を実際に実行した結果です。

    平文 ずらし幅 暗号文
    Hello, World! 3 Khoor, Zruog!
    Hello, World! 7 Olssv, Dvysk!
    Meet me at the old oak tree 3 Phhw ph dw wkh rog rdn wuhh
    ATTACK AT DAWN 13 NGGNPX NG QNJA
    Zebra crossing 1 Afcsb dspttjoh
    The quick brown fox 23 Qeb nrfzh yoltk clu

    23ずらすのは、3つ逆向きにずらすのと同じです。そのため「The」は「Qeb」になります。

    Phhw ph dw wkh rog rdn wuhh を総当たりしたリストの冒頭は次のとおりです。

    試したずらし幅 結果
    1 Oggv og cv vjg qnf qcm vtgg
    2 Nffu nf bu uif pme pbl usff
    3 Meet me at the old oak tree
    4 Ldds ld zs sgd nkc nzj sqdd

    ツールは、ずらし幅3を最も英語らしいものとしてタグ付けします。

    仕組み

    各アルファベットは0から25の数値に置き換えられます。そこにずらし幅を足し、25を超えたら0に戻ります。文字の位置を x、ずらし幅を n とすると、式は次のようになります。

    • 暗号化:(x + n) mod 26
    • 復号:(x - n) mod 26

    最も可能性の高いずらし幅を選ぶために、ツールは25通りの候補それぞれで各文字の出現回数を数え、英語の典型的な文字の出現頻度と比べます。英語では E、T、A がよく使われ、Q、X、Z はまれです。このパターンに最もよく合う候補にタグが付きます。1文以上の長さがあればうまく機能します。1単語だけのような非常に短いメッセージでは、複数のずらし幅で実在の単語ができることがあるので、リストを自分で確認してください。なお、この判定は英語の文字頻度にもとづいているため、ローマ字の日本語では正しい候補にタグが付かないことがあります。その場合もリストを目で確認すれば見つけられます。

    制限と安全性

    シーザー暗号は本当の意味での暗号化ではありません。鍵が25通りしかないので、誰でもすべて試せます。コンピューターがなくても、長めのメッセージなら文字の出現頻度からすぐに鍵がわかってしまいます。

    向いている用途:

    • 謎解きイベント、脱出ゲーム、ジオキャッシングのヒント
    • 暗号と鍵の仕組みを教えるとき
    • ネタバレや答えを、ちらっと見られないように隠すとき

    パスワード、個人的なメッセージなど、守る必要があるものには使わないでください。そうした用途には、信頼できるアプリに組み込まれた最新の暗号化を使ってください。

    そのほかの方法

    Linux、macOS、Git Bash では、tr コマンドで一定のずらしをかけられます。次の行は3つずらします。

    echo 'Hello, World!' | tr 'A-Za-z' 'D-ZA-Cd-za-c'

    Khoor, Zruog! と表示されます。復号するには2つの文字範囲を入れ替えるか、tr 'A-Za-z' 'X-ZA-Wx-za-w' で23先にずらします。

    Python で大文字だけを対象にした1行版は次のとおりです。

    ''.join(chr((ord(c)-65+3)%26+65) if c.isupper() else c for c in 'HELLO')

    これは KHOOR を返します。Excel でも同じ考え方で各文字に CODE、MOD、CHAR を使えますが、文章全体となると式が長くなります。

    関連する暗号

    ずらし幅13には専用のページがあります:ROT13 エンコード・デコード。アルファベットを順番の数字に置き換えるなら A1Z26 暗号を使ってください。文字ではなく信号でできた符号なら、モールス信号変換を試してみてください。

    シーザー暗号のよくある質問

    鍵がわからないシーザー暗号を解読するには?

    メッセージを「暗号文」欄に貼り付けてください。ツールの下にある25通りのずらし幅のリストに、考えられる答えがすべて表示されます。最も英語らしい行には「英語の可能性が最も高い」というタグが付きます。その行の番号を押すと、そのずらし幅が適用されます。

    ユリウス・カエサルはいくつずらしていましたか?

    ローマの著述家スエトニウスによると、カエサルは各文字を3つずらしていました。つまり A が D になります。このページでも、ずらし幅は3が初期値です。

    シーザー暗号は安全ですか?

    いいえ。意味のある鍵は25通りしかないので、このページのように誰でも数秒ですべて試せます。パズル、ゲーム、学習用に使ってください。本当に秘密にしたい情報には、暗号化に対応したメッセージアプリやパスワード管理ツールなど、きちんとした暗号化を使ってください。

    数字、スペース、句読点はどうなりますか?

    そのまま残ります。ずれるのは A から Z のアルファベットだけで、大文字は大文字のままです。é のようなアクセント付きの文字や、ひらがな・カタカナ・漢字も変わりません。

    ROT13 とシーザー暗号の関係は?

    ROT13 は、ずらし幅が13のシーザー暗号です。13 は 26 の半分なので、2回かけると元のテキストに戻ります。そのため、同じ操作でエンコードとデコードの両方ができます。

    その他のコード・データツール

    すべてのツールを見る