RSA

2022-07-24 (日) 11:18:50

RSA とは

名称

  • Rivest Shamir Adleman

概要

  • MITの技術者3人(Rivest, Shamir, Adleman)がDH鍵共有の考えをベースに開発した公開鍵暗号方式
  • 桁数の大きな数の素因数分解の困難性を利用することで安全性を確保している
  • 実用的な公開鍵暗号方式として最初に公開された方式。
  • 比較的少ないデータ量のデータの暗号化に使われる。
  • 鍵の長さ:1024bitまたは2048bit(2048bitが推奨)
    • 2048bitのRSAより、256bitのECCの方が安全と言われている

RSAの方式

  • RSA-OAEP

RSAの仕組み

鍵ペア(暗号鍵と復号鍵)の作成手順

  1. Nを求める
    • 大きな2つの素数を生成して掛け合わせる
  2. Lを求める
    • 生成した2つの素数を-1した値の最小公倍数
  3. Eを求める ※暗号鍵が作成できる状態になる
    • EとLの関係(1<E<L、EとLの最大公約数が1)を条件にEを生成する
  4. Dを求める ※復号鍵が作成できる状態になる
    • DとEとLの関係(1<D<L、E * D mod 1=1)を条件にDを生成する

鍵ペアを使った暗号化と復号

  • 暗号化
    • 暗号文 = 平文 ^ E mod N
      • E: Encryption
      • N: Number
    • 暗号鍵: (E,N)
  • 復号
    • 平文 = 暗号文 ^ D mod N
      • D: Decryption
      • N: Number
    • 復号鍵: (D,N)

RSAの用途

鍵の生成・使用(カッコ内は順番)

暗号鍵復号鍵
鍵ペア生成生成(1)生成(2)
鍵の使用暗号化(1)復号(2)

用途

暗号鍵復号鍵
公開鍵暗号公開鍵秘密鍵
デジタル署名秘密鍵(署名鍵)公開鍵(検証鍵)

関連サイト

関連用語