ドリームジャンボコロッケを求めて (`・ω・´)

つぶやき程度のうんたらかんたらが綴られています
ブログ主への連絡を必要とする場合は掲示板までお願いします















05:04 07月26日 [火]
暗号方式についてとその基本的なシステムッポゥ
暗号方式についてとその基本的なシステムッポゥ

適当やんぼりん きっとところどころ間違ってます
ついでにだいぶ適当に端折って分かりやすくしてます
まぁ分かればいいんです 細かいのめんどくさいしやだ
 
※本記事はGoogle+に投稿したものの写しとなります 

 
現代のネット通信は基本的に0と1の集合で送られます
そしてそれは皆が通信線を共有することによって利用されます
 
さてそのような環境ではどのようにしてそれぞれの個が
通信を混乱せず行うことができるのかという話から
通信時にはプロトコルと呼ばれる約束事を使用します
その一部の機能で行き先を指定するmacアドレスというものがあり
要は" 宛先:やんぼり " 内容:⊂二二二( ^ω^)二⊃ "というように
宛先/データの順序/データに異常がないかの確認などを担当
受け取る側は指定されたmacアドレスが自分のものを受け取り
自分相手のものではないデータはその場で破棄するという仕組み
 
ではこのような良心的な仕組みの元で悪意を持ったやんぼりが
違う人の通信を覗き見たいと思ったらどうすればいいのでしょうか
流れている通信(パケット)を破棄しないで見るだけでそれは可能です
WireSharkなどフリーで使用できるツールだってありますね
あとはmacアドレスを直接偽装することも可能だったりします
 
実際のところはインターネット自体は階層化されており
最も身近なところではルータによって多少盗み見の危険が減っております
しかし盗み見自体はやろうと思えばやれる(キリッ)ということであることは確かです
なのでクレジットカードやらの入力ではhttpsなどとよくわからんものがあるのです
 
さてしかしこんな世界では怖くて安心してR-18なサイトが廻れない
少なくとも自分の通信内容は守らねばならず自衛には必須である
そういう切実な男たちの想いから暗号化という技術が発展してきました
 
ではその暗号化というものを説明しましょう 本題ですね
まずは一番簡単で原始的な暗号でデータの意味を分からなくしてみます

Yanbori → 全て1字ずらす → Zbocpsj

どうでしょう?これだけで元の意味が分からなくなります
受け取り手はデータを変換した際の"全て1字ずらす"を知っていれば
これを元に全て前に1字ずらすことにより元のデータに戻すことができます
しかしこれを知らない盗聴者はこれを見ても何のことだかがわからないでしょう
言うまでもないことではありますがこれこそが暗号化の恩恵となります
 
変換の仕方を鍵といい 変換を暗号化 元に戻す変換を復号化といいます
第二次大戦終結までの世界の暗号化は全てこの手の発展系となりました
複数の円盤を日付ごとの事前の取り決めに基づいて組み合わせて変換する等々
代表はドイツが誇ったエニグマでしょう(http://enigmaco.de/enigma/enigma.swf)
そしてそれはコンピュータの登場によりあっさり打ち破られることとなりました
コンピュータによる力技の総検索に対しこれらのものは対抗できなかったのです
 
その後暗号化に関して画期的というよりまったくの別発想が誕生します
これが現在"公開鍵暗号"と呼ばれている暗号方式であります
同時に今までの暗号方式は"共通鍵暗号"と呼ばれるものとなりました
なお共通鍵暗号による既存の機械式暗号装置は破られた事は上に述べましたが
当然コンピュータ上における共通鍵暗号もまた非常に強力に完成しました
その結果現在でも共通鍵暗号方式の暗号化は使用され続けています
それでは共通鍵暗号方式と公開鍵暗号方式の違いを明らかにしましょう
 
では公開鍵暗号はどういったものであるのかを書いていきましょう
日本人であるならば中学~高校の間に素因数分解というものを学ぶはずです
例を示しましょう ex.6 = 2 x 3 ある数(6)を素数(2^1)と(3^1)の積であらわし
最小単位で表現することこそがこの素因数分解となります
今回は2つの素数に分解できる物を用いて説明を続けます
 
素因数分解には一つの重要な要素があります
それは分解するときより素数を掛け合わせる方が圧倒的に早いことです
たとえば上の6ならばすぐに2*3と誰しもが気づけることは間違いありません
しかし"78318073"ならばどうでしょうか?これは"8017"と"9769"を掛けたものです
二つを掛け合わせることは小学生でも可能ですしそれほど時間もかからないでしょう
しかし78318073から二つの素数の組を見つけることは非常に面倒な作業です
 
このことこそが公開鍵暗号の基本となる考え方なのです
ひたすら探せばいずれ答えは分かるだろうけどそれにはすごく時間がかかる
そしてその間にその暗号化された情報は価値を失うから事実上破ることができない
 
それでは具体的な仕組みの説明に移っていきましょう
今回は78318073を公開鍵とし8017と9769を秘密鍵とします
公開鍵とは文字通り公開する鍵であり秘密鍵とは鍵の作者だけが知るものです
 
1.送信者はやんぼり 受信者はゆきひと
2.やんぼりはゆきひとが制作し公開した公開鍵を取り寄せる
3.やんぼりは取り寄せた公開鍵を元に送信したい情報を暗号化する
4.ゆきひとは受け取った情報を手持ちの秘密鍵を利用することで復号化する

もしこの途中に誰かが盗聴をしていたらどうなるでしょう
その人には"公開鍵"と"公開鍵で暗号化された情報"しか確認することができません
そして手に入れた公開鍵では暗号化された情報を復号化することはできません
よってやんぼりはゆきひとに怪しい情報を堂々と送ることができるのです
 
ただしこの方式は共通鍵に比べて面倒が増しており処理に時間がかかります(RSA)
そこで実際には共通鍵を公開鍵方式で暗号化するという方法等が取られます
この場合鍵だけを暗号化すればよいので処理速度の差は共通鍵方式と大差ありません
ただし共通鍵方式側の安全性にも同時に依存することとなるものが欠点でしょうか
 
ここまでが公開鍵方式の暗号化についての話でした
共通鍵方式についても少々説明を追加しておきましょう
 
共通鍵方式は基本的なシステムは2000年の昔から変わっておりません
即ち特定の鍵で暗号化と復号化ができるわけです(a→d のような取決め)
そしてその鍵をとてつもなく長くして対応するということでその強度を高めております
また鍵を多重にかけるということも過去に行われましたが処理速度がネックとなりました
そんな共通鍵方式の弱点は"事前に共通鍵を安全に相手に届けることが保障できない"
共通鍵を盗聴されたらどうしようもないということですね
(ex.過去には上記エニグマは米英軍が確保に行った)
 
なお脱線ですがこの状況を利用した人も存在しています
あのウィキリークスはネット上に暗号化されたデータを広く公開し
俺の身に何かあったら鍵を流すぞ!流すぞ!など行いました 閑話休題
 
結果として公開鍵暗号方式で共通鍵を暗号化するというものが現在主流となっております
とはいえこれは共通鍵暗号方式の技術も含まれているということでした
また説明は省きますが楕円方程式を利用した公開鍵暗号等もあります
今回は難しいものを見ると書き手が眠くなるので派生は省略となりました
   
なおコンピュータの内部を突き詰めると2進数です
即ち0と1でありスイッチのonとoffに対応するものですね
また16進数(0 1 ~ 9 1A ~ 1E 1F)も非常に好んで利用されます
そして我々は日常の世界では10進数を使用しているわけですが
これらは全て同じ情報を特定の方式で変換しただけのものであり
便宜上10進数の世界のまま暗号化について説明をしておりますが
それはそのままコンピュータの世界へ持ち込めることをご理解ください
 
またコンピュータの進歩により以前はとても解読不可能だと思われていた
素因数分解があっという間にできてしまうようになったりもしています
更には国家機関などの大量の演算装置ができるような大掛かりな組織の前には
やはり解読が容易になってしまう現実も存在しています(実証済み)
これらのことは忘れてはいけないことでしょう
 
悪いことをするときは目立たずかつ可能な限り強固に
しかし後ろに立つおかんに気づかないなどにはご注意を
人為的なミスが失敗を引き起こすこともまた重要な敵です
 
さてここまで読んで頂いて現代の暗号化について少々理解して頂けたでしょうか
また自分の周りのセキュリティ事情について多少なりとも関心を持ってもらましたか
大体分かった となってもらえれば書き手としては満足です(*´ω`*)それではそれでは
 
 
★具体的に手順を見たい方は
http://www2.cc.niigata-u.ac.jp/~takeuchi/tbasic/BackGround/RSA.html
☆参考にしたサイト様
http://wani.net/bak/crypt/index.htm
http://x68000.q-e-d.net/~68user/net/
http://www.asahi-net.or.jp/~kc2h-msm/mathland/math12/index.htm
http://ja.wikipedia.org/wiki/%E5%85%AC%E9%96%8B%E9%8D%B5%E6%9A%97%E5%8F%B7
 
興味を持った上で数学なりに多少自信がある方は上記を読んでみるのはどうでしょう
あくまでここに書いたことは徹底的に端折ったものです(´・ω・三・ω・`)の割にちょい長い
 
あと暗号化の反対は復号という方が稀に降ってきますが
今回はわかりやすくそして知名度の高いほうを選びました
しかしホームページだけは絶対にありえない ウェブサイトが正しいのですよ
 
Hukkun@Yanbori(Elserack) 110726
コメント投稿の受付は終了しました。
携帯向けRSSATOMGoogleSitemap管理ページ