-1

RSA 暗号化ファイルがあり、.NET で C# を使用して復号化したい

私はフォールを持っています。復号化する(1024 ビット enc)メッセージ (暗号文)のパラメーター

  • 係数
  • 公開指数
  • プライベート指数
  • 素数 p
  • プライムq
  • 素数 p
  • 素数指数 q
  • CRT係数

暗号文はHEX形式です

メッセージを復号化するための CRT メソッドは知っていますが、その使用方法が明確ではありません

m1 = (ciphertext ^ dP) Mod P
m2 = (ciphertext ^ dQ) Mod Q
h = (qInv * (m1 - m2)) Mod P
m = m2 + (h * Q)

foll名前空間を使用して復号化を実行してみました

System.Security.Cryptography

復号化を扱うのはこれが初めてなので、誰かが復号化を達成するためのサンプルコードを手伝ってくれませんか?

利用可能な API はありますか? パラメータを渡すだけで、目的の出力が得られます。

4

2 に答える 2

2

はい、System.Security.Cryptography名前空間を使用できます。MSDN リファレンスいくつかの例については、 MSDN ライブラリをもう少し深く掘り下げてください。たとえば、ここにRSACryptoServiceProviderの例があります。

于 2011-11-29T12:48:53.560 に答える
0

最初にRSAParameters構造を作成し、独自の RSA パラメータを入力します。次に、インスタンスを作成し、以前に定義したパラメーターRSACryptoServiceProviderを呼び出します。その時点で、OAEP パディングを使用して (または使用せずに) データImportParametersを呼び出すことができるはずです。Decrypt

次のようなものです:

RSAParameters p = new RSAParameters ();
p.D = d;
// ... all parameters
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider ();
rsa.ImportParameters (p);
byte[] decrypted = rsa.Decrypt (encrypted, false);
于 2011-11-29T12:59:43.283 に答える