流密码

✍ dations ◷ 2025-11-02 17:51:52 #密码学,算法,流密码

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

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

相关

  • 油粒体油粒体(英语:elaioplast, elioplast),又称油质体、造油体,是植物细胞中的一种质粒体,属于白色体,其主要功能为储存和合成脂质。油粒体的英文名称elaioplast来自古希腊文的ἔλαι
  • 卡帕多细亚卡帕多细亚(/kæpəˈdoʊʃə/; also Capadocia; 土耳其语:Kapadokya, 希腊语:Καππαδοκία Kappadokía,辞源: 古波斯语:Katpatuka),又称为卡帕达奇亚,亚洲历史上的一个地
  • 日尔曼语族日耳曼语族是印欧语系的一支,是居住在北部欧洲日耳曼民族的语族。这一族语言有鲜明的特征,最著名的有关于辅音演变的格里姆定律。一些早期(约公元2世纪)的日耳曼语言发展出自己
  • 从意大利南部推进意大利战役是第二次世界大战盟军深入意大利内陆及包围德军和意大利军的大规模军事行动,作战时间长达1943年到1945年战争结束;参战盟军司令部(英语:AFHQ)策划所有在地中海盟军登陆
  • 高雄市高楼列表高雄位于亚太交通枢纽的中心点,具有一座世界等级的国际港口、台湾最大的深水港,1990年代货运吞吐量曾经为世界第3大的综合性港口(目前为世界第13),当时仅次于纽约与鹿特丹排名
  • 乌斯怀亚乌斯怀亚(西班牙语:Ushuaia)是阿根廷火地省的首府,位于大火地岛南岸,座落在群山环抱之中,远眺比格尔海峡,被认为是世界最南端的城市。2010年普查人口为56,956人。一条以阿根廷国父
  • 张 策张策可以指:
  • 阿尔本·W·巴克利阿尔本·威廉·巴克利(Alben William Barkley,1877年12月24日-1956年4月30日),美国律师、政治家。曾任四届美国肯塔基州联邦参议员,在1948年大选中作为哈利·S·杜鲁门的搭档参选
  • 山东省高级人民法院山东省高级人民法院大楼山东省高级人民法院是中华人民共和国山东省的高级人民法院。
  • 孙庄乡 (涿州市)孙庄乡,是中华人民共和国河北省保定市涿州市下辖的一个乡镇级行政单位。孙庄乡下辖以下地区:赵家铺村、北横歧村、南横歧村、西横歧村、税门村、孙家庄村、北胡宁村、西古城村