38
1 量量量量量量量量量量量量量量量量量 量量量量量量量量量量量量量量量量量 量量量量量 量量量量量量量量量量量量量 量量量量量量量量量量量量量 「」 2014 量 12 量 10 量

量子コンピュータと情報セキュリティ

Embed Size (px)

DESCRIPTION

量子コンピュータと情報セキュリティ. 只木孝太郎 中央大学大学院理工学研究科 「情報セキュリティ技術」資料 2013 年 12 月 10 日. 内容. 量子コンピュータ開発の経緯と現状 量子コンピュータの原理 Shor の素因数分解アルゴリズム 情報セキュリティへの脅威 実現の可能性. 量子コンピュータ研究のこれまで. ・  1973年  C.H. Bennett 可逆計算 ・  1980年代前半  R.P. Feynman   量子力学に基づく高速計算の可能性 ・  1985年  D. Deutsch - PowerPoint PPT Presentation

Citation preview

Page 1: 量子コンピュータと情報セキュリティ

1

量子コンピュータと情報セキュリ量子コンピュータと情報セキュリティティ

只木孝太郎

中央大学大学院理工学研究科「情報セキュリティ技術」資料

2014 年 12 月 10 日

Page 2: 量子コンピュータと情報セキュリティ

2

内容

• 量子コンピュータ開発の経緯と現状• 量子コンピュータの原理• Shor の素因数分解アルゴリズム• 情報セキュリティへの脅威• 実現の可能性

Page 3: 量子コンピュータと情報セキュリティ

3

量子コンピュータ研究のこれまで

・ 1973年  C.H. Bennett

可逆計算・ 1980年代前半  R.P. Feynman

  量子力学に基づく高速計算の可能性・ 1985年  D. Deutsch

  汎用量子コンピュータのモデル化(量子チューリングマシン)・ 1989年  D. Deutsch & R. Jozsa

  量子コンピュータが、従来のコンピュータより指数関数的に速い実例・ 1994年  P.W. Shor

  素因数分解・離散対数問題を多項式時間で解く、量子アルゴリズム・ 1996年  L. Grover

  データベース検索を加速する量子アルゴリズム

Page 4: 量子コンピュータと情報セキュリティ

4

量子コンピュータの実現最初の量子コンピュータは NMR 装置を利用して実現

した。NMR (核磁気共鳴)装置: 有機化合物分子の構造解析で広く利用

2001 年12月  IBM の I. Chuang ら

Shor の素因数分解アルゴリズムの実証を目的として 15 の素因数分解を行う。

有機化合物分子中の、計 7 個のフッ素原子と炭素原子の原子核スピンを、量子コンピュータとして利用

Page 5: 量子コンピュータと情報セキュリティ

NMR実験装置の例

写真提供:日本電子株式会社

Page 6: 量子コンピュータと情報セキュリティ

6

NMR 量子コンピュータ最近の発展

・ 2008年 Xinhua Peng, Zeyang Liao, Nanyang Xu, Gan Qin, Xianyi Zhou,

Dieter Suter, and Jiangfeng Du

液晶 NMR を用いて、断熱的量子計算に基づいて、 21 (=3×7)の素因数 分解を実現。 3 キュービットで実現。大規模化不可能。・ 2011年 Nanyang Xu, Jing Zhu, Dawei Lu, Xianyi Zhou, Xinhua Peng,

and Jiangfeng Du

液晶 NMR を用いて、断熱的量子計算に基づいて、 143 (=11×13) の素 因数分解を実現。 143 の特殊性を利用し、 4 キュービットで実現。

Page 7: 量子コンピュータと情報セキュリティ

7

量子コンピュータの実現(再掲)

最初の量子コンピュータは NMR 装置を利用して実現した。

NMR (核磁気共鳴)装置: 有機化合物分子の構造解析で広く利用

2001 年12月  IBM の I. Chuang ら

Shor の素因数分解アルゴリズムの実証を目的として 15 の素因数分解を行う。

有機化合物分子中の、計 7 個のフッ素原子と炭素原子の原子核スピンを、量子コンピュータとして利用

以下では、 Chuang らの NMR 量子コンピュータを念頭において、

量子コンピュータの原理について解説する。

Page 8: 量子コンピュータと情報セキュリティ

8

量子コンピュータの原理

Page 9: 量子コンピュータと情報セキュリティ

9

量子コンピュータの構成要素

量子コンピュータ内部 データは2進数で表現される。従来のコンピュータと同じ

従来のコンピュータの1ビット

0, 1

物理的な実体: 異なる2つの電位

量子コンピュータの1ビット

0, 1

物理的な実体: 2つの量子状態

1 キュービット( qubit 、量子ビット)

キュービットの例

電子のスピン

原子核のスピン(スピン:方位磁針のような属

性)

光子の偏向状態

イオンの振動状態

電子の有無

Page 10: 量子コンピュータと情報セキュリティ

10

例: NMR量子コンピュータ

磁場

原子核スピン

キュービット: 

磁場中に置かれた原子核スピン

(溶媒分子を構成する原子の原子核)

0 1

重ね合わせの原理 (量子力学の原理の1つ)

(複素数) × + (複素数) ×

スピンは、重ね合わせの状態をとることもできる。このような重ね合わせで、任意の方向を向いたスピンが表現できる。 0と1の重ね合わせ状態が存在する。

1キュービットは無限個の状態が表現できる。

Chuang の実験

有機化合物分子の中の 7 個の原子の原子核スピンを利用

Page 11: 量子コンピュータと情報セキュリティ

11

ビット列(2進数)の表現

波動関数の確率解釈 (量子力学の原理の1つ)

図2

2桁以上の2進数は、上下いずれかを向いたスピンの列で表現される。

スピンの列についても、重ね合わせの原理が成り立つ。

1101

1101、0100、1111

の重ね合わせ状態が存在する。

1101、0100、1111

の重ね合わせ状態

スピンの列を測定

3つのパターンのうち1つが

確率的に観測される。

4個のスピンで表現される例

Page 12: 量子コンピュータと情報セキュリティ

12

量子コンピュータでの計算の進め方

NMR 量子コンピュータの場合

[1] 原子核のスピンの列を適当な初期状態に置く。[2] 原子核スピンへの、高周波の磁場パルスの照射を繰り返し、量子状態を変化させ、計算を進める。

[3] スピンの列を測定し、観測された2進数( 0,1 のパターン)が出力とされる。

1つの磁場パルスの照射が1クロックに対応

入力に応じて、磁場パルス列のパターンが変更され、

量子状態に反映される。入力はどう反映

されるか?

量子コンピュータの1クロック

Page 13: 量子コンピュータと情報セキュリティ

13

量子並列性による高速計算量子コンピュータと従来のコンピュータの

違い

Page 14: 量子コンピュータと情報セキュリティ

14

効率的なアルゴリズムとは?

効率的なアルゴリズム(実現可能な計算)

ある多項式 p(x) が存在して、任意の N に対し、

入力 N での計算時間≤ p(log N)

log N :  N の桁数

多項式時間のアルゴリズム

Page 15: 量子コンピュータと情報セキュリティ

15

整数 N の素因数分解を求めたい。

レジスタ1 レジスタ2

i

従来のコンピュータによる素朴な方法

整数を格納する2つのレジスタ1、2を用意する。

[1] 与えられた整数 i を、レジスタ 1 に格納する。

[2] N をレジスタ 1 の値で割った余りを、レジスタ2に書き込む。

i N mod i

以上の [1],[2] を、 i=2 から始めて、 i を 1 ずつ増やながら繰り返し、そのつどレジスタ2を見る。

レジスタ2の値が 0 i が N の因数

)2( log2/1 NN 最悪 回

[1],[2] を繰り返す必要がある。

計算時間は指数関数的

多項式時間のアルゴリズムではない。

Page 16: 量子コンピュータと情報セキュリティ

16

整数 N の素因数分解を求めたい。量子コンピュータによる方法

整数を格納する2つのキュービット列を用意し、それらをレジスタ1・レジスタ2として用いる。レジスタ1の値で N を割った余りが、レジスタ2に書き込まれるように、与える磁場パルス列のパターンをあらかじめ設計しておく。

キュービット列

2 2 1

磁場パルス列

6 6 5

磁場パルス列

(例)  N=77 の素因数分解

ここまでは、従来のコンピュータと同じ

レジスタ1 キュービット

レジスタ2

Page 17: 量子コンピュータと情報セキュリティ

17

量子コンピュータでは、重ね合わせ状態が利用できる。

割り算に先立って、レジスタ1を、  から   までの全ての整数が格納された重ね合わせ状態に置くこと

が可能

2 N

従来のコンピュータで

回かかっていたのものが

たった 1 の割り算で済む。

N

量子並列性

素因数分解のためには別の工夫が必要

速さの源

N=77 の場合

Page 18: 量子コンピュータと情報セキュリティ

18

量子干渉の必要性量子コンピュータが従来のコンピュータより(準)指数関数的に速

くなる状況

重ね合わせ状態に乗っている(周期などの)グローバルな情報を取り出す場合

量子干渉によって実現される

N の素因数分解は、ある関数 f の周期を求めることに帰着可能

Shor の素因数分解アルゴリズムは、

量子干渉で周期を取り出すことにより、

多項式時間での素因数分解を達成した。

Page 19: 量子コンピュータと情報セキュリティ

19

S hor の素因数分解アルゴリズム

Page 20: 量子コンピュータと情報セキュリティ

20

Shorの素因数分解アルゴリズムメインルーティン: 従来のコンピュータを利用

入力: N (N=p×q 、 p と q は異なる素数 )出力: p とq

[1] N と互いに素な整数 a (2 a N-1) ≦ ≦ をランダムに(一様に)選ぶ。

[2]  関数 f(x)=ax mod N の周期 r を求める。

[3] ar/2+1 と N の最大公約数、及び ar/2-1 と N の最大公約数を求めて出力する。

最も計算時間がかかる。

量子コンピュータで r を計算する。

N の桁数の多項式時間で、 N と互いに素な a が得られる。 ( Euclid アルゴリズム)

最大公約数は、 N の桁数の多項式時間で求まる。( Euclid アルゴリズム)

確率アルゴリズム

Page 21: 量子コンピュータと情報セキュリティ

21

Shorのアルゴリズムの動作を例で見みる。

[1] N と互いに素な整数 a (2 a N-1) ≦ ≦ をランダムに(一様に)選ぶ。

N=15 の素因数分解を求めてみよう。

N と互いに素な整数: 2,4,7,8,11,13,14ランダムに選んだ a が、 a=7 だったとする。

[2]  関数 f(x)=ax mod N の周期 r を求める。

今の場合、 f(x)=7x mod 15 となる。

この関数 f(x) の周期 r を計算するのに量子コンピュータを用いる。

f(x) の周期: ar ≡1 mod N となる最小の r ( a の order )( N と a は互いに素なので、フェルマーの小定理より必ず存在する。)

Page 22: 量子コンピュータと情報セキュリティ

22

レジスタ1、レジスタ2の重ね合わせ状態の推移

f(x)=7x mod 15

Page 23: 量子コンピュータと情報セキュリティ

23

周期 r を求める量子サブルーティン

整数を格納する2つの量子レジスタ、レジスタ1・レジスタ2と作業用の量子レジスタを持つ。

[1]  レジスタ1に、 0 から 15 までの全ての数を重ね合わせた状態を準備する。(図4-a)

量子コンピュータ

レジスタ1 レジスタ2 作業用レジスタ

キュービット列 キュービット列 キュービット列

[2]  レジスタ1の各値 x に対応する f(x) を量子並列的に計算し、隣のレジスタ2に書き込む。(図 4-b )

f(x)=ax mod N :  N の桁数の3乗の計算時間が掛かる。

量子サブルーチンで最も計算時間を消費する部分

f(x)=7x mod 15

Page 24: 量子コンピュータと情報セキュリティ

24

レジスタ1、レジスタ2の重ね合わせ状態の推移

Page 25: 量子コンピュータと情報セキュリティ

25

量子サブルーティン(続き)周期性の構造を見やすくするため、順序を入れ替えてみる。(図 4-c )

レジスタ1の内容 

グループ A: 0, 4, 8, 12グループ B: 1, 5, 9, 13グループ C: 2, 6, 10, 14グループ D: 3, 7, 11, 15

4 ずつ増えている。

それぞれのグループで、始まりの値が異なっている。

周期 r = 4

ここで、レジスタ1を観測しても、効率的に周期を求めることはできない。

量子フーリエ変換を施して、周期の始まりを揃える。

Page 26: 量子コンピュータと情報セキュリティ

26

レジスタ1、レジスタ2の重ね合わせ状態の推移

グローバルな変換

Page 27: 量子コンピュータと情報セキュリティ

27

量子サブルーティン(終わり)[3]  レジスタ1に量子フーリエ変換を施す。(図 4-d )

フーリエ変換の量子版

レジスタ1の内容 

グループ A: 0, 4, 8, 12グループ B: 0, 4, 8, 12グループ C: 0, 4, 8, 12グループ D: 0, 4, 8, 12

揃っている

計算経路間の量子干渉を引き起こすグローバルな変換

ここでレジスタ1を観測すると、

十分に高い確率で周期 r が得られる。

)log( の桁数定数

が得られる確率)(N

r

周期 r = 4 が得られた。 互いに強め合う

Page 28: 量子コンピュータと情報セキュリティ

28

Shorの素因数分解アルゴリズム(メインルーティン)

[1] N と互いに素な整数 a (2 a N-1) ≦ ≦ をランダムに(一様に)選ぶ。

[2]  関数 f(x)=ax mod N の周期 r を求める。

[3] ar/2+1 と N の最大公約数、及び ar/2-1 と N の最大公約数を求めて     出力する。

周期 r = 4 が得られた。

ar/2+1 = 72+1 = 50

ar/2-1 = 72-1 = 48

gcd(ar/2+1, N) = gcd(50,15) =5

gcd(ar/2-1, N) = gcd(48,15) =3

Euclid アルゴリズム

出力:  5 と3

15 = 5×3 が得られた。

a=7

量子サブルーティン

Page 29: 量子コンピュータと情報セキュリティ

29

Shorのアルゴリズムの計算時間

[1] N と互いに素な整数 a (2 a N-1)≦ ≦ をランダムに(一様に)選ぶ。

[2]  関数 f(x)=ax mod N の周期 r を求める。

[3] ar/2+1 と N の最大公約数、及び ar/2-1 と N の最大公約数を求めて出力する。

[1],[2],[3] を log(N の桁数 ) 回程度繰り返せば、ほぼ確率 1 で N の素因数分解が得られる。

全体として、 N の桁数の多項式時間( (N の桁数 )3 log(N の桁数 ) ステップ)で

N の素因数分解がが得られる。

(N の桁数 )2 ステップ( Euclid アルゴリズム)

(N の桁数 )3 ステップ

C/log(N の桁数 ) 以上の確率で正しい r が得られる。

正しい周期 r が与えられたとき、 1/2 以上の確率で 1 と N 以外の因数が得られる。

全体として、 C/(2 log(N の桁数 )) 以上の確率で、自明でない因数 p と q が得られる。

(N の桁数 )2 ステップ( Euclid アルゴリズム)

Page 30: 量子コンピュータと情報セキュリティ

30

情報セキュリティへの脅威

Page 31: 量子コンピュータと情報セキュリティ

31

RSA暗号の解読

TWIRL: 素因数分解を行う仮想的な並列コンピュータ

合成数(鍵)のけた数

512bit 1024bit

計算時間 10分以下

1000年

(1) 従来のコンピュータ技術による解読( Shamir & Tromer, 2003 )

(当時標準的な 0.13μm ・ 1GHz のシリコン VLSI 技術に基づく。直径 30cmの LSI )1万ドルのコストで

(2) 量子コンピュータによる解読 ( R. Hughes による解析 , 2003 )

数体ふるい法

最適化されたShor のアルゴリズム

25 l3+O(l2) ステップ

表1

]))(log)1((exp[ 3/23/1 llOOステップここで、 l = 合成数の桁数RSA モジュール ( 鍵 ) の素因数分

1GHz の量子コンピュータでは

Page 32: 量子コンピュータと情報セキュリティ

32

古典計算機での RSA暗号の解読

(1) TWIRL ( Shamir and Tromer, 2003 )

(2) SHARK ( Franke et al., 2005 )

1024bit の素因数分解にかかる時間とコストの比較

直径 30cm の LSI 1000万ドルのコストで1 年

2 億ドルのコストで 1 年

の LSI 1000万ドルのコストで 16年以上

(3) YASD1024 ( Hirota et al., 2006; Geiselmann & Steinwandt, 2004 ) 2 411 cm

Page 33: 量子コンピュータと情報セキュリティ

33

有限体上の離散対数問題を解く

量子コンピュータは、有限体上の離散対数問題も、多項式時間で解く。

p を素数、 g を mod p の原始根とすると、A {1,2,…,p-1} に対し、 A≡ga mod p となる a {0,1,2,…,p-2} が存在

する。

a を A の離散対数と言う。

A が与えられたとき、 a を求めるのが有限体上の離散対数問題

有限体上の離散対数問題の困難さに基づく暗号

(素因数分解アルゴリズムの量子サブルーチンの変形。これも Shorによる。)

解読ElGamal暗号

Diffie-Hellman鍵共有

Page 34: 量子コンピュータと情報セキュリティ

34

楕円曲線が基づく有限体 GF(p) の元の数 p が

素数の場合

楕円暗号の解読

楕円暗号: 楕円曲線上の離散対数問題の困難さに基づいている。

Shor による有限体上の離散対数問題を解く量子アルゴリズムが適用可能。Proos & Zalka による楕円暗号解読の量子アルゴリ

ズムとその解析( 2003 )

鍵長の多項式時間で解読

GF(2^m) の場合を最適化( Kaye & Zalka, 2004 )

Page 35: 量子コンピュータと情報セキュリティ

35

認証技術の安全性

[1] 素因数分解の困難さ

[2] 有限体上の離散対数問題の困難さ

[3] 楕円曲線上の離散対数問題の困難さ

認証技術

主要なものは、以下のものの1つに、その安全性の根拠を置いている。

量子コンピュータが実現

安全性の保証がなくなる。

量子コンピュータは効率よく解く

ディジタル署名、ゼロ知識対話証明など

Page 36: 量子コンピュータと情報セキュリティ

36

量子コンピュータ実現の可能性

Page 37: 量子コンピュータと情報セキュリティ

37

10キュービットの壁NMR 量子コンピュータの

限界デコヒーレンス: 外界との相互作用により重ね合わせ状態が壊れてしまう現象

原子核スピンと外界との相互作用は弱い

NMR 量子コンピュータ成功の理由

溶媒中の有機化合物分子の1つ1つが量子コンピュータ

平均的な NMR信号を通じて、計算結果が読み出される。初期化の問題 キュービット数が増えると、実効的な初期化

が難しくなる。

デコヒーレンスを招く。

10キュービットが限界

1997 年より現在まで、そう言われてい

る。

キュービット数の増加は、分子の巨大化を意味する。

計算結果の信号が弱まる。

分子中の 7 個の原子の原子核スピンを利用

7 キュービット

Page 38: 量子コンピュータと情報セキュリティ

38

量子コンピュータの実現

量子コンピュータが情報セキュリティの脅威となるには、最低でも 1000 キュービットの実装が必要

・イオントラップ: レーザー光による制御、多数イオンの制御が困難

・光子(偏向状態): 相互作用が弱い→演算の実現が困難。

2007 年、 15 の素因数分解を実現。

・ジョゼフソン位相キュービット: 超伝導の固体素子。 2012 年、固体素子

として初めて( 15 の)素因数分解を実現。大規模化可能。

それを容易に実現する提案は存在しない。

量子コンピュータの研究開発

・新分野の開拓

・関連技術の進歩 (ナノテクノロジー)

いくつものブレークスルーが必要