加密加签与解密解签区别

数据加密:用公钥加密,只有用私钥解开,因为私钥只有你自己有,所以他保证了数据不能被别人看到
签名:用私钥加密,只能用公钥解密,任何人都可以用公钥验证。因为私钥只有你自己有,所以它可以保证数据只能是你发出的,不可能有别人发出,除非你得私钥丢失或被第三方破解出来

数字签名起不到加密作用,但可以确定是谁发出的信息
使用公钥加密算法,可以对明文进行加密,但不能确定是谁发出该消息

 

加密是对数据进行机密性保护,签名主要用于身份验证

解析如下:

假设A、B双方均拥有一对公私钥(PUB_A、PRI_A、PUB_B、PRI_B)。

A向B发送Message的整个签名和加密的过程如下:

A先使用HASH对Message生成一个固定长度的信息摘要Message_hash_A A使用A的私钥PRI_A对Message_hash_A进行签名得到Message_sign(这里为什么不直接对Message进行签名,而要对Message_hash_A进行签名呢?因为Message的长度可能很长,而Message_hash_A的长度则是固定的,这样性能更高,格式也固定,况且hash的结果一般不会出现重复的可能) A接着使用B的公钥PUB_B对信息Message和信息Message_sign进行加密得到Message_RSA,这时A将Message_RSA发送给B。

当B接收到A的信息Message_RSA后,获取Message的步骤如下:

B用自己的私钥PRI_B解密得到明文:Message和Message_sign; 然后B使用A的公钥PUB_A解Message_sign得到Message_hash_A;同时,B再对Message使用与A相同的HASH得到Message_hash_B; 如果Message_hash_A与Message_hash_B相同,则说明Message没有被篡改过。

注:当然也可以先加密再加签分别存放传送。

 

 

加密和解密:发送方利用接收方的公钥对要发送的明文进行加密,接受方利用自己的 
          私钥进行解密,其中公钥和私钥匙相对的,任何一个作为公钥,则另一个
          就为私钥.但是因为非对称加密技术的速度比较慢,所以,一般采用对称
          加密技术加密明文,然后用非对称加密技术加密对称密钥,即数字信封
          技术.
签名和验证:发送方用特殊的hash算法,由明文中产生固定长度的摘要,然后利用
          自己的私钥对形成的摘要进行加密,这个过程就叫签名。接受方利用
          发送方的公钥解密被加密的摘要得到结果A,然后对明文也进行hash操
          作产生摘要B.最后,把A和B作比较。此方式既可以保证发送方的身份不
          可抵赖,又可以保证数据在传输过程中不会被篡改。

 

  一,  对称密钥相对明文数据来说要小得多,这是为什么不用非对称加密技术加密
       明文的原因。加密的速度是和要加密的数据量有关的。本来非对称加密算 
       法就比对称加密算法的速度慢好多。
  二, 签名和验证的原理你还是没太明白,其实完全不必产生摘要,用自己的私钥
       随便加密一些数据,这就叫签名,如果对方能够用公钥解开,就足以证明
       发送者是你,之所以产生摘要,目的是确保数据不被中途篡改。
  三, 产生摘要的算法有很多,比如MD5

 

1 散列(哈希)函数加密 通常有MD5、SHA1、SHA256、SHA512 实质是抽取特征码,这样一般不会重复!是的,不同的文本它的加密结果是有可能相同的,但概率很小。(举例:比如想要识别一个人,我们可以通过他的指纹来锁定他,指纹出现相同的概率很低吧!在这里,人就相当于数据,而指纹就相当于对人这个数据进行hash后得到的结果) 对任意一个二进制数据进行加密,可以得到定长的字符串结果,例如MD5加密结果是32个字符 还有就是不可逆的,既然是不可逆的,那么当然不是用来加密的,而是签名 2 对称加密算法 有DES、3DES、AES 加密和解密使用同一个秘钥,加密解密的速度快 适合给大数据进行加密 密钥的安全性非常重要 3 非对称加密算法:RSA 使用 公钥 加密,使用 私钥 解密 使用 私钥 加密,使用 公钥 解密 更安全,当然速度会慢下来,如果随着硬件的突破,使用越来越多,特别是支付 二、加密与签名区别 最大的区别是,加密是可逆的,而签名是不可逆的。

posted @ 2017-03-16 12:34  Kevin_Zhou_9  阅读(1723)  评论(0编辑  收藏  举报