AES-NI可以加快加密和解密速度。加密与蛮力解密所需的时间一样安全。这是否意味着应用程序开发人员将只需要增加密钥长度,直到所花费的时间与没有AES-NI的时间几乎相同为止即可?

评论

人们喜欢答案而不是问题是完全合理的。在这种情况下,答案暗示了AES-NI是什么,我认为如果定义AES-NI是什么,问题将会更强-并不是每个人都熟悉每种与安全相关的缩写。

@Johnny,我们的得分约为3/15。除此之外,问题没有得到足够的支持并不是一个新问题。

@Johnny我要说一天11次投票表明Q的样子非常好。但是,如果您能提出比这更好的问题,请感到受邀。 Crypto.SE的人们都喜欢问好问题。 (开玩笑!)

相关性:多少简单的操作对所有人来说都是安全的?关于信息安全。

#1 楼

通过阅读专用的AES搜索硬件(例如这两个系统),您可能会有所了解:


COPACOBANA
其后继RIVYERA



如果您转到第二个链接并展开“密码分析性能”部分,则他们将在自定义AES机器和其他平台之间进行性能比较。但是简短的版本是,它们的自定义硬件在搜索AES密钥时的速度比Intel处理器快3-4个数量级。

但是该页面警告您:


请记住,AES的密钥空间太大,无法穷举搜索攻击,无法对使用计算机生成的密钥正确实施的加密进行攻击-无论是否使用尖端的FPGA硬件。 [...]


他们以1190亿个密钥/秒的速度对其机器进行基准测试,因此我们可以轻松地计算出,以这种速度搜索AES-128密钥空间一半所需的时间:$ 2 ^ {127} \ div 1.19 \ times 10 ^ {11} = 1.43 \ times 10 ^ {27} $秒,大约是$ 4.5 \ times 10 ^ {19} $年。这些数字是如此之大,以至于AES-NI带来的速度提升使这个众所周知的“丢人”看起来非常庞大。

因此请注意,它们在其计算机上突出显示的应用程序是在AES上破解加密密钥不是在整个密钥空间中随机选择的,例如从人为选择的密码派生的AES密钥:


[...]但是,人为产生的密码仍然如果攻击者有足够的可用处理资源,并且有危险,则下图可能会为选择密码的最小长度和复杂度提供大致指导。


#2 楼

否,AES-NI提供了AES的硬件实现。在使用AES-NI之前,任何人都可以购买在硬件上运行AES的专用硬件加密设备。因此拥有AES-NI并不会真正改变任何东西。选择密钥大小时,它们必须考虑到可以开发专用硬件。因此,我们使用的密钥大小已经考虑到了这一点。

#3 楼

密钥长度(128位及以上)已经足够长,以至于提高几个数量级的速度仍然无法进行强力攻击。暴力破解128位加密的可能性。

#4 楼

AES使用3种不同的密钥大小。当前,如果您对AES-128不满意,例如,如果您希望量子计算开始发展,则应该使用AES-192或更确切地说是AES-256。

AES- 256仍然被认为是非常安全的,并且除非发现针对该算法的密码分析结果,否则可能会一直保持下去。 AES毕竟不是可证明的安全性。

使用专用硬件(由mikeazo投票决定答案)或AES-NI不会削弱AES-256的安全性作为其他加密安全方案中的分组密码。

#5 楼

AES-NI加快了AES运算的速度,并且与通常使用的128、192或256个密钥长度的概念无关。

即使在192位和256位AES变体中,AES圆形密钥也都是128位。即使使用新的密钥计划和更多的回合定义了假设的AES-512变体,AES-NI仍然会有用。

#6 楼

人们必须在了解整个系统的前提下了解实现突破所需的努力。从这种角度看,即使以最快的速度来证明或推测出突破AES的能力,仍然需要大量的资源和处理能力。

我毫不怀疑有一天会发现(更)严重的突破,而且在将来的某个时间,技术和数学的突破将使这种可能性更大,但就目前而言,我

有很多更好的方法可以攻击该系统;可以认为,这只是一种假设,可以通过加强密钥时间表,增加密钥大小和转换回合数量来轻松纠正。状态信息泄漏,密钥生成中使用的低熵源,基于大数字的非对称密码技术的弱点,设计和构造不当的应用程序,密码库中的缺陷,甚至是贿赂或胁迫。

AES- NI api确实的确提高了速度,(我自己的实现在台式机上以接近9GB /秒的速度运行多线程CTR模式),这在性能上有很大的提高,但我认为不足以使区别很大,尤其是考虑到有许多更具成本效益的方法可以实现目标。

还请考虑,eskeygenassist api使定时攻击更加困难,而这是针对密码的一些最严重的攻击迄今为止。

#7 楼

AES-NI对攻击没有影响,因为首先不能基于使用AES-NI来进行有意义的攻击。<​​br />
即使对于DES来说,有意义的暴力攻击也需要专门的硬件,该硬件可以尝试并行使用比使用AES-NI进行任何合理配置都更多的密钥。

(戏剧性地)更大的AES密钥空间意味着需要相同的密钥空间,但更大程度地需要。使用AES-NI,您需要支持整个CPU才能进行加密/解密。

还请注意,类似于AES-NI的系统不一定对攻击者有很大帮助。当您正常使用加密技术时,很少会设置密钥,然后长时间使用密钥。

对于攻击者而言,情况并非如此。攻击者仅需要尝试使用每个密钥(通常只有一个块)解密相当少量的数据。对于攻击者而言,加速加密本身的作用很小。对于攻击者来说,瓶颈很可能是密钥设置,因此加速密钥设置是他真正需要/关心的。

最后,第一点是真正重要的一点。 :AES-NI根本不是攻击者的有用工具,因此它的存在对安全性没有任何有意义的变化。