provable security1

44
http://w3.ibm.com/ibm/presentations Tokyo Research Laboratory 講講講講 © 2008 IBM Corporation 講講講講講講講講講講講講講講 講講講講講講講講講講講講講講講講講講講講講講講講 羽羽 羽羽IBM 羽羽羽羽羽羽羽Satoshi Hada (IBM Research - Tokyo) mailto: satoshih at jp ibm com

Upload: satoshi-hada

Post on 14-Jun-2015

343 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Provable Security1

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

暗号理論における安全性の証明離散対数問題に基づく暗号プリミティブの安全性議論

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

mailto: satoshih at jp ibm com

Page 2: Provable Security1

2

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

暗号理論の位置づけと役割

暗号理論の主要テーマ 安全性の定義

安全な暗号化とは?安全な電子署名とは? 安全性の証明

例:素因数分解問題が困難ならば、RSA暗号は安全である、ことを証明したい(未解決問題)。 不可能性の証明

例:プログラムの難読化は不可能 暗号 Primitive 間の関係

例:一方向性関数が存在すれば、安全な電子署名が構築できる(証明されている)。

基本的な暗号技術(暗号化、電子署名)基本的な暗号技術(暗号化、電子署名)

アクセス制御アクセス制御(ファイアウォール)(ファイアウォール)

電子選挙、オンライントレード、オークション電子選挙、オンライントレード、オークション

プロトコルプロトコル(SSL, IPSec)(SSL, IPSec)

ハードウェアハードウェア(TCG, IC(TCG, IC カードカード ))

プリミティブ(一方向性関数、擬似乱数、ゼロ知識)プリミティブ(一方向性関数、擬似乱数、ゼロ知識)

暗号

理論

ツール

アプリケーショ

暗号を使って何ができて何ができない

か?を理論的に議論する

Page 3: Provable Security1

3

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

暗号理論の位置づけと役割

ビジネス要求(インターネット上に流れる顧客データを保護したい)

SSL/TLS(クライアント / サーバ認証、データの暗号化 & 改ざん防止)

計算量的困難性の仮定(離散対数問題の困難性)

ビジネス

IT満たされている?

満たされている?

Page 4: Provable Security1

4

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

暗号理論の位置づけと役割

ビジネス要求(ネットワーク上に流れる顧客データを保護したい)

SSL/TLS(クライアント / サーバ認証、データの暗号化 & 改ざん防止)

計算量的困難性の仮定(離散対数問題の困難性)

ビジネス

IT

安全性の定義:どういう安全性が提

供されるか?

安全性の証明:どういう仮定の下で安全性が保障される

か?

Page 5: Provable Security1

5

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

暗号理論の位置づけと役割

安全性の定義

実現可能

実現不可能

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

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

未解決

Page 6: Provable Security1

6

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

スケジュール

1.離散対数問題に基づく安全性議論

2. Identification Protocol (ユーザ認証プロトコル)のWitness-Hiding 性

3. Identification Protocol (ユーザ認証プロトコル)のZero-Knowledge 性

4. Program Obfuscation ( プログラムの難読化 )

Page 7: Provable Security1

7

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

第 1 回:離散対数問題に基づく安全性議論

離散対数問題: y=gx mod p

安全性の議論 一方向性関数 Collision Resistant ハッシュ関数 Diffie-Hellman 鍵共有 エルガマル暗号

Page 8: Provable Security1

8

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

第 2 回と第 3 回:ユーザ認証プロトコルの安全性の議論ユーザ認証( Identification )プロトコルとはネットワーク上にて通信相手の身元を証明、検証するためのプロトコルです。

証明者( P さん)

検証者

Interaction

本当にP さん ?

Page 9: Provable Security1

9

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

パスワード認証

悪意のある検証者は、パスワードを盗み、後に、 P さんになりすましが可能

証明者( P さん)

検証者

ID=P, PW

Page 10: Provable Security1

10

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

ディジタル署名ベースのユーザ認証プロトコル( SSL のサーバ認証など)

明らかに(署名の)情報がもれている その情報を使って、悪意のある検証者はなりすましできるかもしれない

乱数 R

PK, Sign(P’s SK, R)

証明者( P さん)

検証者

鍵ペア (PK,SK) 署名が正しいかを検証

Page 11: Provable Security1

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

x=gr (mod p)

y=r+es (mod q)

乱数:r Z∈ q

乱数:e ( n bits )

安全なユーザ認証プロトコルの例: Schnorr のプロトコル

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

秘密鍵の情報が漏れないでいて欲しい

Page 12: Provable Security1

12

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

第 4 回:プログラムの難読化( Obfuscation )の安全性の議論

The winning entry for the 1998 International Obfuscated C Code Contest

Page 13: Provable Security1

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

離散対数問題に基づく安全性議論

Page 14: Provable Security1

14

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

準備(1)

セキュリティパラメーター 例:鍵の長さ

計算のモデル 「暗号アルゴリズムやプロトコルが効率的に実装可能」を表現する計算モデル

確率的多項式時間チューリングマシン

「攻撃者が効率的に実装可能」を表現する計算モデル 非一様な( Non-uniform)確率的多項式時間チューリングマシン

強い計算モデル:セキュリティパラメータ毎に異なるAdvice を使用できるa1, a2, …, an,…

Advice をどのように計算するかに制限はない

Page 15: Provable Security1

15

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

準備( 2 )

Pr[x1 ←   X1; x2 ←   X2 ; …. : E(x1,x2,…)] は、 x1 が確率分布 X1 から生成され、 x2 が確率分布 X2 から生成され、…た結果、事象 E(x1,x2,…) が発生する確率

X1,X2,… が集合の場合は、一様な確率分布を意味する 例:

サイコロの目をあらわす確率分布 X

Pr[x ←   X : x=1] = 1/6 Pr[x ←   X : x is even] = ½

独立な2つのサイコロの目をあらわす確率分布 X, Y

Pr[x ←   X ; y ←   Y : x=1 and y=1] = 1/36 Pr[x ←   X ; y ←   Y : x and y is even] = ¼ Pr[x ←   X ; y ←   Y : x = y] = 1/6

Page 16: Provable Security1

16

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

準備( 3 )

無視できるほど小さい(確率) f(n) is negligible

if polynomial p(n), sufficiently large n, f(n) < 1/p(n)∀ ∀ if polynomial p(n), constant N s.t. n>N, f(n)<1/p(n)∀ ∃ ∀

例:  f(n) = 1/2n

確率的多項式時間チューリングマシンの能力では、 negligible な確率で起こる事象を捉えることはできない。

例: f(n)=1/2n の確率で成功する攻撃を多項式時間 n5 回繰り返しても、成功する確率はせいぜい n5/2n であり、なお negligible である

否定すると(背理法などで) f(n) is NOT negligible

if polynomial p(n), infinitely many n’s, f(n) > 1/p(n)∃ ∀ if polynomial p(n), s.t. constant N, n>N, f(n)>1/p(n)∃ ∀ ∃

Page 17: Provable Security1

17

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

準備(4)

離散対数問題 y=f(p,q,g)(x)=gx mod p

x から y は多項式時間で計算できる y から x を求める問題:効率的には解けないと仮定される

Parameter generator PG

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

p: a prime of length nq: another prime s.t. q|p-1

例えば、 p=2q+1g: 位数が q の数

G(p,q,g) ={g0=1,g,g2,g3,g4,…,gq-1} は g によって生成される巡回群gq=g0=1, gq+1=g, gq+2=g2,… 1以外の要素が、位数が q の数 

G(p,q,g) から一つをgとしてランダムに選ぶ掛け算(割り算)で閉じている

ga*gb =ga+b(mod q) ∈ G(p,q,g)

ga/gb =ga-b(mod q) ∈ G(p,q,g)

Page 18: Provable Security1

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

一方向性関数と Collision Resistant ハッシュ関数

Page 19: Provable Security1

19

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

一方向性関数の概念

関数FX Y

簡単に計算できる

計算が困難

Page 20: Provable Security1

20

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

安全性の定義:

1.「攻撃が成功する」を定義する。2.「任意の攻撃者にとって、 攻撃が成功する

確率が、無視できるほど小さい」、を定義する。

Page 21: Provable Security1

21

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

抽象的:一方向性関数の定義

y=f(x) の一方向性 x から y の計算は簡単 y から x を計算するのが困難

安全性(一方向性)の定義 攻撃が成功するとは?

y が与えられたとき、 x s.t. y=f (x) を出力する

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

Pr[x ← {0,1} n; x’ ← A(f (x)) : x=x’] < δ(n)

Page 22: Provable Security1

22

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

具体的:離散対数問題に基づく一方向性関数

y=f(p,q,g)(x)=gx mod p の一方向性

安全性(一方向性)の定義 攻撃が成功するとは?

(p,q,g) & y が与えられたとき、 x s.t. y= gx mod p を出力する 任意の攻撃者にとって、攻撃が成功する確率が無視できるほど小さいとは?

∀ 攻撃者 A, negligible function δ(n) s.t.∃

Pr[ (p,q,g) ← PG(1n) ; x ← Zq; x’ ← A(p,q,g,gx) : x=x’] <

δ(n)

Zq={0,1,2, …,q-1}

Page 23: Provable Security1

23

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

ハッシュ関数の概念

ハッシュ関

Collision

Page 24: Provable Security1

24

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

Collision Resistant ハッシュ関数の概念

メッセージ M に対する署名の生成 S=Sig(sk, Hash(M))

Hash() : {0,1}* →{0,1} n

任意の長さのメッセージを n ビットにハッシュ(圧縮) 問題

もし、 Hash(M)=Hash(M’) となる M’ が見つけられると、 S は M’ の Valid な署名となる。 M に署名したつもりが、 M’ にも同時に署名したことになる。

署名アルゴリズム( 署名鍵 sk)

検証アルゴリズム(検証鍵 pk )

署名対象

M署名

SValid or invalid

Hash

署名対象

Hash(M)

長い 短い

Page 25: Provable Security1

25

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

抽象的: Collision Resistant ハッシュ関数の定義

y=Hash(x) の Collision Resistance x から y の計算は簡単 Hash(x)=Hash(x’) となるペア (x,x’) を計算するのが困難

安全性( Collision Resistance )の定義 攻撃が成功するとは?

Hash が与えられたとき、 Hash(x)=Hash(x’) となるペア (x,x’)を出力する。

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

Pr[ (x,x’) ← A(1n) : |x|=|x’|=n and Hash(x)=Hash(x’)] < δ(n)

Page 26: Provable Security1

26

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

具体的:離散対数問題に基づく Collision Resistant ハッシュ関数

y=f(p,q,g1,g2)(x1,x2)= g1x1 g2x2 mod p

2|q| ビットを |p| ビットに圧縮 Parameter generator PG

入力: 1n (セキュリティパラメータ) 出力:( p,q,g1,g2 )

p: a prime of length nq: another prime s.t. q|p-1g1,g2: 位数が q の数

攻撃が成功するとは? (p,q,g1,g2) が与えられたとき、

(x1,x2) & (x1’,x2’) s.t. g1x1 g2x2 =g1x1’ g2x2’ mod p を出力する 任意の攻撃者にとって、攻撃が成功する確率が無視できるほど小さいとは?

∀ 攻撃者 A, negligible function δ(n) s.t. Pr[ (p,q,g1,g2) ← PG(1∃ n) ; ((x1,x2),(x1’,x2’)) ← A(p,q,g1,g2) : g1x1 g2x2 = g1x1’ g2x2’ ] < δ(n)

Page 27: Provable Security1

27

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

安全性の証明をどうやってやるのか? 証明したいこと:

離散対数問題が困難なら、離散対数問題に基づく Collision Resistant ハッシュ関数は安全である。

∀ 攻撃者 A, negligible function δ(n) s.t., ∃Pr[(pk,sk) ← KG(1n) ;….: …] < δ(n)

すべての攻撃者に対して、確率が無視できることを証明する必要がある 問題:攻撃者は無限に 存在する

A1,A2,A3,…….. Naïve な方法

すべての攻撃者に対して、確率が無視できることを証明する。 実際に使用される方法

帰着( Reduction )背理法:ある攻撃者が離散対数問題に基づく Collision Resistant ハッシュ関

数を破るなら、離散対数問題を解けることを証明 その攻撃者を(ブラックボックスとして)使って、離散対数問題を解くア

ルゴリズムを設計

Page 28: Provable Security1

28

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

安全性( Collision Resistance )の証明:離散対数問題が困難なら、離散対数問題に基づく Collision Resistantハッシュ関数は安全である ∃攻撃者 A s.t. Pr[ (p,q,g1,g2) ← PG(1n) ; ((x1,x2),(x1’,x2’)) ← A(p,q,g1,g2) :

g1x1 g2x2 = g1x1’ g2x2’ ] が無視できない確率と仮定します

以下のように、攻撃者 A をブラックボックスとして使用し、離散対数問題を解けます。

入力: y=gx mod p ((p,q,g) ← PG(1n) かつ  x ← Zq)

出力 : x s.t. y=gx mod p

g1=g, g2=y とする

A(p,q,g1,g2) を実行し、 ((x1,x2),(x1’,x2’)) を計算する。 無視できない確率で g1x1 g2x2 =g1x1’ g2x2’ mod p を満たす。

g1x1 g2x2 =g1x1’ g2x2’

g2=g1(x1’-x1)/(x2-x2’) mod p y=g(x1’-x1)/(x2-x2’) mod p

x=(x1’-x1)/(x2-x2’) mod q を出力

Page 29: Provable Security1

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

Diffie-Hellman 鍵共有とエルガマル暗号

Page 30: Provable Security1

30

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

鍵共有の概念

鍵ペア (PKa, SKa) 鍵ペア (PKb, SKb)

Alice Bob

PKb

PKa

Ka=KE(PKb, SKa)を計算

Kb=KE(PKa, SKb)を計算

•Kab=Ka=Kb として鍵を共有できる•PKa と PKb から Kab を計算できない

Page 31: Provable Security1

31

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

抽象的:鍵共有の安全性の定義

表記 Key generator KG

入力: 1n (セキュリティパラメータ) 出力: (PK,SK) ← KG(1n)

PK: a public key of length n

SK: a corresponding secret key Key Exchange Functions

(PKa,SKa) ← KG(1n) , (PKb,SKb) ← KG(1n) Kab=KE(PKb, SKa)=KE(PKa, SKb)

安全性の定義 攻撃が成功するとは?

(PKa, PKb) が与えられたとき、 Kab を出力する 任意の攻撃者にとって、攻撃が成功する確率が無視できるほど小さいとは?

∀ 攻撃者 A, negligible function δ(n) s.t.∃

Pr[(PKa,SKa) ← KG(1n) ; (PKb,SKb) ← KG(1n) ; Kab’ ← A(PKa,PKb) : Kab=Kab’] < δ(n)

Page 32: Provable Security1

32

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

具体的: Diffie-Hellman 鍵共有

(PKa, SKa)s.t. PKa=gSKa mod p

(PKb, SKb)s.t. PKb=gSKb mod p

Alice Bob

PKb

PKa

Ka=KE(PKb, SKa)=(PKb) SKa mod p =g SKa*SKb mod p

Ka=Kb として鍵を共有できる

Kb=KE(PKa, SKb)=(PKa) SKb mod p =g SKa*SKb mod p

Page 33: Provable Security1

33

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

具体的: Diffie-Hellman 鍵共有の安全性の定義

離散対数問題の Parameter generator PG 入力: 1n (セキュリティパラメータ) 出力:( p,q,g )

p: a prime of length nq: another prime s.t. q|p-1g: 位数が q の数

公開鍵、秘密鍵ペアの Key generator   KG (PKa,SKa) ← KG(p,q,g) s.t. PKa=gSKa mod p (SKa ← Zq)

(PKb,SKb) ← KG(p,q,g) s.t. PKb=gSKb mod p (SKb ← Zq)

攻撃が成功するとは? (p,q,g, PKa, PKb) が与えられたとき、 gSKa*SKb mod p を出力する

任意の攻撃者にとって、攻撃が成功する確率が無視できるほど小さいとは?

∀ 攻撃者 A, negligible function δ(n) s.t. Pr[ (p,q,g) ← PG(1∃ n) ; (PKa,SKa) ← KG(p,q,g) ; (PKb,SKb) ← KG(p,q,g) ; Kab’← A(p,q,g, PKa,PKb) : Kab’= gSKa*SKb mod p] < δ(n)

Page 34: Provable Security1

34

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

Diffie-Hellman 鍵共有の安全性の証明

「離散対数問題が困難と仮定すると、 Diffie-Hellman鍵共有は安全です」を証明できるかどうか?未解決問題です。

(p,q,g, PKa, PKb) が与えられたとき、 gSKa*SKb mod p を計算できたとしても、 SKa, SKb を計算できるかは非自明

Page 35: Provable Security1

35

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

共通鍵暗号と公開鍵暗号の概念

共通鍵暗号暗号化と復号に同じ鍵を使用鍵の配送が課題

公開鍵暗号暗号化と復号に異なる鍵を使用さらに、暗号化に使用する鍵は公開できる

Page 36: Provable Security1

36

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

抽象的:公開鍵暗号の安全性の定義

表記 Key generator KG

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

pk: a public key of length n

sk: a corresponding secret key Encryption/decryption algorithms

C ← E(pk, M): {0,1}n×{0,1} n →{0,1} n

M=D(sk, C)

∀ n, M {0,1} ∀ ∈ n, Pr[(pk,sk) ←KG(1n) ; C ← E(pk, M) : D(sk, C)=M]=1 安全性の定義

攻撃が成功するとは? (pk, C) が与えられたとき、 M s.t. D(sk, C)=M を出力する

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

Pr[ M ← {0,1} n ; (pk,sk) ← KG(1n) ; C ← E(pk,M); M’ ← A(pk,C) : M=M’] < δ(n)

Page 37: Provable Security1

37

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

具体的:エルガマル暗号 離散対数問題の Parameter generator PG

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

p: a prime of length nq: another prime s.t. q|p-1g: 位数が q の数

公開鍵、秘密鍵ペアの Key generator KG (PK,SK) ← KG(p,q,g) (SK ← Zq)

s.t. PK=gSK mod p

暗号化 メッセージ: M

乱数 : R ← Zq

暗号文: C=(C1, C2)=(gR, M*PKR) mod p 復号

暗号文 : (C1,C2)

C2/C1SK= M*PKR/(gR)SK = M mod p

•PK をアリスの公開鍵•C1=gR をボブの公開鍵と見ると、PKR は Diffie-Hellman 共有鍵と見ることができる

なので、この安全性は、 Diffie-Hellman 鍵共有の安全性に依存

Page 38: Provable Security1

38

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

具体的:エルガマル暗号の安全性の定義

鍵生成: (PK,SK) ← KG(p,q,g) s.t. PK=gSK mod p 暗号化: C=(C1, C2)=(gR, M*PKaR) mod p 復号: C2/C1SK= M*PKaR/(gR)SK = M mod p

攻撃が成功するとは? (p,q,g, PK, (C1,C2)) が与えられたとき、 M を出力する

任意の攻撃者にとって、攻撃が成功する確率が無視できるほど小さいとは?

∀ 攻撃者 A, negligible function δ(n) s.t. Pr[ (p,q,g) ← PG(1∃ n) ; (PK,SK) ← KG(p,q,g) ; M ← Zp ; R ← Zq ; (C1,C2 )=(gR, M*PKaR) ; M’← A(p,q,g, PK, (C1,C2)) : M’= M] < δ(n)

Page 39: Provable Security1

39

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

エルガマル暗号の安全性の証明: Diffie-Hellman 鍵共有が安全なら、エルガマル暗号は安全である ∃攻撃者 A s.t. Pr[ (p,q,g) ← PG(1n) ; (PK,SK) ← KG(p,q,g) ; M ← Zp ;

R ← q ; (C1,C2 )=(gR, M*PKaR) ; M’← A(p,q,g, PK, (C1,C2)) : M’= M]が無視できない確率と仮定します

以下のように、攻撃者 A をブラックボックスとして使用し、 Diffie-Hellman 鍵共有の安全性を Break できます。

入力:  (PKa, PKb)

出力:  gSKa*SKb

PK=PKa, C1=PKb とする

ダミーの暗号文を生成: C2 ← Zp

A(p,q,g, PK, (C1, C2)) を実行し、 M’ を計算する。 無視できない確率で M’=C2/C1SK mod p を満たす。

C2/M’=C1SK=PKbSKa mod p を出力 エルガマル暗号暗号化: C=(C1, C2)=(gR, M*PKaR) mod p復号: C2/C1SK= M*PKaR/(gR)SK = M mod p

Page 40: Provable Security1

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

まとめ

Page 41: Provable Security1

41

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

まとめ

安全性の定義

実現可能

実現不可能

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

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

未解決

•一方向性関数•Collision Resistantハッシュ関数•鍵共有•公開鍵暗号

•離散対数に基づく•一方向性関数•Collision Resistant ハッシュ関数

•Diffie-Hellman 鍵共有•エルガマル公開鍵暗号

•離散対数に基づく Collision Resistantハッシュ関数の安全性•エルガマル公開鍵暗号の安全性

•Diffie-Hellman 鍵共有の安全性

•NA

Page 42: Provable Security1

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

Backup

Page 43: Provable Security1

43

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

暗号理論の位置づけと役割

ビジネス要求(社内の人間による顧客情報の漏えい防止)

SSL/TLS(クライアント / サーバ認証、データの暗号化 & 改ざん防止)

計算量的困難性の仮定(離散対数問題の困難性)

ビジネス

IT満たされていそうにない

満たされている?

Page 44: Provable Security1

44

Tokyo Research Laboratory

講義資料 © 2008 IBM Corporation

暗号理論の位置づけと役割

ビジネス要求(社内の人間による情報漏えい防止)

特殊な暗号プロトコルを設計してみました

計算量的困難性の仮定(離散対数問題の困難性)

ビジネス

IT

本当に満たされている?