sm3填充

完成下面任务(10分)

1. 使用 OpenSSL 生成长度为70字节的随机数,最后添加“你的8位学号+姓名首字母”的 ASCII 码,得到HEX字符串S1,提交S1。(4 分)

[wzy@LAPTOP-PRC71A0C ~]$ openssl rand -hex 70
e4e2dd65c7bb0d2227a8241d045072e11d52610c0911b537b8e6e678cccb1a0af987ac726776cfdb53aef569d9d62a82f651de1433eebc460eabb248a5ea3c9fcb16c577c860

我的学号姓名比如叫20221417wzy
那么,

要将字符串 “20221417wzy”
转换为16字节的ASCII码表示,我们需要将每个字符转换为其对应的ASCII码值。下面是每个字符及其对应的ASCII码值:

‘2’ -> 50 ‘0’ -> 48 ‘2’ -> 50 ‘2’ -> 50 ‘1’ -> 49 ‘4’ -> 52 ‘1’ -> 49
‘7’ -> 55 ‘w’ -> 119 ‘z’ -> 122 ‘y’ -> 121 将这些ASCII码值转换为16进制表示,我们得到:

‘2’ -> 32 ‘0’ -> 30 ‘2’ -> 32 ‘2’ -> 32 ‘1’ -> 31 ‘4’ -> 34 ‘1’ -> 31
‘7’ -> 37 ‘w’ -> 77 ‘z’ -> 7A ‘y’ -> 79


3230323031343137377a797a
连起来是
e4e2dd65c7bb0d2227a8241d045072e11d52610c0911b537b8e6e678cccb1a0af987ac726776cfdb53aef569d9d62a82f651de1433eebc460eabb248a5ea3c9fcb16c577c8603230323031343137377a797a

2. 按照商用密码标准对 S1进行填充,提交填充过程和填充好的HEX 字符串S2。要包含详细填充过程。 (5 分)

按照sm3的标准
消息长度为708+118=560+88=648比特=l
l+1+k=448 mod 512
k+649=448 mod 512
k=311 k为添加的0的个数 即 填充648比特数据+1个比特“1”+k个“0”
再添加64位比特串 00……01010000100
前面有54位的0,后面表示的是l的二进制
即结果是e4e2dd65c7bb0d2227a8241d045072e11d52610c0911b537b8e6e678cccb1a0af987ac726776cfdb53aef569d9d62a82f651de1433eebc460eabb248a5ea3c9fcb16c577c8603230323031343137377a797a
后面填充1
然后365位的0
以及最后1010000100

提交要求 (1’)

  1. 记录实践过程和 AI 问答过程,尽量不要截图,给出文本内容
  2. (选做)推荐所有作业托管到 gitee或 github 上
  3. (必做)提交作业 markdown文档,命名为“学号-姓名-作业题目.md”
  4. (必做)提交作业 markdown文档转成的 PDF 文件,命名为“学号-姓名-作业题目.pdf”

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

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

相关文章

QT-使用QSS美化UI界面

一、QSS简介: Qt Style Sheet:Qt样式表,用来自定义控件外观的一种机制,可以把他类比成CSS(CSS主要功能与最终目的都是能使界面的表现与界面的元素分离)。QSS机制使应用程序也能像web界面那样随意地改变外观…

构建后端为etcd的CoreDNS的容器集群(二)、下载最新的etcd容器镜像

在尝试获取etcd的容器的最新版本镜像时,使用latest作为tag取到的并非最新版本,本文尝试用实际最新版本的版本号进行pull,从而取到想的最新版etcd容器镜像。 一、用latest作为tag尝试下载最新etcd的镜像 1、下载镜像 [rootlocalhost opt]# …

基于vue框架的的高校消防设施管理系统06y99(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:设备分类,设备信息,维修人员,报修信息,维修进度,院系,消防知识,培训记录,培训信息,备件信息,备件申请,派发信息,采购信息 开题报告内容 基于Vue框架的高校消防设施管理系统开题报告 一、项目背景与意义 随着高校规模的不断扩大和校园建…

OpenCV和HALCON

OpenCV和HALCON是两种广泛用于图像处理和计算机视觉的开发库,它们各有优缺点,适合不同的应用场景。以下是两者的比较: 1. 开发背景与定位 OpenCV (Open Source Computer Vision Library): 开源库,最初由Intel开发&…

视频处理-2D卷积核处理3D时序

2D卷积核处理3D(时序)数据_pseudoconv3d-CSDN博客

【EmbeddedGUI】PFB设计说明

PFB设计说明 背景介绍 一般来说,要实现屏幕显示,就是向特定像素点写入颜色值,最简单的办法就是直接通过SPI接口,向显示器芯片的特定缓存地址,写入像素点。一般来说,显示器芯片会提供2个基本操作API&#…

qt QNetworkProxy详解

一、概述 QNetworkProxy通过设置代理类型、主机、端口和认证信息,可以使应用程序的所有网络请求通过代理服务器进行。它支持为Qt网络类(如QAbstractSocket、QTcpSocket、QUdpSocket、QTcpServer、QNetworkAccessManager等)配置网络层代理支持…

数据仓库基础概念

数据仓库 概念 数据仓库(Data Warehouse, DW)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合。它是为满足企业决策分析需求而设计的。 面向主题:数据仓库围绕特定的主题组织数据,例如“销售”或“人力资源”&am…

springboot自动初始化表结构及其数据

1.通过配置文件进行初始化 mode:控制 SQL 初始化的模式,取值可以是: never:禁用初始化。embedded:仅在嵌入式数据库中初始化。always:每次应用启动时都初始化。 spring:sql:init:platform: mysqlmode: a…

HarmonyOS NEXT开发实战:实现高效下拉刷新与上拉加载组件(二)刷新核心逻辑与空页面集成

前言: 在上一篇文章中,我们深入探讨了如何在HarmonyOS中实现一个功能完备的空页面组件。现在,我们将进入下拉刷新和上拉加载功能的核心逻辑实现。这不仅仅是技术实现,更是对用户体验的深刻理解。本文将详细介绍如何将空页面与下拉刷新、上拉加载逻辑相结合,打造一个既高效…

学成在线实战

#1024程序员节|征文# 一、Bug修改 在实战之前,老师留了一个bug,这个bug出现的原因是因为在查询课程计划时,使用的是Inner join查询,所以当章节下面没有小节的时候,是查不出来数据的,只需要将其…

PHP企业门店订货通进销存系统小程序源码

订货通进销存系统,企业运营好帮手! 📦 开篇:告别繁琐,企业运营新选择 嘿,各位企业主和创业者们!今天我要给大家介绍一款超实用的企业运营神器——“订货通进销存系统”。在这个数字化时代&…

YOLOv5_DeepSORT实现电动自行车头盔佩戴检测系统

获取更多完整项目代码数据集,点此加入免费社区群 : 首页-置顶必看 文档说明 本文档是毕业设计——基于深度学习的电动自行车头盔佩戴检测系统的开发环境配置说明文档,该文档包括运行环境说明以及基本环境配置两大部分。在程序运行前请认真查…

零售行业的数字化营销转型之路

一方面,市场竞争激烈,电商平台、新兴品牌和跨界对手带来巨大压力。另一方面,消费者需求变化迅速,更加追求个性化、多元化和便捷化的购物体验,同时传统零售企业还面临着高成本压力,如租金、人力和库存等。 然…

Rsync数据复制/备份服务应用

文章目录 1. rsync概述1.1 什么是Rsync1.2 rsync的功能1.3 rsync 的功能特性1.4 Rsync 增量复制原理1.5 生产场景架构集群备份方案 2. Rsync工作方式介绍与实践2.1 本地数据传输模式2.1.1 本地数据传输模式语法2.1.2 本地数据传输模式实践 2.2 远程Shell 数据传输模式2.2.1 远程…

WSL(Ubuntu20.04)编译和安装DPDK

编译和安装DPDK DPDK可以使用工具meson和ninja在您的系统上进行配置、构建和安装。 DPDK配置 要配置DPDK构建,请使用: meson setup build --prefix/home/xx/dpdk19.11xxxx:~/dpdk-stable-19.11.14/$ meson setup build Message:Content Skipped libs…

React与TypeScript

React创建项目方式 react脚手架:create-react-app 项目名 --template typescript基于vite创建项目:npm init vitelatest 项目名 – --template react-ts useState自动推导 通常React会根据传入useState的默认值来自动推导类型,不需要显示标…

数据结构练习题5(链表和栈)

1环形链表 II 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测…

vue实现富文本编辑器上传(粘贴)图片 + 文字

vue实现富文本编辑器上传(粘贴)图片 文字 1.安装插件 npm install vue-quill-editor -s2.在使用vue-quill-editor富文本的时候,对于图片的处理经常是将图片转换成base64,再上传数据库,但是base64不好存储。 原理&a…

十七、行为型(命令模式)

命令模式(Command Pattern) 概念 命令模式是一种行为型设计模式,它将请求封装成一个对象,从而使您可以使用不同的请求对客户进行参数化,排队请求,以及支持可撤销操作。通过这种模式,调用操作的…