Triple DES或RC4?
我可以选择雇用任何一个。
最佳答案
从较高的角度看,下面对这两个方面的评论都将是有用的。
更深入一点:
在没有明确定义的目标应用程序的加密领域中,“最佳”的定义天生就很难,因为算法的“适应性”是多种多样的。
实际上,要想实现自我突破的工作需要大量的时间和精力,这就是为什么您(作为非密码学家)会去做已经做的事情,而不是自己动手做。随着时间的流逝,它也可能会发生变化,希望这完全是由于可用硬件的改进,而不是所发现算法的基本缺陷。
当然,最重要的核心问题就是它是否安全?应当指出,以前被认为是安全的许多较旧的算法不再属于该类别。有些漏洞是如此有效,以至于它们的使用是毫无意义的,您根本没有任何安全性(只是默默无闻)(有用但绝不能与真实的安全性相比)。
当前,RC4和TDES的核心算法都不属于该类别,但是RC4的幼稚实现被认为在协议(protocol)中可能存在严重缺陷,在这些协议(protocol)中,消息数据可能被强制重复。 RC4具有比TDES更为重要的理论缺陷。
也就是说,在上述所有领域中,TDES都不比RC4更好。它的计算成本明显更高(并且昂贵性尚不合理,存在其他成本更低的加密系统,其安全性可与TDES媲美)
有了真实的应用程序后,通常会获得以下一项或两项:
然后,您可以使用容差和假设陈述可以实现此目标的条件(或者,如果您根本无法做到)并做到这一点。
在没有任何此类约束的情况下,我们只能为您提供以下内容:
易于实现
两者都具有适用于几乎任何可用架构和平台的可公开获得的安全免费实现。
如果可以强制重复该消息(请参阅WEP问题),则RC4的实现可能没有您认为的安全。合理地使用盐分可以减少这种风险,但这不会受到原始实现情况的严格分析,因此应谨慎对待。
实现成本
我没有RC4的有用基准(它是旧的)。http://www.cryptopp.com/benchmarks.html有一些有用的指南,可将TDES与RC5相比要慢一些(比RC4慢至少一个数量级)。RC4可以将流加密到大约7在现代x86处理器上的快速实现中,每个字节的周期数可以进行比较。
努力奋斗
目前认为,即使存在许多加密输出,TDES的暴力破解能力仍然很高。
RC4蛮力复原力比TDES低几个数量级,并且在某些操作模式下极低(无法丢弃流的初始位)
抵抗密码分析,Triple DES存在着一些众所周知的缺陷,但是它们并不会降低其在 future 一到两年内对实际攻击的有效性,对于RC4而言并非如此,因为RC4已知一些缺陷并结合在一起产生了可靠的攻击基于它的几种协议(protocol)。
灵活性
TDES几乎没有灵活性(而且您的库可能也不会公开它们)
RC4具有更大的灵活性(用于初始化它的 key 在理论上可以任意长,尽管该库可能对此有所限制。
基于此以及您必须使用一种或另一种的声明,只有在TripleDES的CPU成本使其在您的环境中无法实现或RC4提供的低安全性仍然比您高得多的情况下,才应考虑RC4实现。要求指定。
我还应该指出,从经验上讲,在所有领域都存在比RC4和TDES更好的系统。
eSTREAM项目正在评估每个字节不超过5个或更少周期的各种流密码,尽管对它们的密码分析工作尚未真正完成。
存在许多更快,更强大的密码学来与TDES竞争。 AES可能是最著名的,并且将是候选者,因为它具有可比(如果不是更好)的安全性,但速度要快得多。
关于encryption - 最好的加密机制是Triple DES或RC4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/632300/