流密码将明文消息按字符逐位加密,它采用密钥流生成器,从种子密钥生成一串密钥流字符来加密信息,每个明文字母被密钥流中不同的密钥字符加密,如下图所示:
图 流密码体制模型
所谓“一次一密”是指每个明文字母每次都用一个真正随机产生的密钥字母加密,即每个密钥字母的出现无任何规律。流密码设计的思想就是模拟“一次一密”的密码体制,这给研究流密码技术提供了强大的支持。如果流密码使用的是随机产生的,与明文流长度相同或更长的密钥流,那么此时的流密码就是“一次一密”的密码体制,是无法破解的。
实际的流密码是不可能实现“一次一密”密码体制的。在实际应用中,密钥流是用有限存储和复杂逻辑的电路来产生的,其状态呈现出一定长度的周期,它的输出是周期序列。理想的“一次一密”的密码体制需要密钥流产生器产生的密钥流周期足够长,并且其随机性又足够好。因此,密钥流产生器生成序列的随机性和不可预测性决定了流密码的强度,实现可靠解密的关键是保持收发两端密钥的精确同步。