预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN109299938A(43)申请公布日2019.02.01(21)申请号201710613009.3(22)申请日2017.07.25(71)申请人北京同方微电子有限公司地址100083北京市海淀区五道口王庄路1号同方科技广场D座西楼18层(72)发明人续素芬苏琳琳陈冈(51)Int.Cl.G06Q20/38(2012.01)权利要求书2页说明书6页附图6页(54)发明名称一种基于随机掩码防护的内存加密装置及其方法(57)摘要本发明公开了一种基于随机掩码防护的内存加密装置及其方法。所述内存加密装置包括随机掩码生成电路、密钥生成电路和加密运算电路,随机掩码生成电路和密钥生成电路分别连接加密运算电路,其中,加密运算电路包括线性变换单元、非线性变换单元、掩码运算单元和寄存器。本发明在内存加密装置中引入实时可变的随机掩码,通过非线性变换中加入掩码运算或实时更改非线性对应关系,破坏明文加密运算过程中的功耗变化规律,削弱密文与明文之间的相关性,提高了内存加密装置的抗功耗分析能力和安全性。同时,也提高了算法轮函数的安全性,满足了低功耗需求。此外,本发明提供的内存加密方法输入数据位宽可配,可移植性强。CN109299938ACN109299938A权利要求书1/2页1.一种基于随机掩码防护的内存加密装置,其特征在于,所述内存加密装置包括随机掩码生成电路、密钥生成电路和加密运算电路,随机掩码生成电路和密钥生成电路分别连接加密运算电路,其中,加密运算电路包括线性变换单元、非线性变换单元、掩码运算单元和寄存器;随机掩码生成电路包括随机数发生器,随机数发生器生成随机掩码,存储于寄存器中;密钥生成电路,生成随机密钥,存储于寄存器中;加密运算电路采用轮变换结构,由两轮及以上的轮变换组成,轮变换中包括线性变换和非线性变换,线性变换与非线性变换的形式、次序和次数不限;加密运算电路开始工作后,先读取寄存器中的随机密钥和明文信息,进行线性变换运算,线性变换的结果输入非线性变换单元中,掩码运算单元读取随机掩码,进行掩码运算,掩码运算的结果输入非线性变换单元中,非线性变换单元读取线性变换的结果和掩码运算的结果进行非线性变换运算,非线性变换的结果输入线性变换单元中,随后,加密运算电路读取随机密钥和非线性变换的结果进行线性运算,并将线性运算结果存入寄存器,寄存器输入到下一次轮变换中,同时,加密运算电路依据应用需求,将轮变换进行重复指定次数,并最终将明文信息变换成密文信息。2.如权利要求1所述的基于随机掩码防护的内存加密装置,其特征在于,所述掩码运算单元连接非线性变换单元和寄存器,寄存器连接线性变换单元,线性变换单元相互连接非线性变换单元。3.如权利要求1所述的基于随机掩码防护的内存加密装置,其特征在于,所述掩码运算单元连接非线性变换单元和寄存器。4.如权利要求1所述的基于随机掩码防护的内存加密装置,其特征在于,所述加密运算电路采用组合逻辑电路,在一个时钟周期内实现。5.如权利要求1所述的基于随机掩码防护的内存加密装置,其特征在于,所述加密运算电路采用时序逻辑电路,分为两个或者两个以上的时钟周期实现。6.一种基于随机掩码防护的内存加密方法,采用如权利要求1所述的内存加密装置,其特征在于,所述内存加密方法的具体步骤如下:步骤1:系统上电,启动内存加密装置中的随机掩码生成电路;步骤2:随机掩码生成电路中的随机数发生器产生随机数;步骤3:随机数输入并存放于加密运算电路中的寄存器中;步骤4:系统上电的同时,密钥生成电路生成随机密钥,随机密钥输入并存放于加密运算电路中的寄存器中;步骤5:加密运算电路采用轮变换结构,包括线性变换和非线性变换,如下步骤5A~步骤5D为加密运算电路中的轮变换,轮变换中的线性和非线性变换形式、次序和次数不限;步骤5A:加密运算电路先读取寄存器中的随机密钥和明文信息,进行线性变换运算,线性变换的结果输入非线性变换单元中;步骤5B:加密运算电路中的掩码运算单元读取随机掩码和待加密数据,进行掩码运算,掩码运算的结果输入非线性变换单元中;步骤5C:加密运算电路的非线性变换单元读取线性变换的结果和掩码运算的结果进行非线性变换运算,非线性变换的结果输入线性变换单元中;2CN109299938A权利要求书2/2页步骤5D:加密运算电路读取随机密钥和非线性变换的结果进行线性运算,并将线性运算结果存入寄存器,寄存器输入到下一次轮变换中;步骤6:依据应用需求,确定轮变换中轮函数迭代最大次数,重复步骤5A~步骤5D中轮函数迭代最大次数;步骤7:加密运算电路执行轮变换轮函数迭代最大次数的运算结果即为密文信息。3CN109299938A说明书1/6页一种基于随机掩码防护的内存加密装置及其方法技术领域[00