3

M、Exponent、および RSA パラメータの D コンポーネントが提供されており、C#.NET でそれを使用してデータを暗号化しようとしています。公開鍵の一部として、これらのコンポーネントのどれがデータを暗号化するために必要なのか疑問に思っていましたか? また、指数は基数 16 で 10001 です。C# で RsaParameters.Exponent パラメータを何に設定すればよいですか? その数値を正確に解釈して、バイト配列である Exponent に配置する方法がわかりません。コンポーネントは、16 進法で偶数の長さである必要はありませんか?

ありがとう。

4

2 に答える 2

4
RSAParameters rsaKeyInfo = new RSAParameters
{
   Exponent = new byte[] {1, 0, 1},
   ...
};

using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
    rsa.ImportParameters(rsaKeyInfo);
    rsa.Decrypt(...)
}
于 2013-01-30T20:05:37.570 に答える
2

コードのサンプルを次に示します 。したがって、指数を 65537 のバイト表現 (基数 16 で 10001) に設定する必要があります。でどのように機能するかはよくわかりませんがRSACryptoServiceProvider、OpenSSL を使用している場合、これBitConverter.GetBytes(65537)は悪い考えです。したがって、MSDN の例に書かれている方法のままにしておく方がよいと思います。{1, 0, 1, 0}{1, 0, 1}

byte[] Exponent = {1,0,1};
于 2012-06-17T01:22:07.663 に答える