解説動画
シーザー暗号とは、平文の文字を決められた数だけずらして暗号文を作る方法のことである。「文字を何個分ずらすか」の数値がシーザー暗号の鍵にあたる。
例えば鍵が1の場合は、a→b, b→c,..., y→z, z→a のように後ろに文字をずらして置き換える。受信者側でこれを復号するときはこれと逆の置き換えを行う。
使われる文字が英語のアルファベット (26文字) なら、鍵は0~25の26パターンしかなく、そのうち0では平文と暗号文が全く同じになってしまうので、実質的に鍵は25パターンだけ。
第三者はたとえ鍵を知らなくても総当たりで試せば簡単に暗号文を解読できてしまう。
フォームの機能
-
「暗号化」にチェックした状態
「平文」の下のテキストエリアに英文を入れるとそれを「鍵」の数値のシーザー暗号で暗号化した文が「暗号文」の下のテキストエリアに表示される。
(「鍵」の数値を変えるとそれに応じて暗号文が変わる)
-
「復号」にチェックした状態
「暗号文」の下のテキストエリアに英文を入れるとそれを「鍵」の数値のシーザー暗号で復号した文が「平文」の下のテキストエリアに表示される。
(「鍵」の数値を変えるとそれに応じて平文が変わる)
なお、このフォームでは大文字は大文字に、小文字は小文字に変換し、それ以外のものは変えないようになっている。
シーザー暗号で暗号化されたこの
暗号文を解読し、鍵 (数字) を答えよ。
課題1ヒント
手順
- 概要のフォームの「復号」にチェックを入れる。
- 暗号文を全文コピーし、フォームの暗号文の欄にペーストする。
- 鍵の数字を変え、「平文」が正しい英文になるものを見つける。
この暗号文の元になったのは、著作権が期限切れとなった小説などを無料で公開している
Project
Gutenberg にある「The Hound of the Baskervilles, by Arthur Conan Doyle」の第1章。
解説動画
単一換字暗号とは、文字を対応表に応じて置き換える方法のことである。この場合は対応表が暗号化・復号の鍵にあたる。
単一換字暗号のパターン数は一般に非常に多いため、シーザー暗号のように総当たりで鍵を知ることは難しい。
使われるのが英語のアルファベット (26文字) なら、鍵の数はそれらの並べ替えの数、つまり
\(26!=26\times25\times\cdots\times2\times1\fallingdotseq4\times10^{26}\)
になる。
しかし、英文のアルファベットは文字によって出現頻度が異なるので、暗号文が十分に長ければ文字の出現頻度を調べることで置き換え元の文字を推測できてしまう。
それ以外にも、一般的な英文なら1文字だけの単語は「a」か「I」しかないことや、「th」「he」「in」「er」などの連続する並びを手がかりにして推測することもできる。
フォームの機能
-
共通
「シャッフル」をクリック (タップ) すると「暗号文」の下の文字がランダムに並び変わる。
また、「鍵」の下の「暗号文」の行にある文字をクリック (タップ) し、別の文字をクリック (タップ) するとそれらの文字が入れ替わる。

↓

↓
-
「暗号化」にチェックした状態
「平文」の下のテキストエリアに英文を入れるとそれを「鍵」の表の単一換字暗号で暗号化した文が「暗号文」の下のテキストエリアに表示される。
「鍵」の表の「暗号文」の行の文字の並びを変えるとそれに応じて暗号文が変わる。
-
「復号」にチェックした状態
「暗号文」の下のテキストエリアに英文を入れるとそれを「鍵」の表の単一換字暗号で復号した文が「平文」の下のテキストエリアに表示される。
「鍵」の表の「暗号文」の行の文字の並びを変えるとそれに応じて平文が変わる。
「頻度による推測」を押すと、一般的な英文でのアルファベットの出現頻度を元にして鍵の表が生成され、それに応じて平文が変わる。
(一般的な英語では出現頻度は多い順に e, t, a, o, i, n,...のようになる。平文の e を暗号文に一番多く出てくる文字に、t
を暗号文中の次に多い文字に...というように対応させる)
単一換字暗号で暗号化されたこの
暗号文を解読し、鍵 (平文と暗号文のアルファベットの対応表) を答えよ。
課題2ヒント
この暗号文の元の文章も Project Gutenberg にある。こちらは「The Adventures of Sherlock Holmes by Arthur Conan Doyle」の全文。
ノート・紙に解いた課題を撮影したものを以下のフォームから送信してください。
課題提出用フォーム
※ 締切は
1/21(火) 正午です。提出によって出席・点数がつきます。