正确答案
算法的安全性依赖于密钥,如果用一个弱的密钥产生方法,那么整个系统都将是弱的。DES有56位的密钥,正常情况下任何一个56位的数据串都能成为密钥,所以共有256种可能的密钥。在某些实现中,仅允许用ASCII码的密钥,并强制每一字节的最高位为零。有的实现甚至将大写字母转换成小写字母。这些密钥产生程序都使得DES的攻击难度比正常情况下低几千倍。因此,对于任何一种加密方法,其密钥产生方法都不容忽视。
大部分密钥生成算法采用随机过程或者伪随机过程来生成密钥。随机过程一般采用一个随机数发生器,它的输出是一个不确定的值。伪随机过程一般采用噪声源技术,通过噪声源的功能产生二进制的随机序列或与之对应的随机数。