流密码

✍ dations ◷ 2025-07-05 21:09:42 #密码学,算法,流密码

在密码学中,流密码(英语:Stream cipher),又译为流加密、数据流加密,是一种对称加密算法,加密和解密双方使用相同伪随机加密数据流(pseudo-random stream)作为密钥,明文数据每次与密钥数据流顺次对应加密,得到密文数据流。实践中数据通常是一个位(bit)并用异或(xor)操作加密。

该算法解决了对称加密完善保密性(perfect secrecy)的实际操作困难。“完善保密性”由克劳德·香农于1949年提出。由于完善保密性要求密钥长度不短于明文长度,故而实际操作存在困难,改由较短数据流通过特定算法得到密钥流。

伪随机密钥流(keystream)由一个随机的种子(seed)通过算法(称为:PRG,pseudo-random generator)得到,k作为种子,则G(k)作为实际使用的密钥进行加密解密工作。

为了保证流加密的安全性,PRG必须是不可预测的。弱算法包括glibc random()函数,线性同余生成器(linear congruential generator)等。

线性同余生成器中,令rseedr =(a * r + b)mod p,其中a,b,p均为常数,则可轻易顺次推出整个密钥流,从而进行解密。

一种严重的错误即反复使用同一密码本对不同明文进行加密。攻击者可利用这种方式对密文进行解密。

用p表示明文,C表示密文,k表示种子,PRG表示密钥流生成算法,则:

攻击者监听到此段消息(包含两段相同密钥流加密的密文)后,即可利用:

足量的冗余(此处表示p1,p2)则可破解明文。

一个失败的例子即WEP网络传输协议。

WEP已被WPA和WPA2取代。

当硬盘使用流加密时,同样会使用同一密码本对不同文本进行加密,因而调换两个文本中少量信息,可以得到同样的冗余结果。避免这个问题的方案通常是避免使用流加密。

相关

  • 神经肌肉阻滞药神经肌肉阻滞药(Neuromuscular-blocking drugs)是可以阻滞神经肌肉接点神经传导的药物,会造成骨骼肌的瘫痪。可以透过在突触前(英语:Presynaptic)作用,抑制乙酰胆碱(ACh)的合成或是释
  • 新鲜冷冻血浆新鲜冷冻血浆(fresh frozen plasma, FFP)为一从全血制备而成的血液制品,一般是在采集全血后八小时内分离制备,用于治疗体内凝血因子过低(INR>1.5)或是血浆蛋白过少之患者,也做为血
  • 库珀詹姆士·菲尼莫尔·库柏(英语:James Fenimore Cooper,1789年9月15日-1851年9月14日)是最早赢得国际声誉的美国作家之一。詹姆士·菲尼莫尔·库柏出生于美国新泽西州柏灵顿市,后成
  • 德国电子加速器德国电子加速器(德文: Deutsches Elektronen Synchrotron,简称DESY)是德国的大型粒子物理学研究机构,1959年12月18日正式运行,在柏林和汉堡均有研究中心。目前德国电子加速器有三
  • 伊豆伊豆群岛是日本所拥有、位于太平洋中的一个群岛,位于伊豆半岛以南、小笠原群岛以北,行政上属东京都管辖(东京都岛屿部),面积296.5平方公里,群岛中10个主要岛屿均是火山岛。伊豆群
  • 黎锦扬黎锦扬(1915年12月27日-2018年11月8日),字任予,美籍华裔作家,英文署名“C.Y.Lee”。1915年出生于湖南湘潭,排行第八,长兄为国学家黎锦熙,二兄为著名作曲家黎锦晖,兄弟八人有“黎氏八骏
  • 二氧化镅二氧化镅 (AmO2) 是一种黑色的镅化合物,它可以做为α粒子源,常用于电离式烟雾探测器。固体的二氧化镅为结晶态, 结构类似于萤石与CaF2的结构 。
  • 常来人常来人或生理人(他加禄语:Sangley;闽南语:.mw-parser-output .sans-serif{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Lato,"Helvetica Neue",Helvetica,
  • NGC 2507NGC 2507是位于巨蟹座的一个星系。它的赤经为 8h 1.6m,赤纬为 15° 43′,大小 2.5′。
  • 早坂文雄早坂文雄(1914年8月19日-1955年10月15日),日本宫城县出身的作曲家。1938年以《古代的舞曲》获得“费利克斯·魏因加特纳奖”。1939年到东京之后、开始了电影配乐的工作。最著名