SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
実験数学 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 は 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 個)
ナップザック問題 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)
逆に、(2) が解 (zj )2m+2n
j=1 をもてば、(1) の m + n 個の方程式を満
足し、3SAT で充足する (ui , ¯ui )n
i=1, (vj,1, vj,2)m
j=1 を与える
超増加列とナップザック問題
a1, · · · , an ∈ N が超増加列
ai >
∑i−1
j=1 aj
超増加列を仮定すると、ナップザック問題
n∑
i=1
ai mi = c
は、c′ := c として、i = n, n − 1, · · · , 1 について、
{
c′ > ai =⇒ mi = 0
c′ ≥ ai =⇒ mi = 1, c′ := c′ − ai
を繰り返して、多項式時間で解ける
ナップザック暗号 (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
(超増加列のナップザック問題)
ナップザック暗号の解読 (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 困難でも条件を加えれば問題が簡単になるので、
多項式時間で解ける場合がある

Contenu connexe

Tendances

K2PC Div1 E 暗号化
K2PC Div1 E 暗号化K2PC Div1 E 暗号化
K2PC Div1 E 暗号化
Kazuma Mikami
 
情報オリンピック夏合宿発表
情報オリンピック夏合宿発表情報オリンピック夏合宿発表
情報オリンピック夏合宿発表
Kazuma Mikami
 
2018年度秋学期 応用数学(解析) 第4部・「その先の解析学」への導入 第12回 複素関数論(1) 複素関数・正則関数 (2018. 12. 11)
2018年度秋学期 応用数学(解析) 第4部・「その先の解析学」への導入 第12回 複素関数論(1) 複素関数・正則関数 (2018. 12. 11)2018年度秋学期 応用数学(解析) 第4部・「その先の解析学」への導入 第12回 複素関数論(1) 複素関数・正則関数 (2018. 12. 11)
2018年度秋学期 応用数学(解析) 第4部・「その先の解析学」への導入 第12回 複素関数論(1) 複素関数・正則関数 (2018. 12. 11)
Akira Asano
 

Tendances (20)

K2PC Div1 E 暗号化
K2PC Div1 E 暗号化K2PC Div1 E 暗号化
K2PC Div1 E 暗号化
 
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第5回 微分方程式とは・変数分離形 (2018. 10. 23)
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第5回 微分方程式とは・変数分離形 (2018. 10. 23)2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第5回 微分方程式とは・変数分離形 (2018. 10. 23)
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第5回 微分方程式とは・変数分離形 (2018. 10. 23)
 
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第8回 2階線形微分方程式(2) (2018. 11. 13)
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第8回 2階線形微分方程式(2) (2018. 11. 13)2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第8回 2階線形微分方程式(2) (2018. 11. 13)
2018年度秋学期 応用数学(解析) 第2部・基本的な微分方程式 第8回 2階線形微分方程式(2) (2018. 11. 13)
 
情報オリンピック夏合宿発表
情報オリンピック夏合宿発表情報オリンピック夏合宿発表
情報オリンピック夏合宿発表
 
2018年度秋学期 画像情報処理 第11回 逆投影法による再構成 (2018. 12. 21)
2018年度秋学期 画像情報処理 第11回 逆投影法による再構成 (2018. 12. 21)2018年度秋学期 画像情報処理 第11回 逆投影法による再構成 (2018. 12. 21)
2018年度秋学期 画像情報処理 第11回 逆投影法による再構成 (2018. 12. 21)
 
2018年度秋学期 応用数学(解析) 第4部・「その先の解析学」への導入 第12回 複素関数論(1) 複素関数・正則関数 (2018. 12. 11)
2018年度秋学期 応用数学(解析) 第4部・「その先の解析学」への導入 第12回 複素関数論(1) 複素関数・正則関数 (2018. 12. 11)2018年度秋学期 応用数学(解析) 第4部・「その先の解析学」への導入 第12回 複素関数論(1) 複素関数・正則関数 (2018. 12. 11)
2018年度秋学期 応用数学(解析) 第4部・「その先の解析学」への導入 第12回 複素関数論(1) 複素関数・正則関数 (2018. 12. 11)
 
漸化式と微分積分
漸化式と微分積分漸化式と微分積分
漸化式と微分積分
 
漸化式と微分積分
漸化式と微分積分漸化式と微分積分
漸化式と微分積分
 
Cosmology
CosmologyCosmology
Cosmology
 
公開鍵暗号(6): ナップザック暗号
公開鍵暗号(6): ナップザック暗号公開鍵暗号(6): ナップザック暗号
公開鍵暗号(6): ナップザック暗号
 
アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法
 
2018年度秋学期 画像情報処理 第3回 フーリエ変換とサンプリング定理 (2018. 10. 5)
2018年度秋学期 画像情報処理 第3回 フーリエ変換とサンプリング定理 (2018. 10. 5)2018年度秋学期 画像情報処理 第3回 フーリエ変換とサンプリング定理 (2018. 10. 5)
2018年度秋学期 画像情報処理 第3回 フーリエ変換とサンプリング定理 (2018. 10. 5)
 
Sinsa1234
Sinsa1234Sinsa1234
Sinsa1234
 
2021年度秋学期 画像情報処理 第11回 逆投影法による再構成 (2021. 12. 3)
2021年度秋学期 画像情報処理 第11回 逆投影法による再構成 (2021. 12. 3)2021年度秋学期 画像情報処理 第11回 逆投影法による再構成 (2021. 12. 3)
2021年度秋学期 画像情報処理 第11回 逆投影法による再構成 (2021. 12. 3)
 
Prml 4.3.6
Prml 4.3.6Prml 4.3.6
Prml 4.3.6
 
高速フーリエ変換
高速フーリエ変換高速フーリエ変換
高速フーリエ変換
 
2018年度秋学期 画像情報処理 第10回 Radon変換と投影定理 (2018. 12. 14)
2018年度秋学期 画像情報処理 第10回 Radon変換と投影定理 (2018. 12. 14)2018年度秋学期 画像情報処理 第10回 Radon変換と投影定理 (2018. 12. 14)
2018年度秋学期 画像情報処理 第10回 Radon変換と投影定理 (2018. 12. 14)
 
Matrix Multiplication in Strassen Algorithm
Matrix Multiplication in Strassen AlgorithmMatrix Multiplication in Strassen Algorithm
Matrix Multiplication in Strassen Algorithm
 
ベクトル空間と表現行列
ベクトル空間と表現行列ベクトル空間と表現行列
ベクトル空間と表現行列
 
ベクトル空間と表現行列
ベクトル空間と表現行列ベクトル空間と表現行列
ベクトル空間と表現行列
 

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

公開鍵暗号5: 離散対数問題
公開鍵暗号5: 離散対数問題公開鍵暗号5: 離散対数問題
公開鍵暗号5: 離散対数問題
Joe Suzuki
 
パターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムパターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズム
Miyoshi Yuya
 
公開鍵暗号6: 楕円曲線における離散対数問題
公開鍵暗号6: 楕円曲線における離散対数問題公開鍵暗号6: 楕円曲線における離散対数問題
公開鍵暗号6: 楕円曲線における離散対数問題
Joe Suzuki
 
公開鍵暗号4: 有限体
公開鍵暗号4: 有限体公開鍵暗号4: 有限体
公開鍵暗号4: 有限体
Joe Suzuki
 
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化
Miyoshi Yuya
 
Jokyonokai130531
Jokyonokai130531Jokyonokai130531
Jokyonokai130531
nwpmq516
 

Similaire à 公開鍵暗号3: ナップザック暗号 (20)

量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析
 
公開鍵暗号1: RSA暗号
公開鍵暗号1: RSA暗号公開鍵暗号1: RSA暗号
公開鍵暗号1: RSA暗号
 
ACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 E: 総和の切り取りACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 E: 総和の切り取り
 
公開鍵暗号5: 離散対数問題
公開鍵暗号5: 離散対数問題公開鍵暗号5: 離散対数問題
公開鍵暗号5: 離散対数問題
 
公開鍵暗号(1): RSA暗号
公開鍵暗号(1): RSA暗号公開鍵暗号(1): RSA暗号
公開鍵暗号(1): RSA暗号
 
University CodeSprint 4 - Magic value
University CodeSprint 4 - Magic valueUniversity CodeSprint 4 - Magic value
University CodeSprint 4 - Magic value
 
双対性
双対性双対性
双対性
 
逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎
 
パターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムパターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズム
 
公開鍵暗号6: 楕円曲線における離散対数問題
公開鍵暗号6: 楕円曲線における離散対数問題公開鍵暗号6: 楕円曲線における離散対数問題
公開鍵暗号6: 楕円曲線における離散対数問題
 
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
 
公開鍵暗号4: 有限体
公開鍵暗号4: 有限体公開鍵暗号4: 有限体
公開鍵暗号4: 有限体
 
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化
 
人工知能2018 強化学習の応用
人工知能2018 強化学習の応用人工知能2018 強化学習の応用
人工知能2018 強化学習の応用
 
JOIss2020 発表資料
JOIss2020 発表資料JOIss2020 発表資料
JOIss2020 発表資料
 
Image interpolation
Image interpolationImage interpolation
Image interpolation
 
NLPforml5
NLPforml5NLPforml5
NLPforml5
 
公開鍵暗号(5): NP困難性
公開鍵暗号(5): NP困難性公開鍵暗号(5): NP困難性
公開鍵暗号(5): NP困難性
 
公開鍵暗号(4): 楕円曲線における離散対数問題
公開鍵暗号(4): 楕円曲線における離散対数問題公開鍵暗号(4): 楕円曲線における離散対数問題
公開鍵暗号(4): 楕円曲線における離散対数問題
 
Jokyonokai130531
Jokyonokai130531Jokyonokai130531
Jokyonokai130531
 

Plus de Joe Suzuki

分枝限定法でモデル選択の計算量を低減する
分枝限定法でモデル選択の計算量を低減する分枝限定法でモデル選択の計算量を低減する
分枝限定法でモデル選択の計算量を低減する
Joe Suzuki
 
The Universal Measure for General Sources and its Application to MDL/Bayesian...
The Universal Measure for General Sources and its Application to MDL/Bayesian...The Universal Measure for General Sources and its Application to MDL/Bayesian...
The Universal Measure for General Sources and its Application to MDL/Bayesian...
Joe Suzuki
 

Plus de Joe Suzuki (20)

RとPythonを比較する
RとPythonを比較するRとPythonを比較する
RとPythonを比較する
 
R集会@統数研
R集会@統数研R集会@統数研
R集会@統数研
 
E-learning Development of Statistics and in Duex: Practical Approaches and Th...
E-learning Development of Statistics and in Duex: Practical Approaches and Th...E-learning Development of Statistics and in Duex: Practical Approaches and Th...
E-learning Development of Statistics and in Duex: Practical Approaches and Th...
 
分枝限定法でモデル選択の計算量を低減する
分枝限定法でモデル選択の計算量を低減する分枝限定法でモデル選択の計算量を低減する
分枝限定法でモデル選択の計算量を低減する
 
連続変量を含む条件付相互情報量の推定
連続変量を含む条件付相互情報量の推定連続変量を含む条件付相互情報量の推定
連続変量を含む条件付相互情報量の推定
 
E-learning Design and Development for Data Science in Osaka University
E-learning Design and Development for Data Science in Osaka UniversityE-learning Design and Development for Data Science in Osaka University
E-learning Design and Development for Data Science in Osaka University
 
UAI 2017
UAI 2017UAI 2017
UAI 2017
 
AMBN2017 サテライトワークショップ
AMBN2017 サテライトワークショップAMBN2017 サテライトワークショップ
AMBN2017 サテライトワークショップ
 
CRAN Rパッケージ BNSLの概要
CRAN Rパッケージ BNSLの概要CRAN Rパッケージ BNSLの概要
CRAN Rパッケージ BNSLの概要
 
Forest Learning from Data
Forest Learning from DataForest Learning from Data
Forest Learning from Data
 
A Bayesian Approach to Data Compression
A Bayesian Approach to Data CompressionA Bayesian Approach to Data Compression
A Bayesian Approach to Data Compression
 
A Conjecture on Strongly Consistent Learning
A Conjecture on Strongly Consistent LearningA Conjecture on Strongly Consistent Learning
A Conjecture on Strongly Consistent Learning
 
A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...
A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...
A Generalization of the Chow-Liu Algorithm and its Applications to Artificial...
 
A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...
A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...
A Generalization of Nonparametric Estimation and On-Line Prediction for Stati...
 
研究紹介(学生向け)
研究紹介(学生向け)研究紹介(学生向け)
研究紹介(学生向け)
 
Bayesian Criteria based on Universal Measures
Bayesian Criteria based on Universal MeasuresBayesian Criteria based on Universal Measures
Bayesian Criteria based on Universal Measures
 
MDL/Bayesian Criteria based on Universal Coding/Measure
MDL/Bayesian Criteria based on Universal Coding/MeasureMDL/Bayesian Criteria based on Universal Coding/Measure
MDL/Bayesian Criteria based on Universal Coding/Measure
 
The Universal Measure for General Sources and its Application to MDL/Bayesian...
The Universal Measure for General Sources and its Application to MDL/Bayesian...The Universal Measure for General Sources and its Application to MDL/Bayesian...
The Universal Measure for General Sources and its Application to MDL/Bayesian...
 
Universal Prediction without assuming either Discrete or Continuous
Universal Prediction without assuming either Discrete or ContinuousUniversal Prediction without assuming either Discrete or Continuous
Universal Prediction without assuming either Discrete or Continuous
 
Bayesian network structure estimation based on the Bayesian/MDL criteria when...
Bayesian network structure estimation based on the Bayesian/MDL criteria when...Bayesian network structure estimation based on the Bayesian/MDL criteria when...
Bayesian network structure estimation based on the Bayesian/MDL criteria when...
 

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

  • 1. 実験数学 3 (大阪大学理学部数学科 3 年・4 年) 第 3 回: ナップザック暗号 鈴木 譲 大阪大学 2013 年 4 月 25 日
  • 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, · · · , 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 個)
  • 3. ナップザック問題 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) 逆に、(2) が解 (zj )2m+2n j=1 をもてば、(1) の m + n 個の方程式を満 足し、3SAT で充足する (ui , ¯ui )n i=1, (vj,1, vj,2)m j=1 を与える
  • 4. 超増加列とナップザック問題 a1, · · · , an ∈ N が超増加列 ai > ∑i−1 j=1 aj 超増加列を仮定すると、ナップザック問題 n∑ i=1 ai mi = c は、c′ := c として、i = n, n − 1, · · · , 1 について、 { c′ > ai =⇒ mi = 0 c′ ≥ ai =⇒ mi = 1, c′ := c′ − ai を繰り返して、多項式時間で解ける
  • 5. ナップザック暗号 (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 (超増加列のナップザック問題)
  • 6. ナップザック暗号の解読 (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 困難でも条件を加えれば問題が簡単になるので、 多項式時間で解ける場合がある