斯坦福Dan Boneh密码学——04 流密码

本文介绍了斯坦福大学Dan Boneh教授关于流密码的深入解析,探讨了如何使用伪随机生成器拉伸短密钥,实现安全的加密过程。重点讲解了PRG的概念、流密码的安全性以及其在实际应用中的局限性,包括二次密码本攻击和可塑性问题。

斯坦福Dan Boneh密码学——04 流密码

密码学系列第四篇笔记


流密码

简单来说,流密码实现了我们构建使用合理短密钥的安全密码的目的。

伪随机生成器

回想一次性密码本,密钥、消息和密文都是L位字符串。然而我们想使用一个短得多的密钥。我们的想法是使用一个短的“种子”作为加密密钥,它可比L小得多,我们将这个种子“拉伸”成一个更长的L位字符串,用于屏蔽消息(并解开密文)。如下,字符串s使用一些有效的、确定性的算法G进行拉伸,该算法将短的“种子串”映射为L位字符串。因此,这个修改过的一次性密码本的键空间是{0,1}L,而消息和密文空间是{0,1}L。对于s∈ {0,1}L和m,c∈ {0,1}L,加密和解密定义如下:
在这里插入图片描述
这种修改过的一次性密码称为流密码,函数G称为伪随机生成器。根据香农定理,该流密码其实不能达到完美的安全性;然而,如果G满足适当的安全属性,则该密码在语义上是安全的。因为假设s是一个随机短比特串,r是一个L长度的比特串。直觉上,如果对手无法有效区分G(s)和 r 之间的差异,那么他应该无法区分此流密码和一次性密码本之间的差异。

伪随机生成器的定义

pseudo-random generator,伪随机生成器,简称PRG,是一种高效的确定性算法G,它将种子s作为输入,计算输出r。种子s来自有限的种子空间S,输出r属于有限的输出空间R。我们对PRG安全性的定义形式化了这样一个概念,即不应该有有效(且有效可计算)的统计测试。即如果从S中随机选择s,从R中随机选择r,那么没有有效的对手能够有效地区分G(s)和r之间的差异:两者在计算上是不可区分的。这个定义被定义为一个攻击游戏。

流密码:使用PRG加密

这里的希腊字母和 L 较容易混淆,因此直接截图原书的内容:
在这里插入图片描述
请注意,为了分析 ϵ\epsilon

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值