Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

公開鍵暗号(6): ナップザック暗号

409 views

Published on

実験数学3 (大阪大学理学部数学科 3年・4年)
鈴木 譲 2014年6月12日

  • Be the first to comment

  • Be the first to like this

公開鍵暗号(6): ナップザック暗号

  1. 1. 3SAT から KNAPSACK への多項式時間還元 実験数学 3 (大阪大学理学部数学科 3 年・4 年) 第 6 回: ナップザック暗号 鈴木 譲 大阪大学 2014 年 6 月 12 日 1 / 6 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 6 回: ナップザック暗号
  2. 2. 3SAT から KNAPSACK への多項式時間還元 ナップザック問題 KNAPSACK 事例:  (a0, a1 · · · , ar ) ∈ Nr+1, r ≥ 1 質問:  a0 = a1z1 + · · · + ar zr となる (z1, · · · , zr ) ∈ {0, 1}r が存 在するか。 KNAPSACK は NP 完全である . . 3SAT ∝ KNAPSACK 証明: 3SAT が真であれば、 ui + ¯ui = 1 , i = 1, · · · , n cj,1 + cj,2 + cj,3 + vj,1 + vj,2 = 3 , j = 1, · · · , m (cj = (cj,1, cj,2, cj,3) は、u1, · · · , un, ¯u1, · · · , ¯un からの 3 個) 2 / 6 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 6 回: ナップザック暗号
  3. 3. 3SAT から KNAPSACK への多項式時間還元 変数 (ui , ¯ui )n i=1, (vj,1, vj,2)m j=1 を (zj )2m+2n j=1 、 係数 (左辺は 0,1、右辺は 1,3) を (bi,j )1≤i≤m+n,0≤j≤2m+2n とし、 2m+2n∑ j=1 bi,j zj = bi,0 , i = 1, · · · , m + n (1) の各行を 10i−1 倍して加えると、 m+n∑ i=1 2m+2n∑ j=1 10i−1 bi,j zj = m+n∑ i=1 10i−1 bi,0 (2) (i = 1, · · · , m + n で (1) が成立する ⇐⇒ (2) が成立する)   逆に、3SAT が儀であれば、(1) を満足しない i が少なくとも一つ あり、(2) を満足しない。 3 / 6 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 6 回: ナップザック暗号
  4. 4. 3SAT から KNAPSACK への多項式時間還元 超増加列とナップザック問題 a1, · · · , an ∈ N が超増加列 . . . ai > ∑i−1 j=1 aj 超増加列を仮定すると、ナップザック問題 n∑ i=1 mi ai = c は、c′ := c として、i = n, n − 1, · · · , 1 について、 { c′ < ai =⇒ mi = 0 c′ ≥ ai =⇒ mi = 1, c′ := c′ − ai を繰り返して、多項式時間で解ける。 4 / 6 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 6 回: ナップザック暗号
  5. 5. 3SAT から KNAPSACK への多項式時間還元 ナップザック暗号 (Merkle-Hellman, 1978) a1, · · · , an ∈ N: 超増加列 q ≥ ∑n i=1 ai r ∈ N, (r, q) = 1 bi = rai mod q, i = 1, · · · , n 秘密鍵 a = (a1, · · · , an), q, r 公開鍵 b = (b1, · · · , bn) 平文 m = (m1, · · · , mn) ∈ {0, 1}n の暗号化 暗号化 c := ∑n i=1 mi bi (暗号文) 復号化 cr−1 ≡ ∑n i=1 mi ai mod q (超増加列のナップザック問題) 5 / 6 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 6 回: ナップザック暗号
  6. 6. 3SAT から KNAPSACK への多項式時間還元 ナップザック暗号の解読 (Shamir, 1982) b = (b1, · · · , bn) が超増加列でなくても、a′ i = r′bi mod q′ が超増 加列となる q′, r′ を多項式時間で見出す方法に成功した (詳細略) cr′ = n∑ i=1 mi a′ i より、m = (m1, · · · , mn) が計算できる。 KNAPSACK が NP 困難問題でも、暗号が解読された . b = (b1, · · · , bn) は超増加列でないが、特種な条件を仮定している NP 困難でも条件を加えれば問題が簡単になるので、 多項式時間で解ける場合がある 6 / 6 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 6 回: ナップザック暗号

×