iOS上的Diffie-Hellman实现?

5
这是我在这里提出的第一个问题,因为之前我从其他问题中找到了所有的解决方案。
问题非常简短:有人知道是否有适用于iOS的Diffie-Hellman实现?我的意思是......想在两个设备之间(一个是iOS,另一个是Java Web服务)共享秘密密钥,我认为最好的方法应该是使用这种方法。
如果没有,有人能给我推荐另一种选择吗?
我不是高级开发人员,所以我正在尝试寻找一个框架来解决这个问题。
谢谢大家的帮助!

如果您不知道,使用加密会受到限制,这将影响您提交到应用商店的应用程序的批准。例如,请参见https://dev59.com/ZHI95IYBdhLWcg3w1Bvo - Clafou
5个回答

4

苹果在iOS中作为安全传输的一部分实现了Diffie-Hellman。这是安全传输参考

我在一个非常老的问题上发布了这个答案,因为它仍然相关,其他问题可能会链接到这个问题。改善这个问题的完整性可能有助于回答更新的问题。


1

1
是的,我忘了提到我找到了那个Chilkat实现。问题是它几乎出现在每一个谷歌搜索结果中,而且它不是免费的。 - user1138682
1
免费并非问题的要求 :) 然而,当 SSL 可用时发明自己的安全协议听起来有些靠不住。是否有任何特殊要求排除了 SSL? - Joachim Isaksson
不,我只是安全开发的新手。我了解到使用SSL可以建立安全连接(我认为ASIHTTPRequest可以很容易地实现此功能),但它不能提供一种从另一端加密和解密数据的方法,对吗? - user1138682
通过正确设置SSL连接通信可以加密所有内容,包括服务器到客户端和客户端到服务器的通信,无需您做任何操作。 - Joachim Isaksson

0
你可以将openssl作为静态库包含在你的应用项目中,并使用它的Diffie-Hellman函数。正如Joachim所说,如果你正在与Web服务通信,则最简单且最好的方法是使用SSL。

0

在Github上有一个iOS的Diffie-Hellman实现,您可以使用它。 https://github.com/benjholla/Diffie-Hellman-iOS 此外,您也可以在iOS中使用openssl。考虑到openssl是一个经过验证的库,因此最好为此目的使用openssl。


-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接