流密码

✍ dations ◷ 2025-06-13 00:27:45 #密码学,算法,流密码

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

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

相关

  • 石坂公成石坂公成(日语:石坂 公成/いしざか きみしげ Ishizaka Kimishige ?,1925年9月28日-2018年7月6日),日本科学家、医学家、免疫学家,美国国家科学院外籍院士,现任拉霍亚过敏与免疫学研
  • Notch信号Notch信号通路是大多数多细胞生物体中存在的高度保守的细胞信号转导系统。哺乳动物具有四种不同的notch受体,分别称为NOTCH1, NOTCH2, NOTCH3, NOTCH4。Notch受体是单跨膜的
  • 顺风耳顺风耳,表意指“能够听到随风而来之声音的耳朵”。在中文语境中,顺风耳也于被用于形容听力好或者知道很多八卦传闻的人。于现代可以分为几个解释:在民间的神话传说中,替妈祖察听
  • 前导软件前导软件,全名为北京前导软件有限公司,是中国大陆一家游戏公司,于1995年3月成立,曾开发《三国》、《水浒》、《齐天大圣》、《赤壁》等游戏,后退出游戏市场。1994年11月15日,太平
  • 陈丕宏陈丕宏(英语:PeHong Chen, 1957年-)美国华裔企业家,是美国宏道资讯公司的创始人和董事长,宏道公司推出的电子商务解决方案第一次提出了“一对一”(One-to-One)的个性化营销理念。195
  • 密斯·凡·德·罗路德维希·密斯·凡德罗(Ludwig Mies van der Rohe,1886年3月27日-1969年8月17日)生于德国亚琛,过世于美国芝加哥,原名为玛丽亚·路德维希·密夏埃尔·密斯(Maria Ludwig Michael
  • 年功序列年功序列为日本的一种企业文化,以年资和职位论资排辈,订定标准化的薪水。通常搭配终身雇用的观念,鼓励员工在同一公司累积年资到退休。这种制度把“忠诚”视为一种最大的能力,与
  • 伊格纳奇·扬·帕德雷夫斯基伊格纳奇·扬·帕德雷夫斯基,GBE(波兰语:Ignacy Jan Paderewski,1860年11月18日-1941年6月29日),波兰钢琴家、作曲家、政治家、外交家,是19世纪末20世纪初杰出的世界级钢琴大师之一,1
  • 张璇 (歌手)张璇(越南语:Trương Tuyền;1985年4月1日-),原名张梦璇(越南语:Trương Mộng Tuyền),在越南多在名字前加“SAKA”为“Saka Trương Tuyền”,是一位越南流行音乐女歌手。张璇生于
  • 奥列格·莱什科奥列格·莱什科(乌克兰语:Олег Валерійович Ляшко,1972年12月3日-)是乌克兰政治人物、记者、电视节目主持人,乌克兰人民代表,激进党领袖。出生于切尔尼戈夫。