密钥加密技术包含对称加密和非对称加密技术,对称加密是指加密和解密使用相同得密钥,非对称加解密需要两个密钥:公开密钥和私有密钥,如果有公钥加密,那么需要用私钥进行解密,反之亦然。
非对称加密技术的工作流程如下图所示,A给B发送信息,首先对信息用公钥进行加密,形成密文,进行传输,接收者通过私钥对密文进行解密,得到明文信息的输出。
-
哈希函数
哈希函数是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数,公式表示形式:
h=H(m)
m:任意长度的信息,有些限制长度,有些不限制
H:哈希函数
h:固定长度的哈希值,可以称作信息摘要,或者数字指纹。
哈希函数具有正向快速,逆向困难,输入敏感,强抗碰撞性
- 数字签名
数字签名技术是非对称密钥加密技术与数字摘要技术的应用,即每个节点有一堆私钥、公钥;私钥为发送者所拥有的密钥,签名时需要使用私钥,不同私钥对同一段数据的签名时完全不同的,
数字签名的具体流程:
(1)发送者对原始数据通过哈希算法计算数字摘要,并且发送者使用非对称加密技术中的私钥对数字摘要进行加密,形成数字签名。
(2)发送者将数字签名和原始数据一同发送给验证签名的接收者。
验证数字签名的具体流程:
(1)接收者首先要具有发送者的非对称性密钥的公钥。
(2)在接收到数字签名与发送者的原始数据后,先试用公钥,对数字签名进行解密处理,得到原始的摘要值(哈希值,散列值)
(3)接收者对发送者的原始数据进行同样的哈希算法计算摘要,将其与解密后得到的摘要值进行对比,若二者相同,则签名验证通过,保证了原始数据在传输过程中未经过篡改。
数字签名及验证的过程如图所示:
签名过程示意图
验证过程示意图 哈希值1=哈希值2,则此数字签名验证通过