情報セキュリティ特論(1 - kaoru kurosawa...
TRANSCRIPT
教科書・参考書教科書・参考書
現代暗号 の招待現代暗号への招待:
黒澤 馨 (著), ( ),サイエンス社
現代暗号の基礎数理
黒澤馨、尾形わかは(著)
電子情報通信学会編(コロナ社)電子情報通信学会編(コロナ社)
2011/1/13 confidential 2
外交と暗号
ワシントン軍縮交渉(1921年)•ワシントン軍縮交渉(1921年)軍艦保有数の英米と日本の比率軍艦保有数の英米と日本の比率
本 主張•日本の主張 10:7•譲歩の用意 10:6•譲歩の用意 10:6(暗号解読で知られていた)
2011/1/13 confidential 8
紫暗号(旧海軍)
•解読するのは至難のわざ解読するのは至難のわざ
•米の天才フリードマンらが成功ミッドウェイ海戦に圧勝ミッドウェイ海戦に圧勝山本五十六大将の戦死山本 十 大将 戦死
2011/1/13 confidential 9
世界初のコンピュータ
•コロッサス(英、1943年)コロッサス(英、1943年)エニグマ暗号の解読
•戦後 処分•戦後、処分設計図も焼却処分厳重な緘口令
2011/1/13 confidential 12
栄誉はエニアックへ
•1945年1945年米ペンシルバニア大学の
カ と クエッカートとモークリー
•18,000本の真空管•毎秒5,000回の計算
2011/1/13 confidential 13
アメリカでは
•ウィーナーウィ ナ砲弾を命中させるために計算機 製作を言上計算機の製作を言上
•ノイマン•ノイマンプログラム内蔵を提唱
•シャノン情報理論
2011/1/13 confidential 14情報理論
発熱しない真空管を作れ
•1947年 トランジスタ1947年 トランジスタブラッテンバ デバーディンショックレーショックレ
•1954年 パラメトロン後藤英
2011/1/13 confidential 15後藤英一
S暗号DES暗号
•1976年米国標準暗号に制定米国標準暗号に制定
•アルゴリズムは公開鍵 み秘密鍵のみ秘密
平文=64ビット平文=64ビット暗号文=64ビット
2011/1/13 confidential 18鍵長=56ビット
AES暗号
•次期暗号をコンテストで募る次期暗号をコンテストで募る
決定( 年)•Rijndaelに決定(2001年)平文 128ビット平文 128ビット暗号文 128ビット鍵長 128、194、256ビット
2011/1/13 confidential 20
共通鍵暗号の弱点
•送信者と受信者が鍵を共有送信者と受信者が鍵を共有
どうや 鍵を 送するか•どうやって鍵を配送するか ?
スーツケースに入れて運ぶ手間と費用が大変
2011/1/13 confidential 21
代表的な公開鍵暗号代表的な公開鍵暗号
• RSA暗号
N=pqの素因数分解の困難さを利用N pqの素因数分解の困難さを利用
• ElGamal暗号
有限巡回群上の離散対数問題を利用
2011/1/13 confidential 25
現代暗号理論
•デジタル署名デジタル署名•電子選挙•電子現金•電子現金•放送型暗号系零知識証明などなど•零知識証明などなど
計算機科学の一大分野に成長
2011/1/13 confidential 26
確率とは確率とは
さ を考 標本空間• さいころを考える
1
標本空間
={1,2,・・・,6} Pr(1) Pr(2) ・・・・・・・・・ Pr(6)
U確率分布1|
6確率関数
Pr(1)=Pr(2)=・・・=
( ) ( ) ( )
61
確率分布
6
1 2 3 4 5 6さいころ
2011/1/13 confidential 28
確率とは確率とは
さ を考 標本空間• さいころを考える
1
標本空間
={1,2,・・・,6} Pr(1) Pr(2) ・・・・・・・・・ Pr(6)
U確率分布1|
6確率関数
Pr(1)=Pr(2)=・・・=
( ) ( ) ( )
61
確率分布
6
(1) i 1 6に対し
1 2 3 4 5 6さいころ
(1) i = 1,・・・,6に対し
Pr(i)≧0(2) P (1) P (6) 1(2) Pr(1)+・・・+Pr(6) = 1
2011/1/13 confidential 29
• 定義1
以下の性質が成り立つとき、
(標本空間 U 確率関数Pr)の組を(標本空間 U、確率関数Pr)の組を
確率分布と呼ぶ
(1) 各 u∈ U に対し、 Pr(u)≧0(2) Σ Pr(u) = 1(2) Σu Pr(u) = 1
2011/1/13 confidential 30
• |U| = 集合Uの要素数
ば• たとえば、
U = { 1, 2, ・・・ , 6 } のとき、|U| = 6U { 1, 2, , 6 } のとき、|U| 6• 定義2
各 ∈ U に対し各 u∈ U に対し、
Pr(u) =1
Pr(u) =
が成り立つ確率分布を一様分布という
U成り 確率分布を 様分布 う
2011/1/13 confidential 31
Pr(A) = + =61
61
31
1|
6
Pr(A) 6 6 3
1 2 3 4 5 6
• 定義3
1 2 3 4 5 6
事象A
• 定義3
標本空間Uの部分集合Aを事象と呼び、
Pr(A) = Pr(μ) と定義する
Aμ
と定義する。
2011/1/13 confidential 34
Pr(A) = + =61
61
31
Pr(A) = 1 - =31
32
1|
6
Pr(A) 6 6 3 Pr(A) 1 3 3
1 2 3 4 5 6
• 定義3
1 2 3 4 5 6
事象A 余事象A
• 定義3
標本空間Uの部分集合Aを事象と呼び、
( ) ( )Pr(A) = Pr(μ) と定義する。
Aμ
事象Aの補集合Aは余事象と呼ばれ、
Pr(A) = 1 – Pr(A)2011/1/13 confidential 35
Pr(A) = 1 Pr(A)
A B
A∩B
A∪B
2つの部分集合、A,B ⊆ に対し
A∪B
U|A∪B| = |A| + |B| - |A∩B|
確率においても、同様に
Pr(A∪B) = Pr(A) + Pr(B) - Pr(A∩B)≦ Pr(A) + Pr(B)
2011/1/13 confidential 37
≦ Pr(A) + Pr(B)
• (例) コインを2枚投げる
2枚目
1枚目H T
H = 表
H
T
H H
T H
H T
T T
T = 裏
標本空間 UT T H T T
Pr(HH)=Pr(HT)=Pr(TH)=Pr(TT)=1/4Pr(HH) Pr(HT) Pr(TH) Pr(TT) 1/4
2011/1/13 confidential 38
• (例) コインを2枚投げる
2枚目
1枚目H T
H = 表
H
T
H H
T H
H T
T T
T = 裏
標本空間 UT T H T T
少なくとも 回は表が出る少なくとも一回は表が出る
事象AA = { HH,HT,TH }, Pr(A) = ¼ + ¼ + ¼ = ¾Pr(A) = ¼ + ¼ + ¼ = ¾
2011/1/13 confidential 39
• (例) コインを2枚投げる
2枚目
1枚目H T
H = 表
H
T
H H
T H
H T
T T
T = 裏
標本空間 UT T H T T
少なくとも 回は表が出る少なくとも一回は表が出る
事象AA = { HH,HT,TH }
余事象A余事象AA = { TT },
2011/1/13 confidential 40
条件付確率条件付確率
( ) ①Pr(μ)
• Pr(μ| B) = if μ∈B ①
• Pr(μ| B) = 0 if μ B ②
(μ)Pr(B)
(μ| ) μ ②
事象A ⊆ の条件付確率U事象 の条件付確率
Pr(A|B) = Pr(μ|B) Aμ
P (A∩B)= ③
Pr(A∩B)Pr(B)
⇒ Pr(A∩B) = Pr(A|B) ・ Pr(B)
2011/1/13 confidential 41
B1 B2 Bn・・・・・・・・
= U
B1 B2 Bn
AA
• 標本空間 がn個の事象
割 仮
UB1,B2,・・・,Bnに分割されていると仮定する。
すると、任意の事象Aに対し
Pr(A) = Pr(A∩B) = Pr(A|B )・Pr(B )n
n
Pr(A) = Pr(A∩Bi) = Pr(A|Bi)・Pr(Bi)i 1
i 1
2011/1/13 confidential 42
B1 B2 Bn・・・・・・・・
= U
B1 B2 Bn
AA
Pr(B | A) = Pr(A∩B ) / Pr(A)Pr(B1 | A) = Pr(A∩B1) / Pr(A)
分子 = Pr(A | B ) Pr(B )分子 = Pr(A | B1) ・Pr(B1)分母 = ΣPr(A | Bi)・Pr(Bi)
= Pr(A | B1) ・Pr(B1) / ΣPr(A | Bi)・Pr(Bi)
2011/1/13 confidential 43
B1 B2 Bn・・・・・・・・
= U
B1 B2 Bn
AA
ベイズの定理
Pr(B1 | A) = Pr(A | B1) ・Pr(B1) / ΣPr(A | Bi)・Pr(Bi)
2011/1/13 confidential 44
メッセージ認証メッセージ認証平文 認証子
アリス鍵 K
ボブ鍵 K
(好き,Tag)鍵 K 鍵 K
なりすまし攻撃敵
・なりすまし攻撃
・改ざん攻撃
2011/1/13 confidential 48
方式方式
• p=大きな素数
• 鍵 K=(a b) ← {0 1 p-1}鍵 K (a,b) ← {0, 1, …, p 1}• 平文 m ∈ {0, 1, …, p-1}• Tag=a・m+b mod p
2011/1/13 confidential 49
送信者のアルゴリズム送信者のアルゴリズム
• 平文 m ∈ {0, 1, …, p-1}• 鍵 K=(a b) ← {0 1 p-1}鍵 K (a,b) ← {0, 1, …, p 1}
• アリスは、
Tag =a・m+b mod pTag =a m+b mod pを計算し、(m,Tag)をボブに送る。
2011/1/13 confidential 50
受信者のアルゴリズム受信者のアルゴリズム
• 平文 m ∈ {0, 1, …, p-1}• 鍵 K=(a b) ← {0 1 p-1}鍵 K (a,b) ← {0, 1, …, p 1}
• (m,Tag)を受け取ったボブは、
Tag=a・m+b mod pTag=a m+b mod p• が成り立てばaccept
2011/1/13 confidential 51
メッセージ認証メッセージ認証平文 認証子
アリス鍵 K
ボブ鍵 K
(m,Tag)( b)鍵 K 鍵 K=
(a,b)
= (a,b)
敵,
• p=素数
• 鍵 a,b ← {0,1,2,・・・,p-1} からランダムに選
• 平文 m ∈ {0 1 2 ・・・ p 1}2011/1/13 confidential 52
• 平文 m ∈ {0,1,2,・・・,p-1}
メッセージ認証メッセージ認証平文 認証子
アリス鍵 K
ボブ鍵 K
(m,Tag)( b)鍵 K 鍵 K=
(a,b)
= (a,b)
敵,
Tag = am + b mod p pは素数
• 鍵 a,b ← {0,1,2,・・・,p-1} からランダムに選ぶ
平文 m ∈ {0 1 2 ・・・ p-1}2011/1/13 confidential 53
平文 m ∈ {0,1,2, ,p-1}
なりすまし攻撃なりすまし攻撃
アリスボブ
K=(a b)
m, Tag
K=(a,b)
敵
ボブ accepts ifT b dTag=a×m+b mod p
2011/1/13 confidential 55
なりすまし確率なりすまし確率
定
アリス ボブ
(m, Tag)=固定
敵 K=(a,b):ランダム
Pr(ボブ accepts)P (T b d= Pr(Tag=a×m+b mod p
となる鍵(a,b)を持っている)
2011/1/13 confidential 56
なりすまし攻撃
b 0 1 2 p 1
なりすまし攻撃
ba
0 (0,0)(0,1)(0,2) (0,p-1)
0 1 2 p-1
・・・
・・・
標本空間 U21 (1,0)
(2,0)・・・・・
A・・・p-1
・・・
・
(p-1,0) (p-1,p-1)・・・・・・・・・
Tag = a m + b mod pTag = a m + b mod pとなる(a,b)の集合A
2011/1/13 confidential 57
ba
0 (0 0)(0 1)(0 2) (0 p-1)
0 1 2 p-1
・・・
・・・
標本空間 U210 (0,0)(0,1)(0,2) (0,p-1)
(1,0)(2,0)
・・・・A 標本空間 U
・・・p-1
( , )
・・・
・・・
(p-1 0) (p-1 p-1)・・・・・・・・・
A
A = ボブがだまされるという事象
p 1 (p 1,0) (p 1,p 1)
A = ボブがだまされるという事象
= (Tag = a m + b mod p ) が成り立つ事象
固定
2011/1/13 confidential 58
ba
0 (0 0)(0 1)(0 2) (0 p-1)
0 1 2 p-1
・・・
・・・
標本空間 U210 (0,0)(0,1)(0,2) (0,p-1)
(1,0)(2,0)
・・・・
Tag=am+b標本空間 U
・・・p-1
( , )
・・・
・・・
(p-1 0) (p-1 p-1)・・・・・・・・・
mod p
Pr(A) =
p 1 (p 1,0) (p 1,p 1)
この面積Pr(A) =
全面積
2011/1/13 confidential 59
ba
0 (0 0)(0 1)(0 2) (0 p-1)
0 1 2 p-1
・・・
・・・
標本空間 U210 (0,0)(0,1)(0,2) (0,p-1)
(1,0)(2,0)
・・・・
Tag=am+b標本空間 U
・・・p-1
( , )
・・・
・・・
(p-1 0) (p-1 p-1)・・・・・・・・・
mod p
Pr(A) =
p 1 (p 1,0) (p 1,p 1)
この面積Pr(A) =
全面積
この式が成り立つ( b)の個数この式が成り立つ(a,b)の個数
(a,b)の総数=
2011/1/13 confidential 60
ba
0 (0 0)(0 1)(0 2) (0 p-1)
0 1 2 p-1
・・・
・・・
標本空間 U210 (0,0)(0,1)(0,2) (0,p-1)
(1,0)(2,0)
・・・・
Tag=am+b標本空間 U
・・・p-1
( , )
・・・
・・・
(p-1 0) (p-1 p-1)・・・・・・・・・
mod p
Pr(A) =
p 1 (p 1,0) (p 1,p 1)
この式が成り立つ(a,b)の個数Pr(A) =
(a,b)の総数 = p2
2011/1/13 confidential 61
ba
0 (0 0)(0 1)(0 2) (0 p-1)
0 1 2 p-1
・・・
・・・
分
210 (0,0)(0,1)(0,2) (0,p-1)
(1,0)(2,0)
・・・・
Tag=am+b分子:
aを決めると、・・・p-1
( , )
・・・
・・・
(p-1 0) (p-1 p-1)・・・・・・・・・
mod p aを決めると、bが決まる。
Pr(A) =
p 1 (p 1,0) (p 1,p 1)
この式が成り立つ(a,b)の個数Pr(A) =
(a,b)の総数 = p2
a = 0 → b = taga = 1 → b = tag - m
a = p-1 → b = tag - (p-1)m・・・
p個
2011/1/13 confidential 62
a p 1 → b tag (p 1)m
ba
0 (0 0)(0 1)(0 2) (0 p-1)
0 1 2 p-1
・・・
・・・
標本空間 U210 (0,0)(0,1)(0,2) (0,p-1)
(1,0)(2,0)
・・・・
Tag=am+b標本空間 U
・・・p-1
( , )
・・・
・・・
(p-1 0) (p-1 p-1)・・・・・・・・・
mod p
Pr(A) =
p 1 (p 1,0) (p 1,p 1)
この式が成り立つ(a,b)の個数Pr(A) =
(a,b)の総数
=p a = 0 → b = tag=
=1p 2 a = 1 → b = tag - m
a = p-1 → b = tag - (p-1)m・・・
p個
2011/1/13 confidential 63p a p 1 → b tag (p 1)m
∀ P( )• ∀x ,P(x)全てのx各各x任意のxF
に対し、P(x)が成り立つ
For any x
• ∀x ,∀y,P(x,y), y, ( ,y)全ての(x,y)
各(x,y) に対し、P(x,y)が成り立つ各( ,y)任意の(x,y)
に対し、P(x,y)が成り立つ
1• ∀m, ∀Tag, Pr(なりすまし攻撃でボブが騙される) = p
1
2011/1/13 confidential 64
改ざん攻撃改ざん攻撃
アリス ボブ(m,Tag) (m’,Tag’)鍵 K 鍵 K=
( b)
= (a,b)事象A m’ ≠ m
敵(a,b)
if accept = 事象B
2011/1/13 confidential 66
改ざん攻撃改ざん攻撃
任意に固定
アリス ボブ(m,Tag) (m’,Tag’)鍵 K 鍵 K=
( b)
= (a,b)事象A
敵(a,b)
if accept = 事象B
2011/1/13 confidential 67
• 事象A = {(a,b)| Tag = a・m + b mod p }• 事象B = {(a,b)| Tag’ = a・m’ + b mod p }
• ∀m, ∀Tag, ∀m’(≠m), ∀Tag’Pr(ボブが騙される)
P (A∩B)= Pr(B|A) = Pr(A∩B)Pr(A)
= 事象A,Bが成り立つ(a,b)の数
事象Aが成り立つ(a b)の数p1=
2011/1/13 confidential 68
事象Aが成り立つ(a,b)の数p
方式方式
平文 {0 1 1}• 平文 m ∈ {0, 1, …, p-1}• 鍵 (a,b) ← {0, 1, …, p-1}( , ) { , , , p }• アリスは、
Tag=a・m+b mod pTag=a・m+b mod pを計算し、(m,Tag)をボブに送る。
• ボブは、
Tag=a・m+b mod pTag a m+b mod p• が成り立てばaccept
2011/1/13 confidential 69
長いメッセージの場合長いメッセージの場合
• 平文 m1, m2 ∈ {0, 1, …, p-1}• 鍵 (a b c) ← {0 1 p-1}鍵 (a, b, c) ← {0, 1, …, p 1}• Tag=a・m1+b・m2+c mod p
2011/1/13 confidential 71
演習(1)演習(1)
• この方式においても、
Pr(なりすまし成功)=1/pPr(なりすまし成功) 1/pPr(改ざん成功)=1/p
が成り立つことを証明せよ。
2011/1/13 confidential 72