iPhone支持以下加密算法
enum {
kCCAlgorithmAES128 = 0,
kCCAlgorithmDES,
kCCAlgorithm3DES,
kCCAlgorithmCAST,
kCCAlgorithmRC4,
kCCAlgorithmRC2
};
我想只使用对称算法,因为非对称加密需要更多的计算开销。
所以我想知道列出的哪一个是最好的算法,以及为了避免过多的计算开销,还有什么是密钥长度。
答案 0 :(得分:4)
Bruce Schneier在1999年写道:
更长的键长度更好,但是 只有一点。 AES会有 128位,192位和256位密钥 长度。这远远超过 在可预见的未来需要。在 事实上,我们甚至无法想象一个世界 256位强力搜索的位置 可能。它需要一些基础 物理学和我们的突破 了解宇宙。对于 公钥加密,2048位密钥 有同样的财产;更长的是 无意义的。
这是当前的标准加密算法。它被大多数人认为是安全的。如果你对密码学没有很深的了解,那就是你应该使用的。
DES是AES的前身,因其密钥长度短而被视为已损坏。
是DES的变体,密钥长度更长。它仍然在使用,但有一些已知的攻击。它还没有被打破。
它有一些已知的漏洞,但至今仍在使用,例如在SSL中。我建议不要在新产品中使用它。
使用RC4或AES,具体取决于您是否需要流或分组密码。
答案 1 :(得分:0)
在你列出的那些算法中,我相信RC4是最快的。此外,RC4的速度一旦初始化就不依赖于密钥长度。因此,您应该能够使用该密钥的最大密钥大小,而无需担心运行时成本。
答案 2 :(得分:0)
RC4可能是最快的,但它有一些安全问题。 如果安全性是一个重要因素,我建议选择AES128。 AES是标准的解决方案,并且在出色的安全性之上,您可能希望随着时间的推移实现更快,因为人们仍在积极地开展工作。也许未来的CPU也将包括对它的支持,就像新的英特尔台式机处理器一样。