富山育英センター

無料の体験授業・学習相談のお申込み・資料請求は
お電話でも受け付けています。

076-441-8006

受付時間 月〜土 9:00〜21:30

本日のStirling’s approximation

富山本部校高校部

前回の続き

単純なシーザー暗号では簡単に解読されてしまうので、工夫をしてみよう。

Aに対応する文字をAからZの26文字から1つ選ぶ。Bに対応する文字を先ほど使わなかった25文字から1つ選ぶ。Cに対応する文字を先ほど使わなかった24文字から1つ選ぶ。この操作を繰り返すと平文(元の文)のAからZに対応する新しいアルファベットの組が得られる(たとえばFLPMQTVABZOURXWKHSYCDJNIEG)。

新しいアルファベットの組は26!(=403291461126605635584000000)通りの可能性がある。計算する気ができないのではウェブで拾ってきた。ちなみに階乗の値が大きくなりすぎたときはスターリングの公式を使えば近似できる(はず。詳しくは数学の先生が解説してくれるだろう)。さてこれだけ値が大きいと総当たりで解読するのは非現実的すぎる。にもかかわらず、この暗号は十分な文の長さがあれば簡単に解読することができる。

解読方法は次回以降にするとして、この暗号化形式には実践上の問題がある。それはアルファベット26文字の順番を、送信者と受信者が覚えておく必要があるということだ。メモを残しておくのは一つの方策だが、何かの拍子に第三者に漏洩する可能性がある。

対応策の1つは意味のある文字列をキーワードとして採用することだ。たとえば”lynx zebra cheetah “をキーワードにしてみよう。重複するアルファベットを除去すると”lynxzebracht”という文字列がでてくる。A→L,B→Y,C→N,D→X,E→Z,F→B…L→Tとし、M以降はまだ暗号化に用いていないアルファベットを早い順から対応さえていけばよい。lynx zebra cheetahを記憶するのは、26文字の無意味なランダムな文字列よりもはるかに容易である。

 

次回に続く

 

富山本部校高校部 校舎ブログブログ新着