Road Map 離散対数問題 中国の剰余の定理を用いた解法 Index Calculus
実験数学 3
(大阪大学理学部数学科 3 年・4 年)
第 3 回: 離散対数問題
鈴木 譲
大阪大学
2014 年 5 月 8 日
1 / 12
実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
Road Map 離散対数問題 中国の剰余の定理を用いた解法 Index Calculus
この単元で学ぶこと
1 離散対数問題
2 中国の剰余の定理を用いた解法
3 Index Calculus
2 / 12
実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
Road Map 離散対数問題 中国の剰余の定理を用いた解法 Index Calculus
離散対数問題
G: 有限巡回群
α: G の生成元
n := |G|
0 ≤ x ≤ n − 1
β := αx
G の離散対数問題
(α, β) → x を計算
(n が大きい場合など、計算的に困難な場合がある)
3 / 12
実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
Road Map 離散対数問題 中国の剰余の定理を用いた解法 Index Calculus
離散対数問題の計算的困難性を利用した暗号
α, β: 公開
0 ≤ x ≤ n − 1: 秘密
暗号化 0 ≤ r ≤ n − 1 をランダムに生成し、
G ∋ m → (mβr , αr )
復号化 r によらず、
mβr
(αr )x
=
mβr
(αx )r
=
mβr
βr
= m
例: G = F∗
p, p = 7, α = 2, β = 4, x = 2
m = 5, r = 2 =⇒ (mβr
, αr
) = (5 · 42
, 22
) = (3, 4)
=⇒
mβr
(αr )x
=
3
42
=
3
2
= 3 · 4 = 5
4 / 12
実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
Road Map 離散対数問題 中国の剰余の定理を用いた解法 Index Calculus
離散対数問題の解法
中国の剰余の定理を用いた解法
n が大きな素因数をもたないと危険
Index Calculous: G が有限体乗法群 (F∗
p など) の場合のみ
5 / 12
実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
Road Map 離散対数問題 中国の剰余の定理を用いた解法 Index Calculus
中国の剰余の定理
中国の剰余の定理
.
.
m = m1 · · · mt, (mi , mj ) = 1 (i ̸= j), b1, · · · , bt ∈ Z について、
x ≡ b1 (mod m1), · · · x ≡ bt (mod mt)
は必ず解を持ち、どの 2 解の差も m の倍数
例: x ≡ 3 (mod 7), x ≡ 7 (mod 13) =⇒ x ≡ 59 (mod 91)
 
証明: ni := m/mi とおくと、(mi , ni ) = 1、つまり ri mi + si ni = 1
なる 2 整数 ri , si が存在する。ei := si ni について、ei ≡ 1 (mod
mi ), ei ≡ 0 (mod mj ) (i ̸= j)。したがって、x0 :=
∑t
i=1 bi ei は、
x0 ≡ bi ei ≡ bi (mod mi ), i = 1, · · · t, より解である。別の解を x1
とすると、x1 − x0 ≡ 0 (mod mi ) より、
m1|(x1 − x0), · · · , mt|(x1 − x0)、したがって、m|x1 − x0
6 / 12
実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
Road Map 離散対数問題 中国の剰余の定理を用いた解法 Index Calculus
中国の剰余の定理を用いた離散対数問題の解法
β = αx
(0 ≤ x ≤ n − 1),n =
∏
i pei
i (pi : 素数, ei ≥ 0) を求める
中国の剰余の定理から、各 i で x mod pei
i を求めれば十分。
ei ≥ 1 なる各 i について、p := pi , e := ei
z := x mod pe
=
e−1∑
j=0
zj pj
, 0 ≤ zj ≤ p − 1
とおくと、γ := αn/p の位数は p となり、γp = 1 = γ0 より、
βn/p
= αxn/p
= γx
= γz+kpe
= γ
z0 + p
e−1∑
i=1
zi pi−1
+ kpe
= γz0
なる k ∈ Z が存在し、位数 p の離散対数問題から z0 を求まる。
7 / 12
実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
Road Map 離散対数問題 中国の剰余の定理を用いた解法 Index Calculus
e ≥ 2 であれば、
(βα−z0
)n/p2
= (αx−z0
)n/p2
= (α
∑e−1
j=1 zj pj +kpe
)n/p2
= (αn/p
)z1+
∑e−1
j=2 zj pj−1+kpe−1
= γz1
(βα−z0−z1p
)n/p3
= (αx−z0−z1p
)n/p3
= (α
∑e−1
j=2 zj pj +kpe
)n/p3
= (αn/p
)z2+
∑e−1
j=3 zj pj−2+kpe−1
= γz2
· · ·
(βα−z0−z1p−···−ze−2pe−2
)n/pe
= (αx−z0−z1p−···−ze−2pe−2
)n/pe
= (αze−1pe−1+kpe
)n/p3
= (αn/p
)ze−1+kpe−1
= γze−1
なる位数 p の離散対数問題を解いて、z1, z2, · · · , ze−1 が求まる。
8 / 12
実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
Road Map 離散対数問題 中国の剰余の定理を用いた解法 Index Calculus
Index Calculus アルゴリズム
r ∈ F∗
p が q-smooth
.
.
.
r ∈ [1, p − 1] を整数と見たとき、その素因数がすべて q 以下
.
1 S := {p1, · · · , pt} (最初の t 個の素数)
.
2 k をランダムに発生させ、αk
が pt-smooth、すなわち
αk
=
t∏
i=1
pci
i , ci ≥ 0 (1)
となる (k, c1, · · · , ct) を、t + ϵ 個求める (ϵ は十分小さな整数)。
3 t + ϵ 個の (k, c1, · · · , ct) から、αei
≡ pi (mod p) なる ei = logα pi
i = 1, · · · , t についての連立方程式を解く。
k ≡
t∑
i=1
ci ei , ci ≥ 0 (mod p − 1) (2)
9 / 12
実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
Road Map 離散対数問題 中国の剰余の定理を用いた解法 Index Calculus
線形従属になる可能性があるので、ϵ を多めにとっておく。
.
1 r をランダムに発生させ、β · αr
が pt-smooth、すなわち
β · αr
=
t∏
i=1
pci
i , ci ≥ 0 (3)
となる (r, c1, · · · , ct) を求める。最終的に、以下から x が求まる。
x = logα β = (
t∑
i=1
ci ei − r) mod (p − 1) (4)
t が小さいと、pt-smooth な数を求めるのに時間がかかる
t が大きいと、連立方程式を求めるのに時間がかかる
10 / 12
実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
Road Map 離散対数問題 中国の剰余の定理を用いた解法 Index Calculus
例: F∗
229 = {60
, 61
, · · · , 6227
}, α = 6, β = 13
.
1 t := 5, S := {2, 3, 5, 7, 11} (factor base)
.
2
6100
= 180 = 22
· 32
· 5
618
= 176 = 24
· 11
612
= 165 = 3 · 5 · 11
662
= 154 = 2 · 7 · 11
6143
= 198 = 2 · 32
· 11
6206
= 210 = 2 · 3 · 5 · 7
11 / 12
実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
Road Map 離散対数問題 中国の剰余の定理を用いた解法 Index Calculus
.
3
100 ≡ 2 log6 2 + 2 log6 3 + log6 5 (mod 228)
18 ≡ 4 log6 2 + 2 log6 11 (mod 228)
12 ≡ log6 3 + 2 log6 5 + log6 11 (mod 228)
62 ≡ log6 2 + log6 7 + log6 11 (mod 228)
143 ≡ log6 2 + 2 log6 3 + log6 11 (mod 228)
206 ≡ log6 2 + log6 3 + log6 5 + log6 7 (mod 228)
この連立方程式を解いて、
log6 2 = 21, log6 3 = 208, log6 5 = 98, log6 7 = 107, log6 11 = 162
4 βα77
= 13 · 677
= 147 = 3 · 72
より、
logα β = log6 3 + 2 log6 7 − 77 = 117 (mod 228)
12 / 12
実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題

公開鍵暗号(3): 離散対数問題

  • 1.
    Road Map 離散対数問題中国の剰余の定理を用いた解法 Index Calculus 実験数学 3 (大阪大学理学部数学科 3 年・4 年) 第 3 回: 離散対数問題 鈴木 譲 大阪大学 2014 年 5 月 8 日 1 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
  • 2.
    Road Map 離散対数問題中国の剰余の定理を用いた解法 Index Calculus この単元で学ぶこと 1 離散対数問題 2 中国の剰余の定理を用いた解法 3 Index Calculus 2 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
  • 3.
    Road Map 離散対数問題中国の剰余の定理を用いた解法 Index Calculus 離散対数問題 G: 有限巡回群 α: G の生成元 n := |G| 0 ≤ x ≤ n − 1 β := αx G の離散対数問題 (α, β) → x を計算 (n が大きい場合など、計算的に困難な場合がある) 3 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
  • 4.
    Road Map 離散対数問題中国の剰余の定理を用いた解法 Index Calculus 離散対数問題の計算的困難性を利用した暗号 α, β: 公開 0 ≤ x ≤ n − 1: 秘密 暗号化 0 ≤ r ≤ n − 1 をランダムに生成し、 G ∋ m → (mβr , αr ) 復号化 r によらず、 mβr (αr )x = mβr (αx )r = mβr βr = m 例: G = F∗ p, p = 7, α = 2, β = 4, x = 2 m = 5, r = 2 =⇒ (mβr , αr ) = (5 · 42 , 22 ) = (3, 4) =⇒ mβr (αr )x = 3 42 = 3 2 = 3 · 4 = 5 4 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
  • 5.
    Road Map 離散対数問題中国の剰余の定理を用いた解法 Index Calculus 離散対数問題の解法 中国の剰余の定理を用いた解法 n が大きな素因数をもたないと危険 Index Calculous: G が有限体乗法群 (F∗ p など) の場合のみ 5 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
  • 6.
    Road Map 離散対数問題中国の剰余の定理を用いた解法 Index Calculus 中国の剰余の定理 中国の剰余の定理 . . m = m1 · · · mt, (mi , mj ) = 1 (i ̸= j), b1, · · · , bt ∈ Z について、 x ≡ b1 (mod m1), · · · x ≡ bt (mod mt) は必ず解を持ち、どの 2 解の差も m の倍数 例: x ≡ 3 (mod 7), x ≡ 7 (mod 13) =⇒ x ≡ 59 (mod 91)   証明: ni := m/mi とおくと、(mi , ni ) = 1、つまり ri mi + si ni = 1 なる 2 整数 ri , si が存在する。ei := si ni について、ei ≡ 1 (mod mi ), ei ≡ 0 (mod mj ) (i ̸= j)。したがって、x0 := ∑t i=1 bi ei は、 x0 ≡ bi ei ≡ bi (mod mi ), i = 1, · · · t, より解である。別の解を x1 とすると、x1 − x0 ≡ 0 (mod mi ) より、 m1|(x1 − x0), · · · , mt|(x1 − x0)、したがって、m|x1 − x0 6 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
  • 7.
    Road Map 離散対数問題中国の剰余の定理を用いた解法 Index Calculus 中国の剰余の定理を用いた離散対数問題の解法 β = αx (0 ≤ x ≤ n − 1),n = ∏ i pei i (pi : 素数, ei ≥ 0) を求める 中国の剰余の定理から、各 i で x mod pei i を求めれば十分。 ei ≥ 1 なる各 i について、p := pi , e := ei z := x mod pe = e−1∑ j=0 zj pj , 0 ≤ zj ≤ p − 1 とおくと、γ := αn/p の位数は p となり、γp = 1 = γ0 より、 βn/p = αxn/p = γx = γz+kpe = γ z0 + p e−1∑ i=1 zi pi−1 + kpe = γz0 なる k ∈ Z が存在し、位数 p の離散対数問題から z0 を求まる。 7 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
  • 8.
    Road Map 離散対数問題中国の剰余の定理を用いた解法 Index Calculus e ≥ 2 であれば、 (βα−z0 )n/p2 = (αx−z0 )n/p2 = (α ∑e−1 j=1 zj pj +kpe )n/p2 = (αn/p )z1+ ∑e−1 j=2 zj pj−1+kpe−1 = γz1 (βα−z0−z1p )n/p3 = (αx−z0−z1p )n/p3 = (α ∑e−1 j=2 zj pj +kpe )n/p3 = (αn/p )z2+ ∑e−1 j=3 zj pj−2+kpe−1 = γz2 · · · (βα−z0−z1p−···−ze−2pe−2 )n/pe = (αx−z0−z1p−···−ze−2pe−2 )n/pe = (αze−1pe−1+kpe )n/p3 = (αn/p )ze−1+kpe−1 = γze−1 なる位数 p の離散対数問題を解いて、z1, z2, · · · , ze−1 が求まる。 8 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
  • 9.
    Road Map 離散対数問題中国の剰余の定理を用いた解法 Index Calculus Index Calculus アルゴリズム r ∈ F∗ p が q-smooth . . . r ∈ [1, p − 1] を整数と見たとき、その素因数がすべて q 以下 . 1 S := {p1, · · · , pt} (最初の t 個の素数) . 2 k をランダムに発生させ、αk が pt-smooth、すなわち αk = t∏ i=1 pci i , ci ≥ 0 (1) となる (k, c1, · · · , ct) を、t + ϵ 個求める (ϵ は十分小さな整数)。 3 t + ϵ 個の (k, c1, · · · , ct) から、αei ≡ pi (mod p) なる ei = logα pi i = 1, · · · , t についての連立方程式を解く。 k ≡ t∑ i=1 ci ei , ci ≥ 0 (mod p − 1) (2) 9 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
  • 10.
    Road Map 離散対数問題中国の剰余の定理を用いた解法 Index Calculus 線形従属になる可能性があるので、ϵ を多めにとっておく。 . 1 r をランダムに発生させ、β · αr が pt-smooth、すなわち β · αr = t∏ i=1 pci i , ci ≥ 0 (3) となる (r, c1, · · · , ct) を求める。最終的に、以下から x が求まる。 x = logα β = ( t∑ i=1 ci ei − r) mod (p − 1) (4) t が小さいと、pt-smooth な数を求めるのに時間がかかる t が大きいと、連立方程式を求めるのに時間がかかる 10 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
  • 11.
    Road Map 離散対数問題中国の剰余の定理を用いた解法 Index Calculus 例: F∗ 229 = {60 , 61 , · · · , 6227 }, α = 6, β = 13 . 1 t := 5, S := {2, 3, 5, 7, 11} (factor base) . 2 6100 = 180 = 22 · 32 · 5 618 = 176 = 24 · 11 612 = 165 = 3 · 5 · 11 662 = 154 = 2 · 7 · 11 6143 = 198 = 2 · 32 · 11 6206 = 210 = 2 · 3 · 5 · 7 11 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題
  • 12.
    Road Map 離散対数問題中国の剰余の定理を用いた解法 Index Calculus . 3 100 ≡ 2 log6 2 + 2 log6 3 + log6 5 (mod 228) 18 ≡ 4 log6 2 + 2 log6 11 (mod 228) 12 ≡ log6 3 + 2 log6 5 + log6 11 (mod 228) 62 ≡ log6 2 + log6 7 + log6 11 (mod 228) 143 ≡ log6 2 + 2 log6 3 + log6 11 (mod 228) 206 ≡ log6 2 + log6 3 + log6 5 + log6 7 (mod 228) この連立方程式を解いて、 log6 2 = 21, log6 3 = 208, log6 5 = 98, log6 7 = 107, log6 11 = 162 4 βα77 = 13 · 677 = 147 = 3 · 72 より、 logα β = log6 3 + 2 log6 7 − 77 = 117 (mod 228) 12 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 3 回: 離散対数問題