1 / 78

情報セキュリティ特論( 4 )

情報セキュリティ特論( 4 ). 黒澤 馨 (茨城大学) kurosawa@mx.ibaraki.ac.jp. 演習. m 2 ). ( m 1 ,. E_K. E_K. Tag. CBC-MAC について、以下の M=(m 1 , m 2 ), Tag を基に、偽造せよ。. E k. E k. E k. E k. m 2. m 2 ). ( m 1 ,. m 1 + Tag. m 1. Tag. Tag. 共通鍵暗号系. 鍵 k. 暗号化 アルゴリズム E. 復号 アルゴリズム D. 暗号文 C. 平文 m. m.

Download Presentation

情報セキュリティ特論( 4 )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 情報セキュリティ特論(4) 黒澤 馨 (茨城大学) kurosawa@mx.ibaraki.ac.jp confidential

  2. 演習 m2) (m1, E_K E_K Tag CBC-MACについて、以下の M=(m1, m2), Tagを基に、偽造せよ。 confidential

  3. Ek Ek Ek Ek m2 m2) (m1, m1+Tag m1 Tag Tag confidential

  4. 共通鍵暗号系 鍵 k 暗号化 アルゴリズム E 復号 アルゴリズム D 暗号文 C 平文m m 敵 解読したい confidential

  5. どうやって、鍵Kを共有? 鍵 k 暗号化 アルゴリズム E 復号 アルゴリズム D 暗号文 C 平文m m 敵 解読したい confidential

  6. 公開鍵暗号系 暗号化の鍵Pkを公開 暗号化 アルゴリズム E 復号 アルゴリズム D 暗号文 C 平文m m 復号鍵Skは秘密 confidential

  7. mod 5 において mod 7 において ・・・ confidential

  8. p が素数のとき フェルマーの定理 confidential

  9. 共通鍵暗号系 • Pohlig-Hellman暗号 共通鍵 素数 p 及び ed = 1 mod (p-1) となる (e,d) 共通鍵 共通鍵 p,e,d p,e,d 暗号化 アルゴリズム 復号 アルゴリズム p,e,平文 m confidential

  10. フェルマーの定理より =1 confidential

  11. 共通鍵暗号系 • Pohlig-Hellman暗号 共通鍵 素数 p 及び ed = 1 mod (p-1) となる (e,d) 11= 3= 7= 10= 例:m=3,e=3,d=7,p=11の場合 p,e p,d 11= =3 11= =7 3= 暗号化 アルゴリズム 復号 アルゴリズム p,e,平文 m confidential

  12. 共通鍵暗号系 • Pohlig-Hellman暗号 共通鍵 素数 p 及び ed = 1 mod (p-1) となる (e,d) 共通鍵 共通鍵 p,e,d p,e,d 暗号化 アルゴリズム 復号 アルゴリズム p,e,平文 m confidential

  13. 共通鍵暗号系 • Pohlig-Hellman暗号 共通鍵 素数 p 及び ed = 1 mod (p-1) となる (e,d) 共通鍵 共通鍵 X p,e,d p,e,d X X 暗号化 アルゴリズム 復号 アルゴリズム p,e,平文 m confidential

  14. 公開鍵方式にすると • Pohlig-Hellman暗号 共通鍵 素数 p 及び ed = 1 mod (p-1) となる (e,d) 公開鍵 秘密鍵 p,e d 暗号化 アルゴリズム 復号 アルゴリズム p,e,平文 m confidential

  15. 公開鍵暗号にすると 敵は、秘密鍵d を計算できる • Pohlig-Hellman暗号 共通鍵 素数 p 及び ed = 1 mod (p-1) となる (e,d) 公開鍵 秘密鍵 p,e, d 暗号化 アルゴリズム 復号 アルゴリズム p,e,平文 m 敵 confidential

  16. 素因数分解 • p,qから、N=pqを計算するのは簡単 • N(=pq)を素因数分解するのは困難 • |N|=1024ビットのとき、10億年 confidential

  17. 公開鍵暗号系 • RSA暗号 (鍵生成アルゴリズム) 512ビットの素数 p,q をランダムに生成 N = pq とおく ed = 1 mod (p-1)(q-1) となる (e,d) を求める 公開鍵 N(=pq),e 秘密鍵 d 暗号化 アルゴリズム 復号 アルゴリズム 平文 m confidential

  18. RSA暗号 公開鍵 N(=pq),e 秘密鍵 d 暗号化 アルゴリズム 復号 アルゴリズム 平文 m 敵 p,qを求めることはできない ed = 1 mod (p-1)(q-1) 敵は、(p-1)(q-1)を計算できない よって、敵はdがわからない confidential

  19. フェルマーの定理より =1 confidential

  20. 同様に p,q は互いに素なので confidential

  21. 同様に p,q は互いに素なので 互いに素でない confidential

  22. 同様に p,q は互いに素なので 互いに素でない 互いに素 素因数 confidential

  23. RSA暗号 • 公開鍵 : N ( =pq ), e • 秘密鍵 : dただし ed = 1 mod (p-1)(q-1) • 平 文 : M • 暗号文 : • 復 号 : confidential

  24. RSA暗号 • 公開鍵 : N ( =pq ), e • 秘密鍵 : dただし ed = 1 mod (p-1)(q-1) • このようなdをどう求めるか? confidential

  25. (問題) 7x = 1 mod 10 を解け 10= 7= ユークリッド アルゴリズム a,b gcd(a,b) =1 confidential

  26. (問題) 7x = 1 mod 10 を解け 10= 7= 拡張 ユークリッド アルゴリズム a,b 10 7 1 ax + by = gcd(a,b) となる(x,y) =2 =3 - confidential

  27. (問題) 7x = 1 mod 10 を解け 10= 7= 拡張 ユークリッド アルゴリズム a,b 10 7 1 ax + by = gcd(a,b) となる(x,y) =2 =3 - 両辺の mod 10 をとる 7y = 1 mod 10 =3 confidential

  28. (問題) 7x = 1 mod 10 を解け 10= 7= 拡張 ユークリッド アルゴリズム a,b 10 7 1 ax + by = gcd(a,b) となる(x,y) =2 =3 - 両辺の mod 10 をとる 7y = 1 mod 10 =3 3= ∴ 7x = 1 mod 10 confidential

  29. ユークリッドアルゴリズム 10 = 7 × 1 ・・・ 3 7 = 3 × 2 ・・・ 1 3 = 1 × 3 ・・・ 0 confidential

  30. ユークリッドアルゴリズム 10 = 7 × 1 ・・・ 3 gcd(10,7) = gcd(7,3) を証明する。 7 = 3 × 2 ・・・ 1 3 = 1 × 3 ・・・ 0 = gcd(10,7) confidential

  31. (10,7)の 公約数 (10,7)の公約数は (7,3)の公約数の 部分集合であることを証明 ・ d1 (7,3)の公約数 ① d1 が (10,7) の公約数と仮定すると ② 10 = 7 × 1 + 3 confidential

  32. (10,7)の 公約数 (10,7)の公約数は (7,3)の公約数の 部分集合であることを証明 ・ d1 (7,3)の公約数 ① d1 が (10,7) の公約数と仮定すると ② 10 = 7 × 1 + 3 d1は割り切る d1は割り切る confidential

  33. (10,7)の 公約数 (10,7)の公約数は (7,3)の公約数の 部分集合であることを証明 ・ d1 (7,3)の公約数 ① d1 が (10,7) の公約数と仮定すると ② 10 = 7 × 1 + 3 d1は両方割り切る d1は割り切る d1は割り切る confidential

  34. (10,7)の 公約数 (10,7)の公約数は (7,3)の公約数の 部分集合であることを証明 ・ d1 (7,3)の公約数 ① d1 が (10,7) の公約数と仮定すると ② 10 = 7 × 1 + 3 ③ d1 は (7,3) の公約数 d1は両方割り切る d1は割り切る d1は割り切る confidential

  35. (10,7)の 公約数 ・ d2 左図の様ならば、 同様に①~③より d2は(7,3)の公約数 (7,3)の 公約数 ・ d1 confidential

  36. (10,7)の 公約数 ・ d2 つまり、(10,7)の公約数の集合は (7,3)の公約数の集合の部分集合 でなければならない ・ d1 (7,3)の公約数 confidential

  37. (7,3)の 公約数 ・ d 次に、(7,3)の公約数は (10,7)の公約数の 部分集合であることを証明 (10,7)の 公約数 confidential

  38. (7,3)の 公約数 ① d が (7,3) の公約数と仮定すると ② 10 = 7 × 1 + 3 ・ d dは割り切る dは割り切る (10,7)の 公約数 confidential

  39. (7,3)の 公約数 ① d が (7,3) の公約数と仮定すると ② 10 = 7 × 1 + 3 よって ③ d は (10,7) の公約数 ・ d dは割り切る dは割り切る (10,7)の 公約数 dは両方割り切る confidential

  40. (7,3)の 公約数 ・ d つまり、(7,3)の公約数の集合は (10,7)の公約数の集合の部分 集合である (10,7)の公約数 confidential

  41. { (10,7)の公約数 } ⊆ { (7,3)の公約数 } (2) { (10,7)の公約数 } ⊇ { (7,3)の公約数 } よって { (10,7)の公約数 } ={ (7,3)の公約数 } ゆえに gcd(10,7) = gcd(7,3) confidential

  42. 定理 a = q・b + c のとき gcd(a,b) = gcd(b,c) (証明) (1) { (a,b)の公約数 } ⊆ { (b,c)の公約数 } (2) { (a,b)の公約数 } ⊇ { (b,c)の公約数 } よって { (a,b)の公約数 } ={ (b,c)の公約数 } ゆえに gcd(a,b) = gcd(b,c) confidential

  43. ユークリッドアルゴリズム 10 = 7 × 1 ・・・ 3 gcd(10,7) = gcd(7,3) 7 = 3 × 2 ・・・ 1 gcd(7,3) = gcd(3,1) = 1 3 = 1 × 3 ・・・ 0 = gcd(10,7) confidential

  44. 10 = 10×1 + 7×0 7 = 10×0 + 7×1 • 拡張ユークリッドアルゴリズム 10 = 7 × 1 ・・・ 3 7 = 3 × 2 ・・・ 1 3 = 1 × 3 ・・・ 0 3 = 10×1 + 7×(-1) 1 = 10×(-2) + 7×3 gcd(10,7) x y = gcd(10,7) confidential

  45. (問題) 7x = 1 mod 10 を解け 10= 7= 拡張 ユークリッド アルゴリズム a,b 10 7 1 ax + by = gcd(a,b) となる(x,y) =2 =3 - 両辺の mod 10 をとる 7y = 1 mod 10 =3 3= ∴ 7x = 1 mod 10 confidential

  46. RSA暗号 • 公開鍵 : N ( =pq ), e • 秘密鍵 : dただし ed = 1 mod (p-1)(q-1) • このようなdをどう求めるか? confidential

  47. p = 素数のとき 0 < a < p なる任意の a に対し gcd(p,a) = 1  よって px + ay = 1 となる(x,y)が存在 a y = 1 mod p 例: p = 5 のとき gcd(5,1) = 1 gcd(5,2) = 1 gcd(5,3) = 1 gcd(5,4) = 1 = 乗法逆元: confidential

  48. すなわち 0 < a < p なる任意の a に対し mod p における乗法逆元が存在する 例:mod 5 において 1×1 = 1 mod 5 2×3 = 1 〃 3×2 = 1 〃 4×4 = 1 〃 乗法逆元 confidential

  49. (問) 2x = 3 mod 5 を解け confidential

  50. (問) 2x = 3 mod 5 を解け • (解) confidential

More Related