快捷搜索: 王者荣耀 脱发

密码学常见基本概念-序列密码,一次一密

提到序列密码,不得不先从一次一密这个概念说起。 一次一密(one-timepad)指在流密码当中使用与消息长度等长的随机密钥,密钥本身只使用一次。就字面来说,一次一密就是一个完全随机的密钥只使用一次,用这个密钥对明文进行加密后销毁,然后下次加密使用下一个完全随机的密钥。也就是说只要窃听者得不到你当次使用的密钥,就不可能获得你的真实数据。随机密钥序列异或一非随机的明文消息产生一完全随机的密文消息。再大的计算能力也无能为力。 只要生成随机密钥的生成器是真随机的,那就是绝对安全的。 有了以上一次一密理论上绝对安全这一说法,人们就试图通过序列密码的方式效仿“一次一密”密码。 序列密码也称流密码。利用密钥流发生器产生一个密钥流Z=Z1Z2Z3…,然后利用此密钥流依次对明文X=X0X1X2…进行加密,这样产生的密码就是序列密码,也称流密码,即是将明文划分成字符(如单个字母),或其编码的基本单位(如01),字符分别与密钥流作用进行加密,解密时以同步产生的同样的密钥流实现。 —题外—密钥流由密钥流发生器f产生:zi=f(k,si),这里的si是加密器中存储器(记忆元件)在i时刻的状态,k是密钥。序列密码方案的发展是模仿“一次一密”系统的尝试。 在通常的序列密码中,加解密用的密钥序列是伪随机序列。他的产生容易且有较为成熟的理论工具(一些数学序列),也因此序列密码是当前较为通用的密码系统。所以序列密码的安全性主要依赖于密钥序列,因此如何产生安全可靠的密钥序列(伪随机序列)就成了研究的重点。也就是上述的密钥流发生器f。

经验分享 程序员 微信小程序 职场和发展