情報セキュリティ特論( 6 )

86
22/07/04 confidential 1 情情情情情情情情情情6 情情 情情情情情 () [email protected]

description

情報セキュリティ特論( 6 ). 黒澤 馨 (茨城大学) [email protected]. RSA 暗号    素因数分解の困難さ ElGamal 暗号    離散対数問題の困難さ. RSA 暗号    素因数分解の困難さ ElGamal 暗号    離散対数問題の困難さ   答えは、 x=3. 離散対数問題. y=a x mod p (= 素数)  となる x を求めよ、という問題。 p=1024 ビットのとき、 10 億年. mod 5 において. フェルマーの定理. 2 の位数は 4. mod 5 において. - PowerPoint PPT Presentation

Transcript of 情報セキュリティ特論( 6 )

Page 1: 情報セキュリティ特論( 6 )

23/04/24 confidential 1

情報セキュリティ特論( 6 )

黒澤 馨 (茨城大学)[email protected]

Page 2: 情報セキュリティ特論( 6 )

23/04/24 confidential 2

• RSA 暗号   素因数分解の困難さ• ElGamal 暗号   離散対数問題の困難さ

   5mod23 x

Page 3: 情報セキュリティ特論( 6 )

23/04/24 confidential 3

• RSA 暗号   素因数分解の困難さ• ElGamal 暗号   離散対数問題の困難さ

  答えは、 x=3

   5mod23 x

Page 4: 情報セキュリティ特論( 6 )

23/04/24 confidential 4

離散対数問題

• y=ax mod p (= 素数) となる x を求めよ、という問題。• p=1024 ビットのとき、 10 億年

Page 5: 情報セキュリティ特論( 6 )

23/04/24 confidential 5

• mod 5 において

                              

14,44,14,44

13,23,43,33

12,32,42,22

4321

4321

4321

フェルマーの定理

Page 6: 情報セキュリティ特論( 6 )

23/04/24 confidential 6

• mod 5 において

                              

14,44,14,44

13,23,43,33

12,32,42,22

4321

4321

4321

フェルマーの定理

3 の位数は4

4 の位数は2

2 の位数は4

Page 7: 情報セキュリティ特論( 6 )

23/04/24 confidential 7

• mod 5 において

                              

14,44,14,44

13,23,43,33

12,32,42,22

4321

4321

4321

3 の位数は 4:

p-1(=4) を割り切る

4 の位数は 2:

p-1(=4) を割り切る

2 の位数は 4:

p-1(=4) を割り切る

Page 8: 情報セキュリティ特論( 6 )

23/04/24 confidential 8

• a の位数   となる最小の n

• 定理   任意の元 a の位数は、 p-1 を割り切る。

pan mod1

Page 9: 情報セキュリティ特論( 6 )

23/04/24 confidential 9

Diffie-Hellman の鍵共有法

• p = 大きな素数 ,   q = p-1 を割り切る大きな素数 g = 位数が大きな素数 q の元     gq=1 mod p    

Page 10: 情報セキュリティ特論( 6 )

23/04/24 confidential 10

Diffie-Hellman の鍵共有法

pgx

aa mod

ランダムA B

pgy

bb mod

ランダム

x y

Page 11: 情報セキュリティ特論( 6 )

23/04/24 confidential 11

Diffie-Hellman の鍵共有法

pgx

aa mod

ランダムA B

pgy

bb mod

ランダム

    〃

  〃ab

ab

a

g

g

pyK

)(

mod)(

    〃

  〃ab

ba

b

g

g

pxK

)(

mod)(

x y

Page 12: 情報セキュリティ特論( 6 )

23/04/24 confidential 12

Diffie-Hellman の鍵共有法

pgx

aa mod

ランダムA B

pgy

bb mod

ランダム

    〃

  〃ab

ab

a

g

g

pyK

)(

mod)(

    〃

  〃ab

ba

b

g

g

pxK

)(

mod)(

盗聴

x y

Page 13: 情報セキュリティ特論( 6 )

23/04/24 confidential 13

ba gygxg ,, abgDH 問題

1 億年 (DH 仮定 )

敵のゴール

p, q,

Page 14: 情報セキュリティ特論( 6 )

23/04/24 confidential 14

agxg , a離散対数問題DLOG 10 億年 ( 離散対数仮

定 )

ba gygxg ,, abgDH 問題

1 億年 (DH 仮定 )

離散対数問題との関係

?

Page 15: 情報セキュリティ特論( 6 )

23/04/24 confidential 15

(定理) DLOG を解くアルゴリズム A が存在す

るなら DH を解くアルゴリズム B が存在する

(証明)ba gg ,

ag A aabg

B

Page 16: 情報セキュリティ特論( 6 )

23/04/24 confidential 16

(定理) DLOG を解くアルゴリズム A が存在す

るなら DH を解くアルゴリズム B が存在する

(証明)ba gg ,

ag A aabg )( abg

B

Page 17: 情報セキュリティ特論( 6 )

23/04/24 confidential 17

PPT : Probabilistic Polynomial Time 確率的     多項式    時間

agxg , PPT アルゴリズム A a

乱数テープ R

Page 18: 情報セキュリティ特論( 6 )

23/04/24 confidential 18

R

a

A が aを出力

この面積全面積

Pr(A が解く ) =

agxg , PPT アルゴリズム A a

乱数テープ R

Page 19: 情報セキュリティ特論( 6 )

23/04/24 confidential 19

• 離散対数仮定   確率 ε 以上で DLOG を解くような    PPT アルゴリズムは存在しない

• DH 仮定   確率 ε 以上で DH 問題を解くような   PPT アルゴリズムは存在しない

Page 20: 情報セキュリティ特論( 6 )

23/04/24 confidential 20

定理

• 離散対数仮定が成り立てば、 DH 仮定が成り立つ。

Page 21: 情報セキュリティ特論( 6 )

23/04/24 confidential 21

ElGamal 暗号

• 公開鍵: p= 大きな素数 q= p-1 を割り切る大きな素数    g= 位数が q となる元 y (=gx mod p)• 秘密鍵 : x

Page 22: 情報セキュリティ特論( 6 )

23/04/24 confidential 22

ElGamal 暗号

• 公開鍵: p, q, g, y(=gx mod p)• 秘密鍵 : x• 平文: m• 暗号化: r ← zp-1

E(m)=(gr, myr)

Page 23: 情報セキュリティ特論( 6 )

23/04/24 confidential 23

ElGamal 暗号

• 公開鍵: p, q, g, y(=gx mod p)• 秘密鍵 : x• 平文: m• 暗号化: E(m)=(gr, myr) • 復号: myr / (gr)x=m(gx)r/grx=m mod p

Page 24: 情報セキュリティ特論( 6 )

23/04/24 confidential 24

敵への入力

• 公開鍵: p,q,g,y• 暗号文 : (gr, m ・ yr) mod p

Page 25: 情報セキュリティ特論( 6 )

23/04/24 confidential 25

巡回群

• <g>={1, g, g2, …, gq-1} は、   (生成元) g で生成される巡回群

Page 26: 情報セキュリティ特論( 6 )

23/04/24 confidential 26

DDH 仮定

• (g, gr, y, yr) と (g, gr, y, z) は 多項式時間で区別できない。• ただし、 z は <g> からランダムに選ばれた要素

Page 27: 情報セキュリティ特論( 6 )

23/04/24 confidential 27

DDH 仮定より

• 平文: m {1, g, g∈ 2, …, gq-1} とする。• 暗号文: E(m) = (gr, myr) ~ (gr, m z ) ただし、   z は <g> からランダムに選ばれた要素。

 

Page 28: 情報セキュリティ特論( 6 )

23/04/24 confidential 28

DDH 仮定より

• 平文: m {1, g, g∈ 2, …, gq-1} とする。• 暗号文: E(m) = (gr, myr) ~ (gr, m z ) ただし、   z は <g> からランダムに選ばれた要素。   mz=m× 乱数 → one-time pad   

Page 29: 情報セキュリティ特論( 6 )

23/04/24 confidential 29

DDH 仮定より

• 平文: m {1, g, g∈ 2, …, gq-1} とする。• 暗号文: E(m) = (gr, myr) ~ (gr, m z ) ただし、   z は <g> からランダムに選ばれた要素。   mz=m× 乱数 → one-time pad m に関する情報は、もれていな

Page 30: 情報セキュリティ特論( 6 )

23/04/24 confidential 30

ElGamal 暗号の安全性

• DDH 仮定の下、• 平文 m に関する情報は、何ももれていな

い。

Page 31: 情報セキュリティ特論( 6 )

23/04/24 confidential 31

なりすまし攻撃

A B

オレオレ

Page 32: 情報セキュリティ特論( 6 )

23/04/24 confidential 32

A の公開鍵 v (=g-s mod p)

A B

s

v =g-s mod pをチェック

s

Page 33: 情報セキュリティ特論( 6 )

23/04/24 confidential 33

B が、なりすませてしまう

A B

s

s C

s

オレは A だ

Page 34: 情報セキュリティ特論( 6 )

23/04/24 confidential 34

Schnorr の認証法

A B

x =gyvc mod p

s

r← ランダムx=gr mod p

c← ランダム

y=r+sc mod q

x

c

y

v =g-s mod p

gy=gr+sc=gr(gs)c=xv-c

Page 35: 情報セキュリティ特論( 6 )

23/04/24 confidential 35

Schnorr の認証法

A B

x =gyvc mod pをチェック

s

r← ランダムx=gr mod p

c← ランダム

y=r+sc mod q

x

c

y

v =g-s mod p

Page 36: 情報セキュリティ特論( 6 )

23/04/24 confidential 36

零知識性

• B には、 s に関する情報が一切漏れていない。

Page 37: 情報セキュリティ特論( 6 )

23/04/24 confidential 37

零知識性

• B には、 s に関する情報が一切漏れていない

if B は、自分自身で通信系列 (x,c,y) を 生成できる。

Page 38: 情報セキュリティ特論( 6 )

23/04/24 confidential 38

定理

• B は、自分自身で通信系列 (x,c,y) を 生成できる。

Page 39: 情報セキュリティ特論( 6 )

23/04/24 confidential 39

証明

A B

x =gyvc mod pをチェック

s

r← ランダムx=gr mod p

c← ランダム

y=r+sc mod q

x

c

y

v =g-s mod p

Page 40: 情報セキュリティ特論( 6 )

23/04/24 confidential 40

証明

B B

3. x =gyvc mod p

1. c← ランダム

2. y← ランダム

x

c

y

Page 41: 情報セキュリティ特論( 6 )

23/04/24 confidential 41

証明

B B

3. x =gyvc mod p

1. c← ランダム

2. y← ランダム

4. x

c

y

Page 42: 情報セキュリティ特論( 6 )

23/04/24 confidential 42

健全性

• B を accept させられるなら、 A は s を知っている。

Page 43: 情報セキュリティ特論( 6 )

23/04/24 confidential 43

健全性

• B を accept させられるなら、 A は s を知っている。

• A をサブルーチンとして使って、 s を求めることができる

Page 44: 情報セキュリティ特論( 6 )

23/04/24 confidential 44

定理

• A が B を accept させられる

• A をサブルーチンとして使って、 s を求めることができる

Page 45: 情報セキュリティ特論( 6 )

23/04/24 confidential 45

証明

A B

x =gyvc mod p

c← ランダム

x

c

y

Page 46: 情報セキュリティ特論( 6 )

23/04/24 confidential 46

A を初期状態にリセット

A B

Page 47: 情報セキュリティ特論( 6 )

23/04/24 confidential 47

もう一度、 A を走らせる

A B

x

Page 48: 情報セキュリティ特論( 6 )

23/04/24 confidential 48

証明

A B

c’← ランダム

x

c’

Page 49: 情報セキュリティ特論( 6 )

23/04/24 confidential 49

証明

A B

x =gy’vc’ mod p

c’← ランダム

x

c’

y’

Page 50: 情報セキュリティ特論( 6 )

23/04/24 confidential 50

証明

A B

x =gy’vc’ mod p

x

c, c’

y, y’x =gyvc mod p

Page 51: 情報セキュリティ特論( 6 )

23/04/24 confidential 51

証明

A B

x =gy’vc’ mod p

x

c, c’

y, y’x =gyvc mod p

1 =gy-y’vc-c’ mod p

v –(c-c’) =gy-y’ mod p

Page 52: 情報セキュリティ特論( 6 )

23/04/24 confidential 52

証明

A B

x =gy’vc’ mod p

x

c, c’

y, y’x =gyvc mod p

1 =gy-y’vc-c’ mod p

v –(c-c’) =gy-y’ mod p

v =g-(y-y’)/(c-c’) mod p

Page 53: 情報セキュリティ特論( 6 )

23/04/24 confidential 53

証明

A B

x =gy’vc’ mod p

x

c, c’

y, y’x =gyvc mod p

1 =gy-y’vc-c’ mod p

v –(c-c’) =gy-y’ mod p

v =g-(y-y’)/(c-c’) mod p

v=g-s mod p

Page 54: 情報セキュリティ特論( 6 )

23/04/24 confidential 54

証明

A B

x =gy’vc’ mod p

x

c, c’

y, y’x =gyvc mod p

1 =gy-y’vc-c’ mod p

v –(c-c’) =gy-y’ mod p

v =g-(y-y’)/(c-c’) mod ps=(y-y’)/(c-c’)

v=g-s mod p

Page 55: 情報セキュリティ特論( 6 )

23/04/24 confidential 55

敵のモデル

• 学習段階• なりすまし段階

Page 56: 情報セキュリティ特論( 6 )

23/04/24 confidential 56

学習段階

A B

x =gyvc mod pをチェック

s

r← ランダムx=gr mod p

c← ランダム

y=r+sc mod q

x

c

y

敵:盗聴

Page 57: 情報セキュリティ特論( 6 )

23/04/24 confidential 57

なりすまし段階

敵 B

x =gyvc mod p

c← ランダム

x

c

y

Page 58: 情報セキュリティ特論( 6 )

23/04/24 confidential 58

定理

• なりすましに成功する敵が存在したと仮定すると、離散対数問題を解ける。

Page 59: 情報セキュリティ特論( 6 )

23/04/24 confidential 59

v=g-s mod p

s

学習段階

(x’’,c’’,y’’)

なりすまし段階

敵 B

x

c

y

B

Page 60: 情報セキュリティ特論( 6 )

23/04/24 confidential 60

v=g-s mod p

学習段階

(x’’,c’’,y’’)

なりすまし段階

敵 B

x

c,c’

y,y’

Page 61: 情報セキュリティ特論( 6 )

23/04/24 confidential 61

v=g-s mod p

学習段階

(x’’,c’’,y’’)

なりすまし段階

敵 B

x

c,c’

y,y’

s=(y-y’)/(c-c’)

Page 62: 情報セキュリティ特論( 6 )

23/04/24 confidential 62

Schnorr のデジタル署名

A A秘密鍵: s

r← ランダムx=gr mod p

c=H(x,m)

y=r+sc mod q

x

y

公開鍵: v =g-s mod p

平文 m

Page 63: 情報セキュリティ特論( 6 )

23/04/24 confidential 63

Schnorr のデジタル署名

A A

x =gyvc mod pを計算

秘密鍵: s

r← ランダムx=gr mod p

c=H(x,m)

y=r+sc mod q

x

y

公開鍵: v =g-s mod p

B

σ=(c,y)

署名文

平文 m

c=H(x,m)をチェック

Page 64: 情報セキュリティ特論( 6 )

23/04/24 confidential 64

選択平文攻撃署名

オラクル

敵公開鍵 (平文 * 、署名文 * )

平文 m 署名文 σ

Page 65: 情報セキュリティ特論( 6 )

23/04/24 confidential 65

ランダム・オラクル・モデルにおける選択平文攻撃

署名オラクル

H オラクル

公開鍵 (平文 * 、署名文 * )

平文 m 署名文 σ

乱数 c=H(m,x)(m, x)

Page 66: 情報セキュリティ特論( 6 )

23/04/24 confidential 66

定理• RO モデルにおいて、 Schnorr の署名に対し、確率 ε で 偽造に成功する敵 A が存在する。 ただし、 A は H オラクルに高々 h 回質問すると仮定する。

• Schnorr の認証法において、確率 ε/h で なりすましに成功する敵 B が存在する。

Page 67: 情報セキュリティ特論( 6 )

23/04/24 confidential 67

ランダム・オラクル・モデルにおける選択平文攻撃

署名オラクル

敵 A

H オラクル

公開鍵 v ( m* 、 c*, y* )

平文 mi署名文 σi

乱数 cj=H(mj,xj)(mj, xj)

Page 68: 情報セキュリティ特論( 6 )

23/04/24 confidential 68

なりすましの敵 B

署名オラクル

偽造の敵 A

H オラクル

v ( m* 、 c*, y* )

平文 mi署名文 σi

乱数 cj=H(mj,xj)(mj, xj)

公開鍵 v

なりすます

ぞ!

Page 69: 情報セキュリティ特論( 6 )

23/04/24 confidential 69

B のなりすまし戦略• 偽造の敵 A は、 H オラクルに  偽造用の (m*, x*) を k 番目に質問する。

偽造の敵 A

H オラクル

(m*,x*)

B

相手

Page 70: 情報セキュリティ特論( 6 )

23/04/24 confidential 70

B は k をランダムに推測

• B は、 x* を A に送る。

B 相手

x*

H オラクル

(m*,x*)=

Page 71: 情報セキュリティ特論( 6 )

23/04/24 confidential 71

B のなりすまし戦略

• 相手が c* を返してきた。

B 相手

x*

c*

H オラクル

(m*,x*)=

Page 72: 情報セキュリティ特論( 6 )

23/04/24 confidential 72

B のなりすまし戦略

• B は、 c*=H(m*,x*) とする。

B 相手

x*

c*

敵 A

H オラクル

(m*,x*) c*=H(m*,x*)

B の内部

Page 73: 情報セキュリティ特論( 6 )

23/04/24 confidential 73

B は、 A を最後まで走らせる

• A は、偽造 (m*,c*,y*) を出力する。

B 相手

x*

c*

敵 A

H オラクル

(m*,x*) c*=(m*,x*)

B の内部

(m*, c*, y*)

Page 74: 情報セキュリティ特論( 6 )

23/04/24 confidential 74

B は、この y* を相手に返す。• (m*,c*,y*) 及び x* は正しい偽造なので、  検査式  x*=g y* v c* mod p を満たす

B 相手

x*

c*

敵 A

H オラクル

(m*,x*) c*=H(m*,x*)

B の内部

(m*, c*, y*)

y*

Page 75: 情報セキュリティ特論( 6 )

23/04/24 confidential 75

よって、相手は accept する。• (m*,c*,y*) 及び x* は正しい偽造なので、  検査式  x*=g y* v c* mod p を満たす

B 相手

x*

c*

敵 A

H オラクル

(m*,x*) c*=H(m*,x*)

B の内部

(m*, c*, y*)

y* accept

Page 76: 情報セキュリティ特論( 6 )

23/04/24 confidential 76

これで、 B はなりすましに成功。

• (m*,c*,y*) 及び x* は正しい偽造なので、  検査式  x*=g y* v c* mod p を満たす

B 相手

x*

c*

敵 A

H オラクル

(m*,x*) c*=H(m*,x*)

B の内部

(m*, c*, y*)

y* accept

Page 77: 情報セキュリティ特論( 6 )

23/04/24 confidential 77

さて、 B は署名オラクルをどうシミュレート

署名オラクル

敵 A

H オラクル

v ( m* 、 c*, y* )

平文 mi

公開鍵 v

B

Page 78: 情報セキュリティ特論( 6 )

23/04/24 confidential 78

零知識性の証明の要領で

署名オラクル

敵 A

H オラクル

v ( m* 、 c*, y* )

平文 mi

公開鍵 v

ci, yi ← ランダムxi←gyivci

署名文  σi=(ci,yi)

Page 79: 情報セキュリティ特論( 6 )

23/04/24 confidential 79

H オラクルのシミュレート

署名オラクル

敵 A

H オラクル

v ( m* 、 c*, y* )

平文 mi

(mi, xi)

公開鍵 v

ci, yi ← ランダムxi←gyivci

σi=(ci,yi)

Page 80: 情報セキュリティ特論( 6 )

23/04/24 confidential 80

ci=H(mi,xi) とすれば、σi=(ci,yi) は検査式を満たす

署名オラクル

敵 A

H オラクル

v ( m* 、 c*, y* )

平文 mi

ci=H(mi,xi)(mi, xi)

公開鍵 v

ci, yi ← ランダムxi←gyivci

σi=(ci,yi)

Page 81: 情報セキュリティ特論( 6 )

23/04/24 confidential 81

平文 m, 署名文 σ = (c,y) の検査法

• x=gyvc mod p  とおく。• c=H(m,x) をチェック

Page 82: 情報セキュリティ特論( 6 )

23/04/24 confidential 82

B は、両オラクルを正しくシミュレート

署名オラクル

敵 A

H オラクル

v ( m* 、 c*, y* )

平文 mi

ci=H(mi,xi)(mi, xi)

公開鍵 v

ci, yi ← ランダムxi←gyivci

σi=(ci,yi)

Page 83: 情報セキュリティ特論( 6 )

23/04/24 confidential 83

証明

• これで、 B は A の環境を完全にシミュレート

• よって、 A は最後まで走り、  偽造 (m*,c*,y*) を出力• B は、それを使ってなりすましに成功。

証明終わり

Page 84: 情報セキュリティ特論( 6 )

23/04/24 confidential 84

定理

• Schnorr の署名に対し、確率 ε で 偽造に成功する敵 A が存在する。 

• Schnorr の認証法において、確率 ε/h で なりすましに成功する敵 B が存在する。

Page 85: 情報セキュリティ特論( 6 )

23/04/24 confidential 85

定理

• Schnorr の署名に対し、確率 ε で 偽造に成功する敵 A が存在する。 

• Schnorr の認証法において、確率 ε/h で なりすましに成功する敵 B が存在する。• 確率 (ε/h)2 で離散対数問題を解ける

Page 86: 情報セキュリティ特論( 6 )

演習

• 教科書 p.49, 問 5.3, 問 5.4

23/04/24 confidential 86