[密码学] 消息认证码基础
这里写目录标题
- 定义:
- 目的:
- 构成:
- 使用步骤:
- 性质:
- MAC的理想安全强度
- 抗伪造攻击:
- 抗密钥恢复攻击:
定义:
消息认证码又称消息鉴别码,是经过特定算法后产生的一小段信息,检查某段消息的完整性,以及消息源的认证性。
目的:
①消息源认证:验证消息的来源是真实的,而不是伪造的。
②消息的完整性验证:验证消息在传递或存储过程中未被篡改、重放或延迟等。
构成:
①密钥生成算法:随机均匀地冲密钥空间中选择密钥;
②标签生成算法:给定密钥和消息返回标签;
③验证算法:给定密钥和标签,有效地验证消息的真实性。
使用步骤:
①发送者与接收者事先共享密钥;
②发送者利用共享密钥和消息计算MAC值;
③发送者将消息和MAC发送给接收者;
④接收者根据收到的消息和共享密钥计算MAC;
⑤接收者将自己计算出的MAC与他收到的MAC对比;
若结果一致,认证成功,否则认证失败。
性质:
①标签生成依靠消息和密钥;
②多对一的函数;
③类似于加密,但不可逆。
MAC的理想安全强度
抗伪造攻击:
在不知道密钥K的前提下,计算消息M的有效MAC值;
或者给定(M‘,MACK(M’)),计算消息M≠M‘,满足MACK(M)=MACK(M’)是计算上不可行 的。
抗密钥恢复攻击:
穷举密钥:2^k
[密码学] 消息认证码基础相关推荐
- [密码学] 消息认证码构造方法
文章目录 基于Hash函数的消息认证码 KeyedHash=Hash(Key||Message) HMAC与NMAC HAMC CMAC 基于分组密码的MAC DAA 主要实现方法: ①带 ...
- 【学习笔记】密码学入门(2) 单向散列函数,消息认证码,数字签名,证书
[学习笔记]密码学入门(2) 单向散列函数,消息认证码,数字签名,证书 学习笔记 2 – 混合密码系统 在密码学入门(1)中提到了基本的密码形式,对称密码和公钥密码以及混合密码系统. 这一部分将学习到 ...
- 密码学数学基础,群,阿贝尔群,阶,双线性对,哈希函数,消息认证码概述
目录 抽象代数基础 群 阿贝尔群(Abelian Group) 阶(Order) 循环群(Cyclic Group) 双线性对 哈希函数H 消息认证码MAC 抽象代数基础 群 定义 群(Group), ...
- 烤仔TVのCCW丨密码学通识(五)消息认证码
大家好,欢迎收看 CCW. 在上期视频中,烤仔为大家讲解了在面对攻击能力更强的选择密文攻击时,可以利用消息认证码,如在解密时先检查消息认证码正确与否,如果不正确就拒绝解密,从而实现对选择密文攻击的防范 ...
- 密码学入门(6):消息认证码
密码学入门(6):消息认证码 文章目录 密码学入门(6):消息认证码 什么是消息认证码? 消息认证码的实现方式 HMAC 认证加密 重放攻击 防御重放攻击的方式 消息认证码无法解决的问题 参考 上次讲 ...
- 浅浅学习一下消息认证码MAC(Message Authentication Code)
1.MAC这玩意是什么? 提起这个MAC我就不得不说一下消息摘要. 什么是消息摘要? 消息摘要是把任意长度的输入揉和而产生长度固定的伪随机输出的算法.消息摘要的主要特点有: ①无论输入的消息有多长,计 ...
- 【转】HMAC哈希消息认证码及算法原理
HMAC算法原理 HMAC算法是一种基于密钥的报文完整性的验证方法 ,其安全性是建立在Hash加密算法基础上的.它要求通信双方共享密钥.约定算法.对报文进行Hash运算,形成固定长度的认证码.通信双方 ...
- 消息认证码和单向散列函数
因为在上一部分没有解释这两个概念,所以在这里详细解释一下 消息验证码和单向散列函数是进行消息身份验证的两个方法 而且他俩都属于"没有消息加密的消息身份验证" 消息认证码(MAC) ...
- JAVA加密解密之消息认证码算法(Message Authentication Code,MAC)
消息认证码算法简介 在密码学中,消息认证码(英语:Message authentication code,缩写为MAC),又译为消息鉴别码.文件消息认证码.讯息鉴别码.信息认证码,是经过特定算法后产生 ...
最新文章
- 点云标注工具:1.PCAT
- 在PHPStorm中支持ThinkPHP代码提示
- 印象笔记电脑版使用技巧_高效技巧 | 一文get印象笔记素材库的5大使用场景
- 微软宣布加入 OpenJDK,看网上各派的热闹
- forge开发_使用Forge,WildFly Swarm和Arquillian开发微服务
- C语言 标准I/O库: stdio.h
- centec交换机配置_盛科(Centec)交换机 SmartConfig 特性
- JBoss企业级应用服务平台群集指南(一)
- Perl导入代码文件
- 免费画图软件推荐 - draw.io
- 家谱世系图一键生成家谱软件
- 错误: 找不到符号 符号: 类 ActivityMainBindingImpl
- 贪心(百练1328):安放雷达(区间问题)
- intel 显卡使用cuda吗
- All matches were filtered out by modular filtering for argument: mysql-community-server
- ABeam Recruiting | ABeam旗下艾宾信息技术开发(大连)2023届校招正式开启
- android 高德比例尺,高德地图——添加比例尺控件
- UE Gameplay Learning Record
- 计算机表格打不开怎么,哪位晓得电脑表格为什么打不开
- 回收站清空的文件怎么恢复?失易得这样恢复
热门文章
- java泛型集合_Java泛型集合(Set)
- 电脑不能打字_意外收到一台ThinkPad T400笔记本电脑,简单升级后,办公没问题...
- 全球规模最大的全浸没式液冷数据中心落户杭州余杭
- 为什么说数据中心是5G最大的受益者?
- 数组中没有给初始值_Array中的reduce()、filter()、map()几张图搞懂
- github 删除分支_Github新手入门指南
- Py之albumentations:albumentations库函数的简介、安装、使用方法之详细攻略
- 成功解决python中出现的IndentationError: expected an indented block的错误
- Python语言学习:解决python版本升级问题集合(python2系列→Python3系列)导致错误的总结集合
- DL之Keras:基于Keras框架建立模型实现【预测】功能的简介、设计思路、案例分析、代码实现之详细攻略(经典,建议收藏)