公開鍵暗号(1): RSA暗号
Upcoming SlideShare
Loading in...5
×
 

公開鍵暗号(1): RSA暗号

on

  • 253 views

実験数学3 (大阪大学理学部数学科 3年・4年)

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

Statistics

Views

Total Views
253
Views on SlideShare
253
Embed Views
0

Actions

Likes
1
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

公開鍵暗号(1): RSA暗号 公開鍵暗号(1): RSA暗号 Presentation Transcript

  • 概要 はじめに ユークリッド互除法 RSA 暗号 安全性の根拠 暗号化の高速化 実験数学 3 (大阪大学理学部数学科 3 年・4 年) 第 1 回: RSA 暗号 鈴木 譲 2014 年 4 月 10 日 1 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 1 回: RSA 暗号
  • 概要 はじめに ユークリッド互除法 RSA 暗号 安全性の根拠 暗号化の高速化 概要 1 はじめに 2 ユークリッド互除法 3 RSA 暗号 4 安全性の根拠 5 暗号化の高速化 2 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 1 回: RSA 暗号
  • 概要 はじめに ユークリッド互除法 RSA 暗号 安全性の根拠 暗号化の高速化 公開鍵暗号 送信側 受信側 m 平文 -暗号化 f c := f (m) 暗号文 - 送信 -· · · - 受信 - c 暗号文 復号化 f −1 - m := f −1(c) 平文 暗号化 f 復号化 f −1 メリット 用途 共通鍵暗号 秘密 秘密 計算が高速 戦争 公開鍵暗号 公開 秘密 f から f −1 が インター 類推されにくい ネット   公開鍵暗号の例: RSA 暗号 (Rivest, Shamir, Adleman, 1976) 3 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 1 回: RSA 暗号
  • 概要 はじめに ユークリッド互除法 RSA 暗号 安全性の根拠 暗号化の高速化 ユークリッド互除法 Z: 整数全体 a, b, c ∈ Z, b ̸= 0 . 1 b|a def ⇐⇒ k ∈ Z s.t. bk = a . 2 a mod b = c def ⇐⇒ { b|(a − c) 0 ≤ c ≤ |b| − 1 . 3 (a, b) を a, b の最大公約数 > 0 として、 b|a =⇒ (a, b) = |b| a modb = c =⇒ { (a, b)|c (b, c)|a =⇒ { (a, b)|(b, c) (b, c)|(a, b) =⇒ (a, b) = (b, c) {ai }n i=1 :    a2 ̸= 0 ai mod ai+1 = ai+2 ̸= 0, i = 1, · · · , n − 2 an−1 mod an = 0 =⇒ (a1, a2) = · · · = (an−1, an) = an 4 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 1 回: RSA 暗号
  • 概要 はじめに ユークリッド互除法 RSA 暗号 安全性の根拠 暗号化の高速化 a = b = 0 でない =⇒ ∃x, y ∈ Z s.t. ax + by = (a, b) b = 0 のとき x = 1 が解になるので、b ̸= 0 を仮定して、 {ai }n i=1, {xi }n i=1, {yi }n i=1 を以下で定義: a1 := a, a2 := b, x1 := 1, y1 := 0, x2 := 0, y2 := 1 ax1 + by1 = a1 (1) ax2 + by2 = a2 (2) a3 := a1 mod a2, q := a1 − a3 a2 , x3 := x1 − qx2, y3 := y1 − qy2 ax3 + by3 = a3 (3) これをくりかえすと、 axn + byn = an = (a, b) 5 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 1 回: RSA 暗号
  • 概要 はじめに ユークリッド互除法 RSA 暗号 安全性の根拠 暗号化の高速化 b ̸= 0 のとき、同値関係 a ≡ c (mod b) def ⇐⇒ b|(a − c) a1 ≡ c1, a2 ≡ c2 (mod b) =⇒ a1 + a2 ≡ c1 + c2 (mod b) a1 ≡ c1, a2 ≡ c2 (mod b) =⇒ a1a2 ≡ c1c2 (mod b) b ̸= 0, (a, b) = 1 =⇒ ∃x ∈ Z s.t.ax ≡ 1(mod b) . (a, b) = 1 であれば、ax + by = 1 なる x, y ∈ Z が存在するから 6 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 1 回: RSA 暗号
  • 概要 はじめに ユークリッド互除法 RSA 暗号 安全性の根拠 暗号化の高速化 RSA 暗号: 鍵生成 公開鍵 (n, e) と秘密鍵 d の生成 . . . 各自が、それぞれの公開鍵 (n, e) を公開、秘密鍵 d を秘密に . 1 素数 p ̸= q を選ぶ . 2 n := pq, ϕ := (p − 1)(q − 1) . 3 (e, ϕ) = 1 なる e (mod ϕ) を選ぶ (1 ≤ e ≤ ϕ − 1) . 4 ex ≡ 1 (mod ϕ) なる x = d を選ぶ (1 ≤ d ≤ ϕ − 1) ed ≡ ed′ ≡ 1 (mod ϕ) =⇒ e(d − d′ ) ≡ 0 (mod ϕ) =⇒ d − d′ ≡ 0 (mod ϕ) k ∈ Z, ed ≡ 1 (mod ϕ) =⇒ e(d + kϕ) ≡ 1 (mod ϕ) 7 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 1 回: RSA 暗号
  • 概要 はじめに ユークリッド互除法 RSA 暗号 安全性の根拠 暗号化の高速化 RSA 暗号: 暗号化と復号化 平文 m ∈ [0, n − 1] を暗号化して、c := me mod n . . . 送信側は、受信側の公開鍵 (n, e) で平文 m を暗号化 長ければ、短いブロックに区切り、それぞれを n 通りの平文 送信側 受信側 m -暗号化 c := me mod n- 送信 -· · · - 受信 - c 復号化 - m = cd mod n (me )d ≡ m (mod n) 仮定: (n, e) → d の計算が膨大で、d はわからない 8 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 1 回: RSA 暗号
  • 概要 はじめに ユークリッド互除法 RSA 暗号 安全性の根拠 暗号化の高速化 Fermat の小定理: p: 素数, m ∈ Z (m ≥ 0) (m, p) = 1 =⇒ mp−1 ≡ 1 (mod p) 1 ≤ k ≤ p − 1 =⇒    k! ( p k ) = ∏p j=p−k+1 j ≡ 0 (mod p) k! ̸≡ 0 (mod p) =⇒ ( p k ) ≡ 0 (mod p) (c1 + c2)p − (cp 1 + cp 2 ) = p−1∑ k=1 ( p k ) ck 1 cp−k 2 ≡ 0 (mod p) 数学的帰納法で一般の m に拡張し、c1 = · · · = cm = 1 とおくと (1 + · · · + 1 m )p − (1p + · · · + 1p m ) ≡ 0 (mod p) m(mp−1 − 1) ≡ 0 (mod p) 9 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 1 回: RSA 暗号
  • 概要 はじめに ユークリッド互除法 RSA 暗号 安全性の根拠 暗号化の高速化 med ≡ m (mod n) ed ≡ 1 (mod ϕ) より、ed = 1 + kϕ なる整数 k が存在. 1 (m, p) = 1 であれば、Fermat の小定理から mp−1 ≡ 1 (mod p) m1+kϕ = m1+k(p−1)(q−1) = m · (mp−1 )k(q−1) ≡ m (mod p) med ≡ m (mod p) (4) . 2 (m, p) = p でも (4) は成立 p, q を入れ替えても (4) は成立する。 med ≡ m (mod q) p ̸= q より、(p, q) = 1 であるので、 med ≡ m (mod pq) 10 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 1 回: RSA 暗号
  • 概要 はじめに ユークリッド互除法 RSA 暗号 安全性の根拠 暗号化の高速化 安全性の根拠 RSA 暗号の安全性 . . . (n, e) → d は数学的に一意だが、計算量が膨大 商用の n は、n = 21024, 22048 程度 =⇒ 最速の計算機でも素因数分解に 10 年かかる   RSA 暗号を破るには 計算機で n = pq と因数分解できる =⇒ ϕ = (p − 1)(q − 1) が求まる =⇒ e の値とユークリッド互除法で d が求まる 大きな数 n の素因数分解 大きな数 n のオイラー数 ϕ の計算 現在の計算機で素因数分解が難しいことが、安全性の根拠 11 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 1 回: RSA 暗号
  • 概要 はじめに ユークリッド互除法 RSA 暗号 安全性の根拠 暗号化の高速化 参考: me mod n の高速化 再帰的に計算して、e ではなく、log2 e に比例する程度の計算 me mod n =    (me/2 mod )2 mod n (e : even, e ̸= 0) m · (m(e−1)/2 mod n)2 mod n (e : odd) 1 (e = 0) 12 / 12 実験数学 3, (大阪大学理学部数学科 3 年・4 年), 第 1 回: RSA 暗号