对称密码算法顾名思义就是加密密钥和解密密钥一致或相同,作为现代密码算法三大类别之一,以运算速度闻名于世。对称密码算法根据单次加密的数据长度又分为分组加密和流加密算法。
国际上常见的对称加密算法有DES、3DES、AES、RC4、SNOW;国密对称密码算法指的是SM1、SM4、SM7、ZUC。SM1和SM7密码算法未公开。SM4和ZUC已公开,可以获得其开源代码。其中DES、3DES、AES、SM1、SM4、SM7属于分组算法,RC4、SNOW、ZUC属于分组加密。
对称加密算法加密过程与解密过程使用相同的或者容易互相推导得出的密钥,即加密和解密两方的密钥是“对称”的。分组加密是对称加密的典型代表,在多种应用场景中都会用到。本文重点分析保密性应用场景,并利用C语言和Java语言实现相关代码。
SM4算法流程
算法概述
SM4算法是我国发布的商用密码算法中的一种分组密码算法,于2006年公开发布。并于2012年3月发布为密码行业标准,2016年8月转为国家标准。
SM4密码算法是一个分组算法。该算法的分组长度为128bit,密钥长度为128bit,具体包括密钥扩展算法、加密算法和解密算法。密钥扩展算法与加密算法有一定的相似性,都采用32轮非线性迭代结构。数据加密算法和数据解密算法结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。由于密钥扩展算法、加密算法和解密算法有共性的模块,所以SM4密码算法与AES密码算法相比实现起来相对容易。
共性模块
共性模块主要是合成置换T,其中T是一个可逆变换,由非线性变换和线性变换L复合而成,即T(x)=L(
(x))。
非线性变换\tau
由4个并行的S盒构成。假设输入为A=(a0,a1,a2,a3),输出为B=(b0,b1,b2,b3),则(b0,b1,b2,b3)=
(A)=(SBox(a0),SBox(a1),SBox(a3),SBox(a3))。
其中SBox如下所示。

SBox的输入是一个字节,一个字节对应于两个字符的hex格式,比如字符a对应于ASCII是97,对应的hex是61,那么SBox(61)= 24
线性变换L
非线性变换的输出是线性变换L的输入。
- 加密算法中线性变换L:假设输入为B,输出为C,则C=L(B)=B XOR (B<<<2) XOR (B<<<10) XOR (B<<<18) XOR (B<<<24)。
- 密钥扩展算法中线性变换L:假设输入为B,输出为C,则C=L(B)=B XOR (B<<<13) XOR (B<<<23)。
密钥及密钥参量
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。






既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题



内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
😝朋友们如果有需要的话,可以联系领取~
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:

2️⃣视频配套工具&国内外网安书籍、文档
① 工具

② 视频

③ 书籍

资源较为敏感,未展示全面,需要的最下面获取


② 简历模板

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

料较为敏感仅展示部分资料,添加上方即可获取👆**
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-c9DjQ9MC-1712622988260)]
3235

被折叠的 条评论
为什么被折叠?



