密钥长度
编辑密匙长度是密码方法的一个重要属性,表示该方法的不同可能密钥数量的对数度量。
定义
编辑密码方法的所有可能密钥的整体称为密钥空间。 键的数量 N 被定义为键空间的大小,即所有可能键的数量。 在对称过程的情况下,它与密匙长度(以位指定)有如下关系:
其中 log 2 N 表示 N 以 2 为底的对数。
对于经典的(不是基于计算机的)方法,例如简单的单字母替换或 Enigma 密钥机,通常直接指定所有可能密钥的数量。 使用现代方法,更实用的是使用上述公式将密匙长度转换为位,这样就不必处理笨重的大数。 在非对称密码系统中,密匙长度被定义为密钥的长度(以位为单位),与密钥的数量无关,因为并非所有字符串都是有效密钥。
密匙长度与安全级别
编辑密匙长度是密码方法实际安全性的重要但不是xxx的决定性标准。 使用小的密钥空间,攻击者可以简单地尝试所有可能的密钥。 因此,密钥空间必须足够大,才能使这种暴力攻击毫无希望。 一个极端的反例是凯撒加密。 只有 26 个不同的键可以用手快速尝试。 (实际上,只有 25 个密钥,因为 26 个密钥中的一个将每个字母映射到自身,因此导致明文再次出现。)因此,无需进一步的知识或特殊的密码分析攻击方法,凯撒加密可以很容易地执行详尽(完全详尽)的关键搜索被打破。
然而,仅靠大的密钥空间并不足以保证程序的安全。 安全、对称的方法要求不能有比尝试所有密钥更快的攻击。 例如,即使是像简单的单字母表替换这样简单的方法,也具有令人印象深刻的 26 大密钥空间! {displaystyle 26!} (faculty) 不同的键。 这对应的键数为 403,291,461,126,605,635,584,000,000。 密匙长度相当于 88 位多一点。 尽管密钥数量如此巨大,这使得即使使用今天的手段也无法进行详尽的密钥搜索,但这个过程可以很容易地被破解(例如通过统计攻击方法或通过模式搜索)。
如果满足没有比尝试所有密钥更快的攻击的要求,那么对称方法的密匙长度也指定了安全级别,即攻击者必须付出的努力才能使用该方法这密钉长度就破了。 使用哪个密匙长度可以取决于预期攻击者的预期计算能力。 由于计算机技术(“硬件”)的进步,一些以前被认为安全的旧方法现在可以通过详尽的密钥搜索来破解。 这方面的一个例子是“数据加密标准(DES)”,它在 20 世纪末的几十年里一直是加密的标准方法,根据目前的情况,它的 56 位密钥选择得太短了。 现在至少 128 位被认为对对称进程是安全的。 然而,应该指出的是,由于从根本上更好的数学方法或未来可以想象的明显更快的计算机,对这种“安全”密匙长度的评估迟早会发生变化。
在非对称方法(“公钥方法”)的情况下,安全级别与密匙长度不同,但明显较低。 一方面,密匙长度并不直接表示可能的键数,因为键描述了一个数学对象。 例如,在 RSA 密码系统中,没有 2 个 1024 {displaystyle 2^{1024}} 密钥用于 1024 位的密匙长度,因为并非每个 1024 位数字都是 RSA 模数,即两个素数的乘积数字。 还有一些众所周知的方法比尝试所有键要快得多。 为估算等效安全水平,必须考虑这些方法。 要破解使用 1024 位密钥的 RSA 加密,这样的算法需要大约 2 73 {displaystyle 2^{73}} “基本操作”,等效的安全性所以数据级别是73位。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/335715/