斯坦佛密码学十三讲:2.流密码

斯坦佛密码十三讲:2.流密码

密码定义

三元组(密钥,明文,密文)

一致性方程

在这里插入图片描述

the one time pad

密码的安全性

Shannon:密文不透露明文的信息

Pr[E(k,m0)=c] = Pr[E(k,m1)=c] for all m in M

完美安全不意味着安全,只是可以抵抗唯密文攻击

定理:如果一个密码是完美安全的,那么其密钥长度一定大于等于明文长度

所以没啥用,因为假如双方可以安全传递和明文一样长的密钥,那么他们已经可以不需要密码了

Stream Ciphers: making OTP practice

PRG(伪随机数发生器)

函数G是确定的,但是种子是随机的

安全的另一个定义

unpredictable(不可预测性)

可预测性即知道随机序列前缀可以预测后面的

可预测性:Pr[A(G(k)i)=G(k)i+1]大于等于1/2+c(c为一个很小量)

几个脆弱的PRG

线性同余方法

在这里插入图片描述

glibc random

在这里插入图片描述

可忽略和不可忽略

针对OTP的攻击

two time pad is insecure(因为密码本会被异或抵消)

在这里插入图片描述

所以流密码如果使用两次也是会被解密(所以不要用相同的密钥(种子))

WEP(反面教材)

密钥还是会出现循环,并且重启就会直接开始循环

改进,前缀不要简单循环,也使用PSG

no integrity(缺少完整性)

可以修改密文但是无法被检测出来

Bob -> Eve

流密码的实际应用

RC4

在这里插入图片描述

缺点:

1.密钥的频率不均匀,所以不安全

2.出现00的概率更大

3.密钥之间有关联,容易被破解

CSS

Linear feedback shift register(LFSR)

右移,丢掉左边,“出头”(特殊的几个寄存器)的异或结果变成第一

在这里插入图片描述

攻击的原理

CSS限定在40位,使用两个LFSR:17位和25位

没太听懂1:07左右

好的例子

eStream

密钥可以不变,因为有一个不会重复的r值

Salsa20(软件硬件都可以用)

PRG Security Defs

输出随机串列的可能和正常字符串可能一样(不可区分)

Statistical Tests

1.0和1的个数 2.连续两个0的概率(n/4)3…最长0的长度(log2n)
![请添加图片描述](https://img-blog.csdnimg.cn/在这里插入图片描述
20201130155939573.png)

在这里插入图片描述

如何评价一个统计测试的好坏?

计算一下他和psg和真随机的差

在这里插入图片描述

如果可以被区分就说明这个psg不怎么好,被破解了

Secure PRGs: crypto definition

对所有的统计测试,他的优势都接近于0

a secure PRG is unpredictable

逆否命题也成立: a unpredictable PRG is secure

语义安全(Semantic Security)

尝试

1.无法还原密钥(不行)

2.无法还原明文(不行)

3.香农的完美安全(太强了没必要)

4.把香农的完美安全换成计算上不可知(还是过强了)

所以只用限定到攻击者能想到的明文组合就可以

在这里插入图片描述

证明来自PRG的流密码是语义安全的

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值