HMAC简介

HMAC简介
HMAC的典型应用展开
编辑本段
HMAC简介

  HMAC是密钥相关的哈希运算消息认证码(keyed-Hash Message Authentication Code),HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。
HMAC引擎提供HMAC运算作用:
  (1)验证TPM接受的授权数据和认证数据;
  (2)确认TPM接受到的命令请求是已授权的请求,并且,命令在传送的过程中没有被改动过。 
  定义HMAC需要一个加密用散列函数(表示为H,可以是MD5或者SHA-1)和一个密钥K。我们用B来表示数据块的字节数。(以上所提到的散列函数的分割数据块字长B=64),用L来表示散列函数的输出数据字节数(MD5中L=16,SHA-1中L=20)。鉴别密钥的长度可以是小于等于数据块字长的任何正整数值。应用程序中使用的密钥长度若是比B大,则首先用使用散列函数H作用于它,然后用H输出的L长度字符串作为在HMAC中实际使用的密钥。一般情况下,推荐的最小密钥K长度是L个字节。
HMAC约定的算法表示
  H 代表所采用的HASH算法(如SHA-256)
  K 代表认证密码
  Ko 代表HASH算法的密文
  B 代表H中所处理的块大小,这个大小是处理块大小,而不是输出hash的大小
  如,SHA-1和SHA-256 B = 64
  SHA-384和SHA-512 B = 128
  L 表示hash的大小
  Opad 用0x5a重复B次
  Ipad 用0x36重复B次
  Apad 用0x878FE1F3重复(L/4)次
HMAC运算步骤:
  First-Hash = H(Ko XOR Ipad || (data to auth)) Second-Hash = H(Ko XOR Opad || First-Hash) (1) 在密钥K后面添加0来创建一个字长为B的字符串。(例如,如果K的字长是20
  字节,B=64字节,则K后会加入44个零字节0x00)
  (2) 将上一步生成的B字长的字符串与ipad做异或运算。
  (3) 将数据流text填充至第二步的结果字符串中。
  (4) 用H作用于第三步生成的数据流。
  (5) 将第一步生成的B字长字符串与opad做异或运算。
  (6) 再将第四步的结果填充进第五步的结果中。
  (7) 用H作用于第六步生成的数据流,输出最终结果
编辑本段
HMAC的典型应用

  HMAC的一个典型应用是用在“挑战/响应”(Challenge/Response)身份认证中,
认证流程:
  (1) 先由客户端向服务器发出一个验证请求。
  (2) 服务器接到此请求后生成一个随机数并通过网络传输给客户端(此为挑战)。
  (3) 客户端将收到的随机数提供给ePass,由ePass使用该随机数与存储在ePass中的密钥进行HMAC-MD5运算并得到一个结果作为认证证据传给服务器(此为响应)。
  (4) 与此同时,服务器也使用该随机数与存储在服务器数据库中的该客户密钥进行HMAC-MD5运算,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法用户
安全性浅析
  由上面的介绍,我们可以看出,HMAC算法更象是一种加密算法,它引入了密钥,其安全性已经不完全依赖于所使用的HASH算法,安全性主要有以下几点保证:
  (1) 使用的密钥是双方事先约定的,第三方不可能知道。由3.2介绍的应用流程可以看出,作为非法截获信息的第三方,能够得到的信息只有作为“挑战”的随机数和作为“响应”的HMAC结果,无法根据这两个数据推算出密钥。由于不知道密钥,所以无法仿造出一致的响应。
  (2) HMAC与一般的加密重要的区别在于它具有“瞬时”性,即认证只在当时有效,而加密算法被破解后,以前的加密结果就可能被解密。
生信入门(六)——单细胞分析(Seurat) 生信入门(六)——单细胞分析(Seurat) 文章目录生信入门(六)——单细胞分析(Seurat)一、数据导入1、数据来源2、数据导入二、标准预处理1、QC和选择细胞进行进一步分析2、规范化数据3、识别高度可变的特征(特征选择)4、缩放数据三、主成分分析(PCA)1、线性降维2、确定数据集的“维度”四、聚类细胞五、非线性降维(UMAP/tSNE)六、寻找差异表达的特征(簇生物标志物) 一、数据导入 1、数据来源 点击此处下载数据 数据说明:分析10X Genomics提供的外周血单细胞(PBMC)数据集,有 阅读详情

相关推荐

从零开始:YOLOv8车牌检测模型训练全流程实战

本文详细介绍了从零开始训练YOLOv8车牌检测模型的全流程实战指南。内容涵盖环境搭建、数据集收集与标注、模型配置与训练、评估测试及高级优化技巧。通过使用预训练模型和迁移学习,开发者可以高效构建精准的车牌检测系统,并掌握模型导出与部署的关键步骤。

weixin_29061041的博客 335

HMAC的简单介绍

HMAC的详细流程介绍

m0_53558468的博客 5388

为什么你的单细胞数据总有问题?可能是忽略了scDblFinder这个神器

本文深入剖析了单细胞数据分析中异质性双细胞这一常见但易被忽视的痛点,并重点介绍了scDblFinder这一神器。scDblFinder通过机器学习模型,能精准识别并过滤同一样本内的异质性双细胞,有效解决其导致的聚类模糊、信号混淆等问题,从而显著提升数据洁净度与下游分析结果的可靠性。

brandy的博客 453

HMAC概述

1.简介 HMAC是指基于散列的消息认证码(Hash-based Message Authentication Code)。HMAC是Internet协议(IP)安全的强制安全实施方法,并在Internet上广泛使用的安全套接层(SSL)协议中使用。 HMAC的基本思想是复用MD5与SHA-1之类现有的消息摘要算法。因此,HMAC利用消息摘要算法,把消息摘要看成一个黑盒子,用共享秘密密钥加密消息摘要,从而输出MAC,如下图所示: 2.HMAC工作原理 HMAC的完整操作如下图所示: 下面看看HMAC的内

zhinen丶的博客 1万+

从芯片原厂到BSP工程师:技术转型与核心能力解析

嵌入式系统开发中,BSP(板级支持包)作为连接硬件与操作系统的关键层,其开发能力直接影响设备稳定性与性能。理解Linux内核架构(如内存管理、进程调度)和基础接口协议(I2C/SPI/USB)是BSP工程师的核心技能。在芯片验证与驱动开发场景中,多核异构系统调试与稳定性问题排查(如死机分析)展现了工程师的实战能力。随着物联网与智能设备发展,掌握从硬件适配到系统优化的全链路技术栈,成为职业发展的关键突破点。

weixin_36012152的博客 599

【硬件】通俗易懂的讲解晶体管(三极管和MOS管)的工作原理

晶体管是一个简单的元器件,可用于构建许多有趣的项目。在本文中,我将用通俗易懂的语言给您讲解晶体管的工作原理,以便您可以在电路设计中更好的使用静态管。一旦你学习这些基础知识,对以后的设计和使用来说,将会变得非常容易。我们将重点介绍两种最常见的晶体管:双极型晶体管(三极管)和MOSFET。晶体管的工作原理其实是类似于电子开关。它可以打开和关闭电路。一个简单的思考方法是将晶体管视为无源的继电器。晶体管类似于继电器,从某种意义上说,您可以使用它来打开和关闭某些东西。但晶体管也可以部分导通,一般在放大电路中使用,这部

1万+

深入解析消息认证码(MAC)算法:HmacMD5与HmacSHA1

消息认证码(MAC)算法是确保消息完整性和身份验证的重要技术。HmacMD5和HmacSHA1作为两种常见的MAC算法,分别基于MD5和SHA-1哈希函数进行构建。虽然HmacMD5和HmacSHA1在一定程度上提高了消息传输的安全性,但由于MD5和SHA-1自身存在的潜在安全隐患,使得这两种算法在实际应用中可能面临一定的风险。因此,在选择消息认证码算法时,应优先考虑使用基于更安全哈希函数的Hmac算法,以确保数据的安全传输。

码到三十五 1万+

乐视三合一体感摄像头--基本信息及windows下部分开发

乐视三合一体感摄像头--基本信息及windows下部分开发Introduction基本信息Windows下使用安装驱动使用openNI使用imageJ调用RGB图像Q:参考资料 Introduction       乐视三合一体感摄像头是乐视对标kinect,做的一款3D体感摄像头;设计目的为用于电视机上体感使用的,包括其USB结构都是为了符合电视机直接操作的,同时是支持相应的游戏操作;但是自从乐视倒闭之后,价格从之前标价899降到了现在140+左

GRF-Sunomikp31 1万+

加密与安全_深入了解Hmac算法(消息认证码)

HMAC(Hash-based Message Authentication Code)算法是一种基于哈希函数的消息认证码算法,用于验证消息的完整性和认证消息的发送者。它结合了哈希函数和密钥,通过将密钥与消息进行哈希运算来生成消息认证码。首先,选择一个适当的哈希函数(如MD5、SHA-1、SHA-256等)和一个密钥。将密钥进行适当的填充和处理,以满足哈希函数的输入长度要求。将消息与填充后的密钥按照特定的方式进行组合。对组合后的数据进行哈希运算。将哈希结果作为消息认证码输出。

小工匠 8881

手把手教你学Simulink实例:基于Simulink的锂电池管理系统(BMS)仿真

是确保锂电池安全、高效运行的关键组件。BMS 主要功能包括监控电池的状态(如电压、电流、温度)、估算荷电状态(State of Charge, SOC)、健康状态(State of Health, SOH),以及实现电池均衡和保护机制等。Simulink 提供了一个强大的仿真环境,可以用来设计、分析和验证锂电池管理系统的控制策略。常见的均衡方法包括被动均衡(通过电阻放电)和主动均衡(通过开关电容或变压器)。通过本教程,我们详细介绍了如何使用 Simulink 进行锂电池管理系统的仿真实例。

MHD0815的博客 538

Visual Studio Code ADT Extension 能不能连接 ECC,答案是可以,但真正的门槛在 ABAP 后端版本

Visual Studio Code 版 ABAP Development Tools(ADT)支持连接传统 SAP ECC 系统,关键不在于系统名称,而在于底层 SAP NetWeaver AS ABAP 版本是否达到最低要求(7.31 SP04 及以上)。只要系统已支持 Eclipse ADT,即可无缝使用 VS Code ADT,无需升级后端。SAP 通过复用原有 ADT 技术栈,将兼容性逻辑置于客户端,实现对老系统的持续支持。尽管初期侧重 ABAP Cloud 模型,但 1.1 及后续版本已全面覆盖

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 50

HMAC概念简介

摘自百度文库 由H.Krawezyk,M.Bellare,R.Canetti于1996年提出的一种基于Hash函数和密钥进行消息认证的方法,它可以与任何迭代散列函数捆绑使用。 HMAC运算利用hash算法,以一个消息M和一个密钥K作为输入,生成一个定长的消息摘要作为输出。HMAC算法利用已有的Hash函数,关键问题是如何使用密钥。 HMAC的密钥长度可以是任意大小,如果小于n(hash输出值...

万物皆字节 8899

【python数据处理】python实现vlookup字符串模糊匹配及在实战中的应用(FuzzyWuzzy库)

利用FuzzyWuzzy库匹配字符串1. 背景前言2. FuzzyWuzzy库介绍2.1 安装2.1 fuzz模块2.1.1 简单匹配(Ratio)2.1.2 非完全匹配(Partial Ratio)2.1.3 忽略顺序匹配(Token Sort Ratio)2.1.4 去重子集匹配(Token Set Ratio)2.2 process模块2.2.1 extract提取多条数据2.2.2 extractOne提取一条数据3. pandas实战应用3.1 公司名称字段模糊匹配3.1.1 参数讲解:3.1.2

lys_828的博客 8322

python3 hmac算法简介

通过哈希算法,我们可以验证一段数据是否有效,方法就是对比该数据的哈希值,例如,判断用户口令是否正确,我们用保存在数据库中的password_md5对比计算md5(password)的结果,如果一致,用户输入的口令就是正确的。 为了防止黑客通过彩虹表根据哈希值反推原始口令,在计算哈希的时候,不能仅针对原始输入计算,需要增加一个salt来使得相同的输入也能得到不同的哈希,这样,大大增加了黑客破解的难...

whatday的专栏 2846

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

HMAC简介 Wik部分i翻译

HMAC Wiki部分翻译 注:补充一些中文wiki内未翻译的部分,可以帮助理解。限于知识水平和英文水平,有些部分可能表意不明或和原义有所偏差,请以英文版为准。 源链接:https://en.wikipedia.org/wiki/HMAC 概述 密码学中,HMAC(hash-based message authentication code)是一种包含密码散列函数和密钥的特殊MAC。HMA...

safe233的博客 517

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

基于Hash的消息认证码HMAC简介及在OpenSSL中使用举例

HMAC(Hash-based Message Authentication Code):基于Hash的消息认证码,是一种通过特别计算方式之后产生的消息认证码(MAC),使用密码散列函数,同时结合一个加密密钥。它可以用来保证数据的完整性,同时可以用来作某个消息的身份验证。HMAC运算利用哈希算法,以一个密钥和一个消息作为输入,生成一个消息摘要作为输出。 使用消息摘要算法MD2、MD4、MD5、S...

网络资源是无限的 2623

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Hash的消息认证码HMAC简介及在OpenSSL中使用举例

HMAC(Hash-based Message Authentication Code):基于Hash的消息认证码,是一种通过特别计算方式之后产生的消息认证码(MAC),使用密码散列函数,同时结合一个加密密钥。它可以用来保证数据的完整性,同时可以用来作某个消息的身份验证。HMAC运算利用哈希算法,以一个密钥和一个消息作为输入,生成一个消息摘要作为输出。 使用消息摘要算法MD2、MD4、MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512所构造的HMAC,分别称为HMAC-MD2

我不是码农的博客~~~ 1136

环境监测设备中常用的HMAC算法简介

随着社会的发展,人们越来越重视货物的质量与品质,而不仅局限于生存。因此环境监测的需求逐渐成为大众的常见需求,尤其是运输行业。 环境监测设备如何在运输行业起作用: 环境监测设备的主要作用是监测运输过程中的温湿度,避免运输环境不当对货物的品质造成影响,用户只需要将环境监测设备放置在运输的货物中,即可通过云端后台对货物实行监测。避免资产受损。目前环境监测设备已被广泛应用于运输行业,但在使用过程中,人们经常反馈到以下问题: 1-设备的外壳材料差,无法直接与货物接触 作为监测类设备,厂商很少将中心放在设备的外观.

瑞奇聊通信模组 430

HAMAC算法2

散列消息认证码)是一种使用密码散列函数,同时结合一个加密密钥,通过特别计算方式之后产生的消息认证码(MAC)。它可以用来保证数据的完整性,同时可以用来作某个消息的身份验证。HMAC算法 是一种基于密钥的报文完整性的验证方法。HMAC算法利用哈希运算,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。其安全性是建立在Hash加密算法基础上的。它要求通信双方共享密钥、约定算法、对报文进行Hash运算,形成固定长度的认证码。通信双方通过认证码的校验来确定报文的合法性。

west_cloth的博客 1057

HMAC-SHA1各语言版本实现

转自:http://blog.youkuaiyun.com/jiang1013nan/article/details/17318133 在各大开放平台大行其道的互联网开发潮流中,调用各平台的API接口过程中,无一例外都会用到计算签名值(sig值)。而在各种计算签名的方法中,经常被采用的就是HMAC-SHA1,现对HMAC-SHA1做一个简单的介绍:         HMAC,散列消息鉴别码,基

小刀的专栏 3821

hmac-sha1加密算法C源码示例

HMAC: Hash-based Message Authentication Code,即基于Hash的消息鉴别码 在各大开放平台大行其道的互联网开发潮流中,调用各平台的API接口过程中,无一例外都会用到计算签名值(sig值)。而在各种计算签名的方法中,经常被采用的就是HMAC-SHA1,现对HMAC-SHA1做一个简单的介绍:HMAC,散列消息鉴别码,基于密钥的Hash算法认证协议。实现原理为...

一路奔跑94的博客 6464

接口加密解决方案,Python的各种加密实现!

在现代软件开发中,接口测试已经成为了不可或缺的一部分。随着互联网的普及,越来越多的应用程序都采用了接口作为数据传输的方式。接口测试的目的是确保接口的正确性、稳定性和安全性,从而保障系统的正常运行。

m0_58026506的博客 470

HMAC-SHA256

散列函数它被认为是一种单向函数——根据函数输出的结果,极难回推输入的数据。散列函数把消息数据打乱混合,压缩成散列值(摘要),使得数据量变小。SHA-256由美国国家安全局研发,是SHA-2下细分出的一种算法,属于SHA算法之一,是SHA-1的后继者。SHA-256(Secure Hash Algorithm 256,安全散列算法256)是散列函数(或哈希函数)的一种,对于任意长度的消息,SHA256都会产生一个256-bit(32-byte数组)的哈希值,称作消息摘要。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 3万+

从零入门HMAC-SHA256

文章目录1.HMAC算法1.1 HMAC算法简介1.2 HMAC算法定义1.3 HMAC算法步骤2. SHA-256算法2.1 SHA-256算法简介2.2 SHA-256算法描述2.3 SHA-256算法步骤3. HAMAC-SHA256算法定义3.1 HMAC-SHA256算法描述3.2 HMAC-SHA256算法步骤写在最后 1.HMAC算法 1.1 HMAC算法简介 HMAC(Hash-b...

sdnyqfyqf的博客 6万+
上一篇: 落户GitHub
下一篇: Rop重大升级周知
quickselect
博客等级 码龄20年 1粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值