学习数字签名原理
注:数字签名和数字证书是不一样的。
参考:http://justjavac.iteye.com/blog/1144151
1. 数字签名的主要功能
保证信息传输的完整性、发送者的
身份认证、防止交易中的抵赖发生。
数字签名技术是将摘要信息用发送者的私钥加密,与
原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用
HASH函数对收到的
原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。
数字签名是个加密的过程,数字签名验证是个解密的过程。
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
这是从网上下载来的。
发送者:原文 + 哈希函数 ==》 摘要信息A; 摘要信息 + 私钥 ==》 加密后的摘要信息B(即数字签名)
接收者: 收到的原文 + 哈希函数 ==》 摘要信息C; 加密后的摘要信息B(即数字签名) + 公钥 ==》 摘要信息D;
如果C和D完全相等,则说明文件内容未曾改变。