认证技术—确保数据完整性

认证技术的实现通常需要借助于加密和数字签名等密码学的技术。认证可以通过数字签名或者哈希函数来确保报文的完整性。

1、数字签名

(1)发送方生成数字签名:发送方使用自己的私钥对数据的哈希值进行加密,生成数字签名。由于私钥的唯一性和保密性,数字签名能够唯一地标识发送方的身份,并确保数据的完整性。
(2)接收方验证数字签名:接收方收到数据后,使用发送方的公钥对数字签名进行解密,得到数据的哈希值。然后,接收方对接收到的数据重新计算哈希值,并与解密得到的哈希值进行比较。如果两者一致,则说明数据在传输过程中未被篡改,保证了数据的完整性。  

2、哈希函数

​它通过对数据进行计算,生成固定长度的哈希值。哈希值具有唯一性和敏感性,任何微小的数据改动都会导致哈希值的变化。

(1)发送方计算哈希值:在数据传输前,发送方使用哈希函数对数据进行计算,生成哈希值,并将其附加在数据中一同发送。
(2)接收方验证哈希值:接收方收到数据后,使用相同的哈希函数对数据重新计算哈希值,并与发送方提供的哈希值进行比较。如果两者一致,则说明数据在传输过程中未被篡改,保证了数据的完整性。  

3、消息认证码

消息认证码(MAC)是用于提供数据原发认证和数据完整性保证的密码校验值。
MAC是消息被一个由密钥控制的公开散列函数作用后产生的固定长度的数值。用作认证符。

(1)发送方生成MAC:
发送方首先选择或生成一个密钥,这个密钥是双方共享的,用于生成和验证MAC。
发送方将原始消息与密钥一起输入到MAC算法中,算法对消息和密钥进行特定的处理,生成一个固定长度的MAC值。
(2)发送消息和MAC:
发送方将原始消息和生成的MAC值一起发送给接收方。通常,MAC值会附加在消息的末尾或作为消息的独立部分进行传输。
(3)接收方验证MAC:
接收方收到消息和MAC值后,使用与发送方相同的密钥和MAC算法对消息进行处理,生成一个新的MAC值。
接收方将新生成的MAC值与接收到的MAC值进行比较。如果两者一致,则说明消息在传输过程中未被篡改,且消息的来源是可信的。

参考文献:http://www.tup.tsinghua.edu.cn/upload/books/yz/093983-01.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值