[发明专利]一种复合加密的代码保护方法及装置在审
申请号: | 202110684190.3 | 申请日: | 2021-06-21 |
公开(公告)号: | CN113297546A | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 高明扬;王剑立;郝晨;唐先芝;谷卫青 | 申请(专利权)人: | 尧云科技(西安)有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F21/60 |
代理公司: | 西安亿诺专利代理有限公司 61220 | 代理人: | 李永刚 |
地址: | 710000 陕西省西安市高新区*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 复合 加密 代码 保护 方法 装置 | ||
一种复合加密的代码保护方法及装置,其特征在于:包括处理器、地址映射算法模块、加密模块、只读存储器模块、静态随机存取存储器、一次性编程存储器和随机数模块;处理器、地址映射算法模块、加密模块、只读存储器模块、静态随机存取存储器、一次性编程存储器和随机数模块均与总线相电连接;所述地址映射算法模块用于执行地址乱序加密;对要保护的代码明文a首先采用国密加密方式加密处理,得到密文A;再对密文A的地址进行地址乱序加密方式生成密文B存储于外部存储器。通过装置的存储器内部存储的密钥加密外部应用程序代码,使得本发明所述代码保护装置与外部应用程序之间具备唯一相关性,可有效解决非授权代码可运行的问题。
技术领域
本发明属于嵌入式领域代码的保护方法领域,尤其涉及一种复合加密的代码保护方法及装置。
背景技术
在信息化日益普及的今天,信息安全变得至关重要,因而数据加密技术对于信息安全变得不可或缺,目前现有的敏感数据加密,无论是非对称加密算法,还是对称加密算法处理的对象都是数据,目标方案都是针对数据本身进行加密处理,嵌入式领域代码存放一般是采用与芯片分离的外部存储器件,这样的方案无疑在扩展性、灵活性上有了提升,但在安全性上就有所欠缺。
发明内容
本发明旨在解决上述问题,提供一种基于国密的复合加密的代码保护方法及装置。
本发明所述复合加密的代码保护方法,对所要保护的代码明文a首先采用国密加密方式加密处理,得到密文A;再对密文A的地址进行地址乱序加密方式生成密文B存储于外部存储器。
进一步,本发明所述复合加密的代码保护方法,所述地址乱序加密方式采用线性函数运算;设加密函数为fe(x);解密函数为fd(x);密文A经加密函数fe(x)加密后为密文B;密文B经解密函数fd(x)解密后为密文A;
加密后的地址可表示为:加密地址 = Seed* fe(x)+Offset;
其中x为密文A的原地址;Seed为加密种子;Offset为代码块内首地址偏移。
进一步,本发明所述复合加密的代码保护方法,所述地址乱序加密方式中的加密种子Seed设置有若干个;不同的Seed对应的不同的地址映射加密方式。
进一步,本发明所述复合加密的代码保护方法,所述对所要保护的代码明文a首先采用国密加密方式加密处理具体包括:
通过SM3杂凑算法压缩代码明文a,产生压缩数据;
通过SM2椭圆曲线公钥密码算法对压缩后的数据进行签名,生成数据签名包;
通过SM4对称加密算法对生成的数据签名包进行加密生成密文A。
进一步,本发明所述复合加密的代码保护方法,所述数据签名包中包含明文a压缩数据、SM2私钥与随机数组。
本发明所述复合加密的代码保护装置,包括处理器、地址映射算法模块、加密模块、只读存储器模块ROM、静态随机存取存储器Sram、一次性编程存储器OTP和随机数模块;所述处理器、地址映射算法模块、加密模块、只读存储器模块ROM、静态随机存取存储器Sram、一次性编程存储器OTP和随机数模块均与总线相电连接;所述地址映射算法模块用于执行地址乱序加密。
进一步,本发明所述复合加密的代码保护装置,还包括控制寄存器RC;所述控制寄存器RC与前述总线相电连接;所述控制寄存器RC与前述地址映射算法模块相电连接;可通过控制寄存器RC来控制开启或关闭乱序地址加密过程。
进一步,本发明所述复合加密的代码保护装置,所述加密模块包括SM2模块、SM3模块和SM4模块。
本发明所述复合加密的代码保护方法及装置的技术效果包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于尧云科技(西安)有限公司,未经尧云科技(西安)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110684190.3/2.html,转载请声明来源钻瓜专利网。