代码之家  ›  专栏  ›  技术社区  ›  Senseful

64位RC2的安全性如何?

  •  7
  • Senseful  · 技术社区  · 14 年前

    在加密中,如果两个对称算法的密钥大小相等,那么它们的安全性是否相等?(即,64位RC2算法是否提供与64位AES算法相同的确切安全性?)

    使用64位RC2算法有多安全(或不安全)?

    我能指望暴力攻击破解这种加密需要多长时间?

    用这种算法可以保护哪种数据?(例如,我猜想用这种算法加密信用卡信息是不合适的,因为这种算法不够安全)。

    2 回复  |  直到 10 年前
        1
  •  12
  •   Jack Lloyd    14 年前

    一般来说,由于各种原因,等效密钥大小并不意味着等效安全性:

    首先,有些算法是已知的攻击,而其他算法则不然。钥匙的大小就是 上界 打破密码所需的努力;在最坏的情况下,您可以尝试每一个可能的密钥,并在检查了一半的密钥空间后(平均)成功。这并不意味着这是最好的攻击。下面是一个例子:128位密钥的AES使用10轮。如果您使用的是128位密钥的AES,但只有一轮,那么即使密钥大小相同,它也会非常容易损坏。对于许多算法,已知的攻击可以更快地破坏算法搜索整个密钥空间。

    对于分组密码,还有其他的考虑。这是因为块密码以块的形式处理数据。在开始加密大量数据之后,会有各种组合属性发挥作用。例如,使用通用CBC模式,在加密大约2^(n/2)个块后,您开始遇到问题(这个问题是CBC固有的)。对于像rc2这样的64位密码,这意味着2^32 64位块或32 gib,虽然很大,但很容易想象(例如用它加密磁盘映像)。然而,对于像AES这样的128位密码,问题只在大约2^64 128位块或大约295 exabytes之后才开始出现。在这种情况下,使用64位密钥的AES实际上比使用64位密钥的RC2更安全。

    在这里,我们将谈到答案的认识论部分:即使没有已知的攻击,也并不意味着没有可能的攻击。RC2相当古老,很少使用;即使它是一个相当流行的密码,对它的分析也比DES要少。很可能在过去的5年里,没有人费心回去研究如何利用最新的攻击技术来破坏RC2,仅仅是因为在现代公共密码学研究所采用的相对学术性的出版或消失模式中,获得的收益较少;如果你想获得终身职位(或寻找新职位),情况会好得多。G为了增强你的声誉,获得更多的咨询工作)在攻击AES上发布甚至比完全摧毁RC2更微乎其微的改进,因为没有人再使用它了。

    有了64位的密钥,你就可以立即将自己限制在这个上限,而2^64的努力是非常低的;可能不仅对于情报机构,甚至对于规模合理的公司(或僵尸网络牧民)来说都是触手可及的。

    最后,我将指出RC2是为在286/386时代的处理器上快速运行而设计的。在现代机器上,它基本上(大约4-6倍)比过去10年设计的AES或类似密码慢。

    我真的看不出用RC2做任何事情有什么好处,我能想象的唯一的用途是与一些古老的(在计算机时代)系统兼容。使用AES(或其他4个AES决赛选手之一,如果必须的话)。

        2
  •  2
  •   Pascal Cuoq    10 年前

    这是我个人对“攻击n出p回合”一词的解释,你可以在页面上找到。 http://en.wikipedia.org/wiki/Block_cipher_security_summary . 但要小心:我实际上是把这个贴出来作为答案,这样人们就可以告诉我我是否错了。没有人向我解释过,我也不是专家,这只是我能理解的唯一解释。

    密码学家认为任何需要不到蛮力操作才能成功攻击的算法。当一个密码被称为对“n-out-p rounds”有攻击时,我想这意味着如果密码被定义为基本函数的n轮,它实际上被定义为p轮,那么它会有攻击。也许该算法实际上能持续工作N轮以上,但是它比蛮力更昂贵的临界点是N。换句话说,这是一个非常细微的区别 它告诉我们抽象地理解它实现的数学函数有多接近。这就解释了当使用这个表达式时,看似任意的数字,而不是以“n”的值出现。

    重申一下,一个对n/p回合有攻击的密码是一个没有被破坏的密码。

    另外,由于在2中有攻击而“中断”的算法 一百 128位密钥的操作仍然有用。令人担忧的是,在这种情况下,进一步的数学发现可能会继续吞噬为破解它所需的操作数量。但2 一百 和2一样不切实际 一百二十八 .