私はオンラインでたくさんの検索をしましたが、RSA公開鍵と秘密鍵暗号の疑問に悩まされました。C#の公開鍵のRSAは秘密鍵と同じですか?
私はMSDNサイトをチェックすると、私はこの
RSACryptoServiceProvider rsaEncryptDecrypt = new RSACryptoServiceProvider();
byte[] privateKeyByte = rsaEncryptDecrypt.ExportParameters(true).Modulus;
byte[] publicKeyByte = rsaEncryptDecrypt.ExportParameters(false).Modulus;
string privateKey = Convert.ToBase64String(privateKeyByte);
string publicKey = Convert.ToBase64String(publicKeyByte);
に文字列を公開鍵と秘密鍵を試してみましたが同じです! 正しいですか?私はどのように文字列を同じにすることができますか? 2つの異なるキーであるとは思わない?
私が間違っている場合は、私に修正してください。私は混乱しています !
ありがとうございます!
UPDATE
私はその後、パラメータを間違えた
しかし:私は、文字列値を取得できますか
https://stackoverflow.com/questions/6592990/simple-rsa-encryption-decryption-in-net#answer-6593054"
を見たとき?なぜならApp.configに格納しておき、いつでもアクセスできるからです。私はApp.configファイル
アップデート2
申し訳ありませんが、両方公開鍵と秘密鍵を格納する必要がある意味、私はちょうどRSACryptoServiceProviderのインスタンスのToXmlStringプロパティを使用していました。 秘密鍵と公開鍵を取得しました。
あなただけのモジュラスを変換しました!その部分は両方のキーで同じです;) - RSAのビットを調べるのはそれほど難しいことではありません:ここではモジュラス(N)を読むことができます:http://en.wikipedia.org/wiki/RSA_%28algorithm%29 #Key_generation – Carsten