1: 密钥分类 (对称密钥与非对称密钥)
对称密钥加密: 密钥加密。 密钥=私钥 = 公钥;
即信息的发送方和接收方使用同一个密钥去加密和解密数据。
它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。
非对称密钥加密系:密钥对加密。 密钥对=私钥+公钥
它需要使用不同的密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥。
信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。
公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。
对称密钥 :密钥=私钥 = 公钥
非对称密钥 :密钥对=私钥+公钥
使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。
比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功
2:密钥,私钥,公钥的区分
私钥 公钥 是相对而言 只看使用的地方
1:密钥对:
在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。
2:公钥:
通常使用公钥加密
假如公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。
3:私钥:
通常使用私钥解密
假如私钥用来给数据加密,用私钥加密的数据只能使用公钥解密。
公钥和私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),将其中的一个向外界公开,称为公钥;
另一个自己保留,称为私钥。通过这种算法得到的密钥对能保证在世界范围内是唯一的。
3:摘要 签名 签名验证
1:摘要:
对需要传输的文本,做一个HASH运算,一般采用SHA1,SHA2来获得摘要。
2:签名:
使用秘钥对需要传输的文本的摘要进行加密,得到的密文即被称为该次传输过程的签名。
3: 签名验证 :
数据接收端:同时接收了文本和签名
数据接收端,拿到传输文本,但是需要确认该文本是否就是 发送端 发送发出的内容,中途是否曾经被篡改。
首先 接收端拿自己持有的公钥对签名进行解密,解密后得到了文本的摘要;
然后 使用与发送方同样的HASH算法计算文本的摘要值,
最终 计算出文本的摘要值 与 解密得到的摘要做对比,
发现二者完全一致,则说明文本没有被篡改过。
发送端: 文本 经过 Hash运算 获取 摘要
发送端: 摘要 经过 加密 获取 签名
接收端:文本 经过 Hash运算 获取 摘要
接收端:签名 经过 解密 获取 摘要
4:加密解密 签名与验证签名 的理解
加密解密:保证核心数据不被其他人读取
签名与验证签名 :保证核心数据不被其他人修改
既然是加密,肯定是不希望别人知道我的消息,所以只要我才能解密
所以得出,公钥负责加密,私钥负责解密,
同理,既然是签名,那肯定是不希望有人冒充我发消息,只有我才能发布这个签名,
所以得出,私钥负责签名,公钥负责验证.
5:加密解密 签名与验证签名 流程
假如有 两组四个密钥:A的公钥(PUB_A),A的私钥(PRI_A);B的公钥(PUB_B),B的私钥(PRI_B)。
这时A向B发送信息的整个签名和加密的过程如下:
1、A先用自己的私钥(PRI_A)对信息(一般是信息的摘要)进行签名。
2、A接着使用B的公钥(PUB_B)对信息内容和签名信息进行加密。
这样当B接收到A的信息后,获取信息内容的步骤如下:
1、用自己的私钥(PRI_B)解密A用B的公钥(PUB_B)加密的内容;
2、得到解密后的明文后用A的公钥(PUB_A)解签 用A自己的私钥(PRI_A)签名的摘要
网友评论