我读到了密码学中的Key_size,但我并不完全明白密钥大小的具体含义是什么?
例如在维基百科中说:
“Triple DES的密钥大小为168位,但最多可提供112位 安全性,因为复杂性2 ^ 112的攻击是已知的“
这是否意味着如果我们蛮力2 ^ 112次,那么我们可以破解所有3DES哈希?
128位加密和1024位加密有什么区别?
答案 0 :(得分:1)
好。我们一次拿这个。
密钥大小
在密码学中,您有三个主要元素。
明文,密文和密钥。
密钥与加密算法结合使用,对明文进行加密,得到密文。这就像一个函数的状态,即:
K = "This is the key".
P = "Plaintext".
C = Encrypt(P,K).
// This would result in some ciphertext.
如果K不等于“这是关键”,并且等于“这是另一个关键”,则C的值将不同。
密钥大小是所用密钥的大小。例如,AES256使用256位密钥。这意味着密钥长度为256个二进制数。
128位加密和1024位加密有什么区别?
区别在于标题。 128位加密使用128位密钥加密数据。 1024位加密用1024位数据加密。这里要注意的重要一点是,128位,你通常看Symmetric Key Cipher,而1024位,你通常会看Asymmetric Encryption Algorithm。
蛮力攻击
是。遵循AES256示例,如果您执行密钥的2 ^ 256种可能组合,您最终将破解任何和所有AES256密码。然而,2 ^ 256是一个庞大的数字,并且在计算上认为尝试该值是不可行的。
答案 1 :(得分:0)
这意味着通过2次 112 试验加密,您可以保证找到用于使用3DES加密某些内容的密钥。然而,这使用了“中间相遇”(MITM)攻击,这也需要大量的内存。
另请注意,3DES只需要112位密钥材料。您执行加密/解密/加密(EDE,最常见)或解密/加密/解密(DED)周期,但第一个和最后一个可以使用相同的密钥。 168位意味着您在每个周期使用单独的密钥。这很好,但并非完全必要。
就密钥本身而言,它基本上只是众所周知的比特集合,但(强烈偏好)难以或不可能让任何其他人预测或猜测。在典型情况下,您不直接使用用户输入的密钥。至少,您通过加密哈希来运行它以获得恒定大小的结果。鉴于用户通常输入的可预测性,您通常希望更进一步:生成更多随机密钥,并仅使用用户密码来允许访问该密钥。这意味着(例如)尽管在给予计算机物理访问权限的情况下恢复用户密钥可能相当容易,但“通过网络”发送的数据(通常更容易拦截)使用的密钥比他们的密钥更难以预测。密码本身。
远至128位与1024位相比,这两者通常不完全可比。这里的巨额数量取决于攻击的难度。最糟糕的情况通常是关键耗尽攻击。这基本上意味着您只需尝试所有可能的密钥,直到找到“有效”的密钥。
如果这是针对算法已知的最佳攻击,那么大约128位的密钥大小几乎可以肯定对几乎任何可以想象的“传统”技术的改进 - 也就是说,即使我们假设CPU将继续获得很多长时间更快,并假设可以构建几十甚至几百Tera-Hertz的处理器,执行2 128 操作以耗尽关键空间仍然是完全不切实际的(例如,有数百万的100 Tera-Hertz处理器,你仍然没有在宇宙热死之前完成。)
使用对称加密的较大密钥大小主要旨在防止实际的量子计算机。具有足够容量的(工作)量子计算机可以执行与传统计算机不同类型的攻击,并且可以比传统计算机更快地耗尽关键空间。这就是AES 256的来源。
当您获得比这大得多的密钥时,您通常会处理像RSA这样的加密,对于这种加密,已知实际的攻击不涉及进行试用加密,直到找到“作品”。在RSA的情况下,需要公开的部分信息可以(相当容易地)转换为大数,这是两个素数的乘积。如果您可以将该数字考虑在内以获得这两个素数,则可以相当容易地破解加密。
因此,在这种情况下,我们需要的强度是基于该产品足够大,因此将其分解是不切实际的。适合用作RSA密钥的最大数字是公知的768位。
所以,如果你对安全性和装备精良的攻击者感兴趣,对于RSA,你显然需要一个比这更大的密钥。
请注意,对2DES的“中间相遇”攻击,对2键3DES的攻击以及对大型RSA密钥的分解具有一些共同的特征:攻击它们与攻击普通DES完全不同。使用DES,您可以轻松地在您花费的金额和获得结果的速度之间进行权衡。花费(几乎)没有,并且花费长时间来获得结果,但最终你会。你愿意花的钱越多,你得到的结果就越快。
然而,对于其他攻击,您需要大量内存才能执行攻击。对于这些,你(大多数)不能只是扩大规模,所以花一半的时间可以让你得到一半的结果。相反,您需要切换到(例如)使用SSD而不是DRAM作为存储 - 并立即失去批次的速度。或者,您可以切换到渐近不太有利的另一种算法,但没有相当高的进入障碍。同样,对于实际攻击,你通常会以这种方式很快失去很多。
结论:对于某些攻击,您可以在时间和金钱之间进行相当“平稳”的权衡。与其他人一起,你可以获得更多的阶梯功能;在许多情况下,实际攻击只会超过大多数人的能力(在大多数情况下,现在和相当长的一段时间内)。
答案 2 :(得分:-1)
维基百科有一个关键字大小的条目:http://en.wikipedia.org/wiki/Key_size