sm3算法的简单介绍
2024-10-08 19:24:18
转自:https://blog.csdn.net/hugewaves/article/details/53765063
SM3算法也是一种哈希算法,中国国家密码管理局在2010年发布,其名称是SM3密码杂凑算法,密码管理局有该算法的详细说明,可以到其网站下载。本文只是简单的介绍这个算法,便于理解。
1、算法的本质
给数据加一个固定长度的指纹,这个固定长度就是256比特。
2、处理过程
第一步:填充,使填充后的数据的长度是512的整数倍
先在数据的最尾巴上加一个1;然后把原始数据的长度用64比特表示,放在最后面;再看看现在的数据的长度值离512的整数还差多少个,差多少个就填多少个0在加的这个1和64比特的长度之间。
第二步:分组
把填充后的信息按照512比特一个分组进行分组,如果分成了N组,就是b(0),b(1),,,b(N-1)
第三步:迭代压缩得到最后的杂凑值(哈希值)
IV(n)=CF(IV(n-1),b(n-1))
如果信息分为N组,那么IV(N)就是最后得到的杂凑值。
宏观上算法就是这样一个过程,在这个基础上再去看具体的算法就比较容易了。
最新文章
- php 使用htmlspecialchars() 和strip_tags函数过滤HTML标签的区别
- WPF的ComboBox 数据模板自定义
- 记录一些容易忘记的属性 -- UITabBarController
- os
- Tomcat中配置JNDI数据源
- JMX学习笔记(二)-Notification
- ubuntu logout 命令
- 忘记mysql 5.7的密码
- Android开发问题汇总(持续更新)
- 应用层协议系列(两)——HTTPserver之http协议分析
- python/numpy/tensorflow中,对矩阵行列操作,下标是怎么回事儿?
- java实现sftp客户端上传文件以及文件夹的功能
- SpringBoot笔记十五:任务
- docker 系列 - 修改容器的 DNS 服务器
- 理解PHP中的会话控制
- webpack2 项目构建一
- [uart]设置linux 串口的block方式
- 1005 Spell It Right (20)(20 point(s))
- Unity标准材质官方教程合集
- HBase in Action前三章笔记
热门文章
- 翻译——2_Linear Regression and Support Vector Regression
- 13)编写一个子类SnakeCtrl来继承基类
- ant design vue 时间选择器只能到最大日期
- Mac 终端实现快速定位命令 自动补全目录
- 【python】两行代码实现近百年的正反日期查询--20200202
- 吴裕雄--天生自然 PYTHON3开发学习:日期和时间
- codeforce 1188A1 Add on a Tree 树
- 900B. Position in Fraction#分数位置(模拟)
- Rikka with Prefix Sum
- i2c驱动dht12的原理和步骤