[发明专利]一种基于随机掩码防护的内存加密装置及其方法有效
申请号: | 201710613009.3 | 申请日: | 2017-07-25 |
公开(公告)号: | CN109299938B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 续素芬;苏琳琳;陈冈 | 申请(专利权)人: | 紫光同芯微电子有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100083 北京市海淀区五*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 随机 掩码 防护 内存 加密 装置 及其 方法 | ||
本发明公开了一种基于随机掩码防护的内存加密装置及其方法。所述内存加密装置包括随机掩码生成电路、密钥生成电路和加密运算电路,随机掩码生成电路和密钥生成电路分别连接加密运算电路,其中,加密运算电路包括线性变换单元、非线性变换单元、掩码运算单元和寄存器。本发明在内存加密装置中引入实时可变的随机掩码,通过非线性变换中加入掩码运算或实时更改非线性对应关系,破坏明文加密运算过程中的功耗变化规律,削弱密文与明文之间的相关性,提高了内存加密装置的抗功耗分析能力和安全性。同时,也提高了算法轮函数的安全性,满足了低功耗需求。此外,本发明提供的内存加密方法输入数据位宽可配,可移植性强。
技术领域
本发明涉及集成电路安全技术领域,尤其涉及基于随机掩码防护的内存加密装置及其方法。
背景技术
移动支付技术的变革给人们的生活方式带来了巨大的变化。NFC支付、扫码支付、生物识别等支付方式的普及推动了智能卡技术的发展。由于智能卡应用场合的特殊性,针对智能卡的各种各样的攻击性现象层出不穷,因此智能卡安全性,尤其是其内存的安全性显得尤为重要。同时,智能卡存在低功耗的需求,其内存加密设计不仅要有足够高的安全等级以抵抗现有的各种攻击,而且要结构简洁清晰,运算量小。
目前,按照密码结构来划分,对称分组密码算法主要有Feistel密码结构和SPN密码结构。SPN密码结构,以PRESENT算法为例,参见图1所示。SPN密码结构中,非线性变换由S盒实现,数据变换包括非线性S盒混淆和线性行列变换,通过一定轮数的迭代实现数据的加密。
Feistel密码结构,以XTEA算法为例,参见图2所示。Feistel密码结构轮函数中非线性变换仅对部分数据进行操作,通常为整数加、异或等非线性操作。
这些标准轻量级加密算法直接应用在智能卡内存加密中存在以下局限性:一、抗功耗分析性能差。在SPN结构中非线性变换是固定关系式,在功耗分析攻击中,攻击者容易获取其中的非线性变换关系式。在Feistel结构中,非线性变换S盒在输入输出之间建立了固定的一一对应关系,在已知输入和输出的情况下,同样容易泄露S盒内容。二、不适用于某些低功耗应用场景。为满足特定的安全强度,轻量级对称加密算法的迭代轮数都是固定的,且通常为8轮以上,运算量大,不适用于低功耗应用。三、可移植性差。标准的轻量级对称加密算法分组长度为固定值,其中非线性运算和线性运算都是针对固定位宽数据进行设计的,在不同的应用平台之间可移植性较差。
发明内容
针对上述现有技术中存在的不足,本发明的目的是针对轻量级的对称分组密码算法进行研究与优化,提出了一种基于随机掩码防护的内存加密装置及其方法,通过随机掩码防护功能的引入,提高密码非线性变换的安全性,同时,减少了密码运算非线性和线性运算的迭代轮数。
为了达到上述技术目的,本发明所采用的技术方案是:
一种基于随机掩码防护的内存加密装置,所述内存加密装置包括随机掩码生成电路、密钥生成电路和加密运算电路,随机掩码生成电路和密钥生成电路分别连接加密运算电路,其中,加密运算电路包括线性变换单元、非线性变换单元、掩码运算单元和寄存器;
随机掩码生成电路包括随机数发生器,随机数发生器生成随机掩码,存储于寄存器中;
密钥生成电路,生成随机密钥,存储于寄存器中;
加密运算电路采用轮变换结构,由两轮及以上的轮变换组成,轮变换中包括线性变换和非线性变换,线性变换与非线性变换的形式、次序和次数不限;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于紫光同芯微电子有限公司,未经紫光同芯微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710613009.3/2.html,转载请声明来源钻瓜专利网。