现代密码学概论(Introduction to modern cryptography),第四章MAC消息认证码

本文深入探讨了密码学中的MAC消息认证码,包括完整性概念、MAC方案的定义、安全性和构造方法。文章介绍了固定长度和任意长度MAC方案的构建,以及CBC-MAC的原理与安全性。此外,还讨论了MAC方案的安全标准和潜在攻击,提供了相关课后练习以加深理解。
摘要由CSDN通过智能技术生成

消息认证码(Message authentication code)

本文将对密码学书中MAC方案一章进行介绍,主要从完整性的概念,MAC方案的定义,安全的MAC方案定义以及如何构造一个安全的MAC方案进行介绍。

完整性的概念

密码学的一个基本目标是保证安全的通信,安全的通信主要通过两方面实现:机密性secrecy和完整性Intrigrity。
机密性主要是保证信息不被通信双方之外的第三方所获取。
完整性这里不考虑机密性,即信息是公开的,需要保证信息的来源是合法的(只有持有对称密钥的合法用户才能够生成标签)以及信息的内容不被篡改。比如说政府下发的文件,允许社会公众进行阅读学习,但是不允许对文件进行篡改。
通信机密性主要通过加密方案(流加密,块加密等)来实现,而完整性则通过MAC方案实现。

MAC方案的定义

一个MAC方案由三个概率多项式PPT算法组成,密钥生成算法Gen,标签生成算法Mac,标签验证算法Vrfy。
Gen:输入安全参数 1 n 1^n 1n,输出密钥 K K K,密钥长度 ∣ K ∣ ≥ |K|\geq K n n n
Mac:输入密钥K,任意长度的信息 m m m ∈ \in {0,1}* , 输 出 ,输出 t , , t\leftarrow$ M a c k Mac_k Mack(m)表示Mac算法可能是随机的。
Vrfy:输入密钥 K K K m m m t t t,输出 b b b b : = V r f y k ( m , t ) b:=Vrfy_k(m,t) b:=Vrfyk(m,t)
MAC方案必须满足 V r f y k ( m , M a c k ( m ) ) Vrfy_k(m,Mac_k(m)) Vrfyk(m,Mack(m))
通常情况下MAC方案合法的用户共享对称密钥 K K K,Gen( 1 n 1^n 1n)算法通常忽略。
如果Mac算法是确定性算法(即每次输入相同的 K K K m m m得到的 t t t是相同的),此时验证算法Vrfy可以通过使用 t ‾ = M a c k ( m ) \overline{t}=Mac_k(m) t=Mack(m)再次计算,比较输入 t ‾ \overline{t} t 是否等于 t t t

安全的MAC方案

对于一个安全的MAC方案,不存在任何有效的攻击者能够在任何新的信息上生成有效的标签。新信息指通信方之前没有发送的信息,没有在网络上出现的信息。
攻击者的能力:能够窃听所有网络中发送的消息及标签对( m i m_i mi, t i t_i ti),能够进行选择信息攻击,即访问 M a c k ( . ) Mac_k(.) Mack(.)谕言机的能力。
攻击目标:攻击者能够伪造出一对消息标签对 ( m , t ) (m,t) (m,t)并且 m ∉ m\notin m/ Q Q Q Q = { m i } Q=\{ {m_i}\} Q={ mi} m i {m_i} mi是攻击者访问谕言机的消息。
Mac-forge A , π {A,\pi} A,π

  1. K K K ← \leftarrow G e n ( 1 n ) Gen(1^n) Gen(1n),生成长度为 n n n的密钥 K K K
  2. 攻击者 A A A:输入 1 n 1^n 1n,并且可以访问 M a c k ( . ) Mac_k(.) Mack(.)谕言机,输出 ( m , t ) (m,t) (m,t) Q = { m i } Q=\{ {m_i}\} Q={ mi} Q Q Q是攻击者访问谕言机的消息集合。
  3. 当且仅当 V r f y k ( m , t ) = 1 Vrfy_k(m,t)=1 Vrfyk(m,t)=1并且 m ∉ m\notin m/ Q Q Q,则攻击者挑战成功。

对于 ∀ \forall A A A(具有访问 M a c ( . ) Mac(.) Mac(.)谕言机能力),攻击者能够在新的信息上伪造出合法标签的概率小可忽略的概率,则称MAC方案 π \pi π具有存在不可伪造性,或者说该方案是安全的。
P r [ M a c − f o r g e A , π ( n ) = 1 ] ≤ n e g l Pr[Mac-forge_{A,\pi}(n)=1]\leq negl Pr[MacforgeA,π(n)=1]negl

强安全MAC方案

具有存在不可伪造性的MAC方案,或者说安全的MAC方案,能够确保攻击者不能够在新的消息上生成合法的标签,但是攻击者可能在先去窃听的消息上,如 ( m , t ) (m,t) (m,t)生成伪造的的消息标签对 ( m , t ‾ ) (m,\overline{t}) (m,t),因此提出了更强的安全MAC方案定义。
攻击者的能力:与先前一致,能够窃听所有网络中发送的消息及标签对( m i m_i mi, t i t_i ti),能够进行选择信息攻击,即访问 M a c k ( . ) Mac_k(.) Mack(.)谕言机的能力。
攻击目标:攻击者能够伪造出一对消息标签对 ( m , t ) (m,t) (m,t)并且 m ∉ m\notin m/ Q Q Q Q = { m i , t i } Q=\{ {m_i},t_i\} Q={ mi,ti} { m i , t i } \{ {m_i,t_i}\} { mi,ti}是攻击者访问谕言机的消息及得到的标签对,相当于放宽了攻击目标,攻击者只要能够伪造出一对消息标签 ( m , t ) (m,t) (m,t) m m m可以是网络中出现的信息,则攻击者攻击成功。
Mac-sforge A , π {A,\pi} A,π

  1. K K K ← \leftarrow G e n ( 1 n ) Gen(1^n) Gen(1n),生成长度为 n n n的密钥 K K K
  2. 攻击者 A A A:输入 1 n 1^n 1n,并且可以访问 M a c k ( . ) Mac_k(.) Mack(.)谕言机,输出 ( m , t ) (m,t) (m,t) Q = { m i , t i } Q=\{ {m_i},t_i\} Q={ mi,ti} Q Q Q是攻击者访问谕言机的消息及得到的标签对集合
  3. 当且仅当 V r f y k ( m , t ) = 1 Vrfy_k(m,t)=1 Vrfyk(m,t)=1并且 m ∉ m\notin m/ Q Q Q,则攻击者挑战成功。

对于 ∀ \forall A A A(具有访问 M a c ( . ) Mac(.) Mac(.)谕言机能力),攻击者能够在任意信息上伪造出新的合法标签的概率小可忽略的概率,则称MAC方案 π \pi π具有强存在不可伪造性,或者说该方案是强安全的。
P r [ M a c − s f o r g e A , π ( n ) = 1 ] ≤ n e g l Pr[Mac-sforge_{A,\pi}(n)=1]\leq negl Pr[MacsforgeA,π(n)=1]negl
当Mac算法是确定性算法有: M A C   s e c u r e    ⟺    M A C   s t r o n g   s e c u r e MAC \ secure \iff MAC\ strong\ secure MAC se

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值