消息认证1

包括:消息认证函数(三种函数:哈希,加密,MAC),消息认证的要求,消息认证码的要求。

消息认证函数(三种函数)

一、哈希函数(跳转hash

任意长的M ——> 定长的哈希值,哈希值是认证符。

二、消息加密(又分成2种)

整个消息 ——> 密文,密文是认证符。

1、对称密码:
在这里插入图片描述

上图中,如果消息是随机序列,那么无法判别是否被篡改。

于是,增加了FCS(校验和 / 错误检测码)在末尾:

在这里插入图片描述

(a)内部错误控制;
(b)外部错误控制。
.
(a)更难篡改,因为FCS被加密了;
而(b)的FCS暴露在外,很容易构造出正确的FCS。

2、公钥密码:
在这里插入图片描述

(b)仅有保密性;
(c)仅有认证;
(d)既有保密性,也有认证,但是公钥算法一共执行4次。

三、消息认证码(MAC) [重点]

又称 “密钥校验和”

消息和密钥 ——> 定长的值,此值是认证符。

MAC算法不需要的可逆性,而加密算法必须可逆。
.
一般而言,MAC直接附在明文后面比较好(符合霍顿原则)。

在这里插入图片描述

(a)认证;
(b)认证+保密性,MAC与明文捆绑;
(c)认证+保密性,MAC与密文捆绑
.
(b)优点:更安全,正常人的选择。
(c)优点:可以先检验认证,无误后,才会解密,节省资源。

必须使用MAC的情形:

  1. 将同一消息广播给很多接受者。 只有一个人检验MAC,其他人直接解密,如果发现MAC出错,这个人发出警报给所有人。必须用(b)才行。
  2. 接受者负荷大。 随机选择消息验证MAC。(对称密码必须解密每条密文,不然读不了,解密的同时也就验证MAC了)
  3. MAC附在明文后面,每次验证MAC不用解密。(对称密码想验证MAC,只能通过解密密文)

补充:
由于双方共享密钥,故MAC不提供数字签名。(既然发送者能用密钥加密,一定是自己人)

消息认证的要求

可能的攻击:
保密性:泄露;传输分析
完整性:内容修改;顺序修改;计时修改(延时和重放)
认证:伪装
不可否认性:发送方否认;接收方否认
.
消息认证 对付完整性和认证的攻击。

消息认证码的要求

1、弱抗碰撞性
2、无法穷举明文
3、算法对消息的任一部分的认证,都不应比其他部分弱(木桶原理)

.
.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值