2

私は公開鍵と秘密鍵、そして解読したい文字列を持っています。

公開鍵の形式は次のとおりです。

-----BEGIN PUBLIC KEY-----
(key here)
-----END PUBLIC KEY-----

秘密鍵の形式は次のとおりです。

-----BEGIN RSA PRIVATE KEY-----
(key here)
-----END RSA PRIVATE KEY----- 

解読したい文字列は公開鍵を使用して暗号化されているため、秘密鍵を使用して解読する必要があります。

私はこれをどうやって行うのだろうと思っていました。

私はこれを調査してきましRSACryptoServiceProviderたが、暗号化/復号化では、キーがモジュラスと指数を備えた XML 形式であることを望んでいるようです。

私の質問は、私が持っているデータを使用してモジュラスと指数を使用して XML 形式を生成する方法があるか、または私が持っているデータを使用して文字列を復号化できる別の方法があるかどうかです。

4

2 に答える 2

1

証明書ではない秘密鍵/公開鍵を解析するには、RSA Public、Private、および PKCS #8 key parserを使用できます。必要に応じてキーを変換できるソース コードが用意されています。キーを変換したら、以下で参照されている Encrypt および Decrypt 関数を使用できます。

証明書がある場合は、X509Certificate2 コンストラクター (文字列)を使用して、ファイルから証明書とキーを読み込むことができます。X509Certificate2 をロードしたら、 と で暗号化キーを取得でき(RSACryptoServiceProvider)cert.PublicKey.Keyます(RSACryptoServiceProvider)cert.PrivateKey

MSDN のX509Certificate2 クラスドキュメントの例の Encrypt メソッドと Decrypt メソッドを使用します。暗号化されたデータの形式と、使用されている対称アルゴリズム (存在する場合) を把握し、必要に応じてコードを微調整する必要があります。

于 2012-10-11T19:43:02.973 に答える
0

これは pem 形式です。弾む城を (nuget 経由で) 使用して、秘密鍵を読み取り、それを使用して復号化できます。私はプロジェクト (google keyczarの c# 実装) を持っており、それを使用して keyczar キー セットを作成します。コードを参照してください: ImportedKeySet。重要なパラメータを気にしなくても、弾む城の API をそのまま使用して復号化すれば、作業は大幅に軽減されます。

復号化したい既存のデータがない場合は、keyczar フレームワークを使用できます。

于 2012-10-12T00:24:46.017 に答える