首页 理论教育 MAC应用:最佳实践

MAC应用:最佳实践

时间:2023-07-02 理论教育 版权反馈
【摘要】:MAC作为一种能够有效实现消息认证的技术,它在保证数据的完整性方面主要有以下三种应用方式。3)接收方B收到M‖MAC,提取M。3)A对M‖MAC通过共享密钥K2进行加密运算,并发送给B。在提供机密性的第2、3种消息认证中,发送方和接收方都必须拥有两个密钥,一个是K1用于计算MAC;另一个是K2用于加密/解密。实际应用中多倾向于采用第2种方法实现消息认证,确保消息的完整性和真实性。

MAC应用:最佳实践

数据的完整性是指数据在生成、传输或存储的过程中没有被非法改动过。MAC作为一种能够有效实现消息认证的技术,它在保证数据的完整性方面主要有以下三种应用方式。

1.纯消息认证

1)发送方A计算MAC=CKM)。

2)A将MAC连接在明文M之后,得到M‖MAC,并发送给B。

3)接收方B收到M‖MAC,提取M

4)B使用共享密钥K计算MAC′=CKM)。如果MAC=MAC′,则可判定M未曾被修改过,并且该消息确实来自于A。

这种应用方式中的消息认证函数并不提供机密性,如果要实现消息加密,必须采用额外的加密措施。后面两种应用方式就加入了公钥密码体制来提供对消息的保密传输。

2.传输密文且对明文消息认证

1)发送方A计算MAC=CK1M

2)A将MAC连接在明文M之后,得到M‖MAC。

3)A对M‖MAC通过共享密钥K2进行加密运算978-7-111-37285-1-Chapter08-18.jpg,并发送给B。(www.xing528.com)

4)B收到978-7-111-37285-1-Chapter08-19.jpg后,首先进行解密运算,提取M

5)B利用共享密钥K1计算978-7-111-37285-1-Chapter08-20.jpg。如果MAC=MAC′,则可判定消息M确实来自于A,且是真实和完整的。

3.传输密文且对密文消息认证

1)发送方A通过共享密钥K2对消息进行加密运算978-7-111-37285-1-Chapter08-21.jpg

2)A通过共享密钥K1计算978-7-111-37285-1-Chapter08-22.jpg

3)A将MAC连接在978-7-111-37285-1-Chapter08-23.jpg之后,得到978-7-111-37285-1-Chapter08-24.jpg,并发送给B。

4)B收到978-7-111-37285-1-Chapter08-25.jpg后,提取978-7-111-37285-1-Chapter08-26.jpg

5)B用密钥K1计算978-7-111-37285-1-Chapter08-27.jpg。如果MAC=MAC′,则可判定978-7-111-37285-1-Chapter08-28.jpg未曾被修改过,并且该消息确实来自于A。

6)B利用共享密钥K2解密978-7-111-37285-1-Chapter08-29.jpg得到明文M

在提供机密性的第2、3种消息认证中,发送方和接收方都必须拥有两个密钥,一个是K1用于计算MAC;另一个是K2用于加密/解密。这两个密钥都由收发双方所共享。实际应用中多倾向于采用第2种方法实现消息认证,确保消息的完整性和真实性。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈