1.3 认证性保证
认证性由数字签名技术来保证,每个密钥对的持有者都可以用他们的私钥进行数学运算,而这种运算是其他人无法做到的,这就是数字签名和不可否认性的基础。
数字签名是用签名方的私钥对原始信息采取不可逆的单向散列算法提取出的一串唯一特征码(称为:信息摘要)进行加密的一个过程。这个过程所得到的密文即称为签名信息。
1.3.1 数字签名步骤
- 对原始明文数据使用散列值计算,得到“散列值一”
- 发送方使用自己的私钥对(1)的散列值一进行加密,加密得到的数据就是数字签名
(由于发送方的私钥不对外公开,因此使用他的公钥解密的数字签名可以确认是该发送方发送的数据)
- 把原始数据明文数据和数字签名打包发送给接收方
- 接收方从打包数据中取出明文数据
- 对取出的明文数据进行散列值计算,得到“散列值二”
- 接收方取出加密的散列值一即数字签名
- 接收方使用发送方的公钥解密数字签名,得到明文的散列值一
- 对比两个散列值可确认数据的完整性和确认是否是用户一发送的