信息安全:MAC(消息认证码)算法,保护数据完整性和真实性的利器
创作时间:
作者:
@小白创作中心
信息安全:MAC(消息认证码)算法,保护数据完整性和真实性的利器
引用
CSDN
1.
https://blog.csdn.net/weixin_48612224/article/details/140674426
消息认证码(Message Authentication Code,简称 MAC)是一种通过使用秘密密钥生成的,用于验证消息完整性和真实性的码。MAC 能够确保消息在传输过程中未被篡改,并且发送者的身份是可信的。
MAC 的工作原理
MAC 算法使用一个秘密密钥和消息作为输入,生成一个固定长度的输出码(MAC 值)。接收方使用相同的密钥和相同的算法对接收到的消息进行相同的运算,并比较生成的 MAC 值与接收到的 MAC 值是否一致。如果一致,则消息被认为是完整和可信的。
常见的 MAC 算法
- HMAC(基于哈希的消息认证码):
- 使用哈希函数(如 SHA-256)和一个秘密密钥来生成 MAC 值。
- 常用于 HTTPS、IPsec 等协议中。
- CMAC(基于块密码的消息认证码):
- 使用块加密算法(如 AES)生成 MAC 值。
- 常用于无线通信和支付系统中。
HMAC 详细介绍
HMAC 的结构
HMAC 的运算过程包括以下步骤:
- 通过秘密密钥和填充字节生成两个密钥块:K_o(外部密钥块)和 K_i(内部密钥块)。
- 使用内部密钥块和消息进行第一次哈希运算:H(K_i || message)。
- 使用外部密钥块和第一次哈希结果进行第二次哈希运算:H(K_o || H(K_i || message))。
最终的哈希值就是 HMAC 的输出。
HMAC 的特点
- 高安全性:由于 HMAC 的结构,攻击者很难从 MAC 值中恢复出秘密密钥。
- 灵活性:HMAC 可以使用任何安全的哈希函数,如 SHA-1、SHA-256。
- 标准化:HMAC 被广泛采用,并在多个标准协议中使用,如 TLS、IPsec。
示例代码
以下是一个基于 Python 的 HMAC 示例代码:
import hmac
import hashlib
# 定义秘密密钥和消息
key = b'secret_key'
message = b'This is a secret message.'
# 生成 HMAC 值
h = hmac.new(key, message, hashlib.sha256)
hmac_value = h.hexdigest()
print(f"HMAC 值: {hmac_value}")
CMAC 详细介绍
CMAC 的结构
CMAC 使用块加密算法(如 AES)进行运算,具体步骤如下:
- 使用密钥对零块进行加密,生成一个中间密钥 K1。
- 对 K1 进行左移操作,并根据最高位的值对生成的值进行异或操作,得到第二个中间密钥 K2。
- 将消息分成若干块,对每个块进行加密,最后一块使用 K1 或 K2 进行加密。
CMAC 的特点
- 适合硬件实现:由于使用了块加密算法,CMAC 在硬件实现中具有优势。
- 标准化:CMAC 已被 NIST 标准化,并用于多种安全协议中。
示例代码
以下是一个基于 Python 的 CMAC 示例代码(需要安装 pycryptodome 库):
from Crypto.Hash import CMAC
from Crypto.Cipher import AES
# 定义秘密密钥和消息
key = b'Sixteen byte key'
message = b'This is a secret message.'
# 生成 CMAC 值
c = CMAC.new(key, ciphermod=AES)
c.update(message)
cmac_value = c.hexdigest()
print(f"CMAC 值: {cmac_value}")
结论
MAC 算法在保证数据完整性和真实性方面扮演着重要角色。HMAC 和 CMAC 作为两种主要的 MAC 算法,因其高安全性和广泛应用,已经成为现代通信和数据保护中不可或缺的一部分。通过本文的介绍,希望读者能够更好地理解和使用 MAC 算法,保障信息的安全性。
热门推荐
流下村:广西三月三期间的疍家文化打卡地
低卡健康:蒜蓉娃娃菜的营养与制作
娃娃菜真的能增强免疫力吗?
洗碗机清洁必知:专用洗涤剂与洗洁精的区别
健康饮食大比拼:日本料理 vs 中餐,谁更胜一筹?
中国四大美食的历史渊源与文化传承
健康食材创新菜谱大公开:从传统到现代的美味升级
亚冬会前夕,哈尔滨警方开展特种兵式大练兵
筑牢边境防线,守护群众平安:云南思茅公安工作纪实
清河门公安分局开展实战搏击训练,增强警务人员实战能力
无土栽培新突破:水培海绵实现节水环保与高效种植
剩菜变肥料:家庭厨余垃圾发酵全攻略
鸡胸肉版健康麻辣香锅,吃货们冲鸭!
懒人版麻辣香锅:简单快捷,美味不减
北大国发院揭秘:AI如何重塑劳动力市场?
算法规避:AI助手真的不可信?
西安四大名店关中八大碗:老字号与网红店里的陕菜盛宴
健康改良+标准化生产,八大碗引领传统美食新潮流
圆环之臂:一种攻防兼备的古代兵器及其现代启示
12345热线滥用之困:基层减负需多方施策
全国心理援助热线即将统一,汕头提前3个月完成对接
2025教师工资一降三增:降基本工资,增绩效、职称补贴、山区补贴
冬季血压易升高,六种降压蔬菜这样吃
研究证实:甜菜根汁每天饮用可降压5.31mmHg
广东省中医院专家推荐:三款降压养心的中医食疗方
西安千年美食:从宫廷御膳到百姓餐桌的传承与创新
袁家村:400种小吃带动旅游,合作社模式助力乡村振兴
无线充电VS大功率充电:谁将引领未来充电技术?
G388次列车:重庆西到北京丰台的高铁之旅
北京旅游攻略:跟着“北京小何”和“小李”玩转京城