消息认证码

消息认证码是一种使用密钥生成的定长数据块,用于验证消息的完整性和来源。MAC通过比较发送与接收的MAC值来确保消息未被篡改,它要求即使知道MAC函数,不合法的修改消息仍难以构建。文章讨论了MAC的性质、攻击类型以及其在确保网络通信安全中的作用。
摘要由CSDN通过智能技术生成

简介

消息认证码(又称密码校验和 或 MAC)是一种认证技术,它用密钥生成定长的小块数据,并将该数据块附到消息之后。这种方法假设通信双方(A,B)共享密钥K。A向B发送消息时,A计算MAC,它是消息和密钥的函数和,即MAC=C(K,M)。式中,M为输入消息,C为MAC函数,K为共享密钥,MAC为消息认证码。

消息和MAC一起被发送给接收方。接收方对收到的消息用相同的密钥K进行相同的计算,得到新的MAC,并将收到的MAC与算出的MAC进行比较,如果只有收发双方知道该密钥,且收到的MAC与算出的MAC相等,那么:

  1. 接收方可以相信消息未被修改。

  1. 接收方可以相信消息来自真正的发送方。

  1. 若消息中含有序号(如HDLC,X.25和TCP中使用的序号),则接收方可以相信消息顺序是正确的,因为敌手无法成功的修改序号。

MAC算法不要求是可逆的,MAC不能提供数字签名。

可以将MAC当作是拥有密钥的哈希函数。

消息认证码的要求

假设敌手知道MAC函数,但不知道K,则MAC函数应具有下列性质:

  1. 若敌手已知M和MAC(K,M),则其构建满足MAC(K,M`)=MAC(K,M)的消息M`在计算上是不可行的。

  1. MAC(K,M)应是均匀分布的,即对任何随机选择的消息M,M`,MAC(K,M`)=MAC(K,M)的概率是,其中n是MAC的位数。

  1. 设M`是M的某个已知变换,即M`=f(M)。例如,f可能将M的一位或多位取反。此时,要求Pr[MAC(K,M`)=MAC(K,M)]=.

MAC的安全性

针对MAC的攻击分为两类:穷举攻击和密码分析。

针对MAC算法的穷举攻击所需的次数为。其中,k表示密钥长度为k位,n表示n位MAC。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值