密码操作的保护制造技术

技术编号:36741760 阅读:9 留言:0更新日期:2023-03-04 10:19
本公开的实施例涉及密码操作的保护。本公开涉及一种密码方法,包括:通过执行以下步骤将属于具有群组结构的数学集合的点乘以标量:将标量划分为由相同数目w个数字群组成的多个群组,w大于或等于2;以及由密码电路装置针对每个数字群组的点执行操作序列,所述操作序列对于每个数字群组是相同的,对于每个数字群组执行的至少一个操作是虚设操作。执行的至少一个操作是虚设操作。执行的至少一个操作是虚设操作。

【技术实现步骤摘要】
密码操作的保护


[0001]本公开一般涉及密码学领域,尤其涉及椭圆曲线或类似密码学领域。

技术介绍

[0002]椭圆曲线密码术(ECC)很好地适用于公共密钥密码术方法,因为它能够使用尺寸减小的密码密钥。
[0003]然而,在涉及密码密钥的密码操作期间执行的通过简单功率分析(SPA)的攻击可使外部实体能够尤其在基于椭圆曲线的密码方法中推导出密码密钥的值。
[0004]期望使密码密钥的值在由电子器件执行涉及它的密码操作期间难以检测。

技术实现思路

[0005]在一个实施例中,一种方法包括:使用密码电路装置将属于具有群组结构的数学集合的点与标量进行乘法运算;以及在所述乘法运算期间使用所述密码电路装置来保护所述标量。所述乘法运算和保护包括:将所述标量划分成由相同数目w个数字形成的多个群组,w大于或等于2;以及针对每个数字群组的所述执行的操作序列,所述操作序列针对每个数字群组具有相同的序列,针对每个数字群组执行的至少一个操作是虚设操作。
[0006]在一个实施例中,一种器件包括:存储器;以及耦合到所述存储器的密码电路装置。所述密码电路装置在操作中将点与标量进行乘法运算,所述点属于具有群组结构的数学集合,并且在所述乘法运算期间保护所述标量,所述乘法运算和保护包括:将所述标量划分成由相同数目w个数字形成的多个群组,w大于或等于2;以及针对每个数字群组的所述执行操作序列,所述操作序列针对每个数字群组具有相同的序列,针对每个数字群组执行的至少一个操作是虚设操作。
[0007]在一个实施例中,一种系统包括:主处理器;以及耦合到所述主处理器的密码协处理器,其中所述密码协处理器在操作中将点与标量进行乘法运算,所述点属于具有群组结构的数学集合,并且在所述乘法运算保护所述标量。所述乘法运算和保护包括:将所述标量划分成由相同数目w个数字形成的多个群组,w大于或等于2;以及针对每个数字群组的所述点执行操作序列,所述操作序列针对每个数字群组具有相同的序列,针对每个数字群组执行的至少一个操作是虚设操作。
[0008]在一实施例中,一种非暂态计算机可读介质具有配置密码电路装置以将点与标量进行乘法运算、并且在所述乘法运算期间保护所述标量的内容,所述点属于具有群组结构的数学集合。所述乘法运算和保护包括:将所述标量划分成由相同数目w个数字形成的多个群组,w大于或等于2;以及针对每个数字群组的所述点执行操作序列,所述操作序列针对每个数字群组具有相同的序列,针对每个数字群组执行的至少一个操作是虚设操作。
附图说明
[0009]前述特征和优点以及其他特征和优点将在以下具体实施例的描述中参考附图以
说明而非限制的方式给出,在附图中:
[0010]图1示意性地示出了所述实施例可以应用的类型的电子器件的示例;
[0011]图2是示出了图1中所示的器件在没有实现密钥保护的密码操作期间的电功率消耗的示例的图;
[0012]图3是示出插入虚设密码操作的示例的表;
[0013]图4是示出根据实施例的密码操作的实现方法的操作的流程图;
[0014]图5是示出根据另一实施例的密码操作的实现方法的操作的流程图;以及
[0015]图6示意性地示出了根据实施例的计算电路。
具体实施方式
[0016]除非上下文另有说明,否则在各个附图中相同的特征由相同的附图标记表示。特别地,在各个实施例中共同的结构和/或功能特征可以具有相同的附图标记,并且可以设置相同或相似的结构,尺寸和材料特性。
[0017]为了清楚起见,仅示出和详细描述了对理解本文所述的实施例有用的步骤和元件。特别地,不详细描述非相邻窗口形式的标量表示以及椭圆曲线上的翻倍、加法或Frobenius运算。
[0018]除非另有说明,否则当提及连接在一起的两个元件时,这表示除了导体之外没有任何中间元件的直接连接,并且当提及耦合在一起的两个元件时,这表示这两个元件可以被连接或者它们可以经由一个或多个其它元件被耦合。
[0019]在以下公开中,除非另有说明,当提及绝对位置限定词时,例如术语“前”,“后”,“顶”,“底”,“左”,“右”等,或提及相对位置限定词时,例如术语“上”,“下”,“上”,“下”等,或提及取向限定词时,例如“水平”,“垂直”等,是指图中所示的取向。
[0020]图1示意性地示出了根据实施例的器件100。器件100例如是计算机、蜂窝电话或者甚至是集成电路卡。
[0021]器件100例如包括主处理器102(主处理器)和密码协处理器104(密码协处理器),主处理器102例如是器件100的主处理器或应用处理器。例如,主处理器102可以执行应用,该应用可以调用密码协处理器104,例如作为认证过程的一部分。器件100还包括存储用于控制主处理器102和密码协处理器104的指令108(INSTRUCTIONS)的存储器106(MEMORY)。通信接口110(通信接口)例如耦合到主处理器102,并且例如允许经由无线通信网络的无线通信,和/或例如通过LAN(“局域网”,未示出)的有线通信。
[0022]器件100,特别是密码协处理器104,例如适于执行椭圆曲线加密操作。具体地,密码协处理器104例如被配置成执行与属于具有以下形式的椭圆曲线E的点P的标量k的乘法:
[0023][数学式1][0024]E:={(x,y)∈K
×
K;y2+a1xy+a3y=x3+a2x2+a4x+a6}
[0025]其中K是有限域,例如KK=Z/pZ,p是质数或质数的幂,并且系数a1,a2,a3,a4属于域K。在另一示例中,点P属于超椭圆曲线,或属于另一类型的曲线,或属于具有群组结构的任何数学集,对于该群组结构,加法和减法在计算复杂度方面是可有效计算的。这种数学集的一个例子是例如Edwards曲线。
[0026]这种与标量相乘的操作例如在数据加密期间使用,标量k是密钥,并且例如通过执
行“翻倍与添加(double and add)”类型的算法来执行。这种类型的算法是迭代类型的,并且使用从最高有效位到最低有效位(或相反)的标量k的位,并且根据读取位的值对初始零电流值Q执行运算。无论所读取的位的值如何,都执行所谓的翻倍操作(DBL),并且仅在所读取的位为非空的情况下,跟随所谓的加法操作(ADD)。
[0027]在曲线(E)是Koblitz曲线的情况下,具有以下形式:
[0028][数学式2][0029]E:={(x,y)∈K
×
K:y2+xy=x3+ax2+1}
[0030]其中a∈{0,1},翻倍操作(DBL)通常被Frobenius操作代替。Frobenius操作具有优于常规翻倍操作的优点,因为它执行起来更快并且更便宜。
[0031]在执行翻倍与添加型算法期间,器件100的电功率消耗的分布根据所执行的操作是翻倍操作还是添加操作而不同。然后,通过简单功率分析的攻击可以使攻击者能够逐位地推导出与乘法相关联的标量k的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:使用密码电路装置将属于具有群组结构的数学集合的点与标量进行乘法运算;以及在所述乘法运算期间使用所述密码电路装置保护所述标量,所述乘法运算和所述保护包括:将所述标量划分成由相同数目w个数字形成的多个群组,w大于或等于2;以及针对每个数字群组,对所述点执行操作序列,所述操作序列针对每个数字群组具有相同的序列,针对每个数字群组执行的操作中的至少一个操作是虚设操作。2.根据权利要求1所述的方法,其中操作的所述相同的序列包括:a)执行w次第一操作;b)执行第二操作;以及c)执行(w-1)次所述第一操作。3.根据权利要求2所述的方法,其中所述第一操作是翻倍操作,并且所述第二操作是加法操作。4.根据权利要求1所述的方法,包括:响应于每个非虚设操作来修改所述乘法运算的中间结果的当前值;以及响应于虚设操作,不修改所述当前值。5.根据权利要求1所述的方法,包括:响应于每个非虚设操作来修改所述乘法运算的中间结果的当前值;以及响应于虚设操作,将所述当前值修改为不同的数学上等效的值。6.根据权利要求1所述的方法,包括:在划分成多个数字群组之前,以参数w的非相邻窗口形式重新编码所述标量。7.根据权利要求1所述的方法,其中所述数学集合是椭圆曲线或超椭圆曲线。8.根据权利要求7所述的方法,其中所述曲线是由具有以下形式的点的集合定义的Koblitz曲线:{(x,y)∈K
×
K:y2+xy=x3+ax2+1}其中a等于0或1,K是有限二进制域,并且x和y定义所述Koblitz曲线上的点的坐标。9.根据权利要求8所述的方法,其中所述操作序列包括Frobenius自同态。10.根据权利要求1所述的方法,包括:在对点执行所述操作序列之前,计算和存储所述点的多个倍数。11.根据权利要求1所述的方法,包括:基于针对多个数字的所述操作序列的所述执行,产生所述点与所述标量的所述乘法运算的结果。12.一种器件,包括:存储器;以及密码电路装置,耦合到所述存储器,其中所述密码电路装置在操作中将点与标量进行乘法运算,并且在所述乘法运算期间保护所述标量,所述点属于具有群组结构的数学集合,所述乘法运算和所述保护包括:将所述标量划分成由相同数目w个数字形成的多个群组,w大于或等于2;以及针对每个数字群组,对所述点执行操作序列,所述操作序列针对每个数字群组具有相
同的序列,针对每个数字群组执行的操作中的至少一个操作是虚设操作。13.根据权利要求12所述的器件,其中操作的所述相同的序列包括:执行w次第一操作;执行第二操作;以及执行w-1次所述第一操作。14.根据权利要求13所述的器件,...

【专利技术属性】
技术研发人员:G
申请(专利权)人:意法半导体鲁塞公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1