DOBON.NET DOBON.NETプログラミング掲示板過去ログ

RSA公開鍵の鍵長

  • 題名: RSA公開鍵の鍵長
  • 著者: smith
  • 日時: 2005/08/04 17:55:45
  • ID: 12065
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[Windows XP Pro SP2 VB.NET 2002 SP1 .NET Framework 1.0 SP3]
分類:[.NET]

http://dobon.net/vb/dotnet/string/rsaencryption.html

ここにあるとおりにRSA公開鍵を取得、それを元に暗号化しているのですが、
ここで取得できる公開鍵の鍵長は何ビットなのでしょうか。

<RSAKeyValue><Modulus>b6hk5bfoYn8mNT+tDV7gn8nh89gyunbhOnh8MUoMGIUn/gYNUftyFd5yv9Hmi8TMh8onmf6WcvuFtSv+sbf/YN5yn8Mh76mILMhoy8hN7tvYJTnguHGVNunkmnMYTBG4t5v6nmJKLfsjkfNM7G65mBFunMUh88LuKM8ynImmIm8=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>

取得してみたらこんな感じになったのですが、
<Modulus>と</Modulus>の間にある文字が172文字なので、
8×172で1376ビットでしょうか。
.NET Framework で取得すると1024ビットだというような話も聞いたのですが・・・

また、2048ビットなどへの鍵長の変更は可能でしょうか。
変更な場合、どのようにすれば良いのでしょうか。
■No12065に返信(smithさんの記事)
> http://dobon.net/vb/dotnet/string/rsaencryption.html
>
> ここにあるとおりにRSA公開鍵を取得、それを元に暗号化しているのですが、
> ここで取得できる公開鍵の鍵長は何ビットなのでしょうか。
>
> 取得してみたらこんな感じになったのですが、
> <Modulus>と</Modulus>の間にある文字が172文字なので、
> 8×172で1376ビットでしょうか。
> .NET Framework で取得すると1024ビットだというような話も聞いたのですが・・・

デフォルトでは1024のようです。バイナリを文字列に直すとビット数が増えるのは、仕方のないことです。

> また、2048ビットなどへの鍵長の変更は可能でしょうか。
> 変更な場合、どのようにすれば良いのでしょうか。

RSACryptoServiceProviderのコンストラクタで指定できるのではないかと思います。
  • 題名: Re[2]: RSA公開鍵の鍵長
  • 著者: smith
  • 日時: 2005/08/05 23:15:01
  • ID: 12091
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
> デフォルトでは1024のようです。バイナリを文字列に直すとビット数が増えるのは、仕方のないことです。

やはり1024ビットでしたか・・・
バイナリから変換していることを理解していませんでした。

> RSACryptoServiceProviderのコンストラクタで指定できるのではないかと思います。

RSACryptoServiceProviderコンストラクタについて調べてみたところ、
Tipsのプログラムだとパラメータしか指定していませんでしたが、
パラメータの前にInteger型で鍵長を直接指定できることが分かりました。

1024を指定すると省略した場合と同じになり、2048を指定したところ2倍になりました。
ただ、さすがに2048ともなると生成にも暗号化にも復号化にもかなり時間がかかりますね。
暗号化されたデータ量もすごいことになるので、実際に2048を採用するかは考えものです。
ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板