MAC算法的要求
条件:
➢ 攻击者知道MAC函数但不知道密钥K
要求:
➢ 已知M和CK(M),要想构造M使得CK(M)=CK(M)在 计算上不可行 (计算上无碰撞)
➢ CK(M)均匀分布:随机选择M和M, Pr[CK(M) = CK(M)]=2-|MAC|
➢ f是M的一个变换(例如对某些位取反),那么, Pr[CK(M)= CK(f(M))]=2-|MAC|
对于任何选定的编码规则,则(相应于某一特定密钥) :发方从Y中选出用来代表消息的许用序列,即码字
收方根据编码规则唯一地确定出发方按此规则向他传 来的消息。
窜扰者由于不知道密钥,因而所伪造的假码字多是Y 中的禁用序列,收方将以很高的概率将其检测出来, 而被拒绝认证
系统设计者的任务是构造好的认证码 (Authentication Code),使接收者受骗概率极小化
y得*∈到A一k个, 以合使法接的收消者息收x*到,y*这后样,窜可扰用者密欺钥诈k解成密功 。 窜扰者虽然知道X,Y,y,A(.,.),但不知具体密码k
关于MAC算法
MAC不等于数字签名
➢ 因为通讯双方共享同一个密钥
MAC有固定的长度
MAC结构的重要性,例如,密钥足够长+加密 算法足够好安全
通信双方是用户A为发信方,用户B为接收方, 用户B接收到信息后,通过解密来判决信息是 否来自A、 信息是否是完整的、有无窜扰。
常规加密
公钥加密
私钥加密
公私钥加密
公(私d)公钥私加钥密加密:机:机密密性性,,可可认认证和证签和名签名
消息认证码(MAC)
简介: 设S为通信中的发方A发送的所有可能的信源集
保密和认证同时是信息系统安全的两个方面,但它们 是两个不同属性的问题。认证不能自动提供保密性, 而保密性也不能自然提供认证功能(能同时实现吗)