エス技研

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暗号の仕組み

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

技術情報 へ返信する コメントをキャンセル

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

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

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

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

  関連記事

Windowsで環境変数のパスの設定方法解説。不具合時のチェックポイントも紹介
Windowsで環境変数のパスの設定方法解説。不具合時のチェックポイントも紹介

Windowsで環境変数であるパス(path)の設定方法の解説。標準的な解説に加え、うまくいかない場合のチェック方法や別の設定方法の解説も。うまく設定できない状況は極力なくなるはず。

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

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

01__Windowsで .htaccessファイルを生成する方法を 5つ紹介
Windowsで .htaccessファイルを生成する方法を 5つ紹介

Windowsでは .htaccessファイルを生成するのは簡単ではない。その原因といくつかの生成方法を解説。新しくファイルを作る場合は「名前をつけて保存」すれば簡単。

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

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

XAMPP本体や PHPのバージョンアップをせずにもう一つXAMPPをインストールして複数の環境を共存させる方法
XAMPP本体や PHPのバージョンアップをせずにもう一つXAMPPをインストールして複数の環境を共存させる方法

パソコンに簡単に LAMP環境を構築することができるパッケージソフト「XAMPP」。XAMPPのバージョンアップや、PHPのバージョンに合わせて複数の環境を構築する場合の手順を解説。

Windows 10パソコンで日付、時間がずれる!原因と時計を合わせる解決方法
Windows 10パソコンで日付、時間がずれる!原因と時計を合わせる解決方法

Windows 10のパソコンでスリープから復帰すると日付がズレる不具合が発生。その時の対応方法の時計の設定やマザーボードの電池の交換の方法を紹介。プラスαの不具合の原因と対応方法を紹介。

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

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

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

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

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

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

XAMPPのApacheが起動しない!ポート番号の変更でバッティングの解消方法
XAMPPのApacheが起動しない!ポート番号の変更でバッティングの解消方法

XAMPPを起動する際、Apacheのポートがバッティングして起動しない場合がある。XAMPP側のポートを変更する方法、バッティングしているプログラムを変更する方法の2種類の対応方法を解説。