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算法及计算流程介绍相关推荐

  1. 大数据实时计算流程介绍

    实时计算是常见的大数据计算场景.业务部门需要实时反馈产品的被点击.浏览.收藏.购买.评价等数据,对时延的要求一般是秒级,甚至毫秒级.而批处理计算引擎一般需要几分钟或者几小时才能返回结果,显然无法满足该 ...

  2. Industry AI Live | 行为动作定位的算法流程介绍与分享

    「Industry AI Live」是 biendata 与人工智能媒体 PaperWeekly 共同发起的学术直播栏目,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一 ...

  3. 基于实时计算Flink的机器学习算法平台及场景介绍

    作者:高旸(吾与),阿里巴巴高级技术专家 1. 前言 随着互联网"人口红利"的"消耗殆尽",基于"T+1"或者离线计算的机器学习平台及推荐系 ...

  4. Zbar算法流程介绍

    算法介绍: zbar算法是现在网上开源的条形码,二维码检测算法,算法可识别大部分种类的一维码(条形码),比如I25,CODE39,CODE128,不过大家更关心的应该是现在很火的QR码的解码效率,随着 ...

  5. VAD实现-读取语音数据、数据预处理、算法计算流程与框架

    转载于:https://blog.csdn.net/lv_xinmy/article/details/9092159 https://blog.csdn.net/lv_xinmy/article/de ...

  6. 奇妙的安全旅行之HMAC算法

    hi,大家好,今天我们开始介绍消息摘要算法中的HMAC(Keyed-Hashing for Message Authentication)消息认证码算法,MAC(Message Authenticat ...

  7. HMAC算法安全性浅析

    HMAC算法安全性浅析 HMAC,全称为"Hash Message Authentication Code",中文名"散列消息鉴别码",主要是利用哈希算法,以一 ...

  8. ARKit从入门到精通(2)-ARKit工作原理及流程介绍

    转载请注明出处:ARKit从入门到精通(2)-ARKit工作原理及流程介绍 1.1-写在前面的话 1.2-ARKit与SceneKit的关系 1.3-ARKit工作原理 1.3.1-ARSCNView ...

  9. 人工智能AI 计算平台介绍

           人工智能AI计算平台介绍        产品及服务:        标准模块开源        核心模块及服务收费        资源齐全        服务支持        产品使用 ...

最新文章

  1. ComplexHeatmap()函数解析
  2. java怎么更改目标文件夹_java – IntelliJ无法同步目标文件夹中的更改
  3. delphi 手机访问lan_索尼全新“黑科技”,手机秒变PS4,Apex英雄彻底沦为手游?...
  4. java web聊天室私聊map_java websocket聊天室示例(springboot)
  5. cad中填充的剖面线不能被修剪_CAD常用命令:CHAMFER(倒角)
  6. JAVA多线程和并发基础面试题
  7. 计算机中函数counta是什么意思,excel中counta函数和count函数的区别是什么?
  8. 概述Swing窗体的种类
  9. 基于java的薪资工资管理系统
  10. opencv+ArcFace人脸识别
  11. vbscript mysql_vbscript 数据库操作
  12. Java高效实现xml转换json的一种方法
  13. 微专题:数据中心选址
  14. stm32晶振匹配电容_晶振的匹配电容选择
  15. 用友服务器换了ip地址怎么修改,用友服务器ip地址更换
  16. DCS任务编辑器文件无法正常加载,一直停在‘正在读取。。’
  17. SteamOS—定制个人版的游戏主机
  18. Permission denied(publickey) 解决办法
  19. 4.20 视频面试字节_光大银行_神策
  20. 单词记忆分类系统化--000

热门文章

  1. 简单实现在线更新系统
  2. 雪のとける頃に...雪融化的时候…(雪融化的时刻…) 绿色版无法运行
  3. AutoCAD Map 3D 2012 安装中Content Service错误?
  4. Geant4学习——入门(基本概念、Geant4工具包的结构、强制类、可选类)
  5. 【测试】Solis BIODYNE 品牌简介以及相关产品报告
  6. 2011 IDF-MeeGo主题日小记
  7. As5600数据跳变
  8. string::npos的一些说明
  9. 【重温经典C语言】~c语言中%x、%c、%d、%x等等等、c语言取地址符的作用、C语言中的 联合体
  10. Google App Engine 的简易教程