加密与数字签名的流程

原创 2007年09月29日 22:55:00
公钥加密私钥解密,   没问题,也可以说是"公共密钥加密系统"  
  私钥加密公钥解密,一般不这么说,应叫"私钥签名,公钥验证",也可以说是“公共密钥签名系统”  
   
  再来说一下"公共密钥签名系统"目的:(如果晕就多看几遍,这个没搞清,后面的代码就更晕)  
   
  A欲传(信息)给B,但又怕B不确信该信息是A发的。  
  1.A选计算(信息)的HASH值,如用MD5方式计算,得到:[MD5(信息)]  
  2.然后用自已的私钥加密HASH值,得到:[私钥(MD5(信息))]  
  3.最后将信息与密文一起传给B:传给B:[(信息)   +   私钥(MD5(信息))]  
   
  B接到   :[(信息)   +   私钥(MD5(信息))]  
  1.先用相同的HASH算法算出(信息)的HASH值,这里也使用MD5方式    
  得到:   [MD5(信息)!]  
  2.   再用A的公钥解密   [   私钥(MD5(信息))]  
        [公钥(私钥(MD5(信息)))]   =   [(MD5(信息)]  
        如能解开,证明该   [   私钥(MD5(信息))]是A发送的  
  3.再比效[MD5(信息)!]与[(MD5(信息)]  
        如果相同,表示(信息)在传递过程中没有被他人修改过   
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

加密算法 公钥私钥理论 数字签名 操作流程

Java实现 RSA加密解密及数字签名

1.RSAUtils.javapackage com.ecs.rsa;import java.io.ByteArrayOutputStream; import java.security.Key; i...

DES、RSA、RSA数字签名、MD5、SHA 加密解密代码

///     /// 作者:李照     /// 时间:2014-06-05 15:56:23     ///     public static class E...

数字签名和加密的基本原理及其区别?

本文转载:http://www.cnblogs.com/chinhr/archive/2009/06/08/1498388.html 数字签名主要经过以下几个过程: 信息发送者使用一单向散列函数(...

Java加密和数字签名编程快速入门

本文主要谈一下密码学中的加密和数字签名,以及其在java中如何进行使用。对密码学有兴趣的伙伴,推荐看Bruce Schneier的著作:Applied Crypotography。在jdk1.5的发行...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)