流密码

✍ dations ◷ 2025-11-25 02:24:50 #密码学,算法,流密码

在密码学中,流密码(英语: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取代。

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

相关

  • 盘基网柄菌盘基网柄菌(Dictyostelium discoideum)是一种原生生物,属于黏菌的一种。经常用来作为科学研究所用的模式生物。这种生物带有6个染色体,基因组大小约34Mb,其中约有8000到10000个基
  • 麦茶大麦茶,又称为麦茶,日本称麦茶,是流行于东亚的一种茶饮料。大麦茶在欧美也作为咖啡的替代饮品。大麦茶是将大麦焙煎,再磨成粉末而制成的饮料。日本昭和前期称这种饮料为麦汤,意指
  • 海星亚门海星亚门(学名:Asterozoa)是动物界棘皮动物门之下的一个亚门,其下物种的特征包括呈星形的身体和径向发散的对称轴。
  • 农奴农奴制是一种在封建制度下、特别是庄园制度下的与农民地位相关的奴役制度。农奴制度主要发展在欧洲10世纪中世纪中期,持续到19世纪中叶,以财务束缚或变异的奴隶制为条件对农民
  • 德格卢尔德格卢尔(Deglur),是印度马哈拉施特拉邦Nanded县的一个城镇。总人口48024(2001年)。该地2001年总人口48024人,其中男性24623人,女性23401人;0—6岁人口6948人,其中男3556人,女3392人;识
  • 理查德·普赖尔理查德·富兰克林·雷诺士·汤玛斯·普赖尔(英语:Richard Franklin Lennox Thomas Pryor,1940年12月1日-2005年12月10日)是一名美国男演员、脱口秀喜剧演员、编剧、制片人和导演
  • 路易二世·德·波旁 (孔代亲王)路易二世·德·波旁,第四代孔代亲王(法语:Louis II de Bourbon,4me prince de Condé,1621年9月8日-1686年11月11日),(外号为“大孔代”,法语:le Grand Condé),是法国军人和政治家,孔代亲
  • 阿拉伯高原阿拉伯高原,是位于亚洲西南部的主要高原,地质古老,阿拉伯高原横跨沙特阿拉伯、叙利亚、也门、约旦、伊拉克等国,面积超过两百五十万平方公里。阿拉伯高原与阿拉伯半岛东部平原和
  • 密宗六大六大,又名六界(梵语:ṣaḍ-dhātavaḥ),“大”义为物质元素,六大是从四大、五大的基础上延扩而来,是佛教密宗的世界观和曼荼罗道场观。佛教继承印度诸宗教观点,认为器世间和有情世间
  • 离散对数在整数中,离散对数(英语:Discrete logarithm)是一种基于同余运算和原根的一种对数运算。而在实数中对数的定义 log 是指对于给定的 和 ,有一个数 ,使得 = 。相同地在任何群 中可