如何在iOS中使用RSA公钥解密密码

我有一个像标题所示的问题。 在应用程序中,首先我生成一个随机数并将其发布到server.Server使用自己的RSA私钥来encryption随机数并将encryption数字返回给我。我有服务器的RSA公钥保留在我的本地作为Base64string。问题是如何使用服务器的RSA公钥(我有一个Base64 string.no PEM或DERtypes的文件)来解密从服务器的密码。 需要你的帮助!

如何在iOS中使用RSA公钥解密密码

公钥用于encryption,而不是解密。 更准确地说,“用公钥解密”不是一个有效的encryption操作。


在应用程序中,首先我生成一个随机数并将其发布到server.Server使用自己的RSA私钥来encryption随机数并将encryption数字返回给我。我有服务器的RSA公钥保留在我的本地作为Base64串。

你意识到任何人都可以解密这个秘密。 {n,e}和大多数图书馆的公共密钥select一个众所周知的e (可能是3,17或65537)。


问题是如何使用服务器的RSA公钥(我有一个Base64string,没有PEM或DERtypes的文件)来解密从服务器的密码。

这听起来像你正在寻找恢复概率签名scheme(PSSR)。 这样,您可以在validation消息是真实的之后从签名中提取消息。

如果不是的话,你应该使用一个很好的协议,如IPSec或SSL / TLS来build立一个安全的通道,并通过它来传输你的通信量。 它通常是一个好主意,使用已经确定的东西; 而且通常是devise自己的协议的一个坏主意。