当前位置: 首页 > 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 文件下载
  • 申活观察|咖香涌动北外滩,带来哪些消费新想象?
  • 前行中的“模速空间”:要攻克核心技术,也要成为年轻人创业首选地
  • 空调+零食助顶级赛马备战,上海环球马术冠军赛将焕新登场
  • 内蒙古公开宣判144件毁林毁草刑案,单起非法占用林地逾250亩
  • “五一”逃离城市计划:带上帐篷去大自然里充电
  • 山西太原小区爆炸事故已造成17人受伤