更新ブログ

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

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

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

コメント

コメントを投稿

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