換字式暗号ソルバー
単一換字式暗号やクリプトグラムを貼り付けるだけで、鍵を知らなくても元のメッセージを復元します。ソルバーはまず文字の出現頻度を合わせて初期の推測を作り、次に英語のトライグラムでスコアリングするシミュレーテッドアニーリングを使って26文字のアルファベットを探索し、最も英語らしく読める解を見つけます。すべてブラウザ内で動作します。
サンプルを試す:
上に換字式暗号を貼り付けて「解く」を押すと、復元されたメッセージと換字アルファベットがここに表示されます。テキストが多いほど答えの信頼性が高まります。
換字式暗号ソルバー の使い方
- 1
暗号文を貼り付ける
換字式暗号やクリプトグラムをコピーして、ボックスに貼り付けます。テキストが多いほど確実に解読できます。文字は大文字・小文字を区別せずに読み取られ、スペース・数字・句読点は解読中は無視され、答えの中で復元されます。
- 2
「解く」を押す
「暗号を解く」をクリックします。探索は少しの間実行され — 何十万通りもの候補アルファベットを試します — その後、見つけた最も英語らしい読みを表示します。
- 3
復元されたメッセージを読む
復号されたテキストは、元の大文字小文字、スペース、句読点が復元された状態で表示されます。ワンクリックでコピーして結果を保存できます。
- 4
復元されたアルファベットを確認する
メッセージの下に、換字アルファベットが各暗号文字の復号先を示します。薄く表示された文字はあなたのテキストに一度も現れなかったため、ソルバーはそれらを配置できませんでした。アルファベットをコピーして、鍵を再利用または検証できます。
- 5
共有またはクリア
あなたの正確な暗号文でツールを再び開く共有可能なリンクをコピーします — テキストは URL のハッシュ以降の部分に乗り、その部分はサーバーに到達することはありません。「クリア」ですべてをリセットします。
換字式暗号の解読を解説
このツールができること
単一換字式暗号は、アルファベットのすべての文字を別の文字に置き換え — A は Q に、B は W になるかもしれません — メッセージ全体でその同じ並べ替えたアルファベットを使います。これは新聞のクリプトグラム、脱出ゲームのパズル、アメリカ暗号協会のアリストクラットの背後にある暗号です。可能なアルファベットは4億の100京を超え、一つずつ試すにはあまりに多すぎますが、それでも換字式暗号はあらゆる暗号の中で最も破りやすいものの一つです。このツールは鍵なしで、自動的にそれを破ります。
暗号文を貼り付けると、ソルバーは最も可能性の高い元のメッセージと、復元した完全な換字アルファベットを返します。経験豊富なパズル愛好家のやり方で動作します — 文字の頻度から始め、テキストがより英語らしく読めるように文字を入れ替え続けて、その変更を保持します — ただし1秒間に何十万回もそれを行います。何もブラウザの外に出ません。探索全体があなた自身のマシン上で動作します。
換字式暗号が破れる理由
換字式暗号はどの文字がどれであるかを隠しますが、各文字がどれだけ頻繁に使われるかは隠せません。英語では E が他のどの文字よりもはるかに一般的で、次いで T、A、O、I、N が続き、J、Q、X、Z はまれです。暗号化はそれらの頻度に貼り替えるだけです。E の代わりに立つ文字が何であれ、それが暗号文で最も一般的な文字になります。そのたった一つの事実 — 文字の頻度は換字を経ても残る — が、すべての暗号解読が築かれた鎧の隙間です。
頻度だけでは十分とは言えません。いくつかの文字は出現数が似ていて、誤って入れ替えられることがあるからです。より深い手がかりは、文字がどう組み合わさるかにあります。英語は特定のパターン — TH、HE、ING、THE、AND — を好み、他のものはほとんど完全に避けます。正しい復号はそうした自然なパターンに満ちており、誤ったものは本物の英語が決して使わない組み合わせだらけです。その違いを測ることこそ、無数のもっともらしく見える誤った答えの中から正しい答えをコンピューターが認識できる理由です。
ステップ1:頻度に合わせた初期の推測
ソルバーはまず、暗号文に各文字がどれだけ頻繁に現れるかを数え、それらの出現数を英語の既知の頻度順に並べます。暗号文で最も一般的な文字は E、次が T、続いて A、O、I、N とリストを下っていくと推測されます。これはすべてのクリプトグラムソルバーが手作業で学ぶ古典的な第一手です。
その推測が完璧であることはまれです — まれな文字は特に置き間違えられやすいものです — が、完璧である必要はありません。探索に妥当な出発点を与えるのに十分なほど近ければよいのです。そこからツールはアルファベットを1文字ずつ洗練し、メッセージが鮮明に浮かび上がるまで続けます。
ステップ2:シミュレーテッドアニーリングが鍵を見つける
初期の推測から、ソルバーは2つの文字の平文での意味を繰り返し入れ替え、メッセージが今より英語らしく読めるかを確認します。入れ替えが役立てば、それを保持します。問題は、常に即座の改善を求めると、探索が惜しい状態 — 局所最適解 — で行き詰まり、単一の入れ替えでは抜け出せなくなることです。換字式暗号の解読は、まさにこれを解決するシミュレーテッドアニーリングと呼ばれる技法の教科書的な事例です。
シミュレーテッドアニーリングは、状況を一時的に悪化させる入れ替えを時々受け入れます。その確率は高い値から始まり、徐々に下げられます — まるで探索が最初は熱く、ゆっくり冷えていくかのように。初期には自由に動き回って行き止まりから抜け出し、後半には落ち着いて、見つけた最良のアルファベットを磨き上げます。ツールはこれを異なる出発点から数回実行し、それぞれを厳密な改善のみのパスで仕上げ、唯一の最良の結果を保持します — だからこそ、単純な山登り法では見逃すであろう答えを確実に見つけられるのです。
ソルバーが英語らしさを判断する方法:トライグラム適合度
すべての候補アルファベットは、たった一つの数値 — そのトライグラム適合度 — によって採点されます。ツールは復号されたテキスト中の連続する3文字すべての並びを調べ、各三文字組が本物の英語でどれだけ起こりやすいかを、大量の英文から構築した三文字頻度表を使って合計します。THE、AND、ING のような一般的な三文字組は高得点になり、英語が決して使わない三文字組はひどい得点になります。
トライグラムが重要なのは、単一文字の頻度はあまりに簡単に騙されるからです — 誤った鍵が文字の出現数に一致しても、なお意味不明なままということがあります。信じられるような三文字の組み合わせをページ全体にわたって偽造するのははるかに困難です。すべての入れ替えをより高いトライグラム適合度へと導くことで、探索は1回の入れ替えごとに本物の英語へと引き寄せられます。この表はこのサイト自身の記事から生成されているため、外部から何も取得せず、ツールは高速かつプライベートなまま保たれます。
必要なテキスト量と、解読が難しくなる場合
換字式暗号の解読は統計的な作業なので、与えるテキスト量によって成否が分かれます。およそ150文字以上の通常の英語があれば、復元はたいていほぼ完璧です。約80〜100文字程度でも機能しますが、まれな文字 — ほとんど現れない J、Q、X、Z — が1〜2文字誤読されることがあります。それらを特定するための証拠が十分にないからです。約50文字を下回ると、人間であれ機械であれ、どんなソルバーもほとんど当て推量になります。
他にもメッセージを難しくする要因がいくつかあります。一般的な文字を意図的に避けるテキスト(パングラムのような)、英語ではない文章、あるいは文字を貼り替えるだけでなく並べ替えもする暗号などです。読みがほぼ正しく出てきた場合、答えはほぼ常により多くの暗号文か、頑固な1〜2文字を目視で修正することです。テキストが単純な換字式暗号ではまったくない場合は、暗号識別ツールが実際に何を見ているのかを教えてくれます。
換字式暗号とその仲間たち
単語の区切りを保つ単純な換字式暗号は、クリプトグラムの作成者がアリストクラットと呼ぶものです。スペースを取り除いた同じ暗号はパトリストクラットです。どちらも単一換字式 — メッセージ全体で一つの固定されたアルファベット — であり、どちらもここで紹介する方法に屈します。Caesar と Atbash は、特別なさらに単純な換字式暗号にすぎないので、このツールはそれらも破ります。ただし専用ページの方が即座に解いてくれます。
難易度が大きく跳ね上がるのが多表式暗号で、進むにつれてアルファベットを変えるため、同じ文字がいくつもの異なる文字を表すことができます。Vigenère 暗号が有名な例で、メッセージ全体に対する頻度分析はもはやそれには通用しません。あなたのメッセージがこのソルバーに抵抗し、文字の頻度が怪しいほど平坦に見える場合、それは多表式かもしれません — 代わりに Vigenère ソルバーを使ってください。
よくある質問
鍵なしで本当に換字式暗号を解けるのですか?
これはどんな種類の暗号を解きますか?
ソルバーはどのように動作しますか?
なぜ文字頻度ではなくトライグラムのスコアリングが使われるのですか?
クリプトグラムを解読するにはどれだけのテキストが必要ですか?
結果はほぼ正しいのですが、いくつかの文字が間違っています。なぜですか?
スペースを保持するクリプトグラム(アリストクラット)も解けますか?
ソルバーは決定論的ですか?
英語にしか機能しませんか?
私の暗号文はサーバーに送信されますか?
もし換字式暗号でまったくなかったらどうなりますか?
関連ツール
こちらの便利なツールもどうぞ