fbpx
维基百科

流密码

密码学中,流密码(英語: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)等。

线性同余生成器

线性同余生成器中,令r[0]seedr[i] =(a * r[i-1] + b)mod p,其中a,b,p均为常数,则可轻易顺次推出整个密钥流,从而进行解密。

一次性密码本

流加密攻击

多次使用同一密码本

一种严重的错误即反复使用同一密码本对不同明文进行加密。攻击者可利用这种方式对密文进行解密。

用p表示明文,C表示密文,k表示种子,PRG表示密钥流生成算法,则:

  • C1 = p1 xor PRG (k)
  • C2 = p2 xor PRG (k)

攻击者监听到此段消息(包含两段相同密钥流加密的密文)后,即可利用:

  • C1 xor C2得到p1 xor p2

足量的冗余(此处表示p1,p2)则可破解明文。

例子

WEP

一个失败的例子即WEP网络传输协议。

  • 该协议中服务器客户端共享同一密钥流,该密钥流由一段24位的数据IV和一段密钥组成,表示为PRG(IV || k),通过异或操作对明文数据流加密。而IV最多组合情况为224个(约16M大小),因而攻击者可轻易暴力破解获取IV,或通过多次截取数据包(当数据流量足够大,密钥流必定多次重复)最终得到明文。
  • 另一个弱点在于,802.11网卡重启后自动设置IV为初始状态0。两种情况下都能表明WEP安全性并不尽如人意。

WEP已被WPA和WPA2取代。

硬盘加密

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

CSS

eStream

RC4

Salsa20/Chacha20

参考文献

参见

流密码, 此條目需要补充更多来源, 2013年9月23日, 请协助補充多方面可靠来源以改善这篇条目, 无法查证的内容可能會因為异议提出而移除, 致使用者, 请搜索一下条目的标题, 来源搜索, 网页, 新闻, 书籍, 学术, 图像, 以检查网络上是否存在该主题的更多可靠来源, 判定指引, 在密码学中, 英語, stream, cipher, 又譯為串流加密, 資料流加密, 是一种对称加密算法, 加密和解密双方使用相同伪随机加密数据流, pseudo, random, stream, 作为密钥, 明文数据每次与密钥数据. 此條目需要补充更多来源 2013年9月23日 请协助補充多方面可靠来源以改善这篇条目 无法查证的内容可能會因為异议提出而移除 致使用者 请搜索一下条目的标题 来源搜索 流密码 网页 新闻 书籍 学术 图像 以检查网络上是否存在该主题的更多可靠来源 判定指引 在密码学中 流密码 英語 Stream cipher 又譯為串流加密 資料流加密 是一种对称加密算法 加密和解密双方使用相同伪随机加密数据流 pseudo random stream 作为密钥 明文数据每次与密钥数据流顺次对应加密 得到密文数据流 实践中数据通常是一个位 bit 并用异或 xor 操作加密 该算法解决了对称加密完善保密性 perfect secrecy 的实际操作困难 完善保密性 由克劳德 香农于1949年提出 由于完善保密性要求密钥长度不短于明文长度 故而实际操作存在困难 改由较短数据流通过特定算法得到密钥流 目录 1 概述 1 1 线性同余生成器 1 2 一次性密码本 2 流加密攻击 2 1 多次使用同一密码本 3 例子 3 1 WEP 3 2 硬盘加密 3 3 CSS 3 4 eStream 3 5 RC4 3 6 Salsa20 Chacha20 4 参考文献 5 参见概述 编辑伪随机密钥流 keystream 由一个随机的种子 seed 通过算法 称为 PRG pseudo random generator 得到 k作为种子 则G k 作为实际使用的密钥进行加密解密工作 为了保证流加密的安全性 PRG必须是不可预测的 弱算法包括glibc random 函数 線性同餘方法 linear congruential generator 等 线性同余生成器 编辑 主条目 線性同餘方法 线性同余生成器中 令r 0 为seed r i a r i 1 b mod p 其中a b p均为常数 则可轻易顺次推出整个密钥流 从而进行解密 一次性密码本 编辑 主条目 一次性密码本流加密攻击 编辑多次使用同一密码本 编辑 一种严重的错误即反复使用同一密码本对不同明文进行加密 攻击者可利用这种方式对密文进行解密 用p表示明文 C表示密文 k表示种子 PRG表示密钥流生成算法 则 C1 p1 xor PRG k C2 p2 xor PRG k 攻击者监听到此段消息 包含两段相同密钥流加密的密文 后 即可利用 C1 xor C2得到p1 xor p2足量的冗余 此处表示p1 p2 则可破解明文 例子 编辑WEP 编辑 一个失败的例子即WEP网络传输协议 该协议中服务器和客户端共享同一密钥流 该密钥流由一段24位的数据IV和一段密钥组成 表示为PRG IV k 通过异或操作对明文数据流加密 而IV最多组合情况为224个 约16M大小 因而攻击者可轻易暴力破解获取IV 或通过多次截取数据包 当数据流量足够大 密钥流必定多次重复 最终得到明文 另一个弱点在于 802 11网卡重启后自动设置IV为初始状态0 两种情况下都能表明WEP安全性并不尽如人意 WEP已被WPA和WPA2取代 硬盘加密 编辑 当硬盘使用流加密时 同样会使用同一密码本对不同文本进行加密 因而调换两个文本中少量信息 可以得到同样的冗余结果 避免这个问题的方案通常是避免使用流加密 CSS 编辑 主条目 内容扰乱系统 eStream 编辑 主条目 eStream RC4 编辑 主条目 RC4 Salsa20 Chacha20 编辑 主条目 Salsa20参考文献 编辑参见 编辑另一种加密思路 分组加密 对称加密 取自 https zh wikipedia org w index php title 流密码 amp oldid 75013810, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。