密码学_SM4国密算法
目录
简介
两类参数
加密流程
RKi和Ki+4的生成方法
Xi+4的生成方法编辑
左移的概念
简介
在商用密码体系中,SM4主要用于数据加密,其算法公开,分组长度与密钥长度均为128bit,加密算法与密钥扩展算法都采用32轮非线性迭代结构,S盒为固定的8比特输入8比特输出。
SM4属于对称加密中的分组加密 128位的明文组,分为4个字,一个字32位(8个16进制),密钥长度128位 32轮运算 每一轮32位的密钥参与运算.
两类参数
运算过程中会用到的两类参数,不用管什么意思用就行了。
参数一:系统参数FK(是不变的):
FK0=(A3B1BAC6) FK1=(56AA3350) FK2=(677D9197) FK3=(B27022DC)
参数二:固定参数32个CK值(是不变的):
这些值分别对应,CK0,CK1,CK2.....CK31
00070E15,1C232A31,383F464D,545B6269,
70777E85,8C939AA1,A8AFB6BD,C4CBD2D9,
E0E7EEF5,FC030A11,181F262D,343B4249,
50575E65,6C737A81,888F969D,A4ABB2B9,
C0C7CED5,DCE3EAF1,F8FF060D,141B2229,
30373E45,,4C535A61,686F767D,848B9299,
A0A7AEB5,BCC3CAD1,D8DFE6ED,F4FB0209,
10171E25,2C333A41,484F565D,646B7279。
加密流程
RKi和Ki+4的生成方法
Xi+4的生成方法
S-Box盒
S-Box盒的代换原理
其每一个16进制的前四位对应Sbox的行,后四位对应Sbox的列。定位到行列的对应值之后,将其替换:
比如一个字a0a1a2a3的值为: 88 99 AF 2E
88 对应8行8列 的 A3
99 对应9行9列 的 93
AF 对应A行F列 的5F
2E 对应2行E列 的AC
所以经过代换后,a0a1a2a3的值:88 99 AF 2E 转换为s0s1s2s3的值:A3 93 5F AC
左移的概念
所谓左移,就是将二进制数向左移动,向右补齐的操作
举例:88 99 AF 2E的二进制为:10001000 10011001 10101111 00101110
假设我们将它左移3位,其结果为
01000100 11001101 01111001 01110100
作图不易,引用请转载,学海无涯,发现错误请指正!
密码学_SM4国密算法相关推荐
- 密码学系列 - 国密算法
国密即国家密码局认定的国产密码算法.主要有SM1,SM2,SM3,SM4,SM9.密钥长度和分组长度均为128位. 国密算法种类 SM1 为对称加密.其加密强度与AES相当.该算法不公开,调用该算法时 ...
- 密码学系列 - 国密算法SM1/SSF33
国密分组密码 SM1分组密码和SSF33分组密码均为国密分组密码标标准,SM1和SSF33的密钥长度和分组长度均为128比特. 目前这两个分组密码标准的算法尚未公开,其实现仅可以通过硬件芯片的方式获得 ...
- sm4 的s盒_SM4国密算法Java版
根据 国密SM4 文档 编写的一个Java 加密解密样例package javasm4; /** * * @author Jeen */ public class JavaSM4 { public s ...
- 国密算法 SM2公钥密码 SM3杂凑算法 SM4分组密码 python代码完整实现
包含SM2公钥密码.SM3杂凑算法和SM4分组密码的国密算法完整工具包完成了.此前分别发布过上述三个算法的代码: SM2:国密算法 SM2 公钥加密 非对称加密 数字签名 密钥协商 python实现完 ...
- rsa签名算法实现_国密算法在链化未来区块链中的运用
密码学是区块链的基础,区块链中大量采用了密码学算法,包括对称加密,非对称加密,单向散列算法,数字签名等技术. 为了实现密码学技术的自主可控,中国也定义了自己的国密标准,2020年央行颁布的<金融 ...
- 奇妙的安全旅行之国密算法
hi,大家好,我是开发者FTD.今天我们来介绍一下我们国家密码局制定的加密算法 - 国密算法. 为什么要制定国密算法? 密码算法是保障信息安全的核心技术,尤其是我国最关键的银行业核心领域长期以来都是沿 ...
- 基于https国密算法构建安全数据传输链路
网络数据安全得到前所未有的重视 HTTPS成为解决传输安全问题利器 大家都知道,HTTP 本身是明文传输的,没有经过任何安全处理,网站HTTPS解决方案通过在HTTP协议之上引入证书服务,完美解决网站 ...
- 嵌入式设备中支持国密算法的方法
如今国密系列算法的应用已不仅仅局限于金融和电信等领域,诸如车载设备,消费类电子设备等越来越多的产品开始要求有国密算法的支持.但是国密算法的开源资料和应用案例少之又少,如何快速高效的在自己的设备中加入国 ...
- 国密算法SM3与SM4简介与应用
点击上方蓝字可直接关注!方便下次阅读.如果对你有帮助,麻烦点个在看或点个赞,感谢~ 最近0基础在学习国密算法的相关应用,故此和大家分享下自己的一些经历. 程序平台: Ubuntu16.04 x64 ...
最新文章
- Linux面试最常见的5个基本问题
- 网易云海外推流部署实践
- Linux中netstat工具详解
- appium和airtest_关于Airtest自动化测试工具
- DyFPN:浙大华为诺亚西湖大学等提出用于目标检测的动态特征金字塔,减少40%的FLOPs!...
- Java并发编程-AQS源码之条件队列
- 修改百度搜索结果的标题
- cocos2d之z轴位置示例
- python3 协程_Python3 异步神器-协程(Coroutine)
- dbeaver连接Oracle数据库
- 虚拟软盘启动OS方法
- kettle案例21-将字段值设置为常量
- 英文面试:自我介绍篇
- java读取文件服务器文件,java读取远程服务器文件
- 区块链、NFT与元宇宙中的稀缺性技术
- 手机几款超级好用的APP你都认识吗
- 强烈推荐 GitHub 上值得前端学习的开源实战项目
- 【超完全源码】我写了一个平台官网网站免费分享源码
- Openlayers 地图监听事件
- 位运算判断奇偶-C语言