前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >密码学技术03

密码学技术03

作者头像
yichen
发布2020-01-02 17:59:33
5280
发布2020-01-02 17:59:33
举报

密码学技术

参考书籍:《图解密码技术》

分组密码:

在之前讨论的 DES、AES 都属于分组密码,他们只能加固固定长度的明文。如果要加密任意长度的明文,就需要对分组密码进行迭代,迭代的方法称为模式

分组密码有很多模式,如果模式选择不正确,就无法保证机密性。

ECB模式

讲明文分割成多个分组,对每个分组逐个加密的方法称为 ECB,在 ECB 加密后的结果将直接成为密文分组。

我们可以将其理解为一个巨大的“明文分组->密文分组”的对应表,因此 ECB 模式也称为电子密码本模式

当最后一个明文分组的内容小于分组长度的时候,需要一些特定的数据进行填充。

ECB 模式的弱点

在 ECB 模式中,每个明文分组都是独立加密解密的,假如存在攻击者,他通过改变顺序就能达到一定目的。

如果下面的意思是从 A 账户里转1000000000元到 B 账户

明文: 分组1:1097179511 (A账户) 分组2:1234567890 (B账户) 分组3:1000000000 (转账金额) 密文: 分组1:********** (A账户) 分组2:********** (B账户) 分组3:********** (转账金额)

即使攻击者没有破译密码,但是还是可以将付款人账户与收款人账户对调,那还是可以把前转进自己的账户。

密文: 分组1:********** (B账户) 分组2:********** (A账户) 分组3:********** (转账金额)

这样就实现了,通过这个例子,可以看出,ECB 模式的弱点就是可以在不破解明文的情况下操纵明文。

CBC模式

CBC 模式中会先将明文分组与前一个密文分组进行 XOR 运算,然后再进行加密(图是解密过程,加密的图没找到,又不想自己做)

当然,对第一个明文分组来说,是没有前一个密文分组的,那么就需要一个初始化向量(简称IV)

CFB模式

相对于 CBC 模式,CFB 模式是先将初始化向量进行加密,然后再异或

针对 CFB 模式的攻击

重放攻击:A 向 B 发送了一条消息,消息由四组密码组成, C 保存了下来。第二天,A 又向 B 发送消息,C用昨天保存下来的三个密文分组将今天的后三个密文进行了替换。

这样,当 B 解密时,只有第一个会时正确的明文,第二个会出错,第三个和第四个则变成了 C 替换的内容。

然而 B 无法判断时通信出错还是被人攻击

OFB模式

OFB 模式不是通过算法直接进行加密,而是通过将“明文分组”和“密码算法的输出”进行 XOR 来产生“密文分组”。

CTR模式

CTR 模式是一种通过逐次累加的计数器进行加密来生成密钥流的流密码

关于流密码与分组密码的区别:

分组密码是每次处理输入的一组元素,相应的得到一组密文元素

流密码则是连续的处理输入元素,每次输出一个密文元素

分组密码模式比较表

END

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 陈冠男的游戏人生 微信公众号,前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档