エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


RSA暗号の仕組みがすっきりと分かった瞬間

      2017/04/29

頭がしびれるテレビで頭がしびれた

 
NHKの「頭がしびれるテレビ」という番組をご存じだろうか。
 
昨年の年末、たまたま仕事で帰りが遅くなった関係で深夜にテレビを見ていたのだが、その内容に衝撃を受けた。
まさに、「頭がしびれる」と言うのだろうか。それほどまでの衝撃だった。
 
 
頭がしびれるテレビ
http://www.nhk.or.jp/program/shibireru/
頭がしびれるテレビ(ウィキペディア)
 
「あなたを守る暗号の秘密」
https://pid.nhk.or.jp/pid04/ProgramIntro/Show.do?pkey=001-20121225-21-09104
 
 

RSA暗号は素数の特性を利用している

 
私がたまたま見た回は、「あなたを守る暗号の秘密」の回だった。
 
これまで Webサイトを作る仕事に携わってきたため、SSL、RSA暗号についての認識は持っていた。
しかし、これまで何度勉強しても、RSA暗号の公開鍵を公開しても安全なのかを理解することができなかった。
 
何となく、雰囲気としては分かっていたので実務上は問題なかったのだが、これまでずっと不思議な感覚は残ったままだった。
 
それが、このテレビを見て一気に晴れたのだ。
「目から鱗」。もしくは、「晴天の霹靂」というのだろうか。
 
その暗号の秘密は「素数」にあった!!
 
詳細は、NHKオンデマンドなどで見ていただければ、と思うのだが、「素数」×「素数」の計算は、その元の数値を知っているものであれば簡単に計算できるが、計算後の値から元の素数を求めることは非常に難しい、という性質を利用しているのだ。
「素数」×「素数」の計算は、その値を求めるためには、総当たりで計算をしていく必要があるためだ。
 
そのため、素数の桁が大きくなればなるほど必要な計算量は指数関数的に増加していくため、桁数を大きくしていけば事実上解くことができなくなる、というものだ。
 
つまり、例えば、「3」は「1×3」の結果とすぐに分かるが、「221」は「13×17」と分かるためにはそれなりに計算する必要が出てくる。
そして、桁数が増えてくるとあっという間に普通のパソコンでも計算できない領域に突入するのだという。
 
現時点で計算されている最大の 768ビットの素数計算は、その元になる素数を探す計算のために 5年間コンピュータを動かし続けたのだそうだ。
素数の計算はそれくらいの時間がかかるものであり、そのくらい安全なのだそうだ。
 
 
年末の深夜にひとりで関心をしていたのだった。

 - システム開発関連技術

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Comment

  1. 技術情報 より:

    しょうがくせい向けRSA暗号の仕組み

    参考リンクとして掲載させていただきました。

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

IEのHTMLソースを秀丸表示で共有メモリへのアクセスが拒否されましたで開けない問題への対処方法

Windows7の IEで HTMLソースを秀丸で表示する際に「共有メモリへのアクセスが拒否されました」のエラーが表示される原因と解決方法の説明。

秀丸の現在開いているファイル名をフルパス付で取得する方法をマクロで作成

秀丸で開いているファイル名をフルパス付で取得するマクロを作成。たった1行のマクロながらとっても便利。プログラムを作る方なら作成して置いて損はないマクロですね。

WindowsXPから Windows7にアップグレードして分かったこと

WindowsXPから 7にアップグレードする際に不安だったバックアップ、ドライバ、32Bit版 64Bit版について書いています。

PHPを勉強するための環境を構築するにはXAMPPが最適

PHPを勉強する環境としてローカル環境を構築するには XAMPPが最適。その解説です。

XAMPPの Apacheが起動しなくなった場合の対処方法

ローカルのXAMPP環境で Apacheが起動しなくなる原因の多くはポートのダブり。その対処方法です。

Windowsのメモリ不足はUSBメモリに仮想メモリをおいて高速化

Windowsでメモリ不足の時はUSBメモリ上に仮想メモリ(ページングファイル)設定で解決します。

ロリポップで非常に大きなハッキング騒動がありました。

ロリポップで非常に大きなハッキング騒動がありました。その結果、影響を受けた内容と、それに対してどう対応したか、のレポートです。加えて、何でロリポップサーバを使っているかの紹介です。

XAMPP環境(ローカル環境)の sendmailからPHPメールを送信する設定方法

メールサーバが設定されていない、ローカルの XAMPP環境からメールを送信する方法の解説です。