Encryption 什么';在速度和安全性方面,iPhone的最佳加密算法是什么?

Encryption 什么';在速度和安全性方面,iPhone的最佳加密算法是什么?,encryption,key,Encryption,Key,iPhone支持以下加密算法 enum { kCCAlgorithmAES128 = 0, kCCAlgorithmDES, kCCAlgorithm3DES, kCCAlgorithmCAST, kCCAlgorithmRC4, kCCAlgorithmRC2 }; 我只想使用对称算法,因为非对称加密需要更多的计算开销 因此,我想知道列出的哪些算法是最好的,以及密钥长度是多少

iPhone支持以下加密算法

enum {
    kCCAlgorithmAES128 = 0,
    kCCAlgorithmDES,            
    kCCAlgorithm3DES,           
    kCCAlgorithmCAST,           
    kCCAlgorithmRC4,
    kCCAlgorithmRC2 
};
我只想使用对称算法,因为非对称加密需要更多的计算开销


因此,我想知道列出的哪些算法是最好的,以及密钥长度是多少,以避免过多的计算开销。

在您列出的这些算法中,我相信RC4是最快的。此外,RC4初始化后的速度不取决于密钥长度。因此,您应该能够使用该密钥的最大密钥大小,而不必担心运行时成本。

密钥长度 回溯到1999年:

键长度越长越好,但是 只是在一定程度上。AES将有 128位、192位和256位密钥 长度。这远比 在可预见的未来需要。在里面 事实上,我们甚至无法想象一个世界 其中使用256位暴力搜索 可能的这需要一些基础知识 物理学的突破与我们的未来 对宇宙的理解。对于 公钥加密,2048位密钥 有相同的财产;更长的是 毫无意义

分组密码 AES 这是目前的标准加密算法。大多数人认为它是安全的。如果你在密码学方面没有很深的知识,那你应该使用它

DES DES是AES的前身,由于其密钥长度较短而被认为是中断的

3DES 是具有更长密钥长度的DES的变体。它仍在使用中,但有一些已知的攻击。但它还没有坏

RC2

流密码 RC4 它有一些已知的漏洞,但至今仍在使用,例如在SSL中。我建议不要在新产品中使用它

结论
使用RC4或AES,这取决于您是否需要流密码或分组密码。

RC4可能是最快的,但它有一些安全问题。
如果安全性是一个重要因素,我建议选择AES128。AES是标准的解决方案,在卓越的安全性之上,您可能希望随着时间的推移,实现速度会更快,因为人们仍在积极地使用AES。也许未来的CPU也将包括对它的支持,就像新的英特尔桌面处理器一样。

CAST呢?iPhone是否支持AES 256?@Rupesh:我从来没有听说过CAST,这就是为什么我没有提到它。显然,加拿大政府允许它用于机密文件。但可以肯定的是,它没有收到AES(Rijndael)所收到的相同数量的安全审查。@Rupesh:我认为AES256不受支持。我只能猜测原因。(美国不想出口如此强大的算法;它不适合iPhone的寄存器,因此速度较慢;加密由不支持AES256的单独芯片执行。)尽管如此,AES128仍被认为在未来几十年内足够强大。