斯坦福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

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

5586

被折叠的 条评论
为什么被折叠?



