密码学原理
Tags:
1、加密算法分类
2、对称算法<原理、特征、算法>
3、非对称算法<原理、特征、算法>
4、对称算法vs非对称算法<结合体>
1、加密算法概述
用于对用户数据进行加密,常用算法有DES、3DES、AES、RSA、DH算法。
根据密钥特征,分为对称和非对称算法。
2、对称算法
(1)原理
对称加密算法中,数据发信方将明文和加密密钥一起经过特殊加密算法处理后,发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
(2)对称算法
DES、3DES、AES
(3)算法特征
安全性
紧凑性(加密前后的数据大小变化不大)
速度快
3、非对称算法
(1)原理(公钥私钥对)
非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密。甲方想要回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理,乙方使用自己的私钥来进行解密。
另一方面,甲方可以使用自己的私钥对机密信息进行签名后再发送给乙方;乙方再用甲方的公钥对甲方发送回来的数据进行验签。
甲方只能用其私钥解密由其公钥加密后的任何信息。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
密钥对:公钥+私钥,公钥大家都知道,私钥只有本地知道,
公钥加密私钥解,私钥加密公钥解。加解密双方各有
一对密钥对。发给谁就用谁的公钥!
(2)非对称算法
RSA、DH
(3)特征
速度慢
安全性
密钥管理方便
支持数字签名
支持不可否认性(不可抵赖性)
4、对称+非对称算法
对称算法用来对数据加密
非对称算法用来实现密钥分发
安全
紧凑
速度快
密钥管理方便
支持数字签名
支持不可否认性
哈希算法
Tags:
1、哈希算法分类
2、哈希算法原理和特征
3、哈希算法应用
1、哈希算法分类
MD5、SHA,用于实现数据完整性校验。
2、哈希算法原理和特征
哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算法。
特征:
1、雪崩效应:明文有任何的修改,hash全局改变;
2、不可逆向:无法根据哈希值得到明文;
3、固定输出:128bit、160bit
功能:
1、完整性校验
2、安全性校验
3、哈希算法应用
哈希算法可以检验信息是否是相同的,这样的优势可以节省重复文件传送的时间。
比如:我们在生活工作中会使用一些软件给别人传送文件数据,如果有人传送了一份文件给一个人,然后又有一个人传送了相同的文件给了另外一个人,那么这个社交软件在第二次传送文件的时候会对比两次传送的哈希值,发现是相同的,该软件就不会再次上传文件给服务器了。
除此之外,哈希算法还可以检验信息的拥有者是否真实。
比如:我们在一个网站注册一个账号,如果网站把密码保存起来,那这个网站不论有多安全,也会有被盗取的风险。但是如果用保存密码的哈希值代替保存密码,就没有这个风险了,因为哈希值加密过程是不不可逆的。