2014-02-14 108 views
0

我遇到了像标题一样的问题。 在应用程序中,首先我生成一个随机数并将其发布到server.Server使用自己的RSA私钥来加密随机数并将加密数字返回给我。我将服务器的RSA公钥保存在本地Base64字符串。问题是如何使用服务器的RSA公钥(我拥有的是Base64 string.no PEM或DER类型文件)来解密来自服务器的密码。 需要你的帮助!如何在iOS中使用RSA公钥解密密码

回答

1

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

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


在应用程序中,我首先生成一个随机数,并张贴到server.Server使用自己的RSA私钥加密的随机数和返回的加密数回我。我知道服务器RSA公钥保存在我的本地Base64字符串中。

你意识到任何人都可以解密这个秘密。公钥在{n,e},大多数图书馆选择着名的e(其可能3,17或65537)。


的问题是如何使用服务器的RSA公钥(所有我是一个Base64字符串,不PEM或DER类型文件)从服务器解密密回来。

听起来好像您正在寻找具有恢复功能的概率签名方案(PSSR)。这样,您可以在验证消息是可信的之后从签名中提取消息。

如果不是,那么您应该使用像IPSec或SSL/TLS这样已经很好建立的协议来建立一个安全通道并通过它来传输通信量。它通常是一个好主意,使用已经确定的东西;并且通常设计自己的协议是一个糟糕的主意。

+0

谢谢你,谢谢你的回答。我曾经 – GlassesD