課題プリント16 | マルチメディア実習 |
○共通かぎ暗号(秘密かぎ暗号)
最も古い暗号として、「シーザー暗号」が有名である。次の表は、平文の各文字を3文字ずつずらして暗号文とするものである。例えば、「MEDIA」を暗号化すると「PHGLD」となる。暗号文を受け取った側は、逆に3文字ずらして平文に復号する。ずらす文字数が「かぎ」となる。暗号文「DQJRX」を平文に復号すると「( @ )」となる。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
暗号化 ↓ ↑ 復号 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
「かぎ」となるずらす文字数は3文字以外でもよい。しかし、アルファベットが全部で( A )文字しかないので、「かぎ」にできる数は( B )種類となり、すべての「かぎ」について調べることは可能である。
コンピュータで処理する場合、文字を文字コードに変換してから3を加え、それを文字に変換すると暗号化できる。ただし、「X(=88)」に3を加えると90を超えるので、超えたときは(
C )を減じる必要がある。
超えたかどうかの判定をしないで、計算だけで処理することもできる。すべての文字コードから( D )を減じ、0から25の数にする。これに3を加え、26で割った( E )を使えば0から25の範囲を超えることはない。計算式は次のとおりである。 「かぎ」(ずらす文字数)
暗号文字=((文字コード−65+3) mod 26)+65
mod:余り(剰余という)を求める演算子
文字「M」の文字コードは( F )で、65を減じて3を加えると( G )となる。これの26で割った余りは( H )となり、最後に65を加えた文字コードを文字にすると「( I )」に暗号化される。
同じよう、「X」は65を減じて3を加えると( J )となる。これを26で割った余りは( K )となり、最後に65を加えた文字コードを文字にすると「( L )」に暗号化される。
語群
0、 1、 15、 16、 24、 25、 26、 65、 66、 67、 76、 77、 78、 79
A、 B、 C、 D、 P、 Q、 R、 S、 W、 X、 Y、 Z、 ANGOU、 余り
1.シーザー暗号の「RZQYNRJINF」を復号せよ。「かぎ」は5とする。
MULTIMEDIA
Excelの場合、セルA1に1文字があるとき、次の式で暗号化できる。 =CHAR(MOD((CODE(A1)-65+5),26)+65) 復号は、次の式でできる。 =CHAR(MOD((CODE(A1)-65-5),26)+65) |
マルチメディア実習 | Copyright © 2010 Hiroshi Masuda |