从这周开始,我制定了一些学习计划,所有这些计划会陆续进行,本篇就是其中之一,关于密码学的学习 。
在书的第一章简单介绍了安全框架,但是无论是密码学,系统安全还是网络安全都会涉及安全框架,所以就不写进来了,而是直接开始密码学的内容 。
对称密码模型
对称密码也称为传统密码或者单密钥密码,即加密密钥和解密密钥是同一个密钥 。优点就是简单,容易实现 。
密码体制(密码): 从明文到密文的转变过程和从密文到明文的转变过程
密码学:包括两部分:密码编码学 和 密码分析学
对称密码的5要素:
P:明文 | E :加密算法 | K : 密钥 | C :密文 | D :解密算法 这里先说一下加密算法主要分为两种: 代替 和 置换
传统密码的简化模型(M表示明文)
可以看出来,其中最重要的元素就是密钥和加密过程,因此传统密码的安全需要保证两点:
文章插图
举个简单的例子:明文元素集包含 26个英文字母,算法就是每个字母由它后一位来代替,比如apple的密文就是bqqmf,z的密文就是a 。那么假如我们有足够长的一段文章,我们既知道明文也知道密文,而且文章包含了所有26个英文字母,那么我们很容易就能知道加密规则,并且对密文进行翻译 。
当然我们在进行学习时,默认的是算法强度足够,那么只需要保护密钥即可 。
这里我再加上我的一些理解,在书中进行加密时是将密钥K和明文P一起进行加密的,但是我这张在网上找的图中只加密了明文,并没有加密密钥 。我的理解是,首先这肯定不是传递密钥的过程,这点应该明确,其次我对这一步的理解是这是进行签名的过程,即发送者使用K一起进行加密,既可以保证发送方必定是拥有密钥的人,他不可否认他发过,而且也可以保证在传输过程中,原文没有被篡改,因为如果密文篡改,那么很有可能还原出的明文中K这部分有修改的地方 。(当然这只是我的理解,可能有错,如果有错希望能留言纠正,谢谢)
这个过程就相比上面的图更加完善了,可以看到密钥通过安全通道传输,分析者的到分析估计出的信息和密钥,通常,在此之后他们还会对信息进行完善,努力恢复出原来的明文 。
对这张图,我能想到的两个比较常见的使用方法一个就是VPN的搭建,在使用IPsec安全策略时,就会设置一个预共享密钥对,这个过程就是将密钥通过安全通道分享的过程,还有一个就是不太了解的使用的-密钥交换算法,这个我也不太了解,反正就是很神奇,如果感兴趣的话我提供了连接,你可以看一看 。
密码编码学
密码编码学的三个独立特征:
密码分析学与穷举攻击对加密信息的攻击类型 攻击类型密码分析者已知信息
唯密文攻击
文章插图
加密算法、密文
已知明文攻击
加密算法、密文、一个或多个名密文对
选择明文攻击
加密算法、密文、分析中选择的一些明文和完整密文
选择密文
加密算法、密文、选择的一些密文和完整明文
选择文本攻击
加密算法、密文、选择的明文与对应的密文、选择的一些密文和对应明文
在进行密码选择时,要清楚,除了一次一密的方法外,所有密码都不是无条件安全的 。因此在挑选密码时应注意以下两点:
【密码学学习笔记 1.传统加密技术——对称密码模型简介】博主还在学习密码学的相关内容,如有错误,还请各位指出,谢谢支持 。
- ROS学习04.ROS中的常用组件
- 【零基础学机器学习 13】 混淆矩阵 最佳指南以及代码实战
- 深度学习-第R1周心脏病预测
- React入门笔记:一个小表格组件的构建过程
- 架构 ThinkPHP5文档学习笔记--
- 一 [Python3][django] 后端框架django学习
- 适用本科生 web前端开发学习线路图2019版
- 傲卓教育;傲卓教育app
- 二 Angular基础知识学习
- AngularJS学习笔记3——AngularJS的工作原理