Loading [MathJax]/jax/output/CommonHTML/jax.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >斯坦福大学密码学-流密码 02

斯坦福大学密码学-流密码 02

原创
作者头像
Daffy
修改于 2020-11-03 02:14:41
修改于 2020-11-03 02:14:41
2.1K0
举报

ppt 链接:

02-stream-v2-annotated.pdf

The One Time Pad 一次性密码本

定义。什么是对称加密?

有效加引号:理论上:必须在多项式时间内完成。应用上:在特定时间内完成(例如:一分钟内加密1G的数据)。

一次性密码本加密过程

优点 加密速度很快。

缺点 密钥需要和明文一样长。

什么是一个安全的加密?

Shannon 的观点:

证明OPT是完美安全的。

#keys key的数目。

计算出 是一个常量,说明对于任意m和c而言,概率一样,所以是完美安全的。

问题。

答案为1.证明:

OPT 唯密文攻击不可能。

如果一个密码是完美安全的,其全体密钥数,不少于其能处理的明文数。OPT很难应用于实践。

流密码:伪随机生成器。

因为OPT并不实用,所以用流密码在OPT的基础上让其更加实用。原理是用伪随机生成器替换掉随机生成器。

伪随机生成器是确定的函数

加解密过程。

流密码不是完美安全的,因为密钥的长度小于明文的长度。

PRG必须是不可预测的。如果可预测的话,攻击者知道一段密文对应的明文,可以计算出密钥的前一部分,然后根据可预测,计算后面的密钥,明文被还原出来。只可预测一位也是不可以的,这样可以一位一位的恢复出密钥。

可预测和不可预测定义。

弱伪随机生成器。

线性同余算法,A、B是整数,P是一个质数,不可用,可预测。glibc C语言库中的随机生成函数不应该用。

可忽略vs不可忽略。

密码学不同的领域不同的定义。实用派和理论派。

理论派:讨论事件概率时,不会对概率定值进行讨论,而是把它看作一个安全参数的函数,它是对一个从自然数域到实数域的函数做定义的,这些函数本质上输出正实数,这些非负实数被认为是概率,函数的定义域是非负整数。

如果这个函数对足够大的x,该函数都小于任意多项式函数的倒数,则说这个函数是可忽略的。

举例。

是可忽略的,因为他的分母是指数的,比多项式增长还快,因此,他比任意多项式函数的倒数增长得慢很多。 是不可忽略的,因为存在多项式比这个式子的分母增长得还快(例如10000次方),因此这个函数是不可忽略的。

也就是说如果要可忽略的话,分母要比多项式函数还高阶。

注意:

对OPT和流密码的攻击。

攻击1 两次密码本攻击。

举例:

1.苏联人掷骰子生成密钥。比较麻烦,一条密钥加密好几条消息。

2.MS-PPTP (windows NT)。PPTP协议是一个点到点协议。客户端加密的信息被当成一个长流,使用相同密钥加密,问题在于,服务端也在进行相同的事情。

3.802.11b WEP:802.11b 协议中包含了一个加密层,叫做WEP。

IV为24比特,每个数据包的IV不同,于是每个数据包的IV加一。

问题在于:

1.IV只有24比特,也就是说,经过1600万帧的传输后,IV又要从0开始循环了,这就造成了二次密码本。并且电脑重启后,IV也会从0开始计数,这样就造成了更多的二次密码本。

2.密钥之间紧密关联,容易造成攻击。

解决办法:对帧进行处理,再次使用PRG,首先用PRG得到一个长流,然后分组,对每一个帧再次使用PRG。

4.硬盘加密。两个不同的消息让攻击者知道改变了什么?甚至怎么改变的?

一次性加密不是用来加密硬盘的好点子。

总结:

攻击2:不提供完整性保护。(可修改性)

结果为 ,无法检测对还原的明文有特定的影响。

篡改邮件的发送者。

流密码:实际应用。

RC4

面向软件设计。RC4的种子长度可变。

缺点:1.不够随机。2.(0,0)输出概率大。3.相关密钥关联。

CSS

加密DVD,混淆系统CSS。已经被完全破解。面向硬件设计的流密码。

线性反馈移位寄存器(LFSR):

LISR是由若干单位组成的寄存器,每个单位含一位,接着对特定的单元由出头,不是全部单元都有,特定的位置叫出头,然后,这些出头被异或。在每一个时钟周期,寄存器向右移一位,最右位被遗弃,而异或结果被当作第一位。

CSS:种子为5字节,40字节。用两个LISR寄存器,一个是17比特的LISR,种子构成是 1||种子的前两个字节。一个是25比特的LISR,种子构成是 1||种子的后三个字节。运行八轮,输出8位,然后相加,取模256。

破译:

eStream

eStream: Salsa 20

面向软件和硬件。

性能参数。

流密码:PRG安全性定义。

伪随机与真随机不可区分。

统计测试。

A(X) X是随机字符串。

1.对于一个随机字符串,0的个数和1的个数大体相等。

2.对于一个随机字符串,00的概率大约是四分之一。

3.对于一个随机字符串,在字符串中最长的连续的0大约是log N(2为底数)。

如何评估一个统计测试?引入了优势的概念。

最后答案是0。

举例:

1/6 是个很大的值了,A可以区分。

什么是安全的PRG?所有有效的统计测试,如果看优势,统计测试A对G的优势基本上是可忽略的。

注意:有效指在多项式时间内完成的测试。

是否有安全的PRG?不知道。但是如果说没有安全的PRG,则意味着

安全的PRG是不可预测的。

逆否命题。

意味着如果A可以以优势 预测下一位,那么测试算法B可以以优势 区分出发生器的输出序列。

逆否命题:如果G安全,那么没有任何好的统计测试,也就没有任何好的预测算法。 发生器不可预测。

一个不可预测的PRG是安全的。

next-bit predictors 泛指预测算法。

习题:不用构造一个预测算法,证明其存在。容易构造一个统计测试来区分G的输出和均匀分布的序列,所以G不安全。意味着G是可预测的。

推广。

流密码:语义安全。

什么是安全的密码?

Shannon的完美安全。

我们不要求两个分布绝对相同,我们要求两个分布在计算上不可区分。

只对攻击者能想到的明文 满足。

一次性密码本的语义安全。

在实验0中,给攻击者 的加密。在实验1中,给攻击者 的加密。

注: 表示在实验b中攻击者输出1的概率。

我们对攻击者在哪个实验中输出1感兴趣。如果在两个实验中攻击者以同样的概率输出1,意味着攻击者无法区分两个实验。

如果在两个实验中攻击者输出1的概率非常不一样,意味着攻击者可以区分两个实验。

定义

举例:

有个被破解的加密机制。有攻击者A,给定密文,能够推出明文的最低位。

这个系统不是语义安全的。

OPT是语义安全还是完美安全? 都是,OPT是完美安全,也是语义安全。

最后是0。

流密码:流密码是语义安全的。

用安全的PRG构成的流密码是语义安全的。(注意流密码不是完美安全的。因为它的密钥太短)

如何证明上面的定理呢?证明逆否命题。

假设有一威胁语义安全的攻击者A,我们将构造一个PRG攻击者B,以满足以下的不等式。

如果B是一个有效的攻击者,由于G是安全的,那么 是可以忽略的。这样的话,左边也是可忽略的。得证。

所以,给定A,我们要构造B。

首先A,和挑战者A玩一个游戏。就是攻击者不能判断我们是否从伪随机字符串切换到了真随机字符串。如果是真随机字符串的话,那么就是OPT。OPT已经被证明了是语义安全。

证明 实际上很接近 的概率,从而它们彼此也很接近。

证明论断2

按需要构建统计测试B,内部使用攻击者A。

证明完毕。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
斯坦福大学密码学-使用分组密码 04
可以设计出攻击者A,询问 x=0和 x=1,因为PRP中没有f(0)=f(1)的情况,所以当f(0)=f(1)时,一定是实验1,所以输出1,否则,输出0。所以实验0 PRP没有f(0)=f(1)的情况,所以输出1的概率为0,而实验1输出1的概率为1/2。
Daffy
2020/11/03
1.4K0
斯坦福大学密码学-零碎 08
CTX:上下文字符串,是一个唯一的字符串,作为应用的身份。在一个系统中可能有多个应用。多个应用试着建立多个安全密钥。CTX试图将它们区分。
Daffy
2020/11/05
1.4K0
斯坦福大学密码学-基于Diffie-Hellman 的公钥加密 12
Bob用Alice的公钥加密完 后,Alice就可以用自己的私钥解出对称密钥,读取文件。
Daffy
2020/11/07
1.3K0
斯坦福大学密码学-基于陷门置换的公钥加密 11
注意:G在现实中有一个参数,叫安全参数,指定了这个密钥生成算法将要生成的密钥大小。
Daffy
2020/11/07
2.7K0
斯坦福大学密码学-分组密码 03
典型的分组密码以迭代的形式构建。输入密钥k,然后将密钥扩张成一系列的回合密钥 到 。使用这些回合密钥一次又一次的迭代使用回合函数加密明文信息。
Daffy
2020/11/03
2K0
斯坦福大学密码学-认证加密 07
如果目标端口是25,TCP/IP栈会解密这个包,看目标端口,然后把明文数据发给目标进程。
Daffy
2020/11/04
2.3K0
斯坦福大学密码学-抗碰撞 06
基于CBC的MAC:两种变形:ECBC,CMAC。常与AES一起使用,在802.11i标准里,CBC-MAC被用于信息完整性。
Daffy
2020/11/04
2K0
斯坦福大学密码学-信息完整性 05
目标:只提供完整性,不提供私密性。举例:硬盘上的公共信息,不在乎私密性,只在乎是否被病毒入侵,被篡改。广告商。
Daffy
2020/11/03
1.5K0
斯坦福大学密码学-绪论 01
争取这周看完斯坦福大学Dan Boneh 教授的密码学课程,fighting !!!
Daffy
2020/11/02
1.1K0
简述分组密码的加密分组链接模式的工作原理及其特点(密码学移位密码加密解密)
常用的分组加密模式有四种,分别是:电子密码本模式 (ECB)、加密分组链接模式 (CBC)、加密反馈模式 (CFB)和输出反馈模式 (OFB)。下面重点介绍这四种加密模式, 对其他的加密模式仅作简单的概括。
全栈程序员站长
2022/07/28
2.7K0
简述分组密码的加密分组链接模式的工作原理及其特点(密码学移位密码加密解密)
密码学技术02
一次性密码本是一种非常简单的密码,它原理是:“讲明文与一串随机的比特序列进行XOR运算”
yichen
2020/01/02
7930
读《图解密码技术》(一):密码
以前,对一些密码技术,虽然懂得怎么用,但对其原理却一直不甚了解,比如,用公钥加密后,为什么用私钥就可以解密?DES和AES加密时为什么需要一个初始化向量?想要了解这些密码技术的基本原理,而最近买书时看到了《图解密码技术》这本书,刚好可以解答到我的这些问题,于是,就买回来看了。
Keegan小钢
2018/08/10
3.4K1
读《图解密码技术》(一):密码
斯坦福大学密码学-密钥交换 09
没有可信第三方的密钥交换,可以用对称加密实现吗? 可以滴!!!但是效率很低,实际中没有用。
Daffy
2020/11/05
9910
《计算机系统与网络安全》 第四章 密码学基础
首先来看密码学概述。什么是密码学密码学的英文单词?Cryptology来自于两个希腊文单词,一个是accepts,一个是logos。分别的意思是隐藏信息,所以密码学主要就是用来隐藏信息的。密码学分为两个分支,photography、密码学、密码加密学,另外一个分支就是crypto analysis,密码分析学。
猫头虎
2024/04/08
3140
《计算机系统与网络安全》 第四章 密码学基础
古典密码学概述
隐写术是指首先用传统加密算法对数据进行加密,然后用某种方法将加密后的数据修改为一个伪装文本。
hotarugali
2022/03/01
2K0
古典密码学概述
密码学技术03
在之前讨论的 DES、AES 都属于分组密码,他们只能加固固定长度的明文。如果要加密任意长度的明文,就需要对分组密码进行迭代,迭代的方法称为模式。
yichen
2020/01/02
6260
密码学知识总结
  很喜欢这种开放性题目的作业,每个人可以根据自己的兴趣来选择相应的题目。也是一个锻炼自主学习能力的机会。   学习密码学用图片可以很难直观地展现算法的流程,推荐一本书《图解密码技术》,书中有大量的图片,可以用来入门。
yifei_
2022/11/14
7240
《深入浅出密码学》——读书笔记(更新中)
h1 { text-align: center } h2 { text-align: center } .picture { text-align: center } thead th, tfoot th { text-align: left; background: grey; color: white } tbody th { text-align: left; background: Gainsboro; color:white }
Homqyy
2023/03/06
1K0
《深入浅出密码学》——读书笔记(更新中)
简单小结密码学入门知识点
  密码,最初的目的是用于对信息加密,计算机领域的密码技术种类繁多。但随着密码学的运用,密码还被用于身份认证、防止否认等功能上。密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。
步履不停凡
2019/08/23
2.4K0
简单小结密码学入门知识点
【密码学】为什么不推荐在对称加密中使用CBC工作模式
这篇文章是我在公司内部分享中一部分内容的详细版本,如标题所言,我会通过文字、代码示例、带你完整的搞懂为什么我们不建议你使用cbc加密模式,用了会导致什么安全问题,即使一定要用需要注意哪些方面的内容。
9eek
2023/05/23
3.4K1
【密码学】为什么不推荐在对称加密中使用CBC工作模式
相关推荐
斯坦福大学密码学-使用分组密码 04
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档