2014年3月19日水曜日

RSA暗号

最近,RSA暗号に関する本を読んだ.

まぁ,本自体はRSA暗号についての数学的基礎が知りたかったのに,色んなことをくどくどと説明してて,違う本の方が良かったかも,って思ったりはしたけど,まぁRSA暗号についてはとりあえず理解出来た.

最近の暗号は,公開鍵暗号と言い,暗号に関するすべてを秘密にするわけではなく,公開する鍵と秘密にする鍵の2つを用いる.

もともと秘匿性を高めるために用いられる暗号は,暗号化,復号化のための鍵も秘密にしておかなきゃいけないわけだけど,従来は暗号,複合に用いる鍵は同じものだった.だから,それを相手に伝えようとする過程で鍵の内容が誰かに知られてしまったら,暗号そのものも暴かれる.

その問題点を解消出来るのが公開鍵暗号だ.
暗号化のための鍵とは別に,複合鍵が作られるため,暗号化のための鍵を公開しても問題がない.

流れとしてはこうだ.
暗号を受け取りたいBさんは,秘密鍵(複合鍵)と公開鍵(暗号鍵)をセットで作成し,秘密鍵は誰にも明かさず,公開鍵を暗号を作るAさんに伝える.Aさんは公開鍵を元に伝えたいメッセージを暗号化して,それをBさんに送信するわけだ.

Bさんしか複合鍵を持ってないから,途中で誰かに知られてしまっても,その人には復号出来ないわけだ.

ところで,この仕組みはどのように作られるのか,というのがこの本の主題.

伝えたい文字列を数字に置き換えて,工作するらしい.

この暗号がどうして安全なのか.つまり,どうして暗号化の鍵を公開しても問題がないのか,が重要なところ.
簡単に言ってしまうと,素数 p,  q の組が複合鍵生成の,p と q の積 n が暗号鍵生成の肝になってるからだ.
nが非常に大きいと,素因数分解するのは非常に難しい.
だから,安全らしい.

つまり,絶対に安全,なのではなく,現状素因数分解の効率の良いアルゴリズムが見いだされてないから安全だということだ.


ということで,素因数分解にフォーカスが当たってしまうのは自然な流れで,この本もそうなってる.

色々な素因数分解の方法が分かって面白かったけど,この本だけじゃ不十分だ.

何かほかにも暗号についての本を読んでみようかと思ってる.

0 件のコメント: