【密码学复习】第六讲 HASH函数和MAC(三)

news2024/12/26 11:13:00

 

 

 

 

Ø H是一个Hash函数

Ø K表示密钥

Ø B表示计算消息摘要时消息分块的字节长度(对MD5和SHA-1是512比特,64字节)

Ø L表示消息摘要按字节计算的长度(对MD5是16字节)

Ø ipad表示0x36重复B次,opad表示0x5c重复B次。

Ø K可以有不超过B字节的任意长度,但一般建议K的长度不小于L。当使用长度大于B的密钥时,先用H对密钥进行杂凑,然后用得出的L字节作为HMAC的真正密钥

计算一个数据“文本”的HMAC的操作如下:

1)在K的后面加上足够的0以得到B字节的串

2)将上一步得到的B字节串与ipad异或

3)将数据流“文本”接在第2步得到的B字节串后面

4)将H应用于上一步的比特串

5)将第1步所得到的B字节串与opad异或

6)将第4步的消息摘要接在第5步的B字节串后

7)应用H于上一步的比特串

认证加密模式

 

CCM加密认证模式

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/421896.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

腾讯云轻量服务器价格表(2023版)

2023腾讯云轻量应用服务器2核2G4M带宽88元一年、2核4G6M带宽159元/年、4核8G10M优惠价425元、8核16G14M价格1249、16核32G20M服务器2499元一年,今天分享2023腾讯云服务器配置及精准报价。 腾讯云轻量应用服务器优惠价格表 腾讯云服务器分为轻量应用服务器和云服务器…

Games106学习记录第一课

本文地址:https://blog.csdn.net/t163361/article/details/130139998 最近准备申请新星创作者,需要2000个粉丝关注,觉得文章有用的,请点一下左侧边栏的关注,谢谢。 前段时间看到Games106课程,讲的是流水线…

【天梯赛—不想坑队友系列】L1-002 打印沙漏(java)

题目链接 PTA | 程序设计类实验辅助教学平台 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ************ *****所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符…

c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%

c/c:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式% 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c的话, 我所知道的周边的会c的同学,可手握10…

Linux主机用WordPress搭建网站

文章目录一、搭建过程1.1、切换到超户1.2、更新1.3、安装一些包1.4、安装wordpress1.5、配置MariaDB1.6、创建WordPress数据库1.7、配置WordPress1.8、登录WordPress1.9、安装phpMyAdmin一、搭建过程 1.1、切换到超户 sudo su1.2、更新 apt-get update -y1.3、安装一些包 a…

我在windows10下,使用CMake gui 编译krita源码

系列文章目录 文章目录系列文章目录前言一、krita编译说明二、使用步骤前言 我在windows10下,使用CMake gui 编译krita源码 where is the source code:E:/krita-dev/krita where to build the binaries:E:/krita-dev/krita_camke current generator:MinGW Makefile…

成为程序员后才知道的6件事,第5点看完很心酸!

曾几时,总觉得IT精英外表光鲜亮丽,尤其是程序员咔咔咔打代码,月入几个w,不光挣得多,上班期间还能玩电脑游戏。但是,真正当了程序员之后,OMG!我再也不这样想了!好多事都是当了程序员才…

【C语言深入】带你了解C语言中的可变参数列表

【C语言深入】带你了解C语言中的可变参数列表一、可变参数函数的使用方式1、使用方式2、自定义可变把参数函数2.1、三个宏一个类型2.2、实现方式二、可变参数列表的原理1、va_start1.1、_ADDRESSOF1.2、关于临时拷贝的一个小知识点1.3、_INTSIZEOF2、va_arg3、va_end一、可变参…

23种设计模式总结(大白话,适合小白)

文章目录什么是设计模式?设计模式的分类创建型模式创建型类类型工厂方法模式创建型对象型抽象工厂模式生成器模式原型模式单例模式结构型模式结构型类类型适配器模式结构型对象型桥接模式组合模式装饰器模式外观模式享元模式代理模式行为型模式行为型对象型命令模式…

【C++PrimerPlus】第五章 循环和关系表达式

文章目录5.1 for循环5.1.1 for循环的组成部分5.1.2 回到for循环5.1.3 修改步长5.1.4 使用for循环访问字符串5.1.5 递增运算符 ()和递减运算符(--)5.1.6 副作用和顺序点5.1.7 前缀格式与后缀格式5.1.8 递增/递减和指针5.1.9 组合赋值运算符5.1.10 复合语句![](https://img-blog.…

Qt Quick - ToolTip

Qt Quick - ToolTip使用总结一、概述二、附带的ToolTip三、延迟和超时四、自定义ToolTip五、定制化一、概述 ToolTip 其实就是ToolTip,所谓ToolTip其实就是一段简短的文本,告知用户控件的功能。它通常置于父控件之上或之下。提示文本可以是任何富文本格…

常用异常检测模型的应用

常用异常检测模型的应用 描述 异常数据检测不仅仅可以帮助我们提高数据质量,同时在一些实际业务中,异常数据往往包含有价值的信息,如异常交易、网络攻击、工业品缺陷等,因此异常检测也是数据挖掘的重要手段。常用的异常检测模型…

【通过Cpython3.9源码看看python字符串拼接:“+”为什么比join低效】

基本说明 Python字符串拼接中,使用join()方法比运算符更高效,主要原因在于字符串对象的不可变性和内存分配策略。 首先,我们要知道Python字符串是不可变的对象。这意味着,每次使用运算符进行字符串拼接时,Python需要…

Vue2-黑马(四)

目录: (1)axios-响应格式 (2)axios-拦截器 (3)vue2-条件渲染 (4)vue2-列表渲染 (1)axios-响应格式 下面看axios的返回响应对象的内部组成 后…

【grpc02】安装protobuf和protoc

目录 Windows环境 下载通用编译器 配置环境变量 安装go专用的protoc的生成器 GoLang中安装插件 如何使用protobuf呢? Mac环境 Protoc安装 Protoc-gen-go的安装 Windows环境 下载通用编译器 下载地址:v3.20.1 Releases protocolbuffers/pr…

【优化算法】使用遗传算法优化MLP神经网络参数(TensorFlow2)

文章目录任务查看当前的准确率情况使用遗传算法进行优化完整代码任务 使用启发式优化算法遗传算法对多层感知机中中间层神经个数进行优化,以提高模型的准确率。 待优化的模型: 基于TensorFlow2实现的Mnist手写数字识别多层感知机MLP # MLP手写数字识别…

Java支付SDK接口远程调试 - 支付宝沙箱环境【公网地址调试】

文章目录1.测试环境2.本地配置3. 内网穿透3.1 下载安装cpolar内网穿透3.2 创建隧道4. 测试公网访问5. 配置固定二级子域名5.1 保留一个二级子域名5.2 配置二级子域名6. 使用固定二级子域名进行访问转发自CSDN远程穿透的文章:Java支付宝沙箱环境支付,SDK接…

Linux命令·traceroute

通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux系统…

移动端项目开发总结(一)

移动端项目开发总结(一) 前阵子做租赁项目,风风火火的上线,趁现在还没忘,把用到的东西整理以下,算是对于这个项目的回顾吧。 特效一 : 移动端适配 需求 移动端适配,采用rem单位。…

深入理解Java虚拟机——Java内存区域

1.前言 Java内存区域也叫运行时数据区域,要记得把Java内存模型(JMM区分开来)。 根据线程是否共享可以把运行时数据区如上图所分。 线程共享 堆内存方法区 线程私有 栈内存 本地方法栈虚拟机栈 程序计数器 接下来,将逐个介绍…