使用公钥在 iPhone 中进行 RSA 解密

Posted

技术标签:

【中文标题】使用公钥在 iPhone 中进行 RSA 解密【英文标题】:RSA Decryption in iPhone using public key 【发布时间】:2012-03-21 12:59:59 【问题描述】:

我有公钥和加密数据,我必须用公钥解密该数据。由于数据在服务器端使用 RSA 加密,所以我必须在 iPhone 中使用 RSA 解密。我用谷歌搜索但没有任何好的解决方案。我已经通过了 Apple 提供的 CryptoExercise,但仍然无法找到解决方案。 请大家帮我实现这个解密。

编辑:在服务器上,数据使用私钥加密。

【问题讨论】:

您的数据采用哪种 RSA 格式? PKCS #1? PKCS #7? #12? 通常,加密是使用公钥完成的,除非您将其作为数字签名的一部分。如果您担心数据的安全性,我会验证这是否是您想要的设置。 感谢 Shadowman.. 我们将其作为数字签名的一部分。所以我需要验证 iPhone 中数据的真实性。 【参考方案1】:

首先,请参阅 Chris Luke 撰写的 how to turn a PKCS1 into ios's non-standard key form。然后,您可以将生成的 SecKeyRefSecKeyDecrypt 一起使用。

【讨论】:

这不是您指出的 PKCS #1。 PKCS #1 在 ASN.1 中编码。见tools.ietf.org/html/rfc3447#appendix-A.1.1。您需要重新处理您的问题,以明确您拥有什么的性质以及您想要实现的目标。是验证还是解密?这是什么格式?您的问题与您的 cmets 不符。

以上是关于使用公钥在 iPhone 中进行 RSA 解密的主要内容,如果未能解决你的问题,请参考以下文章

RSA 加密解密

java中RSA用私钥加密公钥解密问题

Web Crypto API:如何使用导入的 RSA 公钥加密数据并在 Ruby 中解密数据

RSA:在 iOS 中加密,在 Java 中解密

加密API RSA公钥可以解密数据,不像预期的那样不对称

RSA的公钥、私钥