我遇到了像标题所示的问题。 在应用程序中,首先我生成一个随机数并将其发布到server.Server使用自己的RSA私钥来加密随机数并将加密号返回给我。我将服务器的RSA公钥保存在我的本地作为Base64 string。问题是如何使用服务器的RSA公钥(我只有一个Base64 string.no PEM或DER类型文件)来解密服务器的密码。 需要你的帮助!
答案 0 :(得分:1)
如何在iOS中使用RSA公钥解密密码
公钥用于加密,而不是解密。更准确地说,“使用公钥解密”不是有效的加密操作。
在应用程序中,首先我生成一个随机数并将其发布到server.Server使用自己的RSA私钥来加密随机数并将加密号返回给我。我将服务器的RSA公钥保存在我的local作为Base64字符串。
你意识到任何人都可以解密这个秘密。 {n,e}
中的公钥,大多数图书馆选择了一个众所周知的e
(可能是3,17或65537)。
问题是如何使用服务器的RSA公钥(我只有一个Base64字符串。没有PEM或DER类型文件)来解密服务器的密码。
听起来您正在寻找具有恢复功能的概率签名方案(PSSR)。这样,您可以在验证邮件是否可信之后从签名中提取邮件。
如果没有,您应该使用完善的协议(如IPSec或SSL / TLS)来设置安全通道并通过它隧道传输流量。使用已经建立的东西通常是一个好主意;设计自己的协议通常是一个坏主意。