突然ですが、皆さん次の暗号文を解読することができますか??
(ある英文になります。)
UIJT JT B QFO.
これだけだと解読するのは難しいと思います。もしわかってたら凄すぎます……そこでヒントを差し上げますね!
ヒント:A→Z B→C C→D …
判読できましたか??
正解は THIS IS A PEN.(これはペンです。)
アルファベットを一つずつずらすことで暗号文をもとの状態に戻すことができます。今回はこういった暗号化のアルゴリズム(方法)や暗号化の基本を紹介していこうと思います。
まず暗号化とは、知られたくない情報を暗号化アルゴリズムという何らかの方法で一目ではわからない情報に変えることです。このときの知られたくない情報(それだけで意味が分かる情報)のことを「平文」、暗号化アルゴリズムによって暗号化された情報を「暗号文」といいます。
逆に暗号文をもとの平文に戻す操作を「復号化」といいます。
暗号化や復号化の種類は無数にあるのですがそれぞれ「鍵」とよばれるものが設定されています。「鍵」は言葉の通り宝物を開ける際に必要になるあれで、暗号化アルゴリズムとも言い換えることができます。「鍵」があればだれでも簡単に暗号を解読できるのです
ここからは具体的な暗号化アルゴリズムについてお話していきます。古くからある暗号にシーザー暗号というものがあります。ユリウス・カエサル(ジュリウス・シーザー)が頻繁に利用したことから名づけられた暗号なのですが、具体的にどういう暗号化というと…最初に皆さんに解いてもらった暗号のことです!!結構有名ですし聞いたことがある人もいると思います。
鍵はアルファベットをずらす数で、本記事最初の例では鍵「1」のシーザー暗号で暗号化を行っていたということになります。鍵を「13」にしたシーザー暗号は特に「ROT13」と呼ばれ、暗号と複合処理が全く同じになる特徴を持っています。
しかしこの暗号同じ数でずらしているだけなので鍵は25種類しかなく、すべてを試せば解読できてしまうので暗号としての強度は0に等しいのです……。
実際セキュリティなどで使われることはなく、お遊びでしかないのですがこれで友達どうし手紙交換とかしてたらかっこよくないですか!?!?ぜひシーザー暗号使ってみてくださいね。(笑)
暗号としては鍵があればすぐに解読でき、鍵を持っていない人は絶対に開けられないものが優れています。そこで出てきたのはRSA暗号です。RSA暗号は1977年に作られ現代でもよく使われる暗号です。詳しいアルゴリズムは難しいので省きますが素因数分解という計算をうまく利用しています。
素因数分解とは 6 = 2 × 3といった具合に素数(一とその数自身でしか割れない正の整数)の掛け算で表すことですが、数字が大きくなっていくと素因数分解するのがだんだん難しくなってきます。 10807 (101×107)ぐらい大きな値を素因数分解しようとすると人間はもちろんコンピュータでさえ苦労します。反対に、101×107の計算は簡単に出来てしまいます。このような一方向性は、「暗号文を作るのは簡単だが、第三者が暗号文を解読するのは難しい」という仕組みに応用出来るという発想からRSA暗号は誕生したのです。
その他にも上杉謙信が作った上杉暗号やヴィジュネル暗号などいろいろな暗号があるので気になった方はぜひ調べてみてくださいね。
今回は暗号についてのあれこれについて紹介しました。あまり日常生活で意識されないので暗号を身近に感じることができないかもしれません。ですが私たちがインターネットを利用しているとき(例えばこのサイトを見ているとき)も実は暗号は使われているのです。私たちを守ってくれている暗号について知るきっかけになれば幸いです。
最後まで読んでいただきありがとうございました!
Leave a Comment