2014-02-14 150 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