流密码

✍ dations ◷ 2025-10-12 05:41:04 #密码学,算法,流密码

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

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

相关

  • 认识逻辑认识逻辑是关心与知识有关的推理的模态逻辑子领域。(认识这个词的希腊语是 Episteme)。它应用于哲学、计算机科学、人工智能和其他领域。认识逻辑的基本模态算子通常写为 K,
  • 伊拉斯谟斯·达尔文伊拉斯谟斯·达尔文(Erasmus Darwin,1731年12月12日-1802年4月18日)是一位英国医学家、诗人、发明家、植物学家与生理学家。在多门自然科学领域中有所贡献,并且在诗作中融入了自
  • 帕提亚帕提亚是伊朗东北部的一个地区,最著名为历史上安息帝国的文化及政治中心。地理上,为大呼罗珊的西部。约存在至前3世纪至3世纪之间。
  • Erythrina刺桐属(学名:Erythrina)是蝶形花科下的一个属,为乔木或灌木植物。该属共有约200种,分布于全球的热带和亚热带地区。
  • 锦州府锦州府(满语:ᠵᡠᠩᡤᡳᠨ ᡶᡠ,穆麟德:junggin fu),清朝时设置的府。康熙四年(1665年)改广宁府置,治所在锦县(今辽宁省锦州市)。光绪时下领二州:义州、宁远州,二厅:锦西厅、盘山厅,三县:锦
  • 苏来苏来(1956年-),本名龚宏琦,台湾台南人,词曲创作者、创作歌手、音乐制作人、广播主持人。作品包括〈月琴〉等多首著名的校园民歌。苏来从小热爱文艺。“苏来”这个笔名是在他就读台
  • 台北富邦商业银行台北富邦商业银行,简称台北富邦银行、北富银,为台湾的大型商业银行之一,隶属于富邦金控旗下,2005年1月1日由台北银行及富邦商业银行合并而成。国内营业据点共有127间,海外营业据
  • 黑森-卡塞尔伯国方伯国 黑森-卡塞尔伯国(德语:Landgrafschaft Hessen-Kassel),或称黑森-卡塞尔方伯国,简称黑森-卡塞尔,是神圣罗马帝国其中一个邦国。作为伯国,黑森-卡塞尔实际上直接辖属帝国皇帝(
  • 陈子壮清光绪三十一年(1905年)上海 《国粹学报》载陈子壮像陈子壮(1596年-1647年),字集生,号秋涛。广东南海县沙贝村(今广州白云区金沙街沙贝社区)人。明末及南明政治人物。永历时官东阁大
  • 郭闻周郭闻周(1977年4月13日-),是一名已经退役的中国足球守门员,曾经效力于八一和上海申花。郭闻周在申花长期成为当时状态正佳的虞伟亮的替补,几乎从来没有能够挑战他的主力位置,2004年