使用模数和指数获取公钥

时间:2013-04-15 12:54:06

标签: c# openssl public-key modulus exponent

嗨,对另一个问题另一个问题..

我正在使用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);

但是对于我的项目,我没有公钥,我只有模数和指数。我不知道如何通过使用模数和指数来获取公钥。我做了很多搜索,但我找不到合适的答案。有人有想法吗?

谢谢..

1 个答案:

答案 0 :(得分:0)

至少在c ++ openssl上,过程是:

1 - 从字节数组(模数和指数)生成两个BigNumbers

2 - 创建一个新的(空)RSA对象

3 - 设置RSA对象的n(模数)和e(公共指数)属性。

您可以在任何技术(java,Java卡等)中复制此过程