シーザー暗号
シーザー暗号はとても簡単な暗号で、ユリウス・カエサル(英語読みでシーザー)が軍の通信に使っていたといわれます。
暗号化のしくみ
この暗号はどんなアルファベット(文字の集合)でも使えますが、ふつうは英語の26文字のアルファベット ab…yz を使うものとします。そのため、日本語の文はかなや漢字のままでは暗号化できず、ローマ字で書いてから暗号化します。もともとのシーザー暗号では、平文(暗号化する前の文)の各文字を3文字先へ「ずらし」ました。つまり、「a」のかわりに「d」を書き、「b」のかわりに「e」を書く、というようにします。アルファベットの最後まで来たら、最初にもどります。そのため、「z」は「c」に暗号化されます。ずらし方の全体を次の表に示します。
1行目が平文の文字、2行目が暗号文の文字です。例えば、「hello」という単語は「khoor」と暗号化されます。
シーザー暗号の一般化
カエサルはいつも3文字ずらしていたといわれますが、シーザー暗号は何文字ずらす場合にも一般化できます。このとき、「a」がどの文字に移るかを暗号の鍵とします。もとのシーザー暗号は3文字ずらすもので、「a」が「d」に移るので、鍵は「d」です。例の表では、鍵を太字で示しています。また、好きな鍵で表をつくることもできます。
暗号化は、これまでと同じように、上の行で文字を探し、そのかわりに下の行の対応する文字を書きます。復号はその逆で、下の行で文字を探し、そのかわりに上の行の文字を書きます。
復号の例を見てみましょう。暗号文「pkguk」を鍵 w で復号します。鍵「w」の表をつくり、下の行で「pkguk」の文字を探します。上の行を読むと、もとの文「tokyo」が得られます。
シーザー暗号で暗号化・復号するオンラインツール
最後に、好きな文を好きな鍵で暗号化し、さらに復号してみましょう。