卍Falcaoのまんじブログ卍

まっつーさんの隣なう。

暗号をつくってみました

この記事はPMOB Advent Calendar 2015 - Adventarの18日目の記事です。

 

ブンブンンハローはてなブログ、どうもFalcaoです。

今回は暗号についての記事を書きます。

 

ふざけたブログばかり書いていた僕も1回くらい真面目に書かなきゃなと思ったので暗号のスーパー基礎的なことを書いて行きます。

 

f:id:strikeart0168:20151218063313p:plain

暗号の仕組みというのはざっくり言うと上図のような感じです。

1.暗号化させたい元の文章(平文)を用意

2.暗号方式を決める(RSAとかAESとかあるけどようわからんわ!hahaha)

3.暗号化する。暗号文が出来上がる。楽しい。

 また、復号する際は上の順を逆からやっていく。

 

はい、これで暗号化のやり方はわかりましたね。

では次に超簡単な暗号をプヨグヤミングしてみるぽよ

使う暗号技術(笑)はシーザー暗号です。

シーザー暗号の簡単な説明をします。

 

「文章の文字をいくつかずらす。おわり。」

 

例えば、平文がabcdeでシフトする数値が1なら暗号文はbcdefになる。

これだけ。もっと丁寧に書くと、

1.平文を用意する

2.シフトする数値(鍵って言ったりする)を決める

3.暗号化する(ずらす)

我ながら良い説明だ。ってかこれ以外ほんと言いようがないw

 

ということでC言語でシーザー暗号で暗号化と復号できるプログラムを作った。

f:id:strikeart0168:20151218062216p:plain

はい、めちゃくちゃ簡単。

※ちょっとガバガバなとこもあるんですけど許してください

 

せっかくなので実行してみましょう!

まず暗号化

f:id:strikeart0168:20151218070001p:plain

できてるっぽいですね。これで課題への文句も言い放題。

次に復号をしてみましょう。あらかじめ考えておいた暗号文を復号します。

f:id:strikeart0168:20151218071536p:plain

復号できたっちゃ⭐︎

 

これで皆さん暗号技術を理解しましたね。

調子に乗って友達へのメッセージに暗号文を使うと僕みたいに嫌われます。

気をつけましょう。

 

そして勘のいい人は気がつくと思うのですがこの暗号方式は手当たり次第調べていけば平文がわかってしまうんですね。

それに良い暗号方式というのはみんな使いたがるものです。

例えばAとBのpcがあってAの方が優れていればみんなAのpcを使いたがるのと同じです

よって現代に求められる暗号技術はより鍵の数(レパートリー)が多く、暗号方式がなんなのかを知られても第三者に解読されないものが必要とされているんですねえ。

暗号って楽しい(白眼)

 

 

そして今回が最後のアドベントカレンダーになります。

ふざけたことばかりでしたが3回書かせてもらいました!楽しかったです。

アドベントカレンダー以外にもLT会とかCTFとかやれることは積極的に参加していこうと思ってるので、もし僕がサボっていたらケツにキックでもくれてやってください。w

来年もどうぞよろしくお願いします<( ̄∇ ̄)ゞ

 

それではみなさん、メリークリスマス。

 

おしまい。