加密解密 签名验签学习笔记
2016-09-09 09:55
447 查看
原文地址:加密解密 签名验签学习笔记
一、基本概念:
1.加密: 发送方利用接收方的公钥对要发送的明文进行加密。
2.解密: 接受方利用自己的私钥进行解密。
公钥和私钥配对的,用公钥加密的文件,只有对应的私钥才能解密。当然也可以反过来,用私钥加密,用对应的公钥进行解密。
3. 签名:发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私人密钥对这个摘要进行加密,得到的就是这个报文对应的数字签名。通常来说,发送方会把数字签名和报文原文一并发送给接受者。过程示例如下图:
4. 验签:接收方得到原始报文和数字签名后,用同一个哈希函数从报文中生成摘要A,另外,用发送方提供的公钥对数字签名进行解密,得到摘要B,对比A和B是否相同,就可以得知报文有没有被篡改过。过程示例如下:
其实, 数字签名有两种功效:一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。二是数字签名能确定消息的完整性。
很容易看得出来,数字签名技术有一个问题,就是原始报文是明文传输的,这对一些敏感内容来说通常是不合适的,所以有些时候,这两种技术会结合起来使用。
发送方用自己的私钥完成数字签名,然后再用接收方的公钥对报文进行加密,将数字签名和报文传送给接收方。
接收方在拿到密文和数字签名后,先用自己的私钥对密文进行解密,得到明文,然后再用发送方提供的公钥进行验签,确保发送方身份的准确性,以及报文并没有被篡改过。
这里还有一篇有关加密的文章写得很好。
http://security.group.iteye.com/group/wiki/2280-Non-symmetric-encryption-Digital-Signature
一、基本概念:
1.加密: 发送方利用接收方的公钥对要发送的明文进行加密。
2.解密: 接受方利用自己的私钥进行解密。
公钥和私钥配对的,用公钥加密的文件,只有对应的私钥才能解密。当然也可以反过来,用私钥加密,用对应的公钥进行解密。
3. 签名:发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私人密钥对这个摘要进行加密,得到的就是这个报文对应的数字签名。通常来说,发送方会把数字签名和报文原文一并发送给接受者。过程示例如下图:
4. 验签:接收方得到原始报文和数字签名后,用同一个哈希函数从报文中生成摘要A,另外,用发送方提供的公钥对数字签名进行解密,得到摘要B,对比A和B是否相同,就可以得知报文有没有被篡改过。过程示例如下:
其实, 数字签名有两种功效:一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。二是数字签名能确定消息的完整性。
很容易看得出来,数字签名技术有一个问题,就是原始报文是明文传输的,这对一些敏感内容来说通常是不合适的,所以有些时候,这两种技术会结合起来使用。
发送方用自己的私钥完成数字签名,然后再用接收方的公钥对报文进行加密,将数字签名和报文传送给接收方。
接收方在拿到密文和数字签名后,先用自己的私钥对密文进行解密,得到明文,然后再用发送方提供的公钥进行验签,确保发送方身份的准确性,以及报文并没有被篡改过。
这里还有一篇有关加密的文章写得很好。
http://security.group.iteye.com/group/wiki/2280-Non-symmetric-encryption-Digital-Signature
相关文章推荐
- 加密解密 签名验签学习笔记
- 加密解密-签名验签学习笔记
- 加密解密 签名验签学习笔记
- C# RSACryptoServiceProvider加密解密签名验签和DESCryptoServiceProvider加解密
- 微软企业库4.1学习笔记(二十二)加解密模块2 在应用中使用加密解密
- openSSL学习笔记 Base64 加密解密
- RSACryptoServiceProvider加密解密签名验签和DESCryptoServiceProvider加解密
- 微软企业库4.1学习笔记(二十二)加解密模块2 在应用中使用加密解密
- 数据签名并不完全是私钥加密,验签也不完全是公钥解密
- Java安全学习笔记(十)-输出流的加密和解密
- 私钥签名解密公钥加密验签代码
- 马哥linux学习笔记:加密,解密基础
- 学习笔记:计算机的加密和解密技术知识普及
- 我的学习笔记1:加密、解密,以及OpenSSL创建私有CA
- C# RSACryptoServiceProvider加密解密签名验签和DESCryptoServiceProvider加解密
- C# RSACryptoServiceProvider加密解密签名验签和DESCryptoServiceProvider加解密
- C# RSACryptoServiceProvider加密解密签名验签和DESCryptoServiceProvider加解密
- cocos2d-x 3.x学习笔记<三> 加密解密 xxtea
- C# RSACryptoServiceProvider加密解密签名验签和DESCryptoServiceProvider加解密
- OD学习笔记10:一个VB程序的加密和解密思路