HMAC算法及计算流程介绍
HMAC算法及计算流程介绍
1.HMAC算法的应用:
目前HMAC算法主要应用在服务器对访问者进行鉴权认证流程中。
2.HMAC算法简介:
HMAC是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code)的缩写。HMAC中的H代指Hash散列算法,HMAC可以使用多种单项散列式,例如使用SHA-1,则构成HMAC-1,选用SHA-256散列算法,则构成HMAC-256。
3.计算步骤:
详见下图。
补充说明:
(1)如果密钥比单向散列函数分组长度要短,就需要在末尾填充0,直到其长度达到单向散列函数的分组长度为止。
如果密钥比分组长度要长,则要用单向散列函数求出密钥的散列值,然后将这个散列值用作HMAC的密钥。
(2)ipad为00110110的循环,直到达到单项散列函数的分组长度。
opad为01011100的循环,直到达到单项散列函数的分组长度。
综述:有一些用户会将HMAC算法应用到嵌入式版权保护中,即MCU和加密芯片基于HMAC算法完成鉴权认证,也有用户会应用到远程登录认证中,将密钥存储在终端设备的加密芯片中,启动联网后,基于加密芯片完成与后台服务器的身份认证。凌科芯安公司可根据客户需求不同,灵活设置加密芯片中的算法,除了HMAC还可支持3DES、AES、RSA、ECC、国密SM2等各种加解密、签名验签算法,通过安全芯片自身软硬件防护机制,对HMAC或其他算法使用的密钥实行安全保护,保证密钥存储和运行中的安全。同时通过硬件协处理器助力算法加速,提升运算性能。
HMAC算法及计算流程介绍相关推荐
- 大数据实时计算流程介绍
实时计算是常见的大数据计算场景.业务部门需要实时反馈产品的被点击.浏览.收藏.购买.评价等数据,对时延的要求一般是秒级,甚至毫秒级.而批处理计算引擎一般需要几分钟或者几小时才能返回结果,显然无法满足该 ...
- Industry AI Live | 行为动作定位的算法流程介绍与分享
「Industry AI Live」是 biendata 与人工智能媒体 PaperWeekly 共同发起的学术直播栏目,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一 ...
- 基于实时计算Flink的机器学习算法平台及场景介绍
作者:高旸(吾与),阿里巴巴高级技术专家 1. 前言 随着互联网"人口红利"的"消耗殆尽",基于"T+1"或者离线计算的机器学习平台及推荐系 ...
- Zbar算法流程介绍
算法介绍: zbar算法是现在网上开源的条形码,二维码检测算法,算法可识别大部分种类的一维码(条形码),比如I25,CODE39,CODE128,不过大家更关心的应该是现在很火的QR码的解码效率,随着 ...
- VAD实现-读取语音数据、数据预处理、算法计算流程与框架
转载于:https://blog.csdn.net/lv_xinmy/article/details/9092159 https://blog.csdn.net/lv_xinmy/article/de ...
- 奇妙的安全旅行之HMAC算法
hi,大家好,今天我们开始介绍消息摘要算法中的HMAC(Keyed-Hashing for Message Authentication)消息认证码算法,MAC(Message Authenticat ...
- HMAC算法安全性浅析
HMAC算法安全性浅析 HMAC,全称为"Hash Message Authentication Code",中文名"散列消息鉴别码",主要是利用哈希算法,以一 ...
- ARKit从入门到精通(2)-ARKit工作原理及流程介绍
转载请注明出处:ARKit从入门到精通(2)-ARKit工作原理及流程介绍 1.1-写在前面的话 1.2-ARKit与SceneKit的关系 1.3-ARKit工作原理 1.3.1-ARSCNView ...
- 人工智能AI 计算平台介绍
人工智能AI计算平台介绍 产品及服务: 标准模块开源 核心模块及服务收费 资源齐全 服务支持 产品使用 ...
最新文章
- ComplexHeatmap()函数解析
- java怎么更改目标文件夹_java – IntelliJ无法同步目标文件夹中的更改
- delphi 手机访问lan_索尼全新“黑科技”,手机秒变PS4,Apex英雄彻底沦为手游?...
- java web聊天室私聊map_java websocket聊天室示例(springboot)
- cad中填充的剖面线不能被修剪_CAD常用命令:CHAMFER(倒角)
- JAVA多线程和并发基础面试题
- 计算机中函数counta是什么意思,excel中counta函数和count函数的区别是什么?
- 概述Swing窗体的种类
- 基于java的薪资工资管理系统
- opencv+ArcFace人脸识别
- vbscript mysql_vbscript 数据库操作
- Java高效实现xml转换json的一种方法
- 微专题:数据中心选址
- stm32晶振匹配电容_晶振的匹配电容选择
- 用友服务器换了ip地址怎么修改,用友服务器ip地址更换
- DCS任务编辑器文件无法正常加载,一直停在‘正在读取。。’
- SteamOS—定制个人版的游戏主机
- Permission denied(publickey) 解决办法
- 4.20 视频面试字节_光大银行_神策
- 单词记忆分类系统化--000
热门文章
- 简单实现在线更新系统
- 雪のとける頃に...雪融化的时候…(雪融化的时刻…) 绿色版无法运行
- AutoCAD Map 3D 2012 安装中Content Service错误?
- Geant4学习——入门(基本概念、Geant4工具包的结构、强制类、可选类)
- 【测试】Solis BIODYNE 品牌简介以及相关产品报告
- 2011 IDF-MeeGo主题日小记
- As5600数据跳变
- string::npos的一些说明
- 【重温经典C语言】~c语言中%x、%c、%d、%x等等等、c语言取地址符的作用、C语言中的 联合体
- Google App Engine 的简易教程