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.

Summer seminar

586 views

Published on

JOI夏季セミナー2012での発表

  • Be the first to comment

Summer seminar

  1. 1. RSA PUBLIC-KEYCRYPTOSYSTEM 杉本 英太 (@__int)
  2. 2. RSA暗号とは• 公開 暗号の一方式• 素因数分解の難しさが安全性の根拠
  3. 3. 公開 暗号方式Bob Alice 通信経路M M Eve M
  4. 4. 公開 暗号方式Bob C = PA(M) M = SA(C) AliceM PA SA M 暗号化 復号 Eve C
  5. 5. 公開 暗号方式• AliceがPA, SAを生成, PAは公開• Bobが C = PA(M) を作成, Aliceに送信• Aliceが M = SA(C) で復号 •M = SA(PA(M))
  6. 6. 暗号以外にも• 電子署名として利用できる• 電子文書の同一性を保証
  7. 7. 電子署名 M = PA(σ)? σ = SA(M)Alice Bob SA PA σ M = M (M, σ) M 署名 検証
  8. 8. RSAでは• P(x) = xe (mod n)• S(x) = xd (mod n) • ed ≡ 1 (mod φ(n))• 公開 P = (e, n)• 秘密 Q = (d, n)
  9. 9. 生成手順 (前半)• 素数 p, q をとる•n = pq を計算• φ(n) = 1..n のうち n と互いに素な数の総数 • ここではφ(n) = (p-1)(q-1)• φ(n) と互いに素な奇数 e をとる
  10. 10. 生成手順 (後半)• ed ≡ 1 (mod φ(n)) なる d をとる • この d は一意に決定できる • 拡張ユークリッド互除法 (後述)
  11. 11. P(S(M)) = M の証明 Mφ(n) ≡ 1 (mod n) S(P(M)) = Med = Med-1×M ≡ M (mod n)
  12. 12. 拡張ユークリッド互除法• extended-euclid(a, b) = (g, x, y) • ただし g = gcd(a, b), ax+by = g•d ≡ extended-euclid(e, φ(n))[1] (mod φ(n)) • ed + yφ(n) = 1
  13. 13. 素因数分解とRSA•n が pq に素因数分解できれば復号できる •→ 素因数分解ができれば RSA は解かれてしまう • 逆は証明されていない
  14. 14. 通信の様子
  15. 15. ご清聴ありがとうございました

×