0

こんにちは、すべての別の問題別の質問..

暗号化されたメッセージを復号化する C# プロジェクトに参加しています。復号化にはopensslを使用しています。秘密鍵でメッセージを暗号化し、以下のコードで公開鍵を復号化できます

CryptoKey key = CryptoKey.FromPrivateKey(prvkey, null);
RSA rsa = key.GetRSA();
byte[] alinan = System.Text.Encoding.UTF8.GetBytes(textBox1.Text);
byte[] sonuc = rsa.PrivateEncrypt(alinan, RSA.Padding.PKCS1);

key = CryptoKey.FromPublicKey(pubkey, null);
rsa = key.GetRSA();
byte[] cozulen = rsa.PublicDecrypt(sonuc, RSA.Padding.None);

しかし、私のプロジェクトでは公開鍵がありません。モジュラスと指数しかありません。モジュラスと指数を使用して公開鍵を取得する方法がわかりません。私は多くの検索を行いましたが、適切な答えが見つかりませんでした。誰かアイデアはありますか?

ありがとう..

4

1 に答える 1

0

少なくとも c++ openssl では、プロセスは次のとおりです。

1 - バイト配列から 2 つの BigNumbers を生成します (モジュラスと指数)

2 - 新しい (空の) RSA オブジェクトを作成する

3 - RSA オブジェクトの n (係数) および e (公開指数) 属性を設定します。

このプロセスは、あらゆるテクノロジー (Java、Java カードなど) で複製できる場合があります。

于 2013-04-15T23:53:50.087 に答える