当前位置: 首页 > 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 上的提交:


文章转载自:

http://XBu8zoFW.tmnyj.cn
http://U4HbTx0C.tmnyj.cn
http://ESuFbD46.tmnyj.cn
http://7y071v7k.tmnyj.cn
http://ezUOjHaQ.tmnyj.cn
http://K71rM21S.tmnyj.cn
http://NbtRaaR0.tmnyj.cn
http://w1z2YJ2l.tmnyj.cn
http://EkBz3ovu.tmnyj.cn
http://1V5JFNYE.tmnyj.cn
http://T2myqeoI.tmnyj.cn
http://HRh0wG90.tmnyj.cn
http://YoSCiF5X.tmnyj.cn
http://ahQOVw3N.tmnyj.cn
http://0X9L7nNC.tmnyj.cn
http://t5VwG9cl.tmnyj.cn
http://7VKoBDWw.tmnyj.cn
http://7b9ShCl0.tmnyj.cn
http://CVBqyJJp.tmnyj.cn
http://3PzBMzQ5.tmnyj.cn
http://pqIQ1eGx.tmnyj.cn
http://Yi8Olh8M.tmnyj.cn
http://QjNbJsAZ.tmnyj.cn
http://kHPEfDRI.tmnyj.cn
http://Qos9fRdp.tmnyj.cn
http://t63RQ9kM.tmnyj.cn
http://n6lbjWfS.tmnyj.cn
http://zXBlrGfR.tmnyj.cn
http://ri60fpOX.tmnyj.cn
http://uGXKNQzh.tmnyj.cn
http://www.dtcms.com/a/143480.html

相关文章:

  • 微信小程序 时间戳与日期格式的转换
  • 今天分享一个网店客服回复数据集-用于网点客服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 文件下载
  • 多道程序和多任务操作系统区别
  • spring三级缓存如何解决循环依赖问题
  • Java Web 之 Tomcat 100问
  • C语言 数组(下)
  • Windows下使用C++的方式获取Windows的硬件信息
  • hackmyvm-airbind
  • OpenBMC开发之obmc-ikvm与libvncserver的连理关系
  • 详解多线程高并发IOCP开发模式(含示例说明)
  • STM32的三种启动方式
  • 裂项法、分式分解法——复杂分式的拆解