はじめに 情報セキュリティ 第14回 大久保誠也 はじめに 難しい問題と簡単な問題 未来の脅威 ~量子計算~ 未来の通信 ~量子通信~ 演習 静岡県立大学経営情報学部 2/44 現代暗号の安全性の根拠 難しい問題 簡単な問題 基本的に、どんな暗号でも、時間をかければ、いずれ 必ず解ける。 安全であるとは『実時間で解くのは難しい』ということ。 数学的な難しさに、安全性の根拠を求めることが多い この数学の問題は難しそうだ! これ元にして暗号を作れば、きっと安全だ! 本当に簡単に解けないかは、証明されていない(方法 と、今の人類が知らないだけの可能性も) 3/44 4/44 因数分解は難しい? 問題の難しさ 因数分解は、現在の計算機では、非常に時間がかか る問題であると考えられています。 15=3*5は簡単にわかる。 では、75462131は? 正解は、7591*9941。 このぐらいなら、計算機で解けるけど、桁数が大きくな るほど難しくなる! 5/44 『実時間で解くのは難しい』とは、どういうこと? 問題を解くのに必要な時間は、計算機の速度によっ て違うんじゃないの? 15と129813472では、因数分解するのに必要な時 間は違ってくるんじゃない? 結局のところ、 『問題を解くのに必要な時間』を 測るためのの尺度は何? 6/44 尺度 問題の難しさの尺度 物事を測るためには、何事にも尺度が必要。 重さ: 単位はキログラム重 等。 その物体にはたらく重力で、場所により異なる。 質量: 単位はキログラム 等。 その物体固有の値で、場所により変化しない。 他にも、長さや明るさ、速度等、色々ある。 問題を解くのに必要な時間を測る尺度。 時間で測る: ある問題を解くのに、現在の計算機では、どれだ け時間が必要かを測る。 ある問題を解くのに、ある特定の計算機で、どれ だけ時間が必要かを測る。 数学的に測る: その種の問題を解くのに、ある動作が何回必要 かを評価する。 7/44 8/44 実際の時間を計測する例: 例:ベンチマーク 因数分解に対して 現在の計算機で、どのぐらいの桁まで実際に計算 可能なのか、実験が行われている。 (問題の難しさを測っているわけではない) SPEC cpu2000 CPUの処理性能を測るベンチマーク。 UltraSparc-I を基準として、どれだけの処理性能を 持っているかを計測する。 (問題の難しさを測っているわけではない) 『因数分解 世界記録』で検索してみましょう。 『SPEC cpu2000 性能』で検索してみましょう。 9/44 10/44 Church-Turingの提唱 そもそも「計算」とは? 「数学的に測る」として、定義は何? 計算機(コンピュータ)は「計算」するもの。 そもそも、「計算」ってなに? 計算可能なものとは、Turing機械で実行できるもの 11/44 Turing機械とは。 計算機の数学的モデルの一つ。 実際の計算機よりも、相当に単純化・理想化されて いる。 今の計算機でできることは、原理的にはTuring機械 でもできる! 12/44 Turing 機械 Turing 機械の動作 現在の計算機の数学的モデルは,Turing機械 0 1 0 テープ 0 1 テープの値を書き換える テープ (メモリに相当) 0 0 0 0 0 0 ヘッド 有限制御部 (CPUに相当) p ヘッド 状態遷移関数(プログラムに相当)に したがって、テープの値の書き換え、 状態の変更、ヘッドの移動を行う。 動作 0 0 1 0 0 0 ヘッドの位置が動く p q 有限制御部 状態が変わる 13/44 14/44 計算量の例 [1/2] 計算量理論 計算の複雑さを扱う理論。 その問題を解くには、どのぐらい時間量が必要? その問題を解くには、どのぐらい領域量が必要? 問題の複雑さを、入力サイズの関数として評価する。 Turing機械のテープは、どれだけ使用する? Turing機械のヘッドは、何回動いた? Turing機械は、特定の動作を何回やった? 入力 計算機 n ビットの長さの鍵を利用するのだから、長さは n ビットぐらいはある。 16/44 計算量の例 [2/2] 暗号で使用される問題の難しさ n ビットの長さの鍵だと、候補数は全部で 2n 個ある。 総当たりするとなると、 2n 回程度、試す必要がある。 n の指数時間ぐらいの手間がかかる。 → こういうのを、『非常に時間がかかる問題』と言う 1ビット鍵の長さが伸びると、 2nは難しい 必要になる時間は2倍に! 回数 一方、多項式なら 『時間がかからない問題』 出力:正しい鍵 何回試みるか、n の関数として表現する 出力 15/44 n ビットの長さの鍵で暗号化された暗号文ある。 総当たりで正解の鍵を発見するには、何回ぐらい、『鍵を入力 し復号しようとする』動作を試みればよい? 入力:暗号化アルゴリズム n2は簡単 ビット数 17/44 秘密鍵暗号で、攻撃者が鍵探索をする場合。 暗号化関数が理想的に構成できていれば、 2n の試 行が必要になり、非常に難しい。 本当に理想的に関数が構成できているかは不明。 RSA暗号で、攻撃者が鍵探索をする場合。 指数時間の手間は必要ないが、多項式時間よりは 難しい問題だと予想されている。 18/44 古典力学と量子力学 量子計算 古典力学 マクロな現象の力学。 古来から伝わる、由緒正しき力学。 例:手を離したらリンゴが落ちる 例:天体の運動 一方、原子や分子ぐらいミクロな世界になると、これら の古典力学では説明できない現象が発生。 こういう現象を説明できるのが量子力学 19/44 20/44 例:偏光板実験 (1) 偏光板には向きがあります。 1枚の偏光板を 縦向きのときには、光を( 横向きのときには、光を( 2枚の偏光板を 縦-縦 の順番に並べたときは、光を( 縦-横 の順番に並べたときは、光を( 例:偏光板実験 (2) )。 )。 )。 )。 偏光板には向きがあります。 3枚の偏光板を 縦-縦-横 のときには、光を( 縦-横-横 のときには、光を( 縦-横-斜 のときには、光を( 縦-斜-横 のときには、光を( )。 )。 )。 )。 量子力学で説明可能 光 ? 21/44 22/44 世界は分裂している? 多世界解釈と量子重ね合わせ 世界は常に分裂し、 重ね合わさっている! 量子的な動作をする計算機 自分が認識しているのは、 その世界のうちの一つ 「シュレーディンガーの猫」で検索をかけてみよう。 23/44 量子力学に基づいた計算機が、量子計算機。 通常の計算機に加え、量子力学的な動作ができる。 具体的には、 量子重ね合わせを状態を保持することができる。 上記の状態を利用することで、量子並列計算が可 能。 ある特定の問題に対しては、非常に高速に解くこと ができる。 物理的には実現していない。 24/44 量子ビット (qubit) 量子Turing機械 量子Turing機械の場合 Turing機械の場合 0 or 1 0 and 1 重ね合わせ 1qubit 1bit 任意の重ね合わせ状態 テープの1つの区画に を記憶 0 1 0 または1 を記憶 と は 2 2 1 を満たす複素数である. ( ) は,状態 1 0 ( 1 )の確率振幅と呼ばれる. テープ 0 0 0 p 状態遷移関数(プログラムに相当)に したがって、テープの値の書き換え、 状態の変更、ヘッドの移動を行う。 1 (メモリに相当) ヘッド 有限制御部 (CPUに相当) 0 と 1 はヒルベルト空間内の状態ベクトル 1985年に David Deutsch が提案。 通常のTuring機械に、量子並列計算機能を取り入れ たもの。 25/44 量子 Turing 機械の動作 遷移確率 テープ 量子計算機 2 入力 状態 p であり,ヘッドが 0 を読んでいる時に 1 を書き込み,状態 q にして, ヘッドを右に動かす 2 その遷移を行う確率は, c 27/44 2 1 |αi|2 の確率で計算 結果 ci が観測される N 確率振幅 : i 2 C, | i | 1 i 1 28/44 物理的な実現の研究 (1) 量子計算機 量子計算機は、量子並列計算を行う 量子計算機 入力 0 0 0 0 c1 量子重ね合わせ ci … q 有限制御部 i ci p,0,1, q, R c cN … p 観測 N … 0 0 1 0 0 0 ヘッド 量子コンピュータ … 0 0 0 0 0 0 c 26/44 0 0 0 0 0 0 0 0 0 0 0 1 量子並列計算 1 0 1 0 量子計算機は内部では量子並列計算を行う 量子計算機は、その結果をすべて出力する 0 0 わけではない 何が出力されるのか?(数学的モデル化の研究) 効率的に問題を解く方法は?(アルゴリズムの研究) 様々な物理的実現に関する研究が行われている. 2001年 IBM が核磁気共鳴機を使用した 量子計算機(NMR量子計算機) 上で,15の因数分解に成功. © IBM 出力 0 1 29/44 NMR量子計算機は,近い将来に実現可能(かも?). → 計算モデルはBulk量子計算モデル 30/44 物理的な実現の研究 (2) 物理的な実現の研究 (3) D-Wave カナダのベンチャー企業 2007年2月に16qubit の実現を主張。 現在は512qubitと主張している。 © D-Wave 本当に実現しているのか、評価は分かれている。 汎用量子計算機ではなく、特定の問題を解く専用 機らしい。量子アニーリング専用機。 2013年、NASAやGoogle等が、量子人工知能研究 所の設立を発表。D-Waveの機械を使う予定。 日本でも、量子計算に関する研究は行われている。 「量子ビット 開発」で検索してみよう。 31/44 32/44 Shorのアルゴリズム Groverのアルゴリズム 1994年のPeter Shor 量子計算機は、因数分解を任意に小さい誤り確率で 多項式時間で実行可能であることを示す. 通常の計算機は、整数の因数分解を多項式時間で解く ことが難しいと信じられている. 量子計算機は通常の計算機より強力かもしれない! 1996年のL.K.Grover 量子探索アルゴリズムを発表。 鍵の総当たりに必要な時間が、 2 nに。 指数時間ではあるが、時間の桁数は半分になる! 量子計算機が完成すると, 鍵の総当たり攻撃も高速に可能 量子計算機が完成すると, RSA暗号が解けてしまう! 33/44 34/44 重ね合わせ状態の崩壊 日本でも、量子計算に関する研究は行われている。 「量子ビット 開発」で検索してみよう。 量子通信 35/44 36/44 重ね合わせ状態の崩壊 量子通信 人は、重ね合わせ状態を直に見ることはできない。 観測という行為を行って、状態を知る。 量子重ね合わせ状態は、観測すると崩壊してしまう。 … 量子状態を通信するのが、量子通信。 さまざまな実験が行われている。 Bob 「量子通信 プレスリリース」で 検索してみよう。 あsdふぁsd Jlkjぇwkf … ci あsdふぁsd Jlkjぇwkf 観測すると、 重ね合わせが 壊れる。 量子重ね合わせ 量子状態を やりとりする Alice 37/44 38/44 量子通信の実現 量子鍵配送 さまざまな実験が行われている。 光子を用いた通信を利用する方式が有名。 1980 年代には数十センチの距離 2002 年には三菱電機により87km 2004 年には三菱電機により96km 2007 年にはロス・アラモス研究所により107km, 2006 年にはウィーン大学などにより144km, 2007 年にはNTT により200km 量子通信を利用して、通常の(古典的な)秘密鍵を共 有するのが、量子鍵配送。 Bob あsdふぁsd Jlkjぇwkf あsdふぁsd Jlkjぇwkf Alice 量子通信も利用して、 秘密鍵を共有 39/44 40/44 盗聴者が居た場合 その他の量子情報処理 間に盗聴者が居た場合、重ね合わせ状態が壊れてし まい、正確に送られない。 盗聴されているかを検知できる! Bob 盗聴されていたら 通信をやめる。 あれ? おかしいぞ。 盗聴されてる? あsdふぁsd Jlkjぇwkf 送信 あsdふぁsd Jlkjぇwkf Alice 量子もつれ合い状態を利用した情報のやりとり 光子を飛ばさないで行うデータのやりとり 量子ゲーム理論 人間が量子的な動作をするなら(つまり、人と人が 量子力学的に繋がってるなら)何が起きるか。 量子不正行為 量子計算の考え方や、量子ビットを用いて、ゲーム 等でイカサマ行為をしよう。 盗聴だ! 41/44 42/44 課題と課題の提出 演習: 43/44 テストについて 08月05日3限 部屋:4314(実習室ではないことに注意) 筆記テスト 紙類持ち込み可 出題範囲: 講義で説明した内容 講義で配布したプリント内容 来週講義開始時点でのWebサイト上の内容 45/44 感想文を書いて出すこと。 量子情報処理について検索し、まとめて書くこと。 未来の暗号と情報セキュリティはどうあるべきかを考え て書くこと。 ファイル名は学籍番号の末尾に nをつけたもの。 44/44
© Copyright 2024 Paperzz