听说这玩意可以验证消息完整性 —— 消息认证码(MAC)

简介: 消息认证码(Message Authentication Code)是一种确认完整性并进行认证的一种技术,简称MAC。

消息认证码


  消息认证码(Message Authentication Code)是一种确认完整性并进行认证的一种技术,简称MAC


验证过程



消息认证码在输入任意长度的消息和一个发送者与接收者之间的共享密钥后,输出固定长度的数据,该数据称为 MAC


  1. 假设用户 A 和用户 B 使用共享密钥 K 进行通信。
  2. A 要发送一段消息 BA 首先用消息认证码算法将 K M 计算出消息认证码 MAC
  3. 然后将 MAC M 一起发送给 B
  4. B 收到 MAC M 后利用 M K 计算消息认证码。
  5. 如果计算出的消息认证码与收到的一样则验证成功,证明消息未被篡改。

  由于攻击者没有密钥 K,攻击者修改了消息内容后无法计算出相应的消息验证码,通过使用发送者和接收者之间共享的密钥,就可以识别出是否存在伪装篡改行为。


实现方法



缺点


  通过 MAC 使用双方都拥有的密钥可以实现防篡改仿伪装。但是这是一把双刃剑,由于密钥是共享的,这就导致发送方和接收方都可以计算出同样的 MAC 值,所以我们无法判断这个 MAC 值到底是由谁计算出来的。这导致了 MAC 无法防止否认(无法证明消息是发送方生成的还是接收方生成的),可以使用数字签名解决这个问题。

相关文章
|
5月前
|
存储 算法 安全
深入解析消息认证码(MAC)算法:HmacMD5与HmacSHA1
深入解析消息认证码(MAC)算法:HmacMD5与HmacSHA1
|
6月前
|
算法 安全 数据安全/隐私保护
浅浅学习一下消息认证码MAC(Message Authentication Code)
浅浅学习一下消息认证码MAC(Message Authentication Code)
250 0
|
3月前
|
NoSQL 数据可视化 Redis
Mac安装Redis
Mac安装Redis
73 3
|
2月前
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
3月前
|
数据安全/隐私保护 iOS开发 MacOS
Mac安装Navicat Premium 16.3.5
Mac安装Navicat Premium 16.3.5
248 3
|
6天前
|
开发工具 iOS开发 开发者
「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置篇2 - 在 Mac 上安装 DevEco Studio
本篇将专注于如何在 Mac 上安装鸿蒙开发工具 DevEco Studio,确保开发环境能够顺利搭建。完成安装后,可以正式开始鸿蒙应用的开发工作。
34 1
「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置篇2 - 在 Mac 上安装 DevEco Studio
|
29天前
|
机器学习/深度学习 Python
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
本篇将详细介绍如何在Mac系统上安装和配置Anaconda,如何创建虚拟环境,并学习如何使用 `pip` 和 `conda` 管理Python包,直到成功运行第一个Python程序。通过本篇,您将学会如何高效地使用Anaconda创建和管理虚拟环境,并使用Python开发。
56 4
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
|
30天前
|
IDE 开发工具 iOS开发
【10月更文挑战第3天】「Mac上学Python 3」入门篇3 - 安装Python与开发环境配置
本篇将详细介绍如何在Mac系统上安装Python,并配置Python开发环境。内容涵盖Python的安装、pip包管理工具的配置与国内镜像源替换、安装与配置PyCharm开发工具,以及通过PyCharm编写并运行第一个Python程序。通过本篇的学习,用户将完成Python开发环境的搭建,为后续的Python编程工作打下基础。
162 2
【10月更文挑战第3天】「Mac上学Python 3」入门篇3 - 安装Python与开发环境配置
|
1月前
|
iOS开发 MacOS Python
【10月更文挑战第1天】「Mac上学Python 1」入门篇1 - 安装Typora与Markdown编辑技巧
本篇将详细介绍如何在Mac系统上安装Typora这款简洁高效的Markdown编辑器,并学习Markdown常用语法。通过本篇,用户能够准备好记录学习笔记的工具,并掌握基本的文档编辑与排版技巧,为后续学习提供便利。
141 1
【10月更文挑战第1天】「Mac上学Python 1」入门篇1 - 安装Typora与Markdown编辑技巧
|
23天前
|
NoSQL Shell MongoDB
Mac OSX 平台安装 MongoDB
10月更文挑战第11天
17 4