流密码

✍ dations ◷ 2024-12-23 05:10: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取代。

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

相关

  • 尸皮尸皮(英语:cadaveric skin),是cadaveric skin的直接翻译,医学上也是称为尸皮或捐赠皮,是处理烧烫伤敷皮种类的一种,主要目的在于保护伤口、避免感染及协助伤者皮肤愈合、生成,而非一
  • 高雄点高雄点(英语:Kaohsiung.)是一个脸书粉丝专页,善于用生动又简明扼要的文字介绍高雄的日常并且将高雄市的市政资讯、民生讯息、统计数据,以视觉化的图表方式呈现,帮助高雄爱好者快速
  • 星云假说星云假说是在天体演化学的场合要解释太阳系的形成与演化最被广泛接受的模型。它建议太阳系是在星云物质中形成的,这个理论最早是伊曼努尔·康德于1755年发表在自然史和天空理
  • 犬心丝虫犬心丝虫(学名: Dirofilaria immitis,英语:Heartworm),一种寄生圆线虫,经由蚊子透过叮咬而从一个宿主传播到另一个宿主的身上。犬心丝虫属于线虫动物门圆线虫目丝线虫总科,会引起丝
  • 国立台北护理学院国立台北护理健康大学,简称北护大、国北护、北护,是一所位于台湾台北市的国立科技大学,以教授健康科学课程为主。内江街校址为城区部,仅语言治疗与听力学系暨硕士班、健康事业管
  • 外国驻台机构驻台湾外交机构列表是列出所有驻台湾的外交代表机构,包括官方及非官方的机构。大部分国家在台北市设置具有大使馆功能的代表处,部分同时于高雄市、台中市设立具备领事馆功能之
  • 卫东区卫东区是中华人民共和国河南省平顶山市的一个市辖区。面积103平方公里,2002年人口28万。目前下辖:五一路街道、建设路街道、优越路街道、东安路街道、东工人镇街道、东环路街
  • 1877年铁路大罢工1877年铁路大罢工(英语:Great Railroad Strike of 1877),亦称“大动乱”(Great Upheaval),是指巴尔的摩与俄亥俄铁路公司(英语:Baltimore and Ohio Railroad)(B&O)属下员工于1877年举行
  • 安杰莉卡·斯凯勒·丘奇安杰莉卡·斯凯勒·丘奇(英语:Angelica Schuyler Church,1756年2月20日-1814年3月13日),美国独立战争时期将领菲力·斯凯勒的长女,英国国会议员约翰·巴克·丘奇(英语:John Barker Ch
  • 斜瓣翻唇兰斜瓣翻唇兰(学名:)为兰科翻唇兰属下的一个种。