更新ブログ

« 採用活動 | メイン | 耐寒剤 »

2013年1月27日 (日)

コンピュータと暗号

パソコンを使ってオンラインでショッピング

を楽しんでいる方も多いと思います。

こうしたやりとりは普通暗号化され、第三者

の盗聴から守るしくみが使われています。

代表的な暗号化方式で、その元となるのは、

数学の「素数」の性質を利用しています。

素数とは、「1より大きい整数のうち、1と

自分自身しか約数がない整数」のことです。

たとえば、2,3,5,7,......といった数です。

コンピュータの暗号では、「素数どうしをか

け算すると結果も素数となり、桁数が多く

なればなるほどかけ算した結果から元の素

数のペアを見つけることが困難になる」と

いう性質を利用しています。

ところが、元の素数の一方がわかっていれば、

他方の素数を求めるのは簡単にできます。

(割算すればよいので)

たとえば、AさんとBさんがやりとりする時、

Aさんは秘密の鍵数字として「691」という

素数をもち、Bさんは「997」という素数を持

っていたとします。Aさんは、事前に何らか

の方法でBさんの秘密の数字を得ておきます。

Aさんは、自分の秘密の数字691を使って送り

たい情報を暗号化し、さらに二人の素数のか

け算した結果 691×997=「688,927」をつく

り、暗号化した情報と二人の素数のかけ算し

た結果の2つを公開してBさんに送ります。

Bさんは、素数のかけ算した結果を自分の秘

密の数字「997」で割算して、Aさんの秘密

の数字「691」を求め、それを使って受け取っ

た暗号化情報を復元すればよいのです。

第三者が、暗号化された情報と素数のかけ算

した結果を盗聴したとしても、素数の結果だ

けから元の素数のペアを探すのに時間がかか

るので、実際的な話として心配することはな

い、というものです。

実際には、この例のような688,927という数字

では簡単に元の2つの素数を解析されてしまう

ので、ずっと桁数の大きい素数が使われてい

ます。

ちなみに、129桁の素数である

11438162575788886766923577997614661201021

82967212423625625618429357069352457338978

30597123563958705058989075147599290026879

543541

という数の答えを見つけるのに1,600台のコン

ピュータを使って約17年かかったそうです。

(解読に千年はかかるといわれていましたが、

実際にはずっと早く解読されました)

答えは

34905295108476509491478496199038981334177

64638493387843990820577

と

32769132993266709549961988190834461413177

642967992942539798288533

とのことです。

インターネット上でやりとりされている暗号化

技術の根幹は、元の素数を簡単に求める方法が

今現在見つかっていないからこそ、有効な方法

なのです。

          経理総務部 渡辺雅彦

トラックバック

このページのトラックバックURL:
http://app.kazelog.jp/t/trackback/523244/30871377

コンピュータと暗号を参照しているブログ:

コメント

コメントを投稿

コメントは記事の投稿者が承認するまで表示されません。