1、私钥和公钥进行加解密、加验签流程概述
公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),彼此是成对存在的,私钥自己持有、公钥对外公布的。公钥加密的信息只有对应的私钥能解开。
作用及基本作用流程
假设有A、B两位用户,A持有自己的私钥和B的公钥,B持有自己的私钥和A的公钥。当A、B需要进行信息传输的时候,当A向B发送信息的时候,A需要用B的公钥进行加密,这样即使信息丢失,也不会被外人所知, 因为只有B自己有B的私钥,A还需要对信息用自己的私钥进行加密(也叫加签),这样如果信息在传输工程中被修改或者别替换,那B接收到信息的时候用A的公钥是解不开的,所以公钥可以验证发送者的身份以及发送信息的可信度。以上就是私钥和公钥的作用,简单说就是:
== 总结:(1)公钥和私钥是成对的,它们互相解密。
(2)公钥加密,私钥解密。
(3)私钥数字签名,公钥验证。==
2、CA证书
(1)概念: CA是Certificate Authority的缩写,也叫“证书授权中心”。它是负责管理和签发证书的第三方机构,作用是检查证书持有者身份的合法性,并签发证书,以防证书被伪造或篡改。而CA证书也就是数字证书,所谓数字证书简单说就是CA机构用自己的私钥对你的公钥以及个人信息进行加密生成证书就是数字证书。
(2)作用:还是以上面的A、B两位用户发送信息为例,假如C用户偷偷把A持有的B的公钥换成了自己的公钥,然后冒充B去给A发送文件,此时A仍然以为自己是和B进行信息传输,为例避免这样一种情况,找一个证书认证机构,机构也有自己的私钥和公钥,然后机构用自己的私钥对你的公钥以及个人信息进行加密生成证书就是数字证书这样B在发送给A信息的时候直接将签名值和数字证书发送过去,然后A用CA的公钥解密数字证书得到A的公钥,然后对原文用hash函数生成摘要,然后用公钥解密签名值生成摘要,两者进行比对。下图是过程:
3 、HASH
HASH也j叫散列,把任意长度的输入通过散列算法,变换成固定长度的输出,改输出就是散列值。这种转换是一种压缩映射,也即是散列值的空间通常远小于输入的空间,不同的输入可能有相同的散列值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
常用的hash算法:MD4、MD5、SHA-1