-->

椭圆曲线加密iOS中(Elliptic Curve Crypto in iOS)

2019-07-20 01:14发布

我试图将ECC到正在用于安全通信的iPhone应用程序,但我有一个很难找到如何做到这一点在Objective-C的适当库/教程。 我读这篇文章: 如何在iOS中使用ECC但它被张贴差不多一年前,没有发现任何回应。 任何提示/建议将不胜感激

谢谢!

Answer 1:

不幸的是,安全性变换[1](iOS的内置框架,一个应该去和一个上述用途中提到的文章)似乎并不具有内置的椭圆曲线的支持。你必须依靠非苹果执行ECC的。

[1] http://developer.apple.com/library/mac/#documentation/Security/Conceptual/SecTransformPG/SecurityTransformsBasics/SecurityTransformsBasics.html



Answer 2:

我很遗憾未能在寻找一个适当的文件,但也许你可以使用来自苹果CommonCrypto框架?

这个头缝有前途: http://opensource.apple.com/source/CommonCrypto/CommonCrypto-60027/Source/CommonCryptoSPI/CommonECCryptor.h



Answer 3:

在MAC软件库椭圆曲线密码快速搜索产生EllipticLicense ,为Mac产品密钥生成/验证库使用EC加密。 它使用OpenSSL的为EC,这是一件好事,你可以做太多的支持。

请注意,苹果已经利用其提供的OpenSSL动态库由于是阻止他们保持它最新的兼容性问题弃用,因此,你需要抓住的OpenSSL 从源并与您的应用程序捆绑它自己。



Answer 4:

正如我的豁达,您可以使用氯化钠库。 该库已curve25519椭圆曲线实现。 这是艺术和最快的库的状态。

您还可以使用加密++。



Answer 5:

这不是你问的答案。 但是,我的妄想迫使我建议你采取真正了解你的ECC实现的螺母和螺栓的时间。 考虑对本出版物NSA后门 。

如果你采取什么比这更从文章,指出:“RSA信息安全公司公开宣布放弃Dual_EC_DRBG”。

我回顾了这验证了各种DRBG供应商列表的算法。 它看起来好像苹果直接验证CRT_DRBG大多数平台和操作系统。 在明确了吧? 不必要。 如果你仔细看,似乎是已经验证的双EC DRBG,其技术可能被内置到苹果的产品供应商。 如何以及在哪里它的使用? 我无法确定这一点。

例如:向下滚动到验证号码309。我不知道如果我读正确。 但我的看法是卡明斯是(或意图),用于与ARM A8核心和iOS 5.0分布式苹果移动设备的OEM供应商。 他们证明了他们的加密通信模块,其中包括双EC DRBG。 当使用它? 我只知道它说,这是“启用和未启用”并重。 什么时候?! 不知道。 请注意,有一些是“启用和未启用”既DRBG的其他几个口味。 这只能减少使用的可能性。

这似乎底线是:

  • 双EC DRBG可以以在一个未知的数量的方案使用SHA上合格平台密码功能中使用。

  • 我们将不得不等待调查的决心,以确保
    它的后门,当局怀疑。

祝你今天愉快。 :)

PS我忍不住与OpenSSL的关注。 我发现这个职位是揭示了关于如何澄清OpenSSL的是否是用黑色列随机数生成未知的一些情况。



文章来源: Elliptic Curve Crypto in iOS