[发明专利]国密SM4分组密码算法的检测方法有效
申请号: | 201811363642.2 | 申请日: | 2018-11-16 |
公开(公告)号: | CN109558706B | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 谢琪;黄凌锋;谭肖;牟航;吴彩霞;李克恒;舒琴 | 申请(专利权)人: | 杭州师范大学 |
主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F8/41 |
代理公司: | 杭州天正专利事务所有限公司 33201 | 代理人: | 王兵;黄美娟 |
地址: | 311121 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 国密 sm4 分组 密码 算法 检测 方法 | ||
本发明涉及一种国密SM4分组密码算法的检测方法,本发明将词法、语法和语义分析的方法应用于国密SM4算法检测,把输入的测试源代码搜索国密SM4算法的特征值来进行匹配,由于国密SM4算法的特征值都是固定参数,因此算法结构具有一定的规律性。然后设计一个程序语言的词句分析方法,先运用词法分析方法逐字符扫描源代码文件,识别程序关键字和国密SM4算法的特征参数;再运用语法分析方法,对处理过的源代码文件组合成语法短语,并生成抽象语法树和记录SM4特征参数的数组名;然后利用语义分析进行类型审查,根据语法树和SM4特征数组名构造SM4链表;最终根据SM4链表完成国密SM4算法的检测。
技术领域
本发明涉及一种密码算法的分析方法。
背景技术
当前我国的银行系统和支付系统存在一定的隐患,主要的不可控因素是密码应用体系采用的密码协议和加密算法都是国外制定,一旦遇到网络攻击,攻击者能利用这些漏洞对我国的金融系统造成威胁。
其次,我国的信息软件系统和相关的电子硬件设备主要依赖国外产品,短期内这种情况还无法改变。国家商用密码局制定并在2012年公布了一系列国产密码算法标准,包括国密SM4分组密码算法,在很大程度上提升了我国信息安全的水平,保护了数据的安全,降低了信息泄露的危害,实施的效果立竿见影。
传统国密算法软件检测的方法采用人为检测的方法,但是人为检测算法代码的方法具有很大的主观性,且检测的效率低下,花费精力较大。利用计算机软件能够在大量的代码中自动检测国密算法,效率较高,速度快,检测精准。
国密SM4分组密码算法分组长度和密钥长度均为128位,加密算法与密钥扩展算法都是采用非线性Feistel迭代结构,数据加解密的算法结构相同,唯一不同的是轮密钥的使用顺序互为逆序。
密钥表示为MK=(MK0,MK1,MK2,MK3),其中MKi(i=0,1,2,3)为32位。
轮密钥表示为(rk0,rk1,...,rk31),其中rki(i=0,1,...,31)为32位,轮密钥由密钥生成。
FK=(FK0,FK1,FK2,FK3)为系统参数,CK=(CK0,CK1,...,CK31)为固定参数用于密钥扩展算法,FKi(i=0,1,2,3)和CKi(i=0,1,...,31)均为32位。该加密算法由32次迭代运算和1次反序变换R组成。轮函数F结构中存在一个由非线性变换τ和线性变换L复合而成的合成置换T。非线性变换τ由4个S盒构成。
发明内容
本发明要克服现有技术的上述缺点,提供一种基于词法、语法、语义分析方法的检测国密SM4分组密码算法的方法。
词法分析、语法分析、语义分析是编译程序的三个方法,应用这三种方法构造一个完整的抽象语法树。利用语法树和国密SM4密码算法的参数,能达到检测SM4算法的目标。
本发明的国密SM4分组密码算法的检测方法,具体步骤如下:
(1)打开测试代码工程文件,从左到右逐字符扫描,执行词法分析,对程序定义的字符流匹配,然后根据构词规则识别单词,并将其标识。在扫描过程中,词法分析程序对代码注释清理,对程序的关键词(如字符型、整数型、浮点型等)进行匹配等操作的同时,若扫描的单词匹配置换盒Sbox的参数、系统参数FK和固定参数CK,则标记文件名及其行数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州师范大学,未经杭州师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811363642.2/2.html,转载请声明来源钻瓜专利网。