[发明专利]一种基于随机掩码防护的内存加密装置及其方法有效
申请号: | 201710613009.3 | 申请日: | 2017-07-25 |
公开(公告)号: | CN109299938B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 续素芬;苏琳琳;陈冈 | 申请(专利权)人: | 紫光同芯微电子有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100083 北京市海淀区五*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 随机 掩码 防护 内存 加密 装置 及其 方法 | ||
1.一种基于随机掩码防护的内存加密装置,其特征在于,所述内存加密装置包括随机掩码生成电路、密钥生成电路和加密运算电路,随机掩码生成电路和密钥生成电路分别连接加密运算电路,其中,加密运算电路包括线性变换单元、非线性变换单元、掩码运算单元和寄存器;
随机掩码生成电路包括随机数发生器,随机数发生器生成随机掩码,存储于寄存器中;
密钥生成电路,生成随机密钥,存储于寄存器中;
加密运算电路采用轮变换结构,由两轮及以上的轮变换组成,轮变换中包括线性变换和非线性变换,线性变换与非线性变换的形式、次序和次数不限;
加密运算电路开始工作后,先读取寄存器中的随机密钥和明文信息,进行线性变换运算,线性变换的结果输入非线性变换单元中,掩码运算单元读取随机掩码,进行掩码运算,掩码运算的结果输入非线性变换单元中,非线性变换单元读取线性变换的结果和掩码运算的结果进行非线性变换运算,非线性变换的结果输入线性变换单元中,随后,加密运算电路读取随机密钥和非线性变换的结果进行线性运算,并将线性运算结果存入寄存器,寄存器输入到下一次轮变换中,同时,加密运算电路依据应用需求,将轮变换进行重复指定次数,并最终将明文信息变换成密文信息。
2.如权利要求1所述的基于随机掩码防护的内存加密装置,其特征在于,所述掩码运算单元连接非线性变换单元和寄存器,寄存器连接线性变换单元,线性变换单元相互连接非线性变换单元。
3.如权利要求1所述的基于随机掩码防护的内存加密装置,其特征在于,所述掩码运算单元连接非线性变换单元和寄存器。
4.如权利要求1所述的基于随机掩码防护的内存加密装置,其特征在于,所述加密运算电路采用组合逻辑电路,在一个时钟周期内实现。
5.如权利要求1所述的基于随机掩码防护的内存加密装置,其特征在于,所述加密运算电路采用时序逻辑电路,分为两个或者两个以上的时钟周期实现。
6.一种基于随机掩码防护的内存加密方法,采用如权利要求1所述的内存加密装置,其特征在于,所述内存加密方法的具体步骤如下:
步骤1:系统上电,启动内存加密装置中的随机掩码生成电路;
步骤2:随机掩码生成电路中的随机数发生器产生随机数;
步骤3:随机数输入并存放于加密运算电路中的寄存器中;
步骤4:系统上电的同时,密钥生成电路生成随机密钥,随机密钥输入并存放于加密运算电路中的寄存器中;
步骤5:加密运算电路采用轮变换结构,包括线性变换和非线性变换,如下步骤5A~步骤5D为加密运算电路中的轮变换,轮变换中的线性和非线性变换形式、次序和次数不限;
步骤5A:加密运算电路先读取寄存器中的随机密钥和明文信息,进行线性变换运算,线性变换的结果输入非线性变换单元中;
步骤5B:加密运算电路中的掩码运算单元读取随机掩码和待加密数据,进行掩码运算,掩码运算的结果输入非线性变换单元中;
步骤5C:加密运算电路的非线性变换单元读取线性变换的结果和掩码运算的结果进行非线性变换运算,非线性变换的结果输入线性变换单元中;
步骤5D:加密运算电路读取随机密钥和非线性变换的结果进行线性运算,并将线性运算结果存入寄存器,寄存器输入到下一次轮变换中;
步骤6:依据应用需求,确定轮变换中轮函数迭代最大次数,重复步骤5A~步骤5D中轮函数迭代最大次数;
步骤7:加密运算电路执行轮变换轮函数迭代最大次数的运算结果即为密文信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于紫光同芯微电子有限公司,未经紫光同芯微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710613009.3/1.html,转载请声明来源钻瓜专利网。