当前位置: 首页 > news >正文

定制一款国密浏览器(9):SM4 对称加密算法

上一章介绍了 SM3 算法的移植要点,本章介绍对称加密算法 SM4 的移植要点。

SM4 算法相对 SM3 算法来说复杂一些,但还是比较简单的算法,详细算法说明参考《GMT 0002-2012 SM4分组密码算法》这份文档。铜锁开源项目的实现代码在 sm4.c 文件中,直接拿过来编译就可以。

但需要注意的是,SM4 属于块加密算法,也叫分组密码算法。所谓分组密码算法,一次只加密一个分组的数据。SM4 的分组长度是 128 位,也就是一次只处理 16 个字节。在实际应用中,肯定不会只加密 16 个字节的数据,这就涉及到如何分组,如果数据字节数不是 16 的整数倍,还涉及到填充问题。

关于分组和填充,请参考我之前写的文章《写给开发人员的实用密码学 - 对称加密算法》,这里不赘述。

铜锁中实现了非常多的分组算法,考虑到时间人力有限,就先移植了 SM4-ECB 和 SM4-CBC 两种。实现代码位于 e_sm4.c 文件中。详细修改参考我在 github 上的提交:

相关文章:

  • 微信小程序 时间戳与日期格式的转换
  • 今天分享一个网店客服回复数据集-用于网点客服AI助手自动回复智能体训练
  • 下采样(Downsampling)
  • python文件处理自用
  • 【PCIE配置空间】
  • 软件中的保护锁在工程项目中的应用
  • C算术运算符 printf输出格式 字符指针打印输出 使用scanf函数进行输入
  • MCGS昆仑通太屏笔记
  • 【mongodb】数据库操作
  • OSI七层网络模型详解
  • 【MySQL】MySQL建立索引不知道注意什么?
  • OpenStack Yoga版安装笔记(23)Swift安装
  • 六边形棋盘格(Hexagonal Grids)的坐标
  • OPC_KEPServerEX 6 安装与授权
  • 【KWDB 创作者计划】_上位机知识篇---Docker容器
  • 提升电脑性能!Windows超级管理器,免费使用,功能全面!
  • 故障诊断 | CNN-BiGRU-Attention故障诊断
  • 真实波幅策略思路
  • uniapp-x 二维码生成
  • 【愚公系列】《Python网络爬虫从入门到精通》054-Scrapy 文件下载
  • 黄山旅游:去年黄山景区累计接待进山游客492.24万人,同比增长7.6%
  • 女子报警称醉酒后疑似被性侵,长沙警方:嫌犯邱某某已被刑拘
  • 十四届全国人大常委会第十五次会议将于4月27日至30日举行
  • 上海浦东召开高水平改革开放推进会,综合型企业出海服务平台启动
  • 宋涛会见洪秀柱一行:维护台海和平稳定,扩大两岸交流合作
  • 国家药监局通告18批次化妆品检出禁用原料,含婴儿护肤霜