流加密(Stream cipher)
又称串流加密,资料流加密,是一种对称加密,也是古时所使用的替换法在电子信息时代的另一种升华。
以前一直使用的是明文随着密钥的值位移,而这里位(bit)进行异或(下文将一直使用:⊕作为异或符号)操作。
而其中最具有代表性的,理论上是完美安全(prefect security)的就是一次性密码本(One Time Pad)。
一次性密码本(One Time Pad)
一次性密码本是古典密码学替换式加密方法的终极形态。在我上篇密码学史中所提到的凯撒密码,替换密码,Vigener Cipher等,他们共通的弱点都是语言中字母频率的不等,导致密钥加密后密文中字母出现概率依旧不等,从而发现突破口。
而一次性密码本,则是使用了与明文等长的密文,使得所有字母的使用概率相等,密文完全不揭示任何明文信息,使得任何唯密文攻击无效。而在计算机领域则是bit位异或操作,隐藏ASCII码或者文件信息,具体加密方式及解密方式证明如下:
C:密文 E:加密操作 D:解密操作 m:明文 k:密钥
C = E( k, m) = k ⊕ m
D = (