月別アーカイブ: 5月 2011

現代の暗号化技術

こんばんは、三茶ロボットです。
前回予告しました暗号化のお話をいたします。

現代社会では情報の機密性を保持するため暗号化技術が必須となっています。
まずは暗号化なんぞ?ということを簡単にお話します。
(ボク自身、専門分野ではないので、チョト適当ですが。。)

まず、AさんがBさんに「おなかいたい」という文章を送るとします。
転送中にこれが他者にバレるとやばいので、「えとおあそあ」という意味不明な文字に変換して送ります。
この工程が、暗号化と呼ばれているものです。さて、ここでの暗号化は何をやっているかというと、
「おなかいたい」の各文字を五十音順の一個前のものに置き換えています。
こうした暗号化について、

・「各文字をずらす」が暗号化タイプ
・「一個前」が暗号化の鍵

となります。この鍵は、AさんBさん両方が知っている「共通鍵」というものになります。
「えとおあそあ」を受け取ったBさんは、鍵を使い「おなかいたい」に戻します。
これが複合化という行程になります。

しかし、共通鍵というものはAさんとBさんに同じものを発行するので
漏えいする可能性が大きく、鍵がわかれば誰でも複合出来てしまう危険性があります。
そこで出てくるのが、現代情報セキュリティを支える、素因数分解を使った「秘密鍵」というものになります。
秘密鍵の運用例として、まず下記を定義します。

・AさんBさんに共通鍵「6」を発行
・Bさんに素数で作られた秘密鍵「2」「3」を発行

とします。共通鍵は、秘密鍵「2」と「3」の積となります。
ここで、Aさんは「6」を使って鍵をかけるのですが、暗号化タイプを非対称アルゴリズムというものに変更します。
(非対象アルゴリズムはクソ難しい数学の話になるんで割愛させてください)

そして暗号化された文字列ですが、今度は共通鍵6では解除できなくなっています。
解除に必要なのは、秘密鍵「2」と「3」になります。
つまり、鍵「6」を発行する過程で、万一 Aさんに悪意がある、もしくはAさんがずぼらで「6」を
漏えいさせてしまっても、秘密鍵を持っているBさんにしか複合出来ない仕組みになります。

  

 

でも共通鍵「6」を素因数分解すれば、だれにでも秘密鍵を割り出せるではないか、となりますよね。
実は、ここが秘密鍵の真骨頂となる部分です。
素因数分解って、今のところ明確な算出方法や公式が無いのです。
つまり、色々な数字を一個一個ためしてみるしかない、ということになります。

6の素因数分解は楽勝ですよね。同様に、15は3と5の積、35は5と7の積。これくらいならば、すぐに解けそうです。
じゃあ143は? 答えは11と13ですが、だんだん面倒になってきました。
このように、数が大きくなればなるほど、試行回数が増えていくわけです。
これはコンピュータを使ったところでも、同じことがおきます。人間よりもはるかに高速に計算結果をたたき出すことは可能ですが、
仮に100桁クラスの数字を素因数分解しようとすると、現存する超高性能のコンピュータをつかっても10万年以上かかると言われています。

逆に言うと、100桁の複合鍵は漏えいしてしまっても絶対複合出来ない、と言い切れることが出来ます。
さーカンの良い方はうすうす気づいていますね。
今、「因数分解は試行を繰り返さないと解が出ない」という制限で秘密鍵は守られています。
そうです、量子コンピュータの並列処理能力を用いることにより、因数分解を一発で解いてしまうのです。
ただ、前回もお話したように、量子コンピュータは並列処理が出来るもの、得られる解は一個のみ。
しかも、得られる解が正解か不正解かもわからない、という厄介者。

実は近年、この因数分解を解くプロセスとして、量子コンピュータの癖にジャストフィットした法則が見つかっています。
次回はこれのお話をしようと思います。何部作で終わらすかは考えないことにします。すみまそん。

三茶ロボット from Sangendyaya

量子bit と 量子性を用いた計算概念

こんちくわ、三茶ロボットです。
前回、話が脱線しましたが元にもどします。
ここまで、量子コンピュータの威力をご説明するまえに現在ハバを利かせている半導体コンピュータ(ゲジゲジ)の仕組みまでをご説明しました。
とりあえずゲジゲジの性質をまとめておくと、

・全ての計算を2進数、つまり0と1のみで行う
・素子の数を増やすほど複雑な計算が可能になる
・複数の計算を実施したい場合、順番に一個ずつ計算する

となります。
このゲジゲジ君にとってボトルネックとなる項目は、「順番に計算する」という部分です。
計算の複雑さよりも計算回数が増えると実行時間が飛躍的に伸びてしまう、というところにあります。
さて、ゲジゲジの内部にある素子は 0 と 1 を表現する半導体bitなのですが、
これに対し量子コンピュータのbitは、0と1がまざった状態を表現することが出来ます。
いくつか量子bitとなる材質が考えられているらしいんすけど、ボクが知っているのは、「電子のスピン」というものになります。

前知識として、このスピンについてお話します。
原子の構造は、中心に原子核、そのまわりに電子がくるくる回っている構造です。
イメージ的には太陽の周りを地球が公転しているようなもんです。ご存知の通り、地球は公転しつつ、地球自体が自転してますよね。
これと同じように、電子くんも自転しています。自転が右回転ならば↑、左回転ならば↓とよく表現をしています。これがスピンです。

 

実は、この自転の方向ですが、これまでに話した量子的な現象がここでも起きています。
光は波と弾丸両方の性質が重なり合った状態、ということをお話しましたが、通常電子くんは右回転と左回転がまざりあった状態にあります。

ここで、↑を1、↓を0とするbitとして電子を考えると、「1と0を同時に取りうるbit」になりますね。
この「量子bit」を素子として前回のゲジゲジのように回路をくみ上げたものが「量子コンピュータ」となるわけです。
前回、2bitの足し算回路をご紹介しました。ゲジゲジ回路内部の各素子は瞬間瞬間で0か1のどちらかに状態が固定されています。
なので仮に複数の入力パターンを同時にぶち込んだとしても、同時に計算することはできません。
しかし、量子コンピュータの場合はこれが可能ですので、2bit足し算の入力パターン16通りを同時に突っ込んだ場合、全ての計算を並列に実行することが出来るわけです。
要は、常識的に逐次処理せねばならん問題を同時に解くことが可能なわけです。

 

しかし!
これまで量子コンピュータの能力について良いことばかり話してきましたが、実は凄まじい弱点を持っています。
干渉縞の実験のお話で、光一発は波と弾丸両方の性質を持っているが、人間が観測した瞬間にその同時性はくずれ、
粒子性のみが残る話をしました。
これと一緒で、量子コンピュータは計算中は全てを同時に扱っており、複数の答えを持っているのですが、人間が観測する瞬間は一個の答えしか見えないのです。

ここが非常にやっかいな性質で、いくら優秀なコンピュータだからといって現在のコンピュータが担う役割全てに据え置きするわけにはいかんのです。
なんだよ、量子コンピュータ使えないぢゃないかっ!と思いますよね。
そうなんです、量子コンピュータの使い道は今まさに世界中の量子力学界が模索している段階なのです。
とはいえ、いくつかの領域で量子コンピュータの使い道は見つかっています。
次回はこの中のひとつ、「暗号化技術の危険性」についてお話します。

って、前回の予告でもコレ言いましたね。だめだぁ、4部作じゃおわらなかった。
フリーザ編を見るくらいのアレで堪忍してくださいませ。

三茶ロボット from Sangendyaya

 

以下、能書き。
量子コンピュータの使い方は今探している、ということについて。
テクノロジーって2種類あると思ってます。
一個は、「あったらええのぅ」を実現する、世間のニーズが先行して技術が立ち上がるタイプ。
もう一個は、その技術や原理自体が非常に興味深く、研究が先に進み、応用として後から実用化されるタイプ。
量子コンピュータは間違いなく後者です。

一般的に考えると、「使えるかどーかわからんもんに開発費をかけることはアホくさい」となるかもしれないですね。
実際、現在の不景気な社会では基礎科学の研究開発機関に割くコストは激減しています。
それよりも、クライアントやエンドユーザのニーズを先読みし、既存技術を組み合わせて3年後5年後の収益を見据えた、
中長期的なビジネスドリブンの技術が主流ですよね。
でも、このケースってほとんどが既存技術の寄せ集めで作られる製品にすぎないんです。
流行のマルチコアCPUだって、いってみりゃpentiumを4つ並べて同時に動かしてる、に近いイメージです。

ボクの自論ですが、新しい科学技術は純粋な興味が先行してなんぼです。
こういう「興味」により、全くなかった発想が誕生し、かつそれらの能力、弊害、リスクまでもが研究されるわけで、
実用化はそのご利益として後からついてくるんだと思ってます。
技術の恩恵をまっとうに受ける時、、このバックグラウンドを忘れるとひじょーに危ないと思ってます。
特に最近ホットな原子力発電にしても、一歩間違ってこうした状況に陥ってるわけです。
全てのリスクヘッジを出来るほど人間が優れた生き物とは正直思ってはいませんが、
ほりえもんの話じゃありませんが過去の背景や関連性というものを見つめた上で技術と向き合える、屈強なヒューマノイドに進化しなければなりませんね、人間は。

ということで、屈強なヒューマノイドを目指すことが前提であれば、ボクは原発賛成派です。
量子論の話が一段落したら、相対性理論の話をしようかと思ってます。原発のメカニズムや歴史・危険性をそこで書こうかなと思います。