provable security3

38
Tokyo Research Laboratory 講義資料 © 2008 IBM Corporation 暗号理論における安全性の証明: Identification Protocol (ユーザ認証プロトコ ル)の Zero-Knowledge 羽田 知史( IBM 東京基礎研究所) Satoshi Hada (IBM Research - Tokyo) mailto: satoshih at jp ibm com

Upload: satoshi-hada

Post on 03-Jul-2015

604 views

Category:

Technology


4 download

DESCRIPTION

大学での暗号の講義(その3) 2008-2010

TRANSCRIPT

Page 1: Provable Security3

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

暗号理論における安全性の証明:Identification Protocol(ユーザ認証プロトコル)の Zero-Knowledge性

羽田 知史( IBM東京基礎研究所)Satoshi Hada (IBM Research - Tokyo)

mailto: satoshih at jp ibm com

Page 2: Provable Security3

2

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

Simulation Paradigmは、「一切、情報が漏れない」を表現する方法です

アイデア:攻撃者が計算できるものは、攻撃の対象がなくても、計算できる。例:攻撃者が(公開鍵、暗号文)から計算できるものは、その(公開鍵、暗号文)がなくても計算できる。つまり、攻撃者の出力を(公開鍵、暗号文)がなくても Simulateできる。

∀ 攻撃者 A、∃ Simulator S s.t. anything A can compute from public key and ciphertexts, S can compute without them.

Page 3: Provable Security3

3

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

Witness Hiding性の定義には問題があります。

Witness Hiding性の定義 攻撃が成功するとは?

Pと通信したあとに、 skを計算できる 任意の攻撃者にとって、攻撃が成功する確率が無視できるほど小さいとは? ∀ 攻撃者 A, negligible function δ(n) s.t., ∃

Pr[(pk,sk) ← KG(1n) ; s ← < P(pk,sk), A(pk) > : s=sk] < δ(n)

問題点skの特定のビットは、 Pと通信することにより漏れるかもしれない、という可能性を否定するほど強い定義ではない

ただし、 Identificationプロトコルの安全性には十分ゼロ知識性は、この問題を解決できます

Page 4: Provable Security3

4

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

ゼロ知識性は、ユーザ認証プロトコルにおいて1ビットたりとも漏れない、という性質で、 Simulation Paradigmに基づいて定義されます

表記 Key generator KG

入力: 1n(セキュリティパラメータ) 出力:( pk,sk)

pk: a public key of length n

sk: a corresponding secret key

Identification プロトコル (P,V)

(P,V) への共通入力 pk P への秘密入力 sk 出力 < P(pk,sk), V(pk) >: Vの decision

Pr[(pk,sk) ←KG(1n) : < P(pk,sk), V(pk) >=Accept]=1

悪意のある検証者 A が得る情報 < P(pk,sk), A(pk) >は、 Aの使う乱数 Rと交換されるメッセージ

ゼロ知識性の定義 証明者 Pとのデータ通信から得られる情報は、証明者 Pと通信しなくても得ることができる。 ∀ 攻撃者(悪意のある検証者) A, simulator S, ∃ 以下の 2つの確率分布が識別不可能(等しい、統計

的に、あるいは、計算量的に識別不可能 )

{(pk,sk) ← KG(1n) ; history ← < P(pk,sk), A(pk) > : history } と {(pk,sk) ← KG(1n) ; history ← S(pk) : history}

Page 5: Provable Security3

5

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

統計的に識別不可能な確率分布

二つの確率分布 Anと Bnは、以下の条件を満たすとき、統計的に識別不可能と言われます。

∃negligible function negl(n) s.t.∑α |Pr [An= α] – Pr [Bn = α]| ≤ negl(n).

Page 6: Provable Security3

6

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

前回の講義との関係

ZK性は、WH性よりも強い定義ですので、 ZKプロトコルはWHプロトコルです。 Schnorr’s Identificationプロトコル

WH性を満たすか未知当然、 ZK性を満たすかどうかも未知

Okamoto92のプロトコルWH性は満たすZK性は満たすのか?

講義の目的 ユーザ認証プロトコルの安全性を議論する上では、WH性で十分であり、 ZK性を議論する意味はあまりない。が、「知識をもらさず、知識を証明する」という Paradoxicalな概念を紹介する( Simulation Paradigmの実例として)。

Page 7: Provable Security3

7

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

Black-box Simulationゼロ知識プロトコルとは? (先ほどの)ゼロ知識性の定義

∀ 攻撃者(悪意のある検証者) A, simulator S, ∃ 以下の 2つの確率分布が識別不可能

{(pk,sk) ← KG(1n) ; history ← < P(pk,sk), A(pk) > : history } と {(pk,sk) ← KG(1n) ; history ← S(pk) : history}

Black-box simulationゼロ知識性の定義 ∃simulator S s.t. ∀ 攻撃者(悪意のある検証者) A, 以下の 2つの確率分布が識別不可

{(pk,sk) ← KG(1n) ; history ← < P(pk,sk), A(pk) > : history } と {(pk,sk) ← KG(1n) ; history ← SA(pk) : history}

•Quantifiersの順番が逆•Black-box simulation ZK性の方が強い Requirement

•Black-box simulation ZK性は(前者の) ZK性を満たす通常、 ZK性は、この強い定義の下で、議論されている

•その逆が成り立つか?はB. Barak, "How to go beyond the black-box simulation barrier," FOCS 2001

Page 8: Provable Security3

8

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

証明者 検証者

公開鍵: v秘密鍵: s

s.t. v=g-s (mod p)

x=vegyが成り立てばAccept

左辺: x=gr

右辺: vegy =g-esgr+es=gr

e

x=gr (mod p)

y=r+es (mod q)

乱数:r Z∈ q

乱数:e( n bits)

Schnorrの Identificationプロトコルは離散対数問題の困難性に基づいたプロトコルです

離散対数が困難という仮定の下では、公開鍵から秘密鍵を計算できない

Page 9: Provable Security3

9

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

証明者 検証者

公開鍵: v秘密鍵: s

s.t. v=g-s

e

y=r+es (mod q)

乱数:r Z∈ q

乱数:e( n bits)

悪意のある証明者の観点から、プロトコルは安全か?

x=vegy ?

x=gr (mod p)

ある x=gr を送信したとき、2つの異なる (e,e’)に対して、正しく返事できるなら、つまり、

(y,y’) s.t. x=vegy=ve’gy’ を計算できるなら、 s=(y’-y)/(e-e’) mod q として計算できる。つまり、高い確率で、なりすましできるためには、 sの知識が必須である。

Page 10: Provable Security3

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

ZK性の証明

Page 11: Provable Security3

11

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

証明者 検証者

公開鍵: v秘密鍵: s

s.t. v=g-s (mod p)

x=vegyが成り立てばAccept

左辺: x=gr

右辺: vegy =g-esgr+es=gr

e=0 or 1

x=gr (mod p)

y=r+es (mod q)

乱数:r Z∈ q

乱数:e( 1 bits)

Schnorrの Identificationプロトコルにおいて、 eが 1ビットの場合を考えます。

離散対数が困難という仮定の下では、公開鍵から秘密鍵を計算できない

Page 12: Provable Security3

12

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

公開鍵: v秘密鍵: s

s.t. v=g-s

e=0 or 1

x=gr (mod p)

y=r+es (mod q)

乱数:r Z∈ q

乱数:e( 1 bits)

Schnorrの Identificationプロトコルにおいて、 eが 1ビットの場合を考えます。

eが 1/2の確率で予測できるので、 sを知らなくても、なりすましは 1/2の確率で成功する。

ある x=gr を送信したとき、 e=0 and 1の両方に対して、正

しく返事できるなら、つまり、 (y,y’) s.t. x=gy=vgy’ を計算できるなら、 s=y-y’mod q として計算できる。yから sを計算するには、 rを計算する必要があるが、 xから rを計算するのは困難(離散対数問題)。 =>実際、 ZK性を満たす

x=vegy ?

Page 13: Provable Security3

13

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

プロトコルの規定どおりに振舞う正直な検証者 Vに対しては、 Perfectに Simulation可能です。

入力:公開鍵 v Step 1: ランダムに e=0 or 1 を生成( Vのチャレンジを事前に生成)。

Step 2-0: e=0のとき、 x=gyを満たす (x,y)をランダムに生成。

Step 2-1: e=1のとき、 x=vgyを満たす (x,y)をランダムに生成。

Step 3 : (x,e,y)を出力

Page 14: Provable Security3

14

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

正直な検証者と悪意のある検証者の違い

e=0 or 1

x=gr (mod p)

e=0 or 1

x=gr (mod p)

正直な検証者は、 eを xとは独立にランダムに生成

悪意のある検証者は、 eを xに依存して、生成できる。 e=f(x)xより eを先に決められない

Page 15: Provable Security3

15

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

悪意のある任意の検証者に対する Simulationは、 Perfectではないですが、 Statistically Indistinguishableです。 入力:公開鍵 v ブラックボックスアクセス: A

Step 1: ランダムに e=0 or 1 を生成( Aのチャレンジ eを予測)。

Step 2-0: e=0のとき、 x=gyを満たす (x,y)をランダムに生成。

Step 2-1: e=1のとき、 x=vgyを満たす (x,y)をランダムに生成。

Step 3: xを Aに入力( Aの使用する乱数を Rとして生成) Step 4: Aが e’を出力 Step 5: e=e’ならば、 (x,e,y;R)を出力、 e=e’でないなら、 Step 2からやり直し( Aが使用する乱数を Rを新たに生成、 n回繰り返す)

•Step 5で、 Aの振る舞いにかかわらず、 1/2の確率で e=e’となる( e=0の時と e=1の時の xの確率分布は等しい)•n回繰り返しても、終わらない確率は、 1/2n(negligible)

•この分だけ、確率分布にずれが生じます

Page 16: Provable Security3

16

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

e=1ビットの場合の Sequential Composition

n回すべて、検証者が Acceptしたときのみ、全体としても Acceptする。 なりすましの確率は、 1/2n( negligible)になる かつ、 ZK性も保持される( Simulationを n回繰り返せばよい)

厳密には、 Simulationをする際、悪意のある検証者が前回までに得た情報を保持していることを考慮する必要がある。

n回繰り返す

x1

e1

y1

x2

e2

y2

xn

en

yn

Page 17: Provable Security3

17

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

e=1ビットの場合の Parallel Composition

n回すべて、検証者が Acceptしたときのみ、全体としてもAcceptする。 なりすましの確率は、 1/2n( negligible)になる ZK性は保持されるか?

n回繰り返す

x1

e1

y1

x2

e2

y2

xn

en

yn

Page 18: Provable Security3

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

不可能性

O. Goldreich and H. Krawczyk, ``On the Composition of Zero-Knowledge Proof Systems,'' SIAM Journal on Computing, Vol.25, No.1, pp.169-192, 1996.

T. Itoh and K. Sakurai, ``On the Complexity of Constant Round ZKIP of Possession of Knowledge,” IEICE Trans. Fundamentals, Vol. E76-A, No. 1, pp. 31-39, 1993.

Page 19: Provable Security3

19

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

通信回数が 3回のプロトコルの場合は、 ZK性は満たされません。

以下は全て同じ論理で、「離散対数問題の困難性の仮定の下で、 ZK性を満たさない」ことが証明できます。

2.オリジナルの Schnorr’s Identification Protocol3.Okamoto 924.e=1ビットの場合の Parallel Composition

(Schnorrも Okamoto92も両方 )

Page 20: Provable Security3

20

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

証明者 検証者

公開鍵: v秘密鍵: s

s.t. v=g-s (mod p)

x=vegyが成り立てばAccept

左辺: x=gr

右辺: vegy =g-esgr+es=gr

e

x=gr (mod p)

y=r+es (mod q)

乱数:r Z∈ q

乱数:e( n bits)

Schnorrのオリジナルのプロトコルでは、 eが nビットなので、 Simulationは難しそう

離散対数が困難という仮定の下では、公開鍵から秘密鍵を計算できない

Page 21: Provable Security3

21

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

Simulationが難しいのはどういう場合か?

e (nビット )

xSimulator

こういうやりかたで有用な情報を得ることができるかは、不明であるが、プロトコルの規定通りに振舞わないという意味では

、悪意がある。

悪意のある検証者は、eを xからDeterministicに計算する。 e=f(x)

出力される nビットの eを予測できない場合 

Page 22: Provable Security3

22

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

eが nビットの場合の、 Deterministicな悪意のある任意の検証者に対する Simulationは、 eが 1ビットの時と同じやり方だとうまくいきそうにない。 入力:公開鍵 v ブラックボックスアクセス: A

Step 1: ランダムに e (nビット ) を生成( Aのチャレンジeを予測)。

Step 2: x=vegyを満たす (x,y)をランダムに生成。 Step 3: xを Aに入力( Aの使用する乱数を Rとして生成)

Step 4: Aが e’=f(x)を出力 Step 5: e=e’ならば、 (x,e,y;R)を出力、 e=e’でないなら、

Step 2からやり直し( Aの使用する乱数を Rを新たに生成)

•Step 5で、 e=e’となる確率は、 negligibleかもしれない( fに依存)。

Page 23: Provable Security3

23

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

fが乱数表のときは、 Simulationは、本当に難しいです

e (nビット )

悪意のある検証者は、 eを xにDeterministic に依存して、生成できる。 e=f(x)

E0x=g0

Eqx=gq-1

E2x=g2

E1x=g1

(ランダムな) eの値xの値乱数表(非一様な Adviceとして与えられる)

ただし、乱数表のサイズ (qn)は、指数関数的に大きいので、このような検証者に対して、 Simulationできることを ZK性の定義は要求しません。ですが議論がシンプルにするために、とりあえず、この問題は忘

れます。

Simulator

x

Page 24: Provable Security3

24

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

eが nビットの場合の、乱数表を使う Deterministicな悪意のある検証者に対する Simulationは、 eが 1ビットの時と同じやり方だとうまくいきそうにない。

•Step 5で、 e=e’となる確率は、 1/2n (negligible)です。

入力:公開鍵 v ブラックボックスアクセス: A(乱数表 fを使う)

Step 1: ランダムに e (nビット ) を生成( Aのチャレンジeを予測)。

Step 2: x=vegyを満たす (x,y)をランダムに生成。 Step 3: xを Aに入力( Aの使用する乱数を Rとして生成)

Step 4: Aが e’=f(x)を出力 Step 5: e=e’ならば、 (x,e,y;R)を出力、 e=e’でないなら、

Step 2からやり直し( Aの使用する乱数を Rを新たに生成)

Page 25: Provable Security3

25

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

eが nビットの場合の、乱数表を使う Deterministicな悪意のある検証者に対する Simulationは、 eが 1ビットの時と同じやり方だとうまくいきそうにない。

•Step 5で、•e=e’となる確率は、 1/2n (negligible)です。•e=e’とならない場合、 (x,e’,y’) s.t. x=ve’gy’を出力できると、 sを計算できてしまいます(離散対数問題を解ける)

•Step 1&2で、 xの作り方に工夫するしかない。

入力:公開鍵 v ブラックボックスアクセス: A(乱数表 fを使う)

Step 1: ランダムに e (nビット ) を生成( Aのチャレンジeを予測)。

Step 2: x=vegyを満たす (x,y)をランダムに生成。 Step 3: xを Aに入力 Step 4: Aが e’=f(x)を出力 Step 5: e=e’ならば、 (x,e,y)を出力、 e=e’でないなら、 Step 2からやり直し

Page 26: Provable Security3

26

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

eが nビットの場合の、乱数表を使う Deterministicな悪意のある検証者に対する一般的な Simulationは以下のようになります。 入力:公開鍵 v ブラックボックスアクセス

: A(乱数表 fを使う)

Step 1: 以下を t(n)回繰り返す (t(n)は Aに依存しない多項式) Step 1-1: xを生成(以前生成した以外の x)

Step 1-2: xを Aに入力し、Aが e=f(x)を出力

Step 2: いずれかの iにおい て、 xi=veigy を満たす yを

出力

S1

公開鍵 v

x1

e1=f(x1)

S2x2

e2=f(x2)

Stxt

et=f(xt)

y s.t. i, xi=v∃ eigyE

A

Page 27: Provable Security3

27

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

eが nビットの場合の、乱数表を使う Deterministicな悪意のある検証者に対する一般的な Simulationが成功すると仮定すると、Pr[

(p,q,g)←PG(1n);(v,s)←KG(p,q,g); //鍵生成x1←S1(v);e1←{0,1}n; //1st

x2←S2(v,(x1,e1));e2←{0,1}n; //2ndx3←S3(v,(x1,e1),(x2,e2));e3←{0,1}n; //3rd…xi←Si(v,(x1,e1),(x2,e2),…);ei←{0,1}n; //i’th…xt←St(v,(x1,e1),(x2,e2),…);et←{0,1}n; //t’thy←E(v,(x1,e1),(x2,e2),…, (xt,et)) //yの計算:

∃i, xi=veigy //事象: Simulationが成功]>1-1/2n //確率:限りなく 1に近い

どの iで Simulationが成功するか?

Page 28: Provable Security3

28

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

eが nビットの場合の、乱数表を使う Deterministicな悪意のある検証者に対する一般的な Simulationが成功すると仮定すると、

∃i, Pr[(p,q,g)←PG(1n);(v,s)←KG(p,q,g); //鍵生成x1←S1(v);e1←{0,1}n; //1st

x2←S2(v,(x1,e1));e2←{0,1}n; //2ndx3←S3(v,(x1,e1),(x2,e2));e3←{0,1}n; //3rd…xi←Si(v,(x1,e1),(x2,e2),…);ei←{0,1}n; //i’th…xt←St(v,(x1,e1),(x2,e2),…);et←{0,1}n; //t’thy←E(v,(x1,e1),(x2,e2),…, (xt,et)) //yの計算:xi=veigy //事象: Simulationが成功

]>(1-1/2n)/t(n)

この処理を悪意のある証明者の観点で見直すことができる

Page 29: Provable Security3

29

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

eが nビットの場合の、乱数表を使う Deterministicな悪意のある検証者に対する一般的な Simulationが成功すると仮定すると、∃i, Pr[

(p,q,g)←PG(1n);(v,s)←KG(p,q,g); //鍵生成((x1,e1),(x2,e2),..,xi)←P’(v); //S1,S2,…,Siを使用して計算ei←{0,1}n; //検証者からのチャレンジy←P’(v, (x1,e1),(x2,e2),..,(xi,ei)) //Si+1, …, St, Eを使用して計算:

xi=veigy //事象:なりすまし成功]>(1-1/2n)/t(n)

どの iでなりすましが成功するか?

xi

ei

y

悪意のある証明者P’

Page 30: Provable Security3

30

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

eが nビットの場合の、乱数表を使う Deterministicな悪意のある検証者に対する一般的な Simulationが成功すると仮定すると、Pr[

(p,q,g)←PG(1n);(v,s)←KG(p,q,g); //鍵生成i←{1,2,…t(n)}; //ランダムに iを選ぶ((x1,e1),(x2,e2),..,xi)←P’(v); //S1,S2,…,Siを使用して計算ei←{0,1}n; //検証者からのチャレンジy←P’’(v, (x1,e1),(x2,e2),..,(xi,ei)) //Si+1, …, St, Eを使用して計算:

xi=veigy //事象:なりすまし成功]>(1-1/2n)/(t(n))2

Schnorrのプロトコルは「知識の証明」であるので、離散対数問題を解けることを意味する。

xi

ei

y

Page 31: Provable Security3

31

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

以上の議論のまとめ:「離散対数問題の困難性の仮定の下で、 Schnorrのプロトコルは ZK性を満たさない」ことを証明しています。

仮定: Schnorrのプロトコルが、 Blackbox ZK性を満たすと仮定する。つまり、単一の Blackbox Simulator Sが存在し、乱数表 fを使う Deterministicな検証者 Aの Simulationが可能。

結論: Sを使って、離散対数問題を解くことができます。ただし、乱数表のサイズは、指数関数的に大きいので、このような検証者に対して、 Simulationできることを ZK性の定義は要求しません。この問題を別途解決する必要があります。

Page 32: Provable Security3

32

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

Simulatorが Aに問い合わせる回数は、せいぜい多項式回 t(n)なので、 fのサイズを小さくできるかもしれない。

e (nビット)

悪意のある検証者は、 eを xにDeterministic に依存して、生成できる。 e=f(x)

E0x=g0

Eqx=gq-1

E2x=g2

E1x=g1

(ランダム な) eの値

Xの値

乱数表

Simulator

x

fが満たすべき性質( fは F(1n)により生成される)• uniformity

x, f(x) is uniformly distributed over {0,1}∀ n

x,∀ e {0,1}∀ ∈ n, Prob[f←F(1n) : f(x)=e]=1/2n

• t-wise independence(x1,x2,..,xt)∀ (全て異なる) ,(e1,e2,..,et) {0,1}∀ ∈ nt,

Prob[f←F(1n) : f(x1)=e1 and f(x2)=e2 and …. f(xt)=et] = 1/2nt

fは乱数表でなくても、いわゆる t-wise independent functionであればよい

Page 33: Provable Security3

33

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

t-wise Independent Functionの具体例 Pair-wise independent function

t=2の場合 F(1n):

Zp→Zp (p は nビットの素数 )

{ f(x)=ax+b | a Z∈ p , b Z∈ p}  1次方程式の集合 各関数は、 2nビットで表現できる (aと bの情報 )

Uniformity

∀x Z∈ p, e Z∀ ∈ p, Prob[f←F(1n) : f(x)=e]=1/p

Pair-wise independence

∀x Z∈ p, y Z∀ ∈ p (x neq y), e1 Z∀ ∈ p, e2 Z∀ ∈ p ,Prob[f←F(1n) : f(x)=e1 and f(y)=e2]=1/p2

((x,y),(e1,e2))が与えられたとき、 f(x)=e1 and f(y)=e2を満たす( a,b)は一意にきまる(方程式をとける)

Three-wise independence?

No ((x,y),(e1,e2))が与えられたとき、( a,b)は一意に決まるので、 f(z)の値も一意に決まってしまう。

t(n)-wise independent function 同様に (t(n)-1)次方程式を考えればよい。 各関数は、 t(n)*nビットで表現できる。

Page 34: Provable Security3

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

Black-box ZKと Non-black-box ZK

Page 35: Provable Security3

35

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

Black-box ZKと Non-black-box ZK Black-box simulationゼロ知識性の定義

∃simulator S s.t. ∀ 攻撃者(悪意のある検証者) A, 以下の 2つの確率分布 が識別不可能

{(pk,sk) ← KG(1n) ; history ← < P(pk,sk), A(pk) > : history } と {(pk,sk) ← KG(1n) ; history ← SA(pk) : history }

Black-box simulationゼロ知識性の定義 Non-black-box simulationゼロ知識性の定義

∃simulator S s.t. ∀ 攻撃者(悪意のある検証者) A, 以下の 2つの確率分布 が識別不可能

{(pk,sk) ← KG(1n) ; history ← < P(pk,sk), A(pk) > : history } と {(pk,sk) ← KG(1n) ; history ← S(pk, Code(A)) : history }

•Simulatorに与えられる情報の違いに注意•Non-black-box simulationゼロ知識性では、 Aのプログラムコードが与えられる

•Black-box simulation ZK性の方が強い Requirement•Black-box simulation ZK性は Non-black-box simulation ZK性を満たす•その逆が成り立つか?は

B. Barak, "How to go beyond the black-box simulation barrier," FOCS 2001•Schnorr のプロトコルが、 Non-black-box simulation ZK性を満たすかは未解決問題

Simulatorに悪意のある検証者のプログラムが与えられると、先ほどの( ZK性を満たせないという)議論は成り立たない。

Page 36: Provable Security3

36

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

この研究課題は、プログラムの難読化( Obfuscation)と関係します。

The winning entry for the 1998 International Obfuscated C Code Contest

Page 37: Provable Security3

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

まとめ

Page 38: Provable Security3

38

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

まとめ

安全性の定義

実現可能

実現不可能

安全性の証明が既知(証明が可能)

安全性の証明が不可能あるいは未解決

•ZKプロトコル

•Schnorrのプロトコル (eが 1ビット )の ZK性

•Schnorrのプロトコル (eが 1ビット場合 )の ZK性

•Schnorrのプロトコルの Non-Black-Boxの ZK性

•Schnorrのプロトコルの ZK性( Black-Box)