2013-07-27 140 views
0

假设应用程序没有连接到互联网,我需要发送加密的专用数据到移动应用程序(ios/android)。加密数据到手机

我目前的想法是通过包含加密数据的QRCode发送数据。 由于明显的安全原因,我不希望在双方都使用对称加密和“共享密钥”。

我在加密;-)

一个初学者,我认为这是可以接受的,该应用程序生成16个字符,用户可以进入一个网页表单,然后下载专用于该设备的QR码并加密。

然后我的感觉是,我正在寻找一种可以从16个字符开始的非对称算法。

应用程序知道服务器公共密钥是可以接受的,但应用程序不可能发送更多的16char来共享其本地生成的公共密钥。

有什么想法?

+0

你想用加密技术实现什么?有哪些风险?在我们知道您要保护的内容之前,无法提出明智的建议。 – Michael

回答

0

您的16个字符听起来像是一次性密码,您可以从中导出对称加密密钥。由于它是一次性密码(除非用户一次又一次地重复使用此密码),因此使用它的风险不大。此外,您不会将此密码(或派生的密钥)存储在服务器上以防止泄漏。

可以使用PBKDF function导出密钥。用户的密码短语的长度是最重要的 - 它必须尽可能长(16个字符是非常弱的密码短语)。