情報セキュリティ
第3回
現代暗号の基礎数理
脅威と暗号技術
セキュリティに対する脅威
脅かされる特性
暗号技術
共通鍵暗号
盗聴
(秘密が漏れる)
機密性
公開鍵暗号
改竄
(情報が書き換えられる)
正真性
一方向ハッシュ関数
なりすまし
(正しい送信者のふりをする)
認証
メッセージ認証コード
否認
(後から私じゃないと言う)
否認不可能性
デジタル署名
情報理論的安全性 その1
 暗号化アルゴリズムE

平文mと鍵kとアルゴリズムEから暗号文c=E(k,m)
が決まる。
 確率変数m, k, c

全く使われ
ない平文mi
は無い


平文mは集合M={m1,m2,..}の中の1つであり、ど
の平文かは確率分布で決まる。但し、任意の平文
mi∈Mに対し、Pr(m=mi)>0を満たす。
鍵kは、集合K={k1,k2,..}の中の1つであり、どの鍵
かは確率分布で決まる。
暗号文cは、c=E(k,m)から定まる集合C={c1,c2,..}
の中の1つである。
「確率変数m」とは、平文が
集合Mの中のどれかの値を
一つ取るため「変数」(定数
でない)であり、どれを取る
かは確率によって決まるか
ら、「確率変数」という。
確率分布に従って発生
平文
m
暗号文
c
暗号化
E
確率分布に従っ
て発生
鍵k
平文と鍵の確率
分布に依存して
決まる
平文mの確率分布
Pr(m)
m=m1
(緑)
m=m2
(赤)
m=m3
(青)
1/3
1/3
1/3
確率0はダメ
集合K={k1,k2,k3}
集合M={m1,m2,m3}
鍵K’の確率分布
Pr(k)
k=k1
k=k2
k=k3
1/3
1/3
1/3
情報理論的安全性 その2
暗号文cjが与えられた場合、
cjの平文がmiである確率
 情報理論的に安全とは
Pr(mi|cj)=Pr(mi)
 条件付確率の定義:

E(m,k1)
平文
赤
青
緑
鍵k1で決
まる置換
暗号文
赤
青
緑
E(m,k1)
平文
赤
青
緑
感覚的に分
かりずらい
暗号化
E
Pr(mi|cj) = Pr(mi,cj) / Pr(cj)
Pr(m)
具体的なイ
メージで説明
平文m
任意のmi∈M とcj∈Cに対し、
暗号文
赤
青
緑
m=m2
(赤)
m=m3
(青)
1/3
1/3
1/3
E(m,k2)
暗号文
赤
青
緑
E(m,k2)
平文
赤
青
緑
暗号文
赤
青
緑
Pr(k)
E(m,k3)
平文
赤
青
緑
暗号文
赤
青
緑
E(m,k3)
平文
赤
青
緑
暗号文
赤
青
緑
Pr(m|c)
敵
Pr(m)
暗号文cから何も
情報が得られない
鍵k
m=m1
(緑)
平文
赤
青
緑
暗号文c
=

k=k1
k=k2
k=k3
1/3
1/3
1/3
平文m=m1(赤)
暗号文が赤(c1)の
場合、平文が赤で
ある確率が高い。
Pr(m|c)=Pr(m)
c3
c1
c2
Pr(m|c)≠Pr(m)
c3
c1
c2
安全性
平文の集合M={緑、赤、青}の
例では、|M|=|K|=3
 情報理論的に安全ならば、
暗号化
Ek
|K|≧|M|(|K|は集合Kの要素数)



暗号文cから平文mへ一意に復号
出来るためには、異なる平文mに
対し異なる鍵kが必要になる。
任意の暗号文cj∈Cに対し、集合M
の全ての平文がcjに対する平文で
ある可能性を持つ。なぜならば、
任意のmi∈M とcj∈Cに対し、
Pr(mi|cj)=Pr(mi)かつ、Pr(mi)>0
以上から、鍵の数|K|を平文の数
|M|よりも少なくすることは出来ない。
m1
m2
:
:
mi

情報理論的に安全でなくても、計算
時間が大きい(例えば10億年)なら
ば安全と考える。
擬似ランダム置換族は計算量理論
的安全性の基本構成要素である。
同じ鍵
はダメ
:
:
cj
m1
m2
:
:
mi
?
:
:
二つの異なる平文を同じ鍵で
同じ暗号文にすると、どちらに
復号していいかわからない
 計算量理論的に安全

k1
k1
復号
Dk
m1
m2
:
:
mi
k1
k2
ki
:
:
cj
:
:
k1
k2
ki
m1
m2
:
:
mi
暗号文cjに対して、全ての平文
がcjに対する平文の候補である
{0,1}2の置換π
識別不可能性
 選択平文攻撃
 神様は{0,1}n上のランダム置換族
Pnとその部分集合Anを知っている。
 神様にm∈{0,1}nを質問すると、
c=π(m)(暗号文)を教えてくれる。
 識別アルゴリズムDの識別利得
 Adv(D)=|Prandom-PA|
 Prandomとは:
Pnから選ばれたπがD =1を出力す
る(置換がある性質を持つ)確率。
 PAとは:
An(暗号アルゴリズムの置換集合)
の中の置換がD=1を出力する確率。
 擬似ランダム置換族
 質問回数をある値に制限した時、
どんなDに対しても、Adv(D)<ε(εは
暗号アルゴリズ
非常に小さい値を表す)となるとき、
ムは置換族An
Anは擬似ランダム置換族と呼ぶ。
であるが、Anを
特定するのに  神様への質問回数は現実的な値
時間がかかる
に制限する。例えば、250(=1015)回。
00
01
10
11
01
10
00
11
ランダム置換族
暗号アルゴリ
ズムの置換族
Pn
An
識別アルゴリズム
Dが1を出力する
置換族
D =1
PA=
交わりの面積
D=1の面積
P
=
random
|An|
|Pn|
DはAnの識別に有効
DはAnの識別に有効
Feistel型構造
(DES暗号)
平文は
2nビット
Fu(Ru-1)
Ru
Fu(Lu)
=Lu-1
L0
 ラウンド関数Fiは{0,1}nか
ら{0,1}nへの任意の関数。
 Feistel型構造は逆関数
が存在する(上への1対
1)ので {0,1}2n上の置換。
 Feistel型構造への入力
を(L0,R0)とする。但し、
L0∈{0,1}n、R0∈{0,1}n。
i=1,..,uに対して、 Li=Ri-1、
Ri=Li-1 Fi(Ri-1)。
 DES暗号は16段の
Feistel型構造である。
Ru Fu(Lu)
=Lu-1 Fu(Ru-1)
R0
Lu
F1
1段
Ru
Fu
ラウンド関数
L1
R1
F2
2段
L2
u段
暗号文
暗号化
Lu-1
Ru-1
Fu-1
R2
Lu-2
Ru-2
:
:
Fu
F1
Lu
Ru
u段構造
L0
復号
R0
逆関数
2段Feistelは擬似ランダム置換族でない
 2段Feistel型構造の置換集合ψ(F1,F2)
 識別アルゴリズムD: if (a a’=1n) then D=1 else D=0
但し、a=0n F1(0n)、a’=1n F1(0n)
 Pψ(F1, F2)=Pr(D=1)=1
十分大きい
 証明: a a’=0n
F1(0n) 1n F1(0n)=1n
Prandom=N3/N2
 Dの識別利得 Adv(D) = |Prandom - Pψ(F1, F2)| > 1-1/2n-1
攻撃のた
めに選択
した平文
入力=(0n,0n)の場合
0n
0n
入力=(1n,0n)の場合
1n
0n
0n=00….0
n
F1
F1
N3とN2は「復習3」
で求める
P2n
D =1
F1とF2は独
立な擬似ラ
ンダム関数
ψ(F1,F2)
F2
F2
暗号文
a=0n
F1
(0n)
b
a’=1n
F1
(0n)
b’
敵はD=1となる置換だけ
を解読の対象に出来る
強擬似ランダム
 3段Feistel型構造は擬似ランダム置換であるが
段数が増えれば
強擬似ランダム置換でない。
攻撃に強くなる
 4段Feistel型構造は強擬似ランダム置換
 強擬似ランダム置換族とは:
 長さ2nのランダム置換族P2nの部分集合A2nが、
選択暗号文攻撃においてP2nとA2nの識別が
困難ならば、A2nは「強擬似ランダム置換族」と
呼ばれる。
平文
暗号化
E
平文
敵
暗号文
暗号文
鍵K
選択暗号文攻撃
復 号
D
ダウンロード

3回目