19、消息认证码与伪随机函数的深度解析

消息认证码与伪随机函数深度解析

消息认证码与伪随机函数的深度解析

1. 从伪随机性到不可预测性

在一些安全场景中,伪随机性的强安全要求并非总是必要的。例如,当Alice和Bob交换共享密钥后,希望能确保消息的来源和完整性。此时,伪随机函数就能满足消息认证的需求。

1.1 消息认证流程

  • 发送方(Bob) :当Bob要向Alice发送消息m时,他使用伪随机函数PRF和共享密钥k计算标签τ ← PRF.Eval(k, m),然后将消息和标签对(m, τ)发送给Alice。
  • 接收方(Alice) :Alice收到消息后,重新计算标签τ ′ ← PRF.Eval(k, m),并检查τ是否等于τ ′。如果相等,则认为消息来自Bob且未被篡改;否则,丢弃该消息。

由于伪随机函数的安全性,标签τ与均匀随机字符串难以区分。若攻击者篡改消息,标签会显示异常,且攻击者猜出正确标签的概率可忽略不计。

2. 消息认证码的形式化定义

消息认证码MAC := (MAC.KGen, MAC.Eval)是一对高效算法,其中MAC.KGen是高效概率密钥生成算法,MAC.Eval是确定性标签生成算法,输入为密钥和消息,输出短标签τ。

2.1 安全定义

消息认证码的最强且最常见的安全概念是自适应选择消息攻击下的不可伪造性(UF - CMA)。通过安全实验Expuf - cma_MAC,A(λ)定义攻击者A对消息认证方案MAC的优势Advuf - cma_MAC,A(λ)。

实验中,为攻击者A提

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值