2013-03-22 25 views
0

我已經搜索了很多關於我的任務是像PKCS1Padding解密,RSA/ECB/iPhone上

我得到通過XML這是使用RSA/ECB/PKCS1Padding從後端加密的數據,他們給了我文件名「publickey.der」。據他們說,這是公鑰,你需要使用這個密鑰進行解密。

認真我沒有關於使用解密該公鑰的目的C.

請指引我,我需要它的框架或庫或SDK使用或任何人有任何的示例代碼此任何想法。我只指望你們。

期待您的答覆

再次

+0

我不確定RSA/ECB/PKCS1Padding的含義。 ECB是用於分組密碼(例如AES)而不是公共密鑰方案(例如RSA)的操作模式。無論如何,它可能值得一看[CommonCrypto Library](https://developer.apple.com/library/mac/#documentation/Darwin/Reference/Manpages/man3/Common%20Crypto.3cc.html) – 2013-03-22 11:53:12

+0

@NathanBaggs'在Java中,「RSB」常常被用作「None」的同義詞。基本上,您可以通過將明文分成比密鑰大小小11個字節的塊來加密ECB模式,然後對每個塊進行加密。這與AES在ECB模式下執行的方式相同。當然這是非常緩慢的,你有很多開銷,但它可以完成。在這種情況下,儘管我認爲'「RSA/ECB/PKCS1Padding」僅僅用作Java中XML加密API的輸入。 – 2013-03-22 14:26:33

+0

您能否指出加密數據使用哪種容器格式?是否使用XML加密?如果您不知道,請發佈一些加密的測試數據。 – 2013-03-22 14:27:53

回答

2

Public keys are used for encryption, private keys are used for decryption謝謝。你將不得不首先糾正這個問題。

另外RSA/ECB/PKCS1Padding並不常見,當您想要rsa加密大量數據時,通常您使用rsa加密aes密鑰並使用aes加密您的數據。

基本上,要做到這一點RSA/ECB解密的Java之外,這將是手動的,你將有你的塊大小(密鑰大小)打破你的密文了起來,然後解密每個塊沒有填充,直到有填充的最後一塊,這就是你如何獲得歐洲央行。

這是不理想的,加上他們提供給你一個公鑰並告訴你解密,表明誰給你的數據需要解決他們的加密問題。