• 検索結果がありません。

前回 : 素数判定・素因数分解のアルゴリズム

N/A
N/A
Protected

Academic year: 2024

シェア "前回 : 素数判定・素因数分解のアルゴリズム"

Copied!
23
0
0

読み込み中.... (全文を見る)

全文

(1)

前回 : 素数判定・素因数分解のアルゴリズム

素数判定

? Fermat テスト

? Agrawal-Kayal-Saxena

多項式時間アルゴリズム

素因数分解

(多項式時間アルゴリズムは知られていない)

? 二次篩法

? 数体篩法 等々

(2)

素因数分解問題の高速なアルゴリズムの発見

RSA 暗号の解読

しかし、逆は真とは限らない

(解読には色々な方法があり得る)

「何で負けても負けは負け」

(3)

素因数分解問題の高速なアルゴリズムの発見

RSA 暗号の解読

しかし、逆は真とは限らない

(解読には色々な方法があり得る)

「何で負けても負けは負け」

(4)

代表的な公開鍵暗号方式

RSA 暗号 (Rivest-Shamir-Adleman)

Diffie-Hellman 鍵共有

ElGamal 暗号

→ 離散対数問題の利用

(5)

代表的な公開鍵暗号方式

RSA 暗号 (Rivest-Shamir-Adleman)

Diffie-Hellman 鍵共有

ElGamal 暗号

→ 離散対数問題の利用

(6)

離散対数問題 (Discrete Logarithm Problem) p : 素数

g Z を 1 つ取って固定 a を与えたとき、

x ga (mod p) の計算は容易だったが、逆に、

問題 : x を与えたとき、

gax (mod p)

を満たす a を見出せ。

(7)

離散対数問題 (Discrete Logarithm Problem) p : 素数

g Z を 1 つ取って固定 a を与えたとき、

x ga (mod p) の計算は容易だったが、逆に、

問題 : x を与えたとき、

gax (mod p)

を満たす a を見出せ。

(8)

Diffie-Hellman 鍵共有 (key-exchange) 離散対数問題(DLP)の困難さを利用して、

公開通信路で秘密裡に鍵共有を行なう方式 p : 素数

1Kp−1 なる整数 KZ の一つを

公開通信路で秘密裡に共有したい p と互いに素な整数 gZ を 1 つ取って固定 (gmodp の位数が充分大きいように選んでおく) A, B 両者が ランダム かつ 秘密裡に

それぞれ a, b を選ぶ

(9)

Diffie-Hellman 鍵共有 (key-exchange) 離散対数問題(DLP)の困難さを利用して、

公開通信路で秘密裡に鍵共有を行なう方式 p : 素数

1Kp−1 なる整数 KZ の一つを

公開通信路で秘密裡に共有したい p と互いに素な整数 gZ を 1 つ取って固定 (gmodp の位数が充分大きいように選んでおく) A, B 両者が ランダム かつ 秘密裡に

それぞれ a, b を選ぶ

(10)

Diffie-Hellman 鍵共有 (key-exchange) 離散対数問題(DLP)の困難さを利用して、

公開通信路で秘密裡に鍵共有を行なう方式 p : 素数

1Kp−1 なる整数 KZ の一つを

公開通信路で秘密裡に共有したい p と互いに素な整数 gZ を 1 つ取って固定 (gmodp の位数が充分大きいように選んでおく) A, B 両者が ランダム かつ 秘密裡に

それぞれ a, b を選ぶ

(11)

Diffie-Hellman 鍵共有 (key-exchange)

A B

(secret) a

A=g mod p a B=g mod p b

B b

(secret) A

K=B mod p a K=A mod p b K=g mod p

p,g: public

ab

(12)

Diffie-Hellman 鍵共有 (key-exchange)

A B

(secret) a

A=g mod p a B=g mod p b

B b

(secret) A

K=B mod p a K=A mod p b K=g mod p

p,g: public

ab

(13)

Diffie-Hellman 鍵共有 (key-exchange)

A B

(secret) a

A=g mod p a B=g mod p b

B b

(secret) A

K=B mod p a K=A mod p b K=g mod p

p,g: public

ab

(14)

Diffie-Hellman 鍵共有 (key-exchange)

A B

(secret) a

A=g mod p a B=g mod p b

B b

(secret) A

K=B mod p a K=A mod p b K=g mod p

p,g: public

ab

(15)

Diffie-Hellman 鍵共有 (key-exchange)

A B

(secret)a

A=g mod pa B=g mod pb

B b

(secret) A

K=B mod pa K=A mod pb K=g mod p

p,g: public

ab

(p, g, A, B) が判っても a, b が判らない (DLP)

→ 秘密鍵 K の共有が可能 !!

(16)

ElGamal 暗号 (ElGamal encryption system) 離散対数問題(DLP)を利用し、

乱数を用いた暗号方式 p : 素数

p と互いに素な整数 gZ を 1 つ取って固定 (gmodp の位数が充分大きいように選んでおく) 平文 Mmodp を A から B へ送りたい

(17)

ElGamal 暗号 (ElGamal encryption system) (p, g) : 公開鍵

Mmodp : 平文

受信者 B が b を ランダム かつ 秘密裡に 選ぶ

→ B:=gbmodp を公開 送信者 A が a を ランダム かつ 秘密裡に 選ぶ

→ A:= gamodp, C:= BaMmodp を送信 受信者 B は M= (Ab)−1Cmodp によって復号

(18)

ElGamal 暗号 (ElGamal encryption system) (p, g) : 公開鍵

Mmodp : 平文

受信者 B が b を ランダム かつ 秘密裡に 選ぶ

→ B:=gbmodp を公開 送信者 A が a を ランダム かつ 秘密裡に 選ぶ

→ A:= gamodp, C:= BaMmodp を送信 受信者 B は M= (Ab)−1Cmodp によって復号

(19)

ElGamal 暗号 (ElGamal encryption system)

平文 M → 暗号文 (A, C)

送信データ長が 2 倍 (メッセージ膨張)

乱数により、同じ文書が毎回異なる暗号化

(20)

疑似乱数(pseudorandom number) 充分ランダムに 見える 長い周期の数列を

発生させるアルゴリズム

“Mersenne Twister” (松本-西村、松本-斎藤)

· · · 現在、事実上最強のアルゴリズム

MT19937:

? 極めて長周期 (周期 219937−1)

? 極めてランダム (623 次元均等分布)

? 極めて高速

本来は Monte-Carlo simulation

暗号には適切なハッシュ関数と組合わせる

(21)

疑似乱数(pseudorandom number) 充分ランダムに 見える 長い周期の数列を

発生させるアルゴリズム

“Mersenne Twister” (松本-西村、松本-斎藤)

· · · 現在、事実上最強のアルゴリズム

MT19937:

? 極めて長周期 (周期 219937−1)

? 極めてランダム (623 次元均等分布)

? 極めて高速

本来は Monte-Carlo simulation

暗号には適切なハッシュ関数と組合わせる

(22)

疑似乱数(pseudorandom number) 充分ランダムに 見える 長い周期の数列を

発生させるアルゴリズム

“Mersenne Twister” (松本-西村、松本-斎藤)

· · · 現在、事実上最強のアルゴリズム

MT19937:

? 極めて長周期 (周期 219937−1)

? 極めてランダム (623 次元均等分布)

? 極めて高速

本来は Monte-Carlo simulation

暗号には適切なハッシュ関数と組合わせる

(23)

離散対数問題を利用した方式は

他の有限アーベル群でも可能

有限体上の楕円曲線の有理点の群

(楕円曲線暗号)

有限体上の超楕円曲線のJacobianの有理点の群 (超楕円曲線暗号)

代数体のideal類群

参照

関連したドキュメント

光計算の中でも、本研究では、光学的干渉における、明線

本研究では遺伝アルゴリズムを用いて NQueen 問題 の全解探索にあたる。しかしながら、 NQueen

分散遺伝的アルゴリズム(Distributed Genetic Algorithm: DGA)は母集団を複数の

②  RSA(Rivest Shamir Adelman) は、代表的な公開鍵暗号方式であり、代表的な共 通鍵暗号方式の DES(Data Encryption Standard) と比較して処理の負荷が重い。.

ムの再評価を行い,その適切な実装方法を示す.そして, 適切な実装がなされた

次章で導入する連分数アルゴリズムは, \mathb {Q}_{p} の高々2次の代数的な元の展開を,以 されている

{shingo. また, ユークリッドのアルゴリズムを用いた RSA 暗号における分散復号アルゴリズムを示す. 中でも Frankel ら [FGMY971

本論文では特異値分解の代りに Rank Revealing $\mathrm{Q}\mathrm{R}$ 分解