Dav*_*Nix 2 iphone encryption openssl cryptography ios
免责声明:密码学新手.
我有一个使用OpenSSL加密数据的外部进程,现在使用salt.
iPhone应用程序从服务器获取该数据,将其下载到应用程序的文档目录,并需要对其进行解密.iPhone OS不包含OpenSSL库.你可以自己构建它,但这很困难而且很棘手.由于Stackoverflow的帮助,我发现的"最简单"的解决方案是使用CommonCrypto/CommonCryptor.h它是安全框架的一部分.
但是解密数据的C函数需要iv才能正确解密.
有没有办法从加密数据中导出iv(对我而言,似乎它会否定额外的安全性)?或者我需要首先以某种方式指定iv并让iPhone应用程序知道它是什么?或者,只是不要使用盐?
Edit1:为了澄清,我正在使用OpenSSL来加密数据文件中的文本.使用OpenSSL的脚本加密文本,上传到Dropbox,然后应用程序从Dropbox下载文件,解析它,并尝试解密文本.
Edit2:是的,我正在使用带有该-pass选项的OpenSSL命令行实用程序.
应为您加密的每条消息随机选择IV.我假设您正在使用OpenSSL命令行实用程序,openssl enc但不清楚您是使用基于密码的加密(-pass和-salt选项)还是明确指定密钥(-K和-IV选项).
为了最好的安全性,我建议您使用-K选项,并为每条消息随机生成一个新的IV.发送IV和密文.例如,您可以将密文附加到一个文件中的IV,然后在准备解密时从文件的开头删除IV.
IV可以是公开的; 你不必隐藏它.重要的是你为每条消息使用不可预测的IV.
| 归档时间: |
|
| 查看次数: |
7003 次 |
| 最近记录: |