0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

#0032(2024/02/02)RSA暗号とは?

Last updated at Posted at 2025-02-02

RSA 暗号とは?

RSA 暗号は、公開鍵暗号方式 の一種で、1977年に Ron Rivest、Adi Shamir、Leonard Adleman によって考案されました。
その名前は、3人の発明者の名字の頭文字(Rivest, Shamir, Adleman)に由来しています。

基本概念

  • 公開鍵と秘密鍵のペア

    • 公開鍵:誰でも利用できる鍵。暗号化に使われる。
    • 秘密鍵:鍵の持ち主だけが知っている鍵。復号に使われる。
  • 非対称暗号方式
    一方の鍵で暗号化したデータは、もう一方の鍵でのみ復号できる仕組みです。

RSA の仕組み

RSA 暗号では、主に以下の3つのステップで鍵の生成、暗号化、復号が行われます。

1. 鍵の生成

  1. 大きな素数 p と q を選ぶ
    秘密にされる2つの大きな素数を用意します。

  2. n の計算
    n = p * q
    ここで求められた n は、公開鍵と秘密鍵の両方で使われるモジュラス(法)となります。

  3. オイラーの φ 関数の計算
    φ(n) = (p - 1) * (q - 1)

  4. 公開指数 e の選定
    e1 < e < φ(n) の範囲で、かつ eφ(n) が互いに素(最大公約数が1)である必要があります。
    よく使われる値は e = 65537 です。

  5. 秘密指数 d の計算
    de * d ≡ 1 (mod φ(n)) を満たす値、すなわち e の逆元として計算されます。

これにより生成される鍵は、

  • 公開鍵: (n, e)
  • 秘密鍵: (n, d)

2. 暗号化

送信者は、受信者の公開鍵 (n, e) を用いて、メッセージ M を暗号化します。
暗号文 C は以下の式で求められます:

C = M^e mod n

※ここで、M は暗号化可能な形(通常は数値に変換)に変換されたメッセージです。

3. 復号

受信者は、自身の秘密鍵 (n, d) を使い、暗号文 C を復号して元のメッセージ M を取り出します。
復号の式は以下の通りです:

M = C^d mod n

この計算により、元のメッセージ M が正しく復元されます。

RSA の安全性

RSA 暗号の安全性は、大きな整数の素因数分解が非常に困難であるという数学的な性質に基づいています。
具体的には、n = p * qn を構成する素因数 pq を求めることが、現代の計算技術では非常に時間がかかる(実質的に不可能に近い)ため、秘密鍵が守られるとされています。

また、鍵の長さ(通常は2048ビット以上)が安全性に直結するため、十分なビット数の鍵が推奨されています。

RSA の応用例

  • SSL/TLS
    インターネット上の安全な通信(HTTPSなど)で、セッション鍵の交換に使われます。

  • 電子署名
    デジタル署名を生成することで、送信者の認証やデータの改ざん防止に利用されます。

  • 暗号化メール
    公開鍵暗号を利用してメール内容の機密性を保つシステムで使用されます。

まとめ

RSA 暗号は、公開鍵と秘密鍵を用いる非対称暗号方式で、以下の特徴があります:

  • 安全性:大きな整数の素因数分解が困難なため、高いセキュリティが実現される。
  • 鍵のペア:一方の鍵で暗号化し、もう一方の鍵でのみ復号できる仕組み。
  • 応用範囲の広さ:インターネットのセキュリティ、電子署名、暗号化メールなど、多岐にわたる用途で利用されている。

このように、RSA 暗号は現代の情報セキュリティにおいて非常に重要な役割を果たしています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?