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.
実験数学 3(大阪大学理学部数学科 3 年・4 年)第 3 回: ナップザック暗号鈴木 譲大阪大学2013 年 4 月 25 日
ナップザック問題 KNAPSACK事例:  (a0, a1 · · · , ar ) ∈ Nr+1, r ≥ 1質問:  a0 = a1z1 + · · · + ar zr となる (z1, · · · , zr ) ∈ {0, 1}r が存在...
ナップザック問題 KNAPSACK変数 (ui , ¯ui )ni=1, (vj,1, vj,2)mj=1 を (zj )2m+2nj=1 、係数 (左辺は 0,1、右辺は 1,3) を (bi,j )1≤i≤m+n,0≤j≤2m+2n とし、...
超増加列とナップザック問題a1, · · · , an ∈ N が超増加列ai >∑i−1j=1 aj超増加列を仮定すると、ナップザック問題n∑i=1ai mi = cは、c′ := c として、i = n, n − 1, · · · , 1 ...
ナップザック暗号 (Merkle-Hellman, 1978)a1, · · · , an ∈ N: 超増加列q ≥∑ni=1 air ∈ N, (r, q) = 1bi = rai mod q, i = 1, · · · , n秘密鍵 a =...
ナップザック暗号の解読 (Shamir, 1982)b = (b1, · · · , bn) が超増加列でなくても、a′i = r′bi mod q′ が超増加列となる q′, r′ を見出す方法に成功した (詳細略)cr′=n∑i=1mi a...
Upcoming SlideShare
Loading in …5
×

公開鍵暗号3: ナップザック暗号

1,455 views

Published on

  • Be the first to comment

  • Be the first to like this

公開鍵暗号3: ナップザック暗号

  1. 1. 実験数学 3(大阪大学理学部数学科 3 年・4 年)第 3 回: ナップザック暗号鈴木 譲大阪大学2013 年 4 月 25 日
  2. 2. ナップザック問題 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, · · · , ncj,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 個)
  3. 3. ナップザック問題 KNAPSACK変数 (ui , ¯ui )ni=1, (vj,1, vj,2)mj=1 を (zj )2m+2nj=1 、係数 (左辺は 0,1、右辺は 1,3) を (bi,j )1≤i≤m+n,0≤j≤2m+2n とし、2m+2n∑j=1bi,j zj = bi,0 , i = 1, · · · , m + n (1)の各行を 10i−1 倍して加えると、m+n∑i=12m+2n∑j=110i−1bi,j zj =m+n∑i=110i−1bi,0 (2)逆に、(2) が解 (zj )2m+2nj=1 をもてば、(1) の m + n 個の方程式を満足し、3SAT で充足する (ui , ¯ui )ni=1, (vj,1, vj,2)mj=1 を与える
  4. 4. 超増加列とナップザック問題a1, · · · , an ∈ N が超増加列ai >∑i−1j=1 aj超増加列を仮定すると、ナップザック問題n∑i=1ai mi = cは、c′ := c として、i = n, n − 1, · · · , 1 について、{c′ > ai =⇒ mi = 0c′ ≥ ai =⇒ mi = 1, c′ := c′ − aiを繰り返して、多項式時間で解ける
  5. 5. ナップザック暗号 (Merkle-Hellman, 1978)a1, · · · , an ∈ N: 超増加列q ≥∑ni=1 air ∈ N, (r, q) = 1bi = rai mod q, i = 1, · · · , n秘密鍵 a = (a1, · · · , an), q, r公開鍵 b = (b1, · · · , bn)平文 m = (m1, · · · , mn) ∈ {0, 1}n の暗号化暗号化 c :=∑ni=1 mi bi (暗号文)復号化 cr−1 ≡∑ni=1 mi ai mod q(超増加列のナップザック問題)
  6. 6. ナップザック暗号の解読 (Shamir, 1982)b = (b1, · · · , bn) が超増加列でなくても、a′i = r′bi mod q′ が超増加列となる q′, r′ を見出す方法に成功した (詳細略)cr′=n∑i=1mi a′iより、m = (m1, · · · , mn) が計算できる。KNAPSACK が NP 困難問題でも、暗号が解読されたb = (b1, · · · , bn) は超増加列でないが、特種な条件を仮定しているNP 困難でも条件を加えれば問題が簡単になるので、多項式時間で解ける場合がある

×