CN106817214B - 标量的规则naf序列的生成方法 - Google Patents

标量的规则naf序列的生成方法 Download PDF

Info

Publication number
CN106817214B
CN106817214B CN201510854907.9A CN201510854907A CN106817214B CN 106817214 B CN106817214 B CN 106817214B CN 201510854907 A CN201510854907 A CN 201510854907A CN 106817214 B CN106817214 B CN 106817214B
Authority
CN
China
Prior art keywords
naf
sequence
scalar
rule
regular
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510854907.9A
Other languages
English (en)
Other versions
CN106817214A (zh
Inventor
徐云秀
顾海华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huahong Integrated Circuit Co Ltd
Original Assignee
Shanghai Huahong Integrated Circuit Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Huahong Integrated Circuit Co Ltd filed Critical Shanghai Huahong Integrated Circuit Co Ltd
Priority to CN201510854907.9A priority Critical patent/CN106817214B/zh
Publication of CN106817214A publication Critical patent/CN106817214A/zh
Application granted granted Critical
Publication of CN106817214B publication Critical patent/CN106817214B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种标量的规则NAF序列的生成方法,包括以下步骤:根据需求选择规则NAF序列的窗口大小w,列出相应窗口大小下规则NAF序列的格式;列出非0项的所有可能,根据大小顺序重新编码到连续的正整数集合上来;根据标量k的最低位记录其奇偶性并调整最低位得到奇数的k’,若k[0]=1,则k’=k,否则,k’=k+1;从低到高将k’分成每w位一组,找出位数最高的非0组,并在其最高位的前面加一个1,将新的k’从高到低移一位,去掉最低位,这样就得到了经过重新编码并省略原规则NAF序列中的0之后的窗口为w的规则NAF序列。本发明既能够节省计算时间又能够节约存储空间。

Description

标量的规则NAF序列的生成方法
技术领域
本发明涉及信息安全领域,特别是涉及一种标量的规则NAF(非相邻表示型)序列的生成方法。
背景技术
椭圆曲线密码系统(ECC)具有安全性高、计算量小、处理速度快、存储空间小、带宽要求低等特点。与RSA公钥体制相比,ECC非常适合于资源有限的嵌入式移动环境,如智能卡(smartcard)上的密码芯片。传统上,对密码芯片的攻击主要是对实现的算法从数学角度进行分析,如差分分析和线性分析。但自从旁路攻击(Side Channel Attacks)被提出以后,人们越来越多的开始关注芯片的实现,以及针对芯片所面临的攻击所采取的抗攻击措施。旁路攻击是一种利用密码芯片在运算过程中无意泄露出的信息,比如指令执行时间、功耗、电磁辐射等信息,对芯片进行攻击的一种方法。与传统的攻击方法相比,其密钥的搜索空间大大小于差分密钥分析和线性密钥分析。按攻击特点的不同,旁路攻击可以分为时间攻击、功耗分析攻击和电磁辐射攻击等几种类型。功耗分析技术分为简单功耗分析(SPA)和差分功耗分析(DPA),SPA是指根据功耗曲线上所呈现的特殊特征来推测密钥信息,DPA利用的是操作数的变化所引起的微小的功耗变化,需要通过对大量功耗曲线进行统计分析最终得出密钥信息。
标量乘是ECC最重要最耗时的运算,对ECC的功耗攻击也主要集中在对标量乘运算的攻击,快速而安全的实现标量乘对于ECC来讲至关重要。设E(Fq)是定义在有限域Fq上的椭圆曲线,P(x,y)是E(Fq)上的点。若Fq是二元域,则-P=(x,x+y);若Fq的特征大于3,则-P=(x,-y)。因此椭圆曲线点的减法和点的加法一样有效。这使得人们可以使用标量k的带符号数学表示,一种特别有用的带符号数学表示是非相邻表示型(NAF),对于一个标量k有唯一的NAF表示。Width-w NAF算法是带有预计算表的NAF算法的一种扩展形式,它具有连续的w位数中非零的个数最多为1的特点,因此常用于标量乘的快速实现。每一个标量k都有唯一的Width-w NAF表示,而非0位的位置也与标量k本身的数值有直接的关系,这不利于抗简单功耗分析(SPA)攻击。
一种有效抵御SPA攻击的方法是为标量k产生规则的Width-w NAF表示,在这种规则Width-w NAF序列中每w位数中一定会也只会在特定的位置产生非0位,因而非0位的位置与标量k本身的数值没有直接的关系,在标量乘的功耗曲线上也就没有明显的特征可供SPA所利用。其算法如下:
输入:正整数k,窗口宽度w
输出:k的规则序列窗口NAF表示kw
1.r=0,i=0,r0=w
2.若k为偶数,则k=k+1
3.当k大于1时,重复执行
3.1u[i]=(kmod 2w+1)-2w
3.3kw[r+ri-1]=0,...,kw[r+1]=0,kw[r]=u[i]
3.4r=r+ri,i=i+1,ri=w
4.kw[n]=0,...,kw[r+1]=0,kw[r]=1
5.返回kw[n],kw[n-1],...,kw[0]
由于该方法只能处理奇数的标量,对于偶数标量可以做加1处理,最后在标量乘结束后再进行调整就可以了:(k+1)P-P。这个方法首先是要根据所选择的窗口大小w为标量k计算规则的NAF序列并存储,根据窗口大小计算需要预计算的点并存储,然后再进行标量乘计算,最后根据标量k的奇偶性决定是否需要对结果进行调整。相同二进制长度的标量k的规则NAF序列可能因k实际数值的不同而长度不同。
发明内容
针对上述技术中的现状,本发明所要解决的技术问题是提供一种标量的规则NAF序列的生成方法,既能够节约计算时间又能够节约存储空间。
为解决上述技术问题,本发明的标量的规则NAF序列的生成方法,包括如下步骤:
步骤1、根据需求选择规则NAF序列的窗口大小w,w为大于1的正整数,列出相应窗口大小下规则NAF序列的格式;
步骤2、列出非0项X的所有可能,根据大小顺序重新编码到连续的正整数X’集合上来,消除负数的表示,并记住实际非0项X与正整数X’之间的对应关系;
步骤3、根据标量k的最低位记录其奇偶性并调整最低位得到奇数的k’,若k[0]=1,则k’=k,否则,k’=k+1;
步骤4、从低到高将k’分成每w位一组,找到位数最高的非0组,并在其最高位的前面加一个1,将新的k’从高到低移一位,去掉最低位,得到经过重新编码并省略原规则NAF序列中的0之后的窗口为w的规则NAF序列;
步骤5、在标量乘k’P计算过程中从新的规则NAF序列中从高到低取出的每个X’,对应w个倍点运算D和一个点加运算A,而点加的点由X’对应的X确定。
采用本发明的方法产生的标量k的规则NAF序列,简化了标量k的规则NAF序列产生流程:不需要特殊的计算,省略规则NAF序列的计算过程;不需要额外的存储空间,省略额外存储规则NAF序列的存储空间,首尾的处理和整个序列的移位也可以在使用过程中解决掉,这样既能够节约时间又能够节约存储空间。在同一窗口宽度w下为相同二进制长度的标量k产生相同长度的规则NAF序列,以统一标量乘计算时间和完全消除SPA信息的泄露。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
附图是规则序列的变化示意图。
具体实施方式
标量乘是ECC最重要最耗时的运算,对ECC的攻击也主要集中在对标量乘运算的攻击,快速而安全的实现标量乘一直是业界努力的方向。所述标量的规则NAF序列的生成方法是涉及椭圆曲线密码中标量乘的安全而快 速的具体实现方法。
为了提高标量乘的执行速度和抗SPA攻击,目前主要采用对标量进行带符号的规则化变换后再进行标量乘运算,这样在功耗曲线上看到的是点加和倍点运算规律的出现,不会有SPA信息的泄露,通过窗口大小的选择也可以减少点加运算的次数,有效提高执行速度。
标量的规则化变换通常需要规则NAF序列的计算过程,规则化后的变量是带符号的整数,且可能比标量的二进制表示的位数要多,因此需要额外的存储空间来存放标量的规则NAF序列。
所述标量的规则NAF序列的生成方法通过省略原规则NAF序列中的0和对非0项进行重新编码来实现,整个过程不需要计算,也不会增加位数,这样的产生方法可以省去规则NAF序列产生过程中的计算时间,也不需要额外的存储空间来存放规则NAF序列。
下面以窗口w=4为例(结合附图所示),详细说明标量的规则NAF序列的生成方法的实现过程。
步骤一、选择窗口w=4的规则NAF序列,默认数值按左高右低排列,其格式为:000X000X000X…000X。
步骤二、窗口w=4的规则NAF序列中非0的X∈{-15,-13,-11,-9,-7,-5,-3,-1,1,3,5,7,9,11,13,15},一一对应到如下集合X’∈{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}。
步骤三、根据标量k的最低位记录其奇偶性并调整最低位得到奇数的k’,若k[0]=1,则k’=k,否则,k’=k+1。
步骤四、从低到高将k’分成每4位一组,找到位数最高的非0组,并在其最高位的前面加一个1,将新的k’从高到低移一位,去掉最低位,这样就得到了经过重新编码并省略原规则NAF序列中的0之后的窗口为4的规则NAF序列:X’X’X’…X’。
步骤五、在标量乘k’P计算过程中从新的规则NAF序列中从高到低取出的每个X’对应运算DDDDA,其中D代表倍点运算,A代表点加运算,而A点加的点为X’对应的X代表的点,比如X’=1,则对应的X=-13,因此点加的点为-13P,P是椭圆曲线上的点。
附图中上端为原规则序列,下端为重新编码后的规则序列。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。

Claims (2)

1.一种标量的规则NAF序列的生成方法,其特征在于,包括如下步骤:
步骤1、根据需求选择规则NAF序列的窗口大小w,w为大于1的正整数,列出相应窗口大小下规则NAF序列的格式;
步骤2、列出非0项X的所有可能,根据大小顺序重新编码到连续的正整数X’集合上来,消除负数的表示,并记住实际非0项X与正整数X’之间的对应关系;
步骤3、根据标量k的最低位记录其奇偶性并调整最低位得到奇数的k’,若k[0]=1,则k’=k,否则,k’=k+1;
步骤4、从低到高将k’分成每w位一组,找到位数最高的非0组,并在其最高位的前面加一个1,将新的k’从高到低移一位,去掉最低位,这样就得到了经过重新编码并省略原规则NAF序列中的0之后的窗口为w的规则NAF序列;
步骤5、在标量乘k’P的计算过程中,从新的规则NAF序列中从高到低取出的每个X’对应w个倍点运算D和一个点加运算A,而点加的点由X’对应的X确定。
2.如权利要求1所述的方法,其特征在于:原规则NAF序列中的非0项X需要根据大小顺序重新编码到连续的正整数X’集合上来,以保证以最少的位数来存放非0位,其原规则NAF序列中的0默认存在,但不存储。
CN201510854907.9A 2015-11-30 2015-11-30 标量的规则naf序列的生成方法 Active CN106817214B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510854907.9A CN106817214B (zh) 2015-11-30 2015-11-30 标量的规则naf序列的生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510854907.9A CN106817214B (zh) 2015-11-30 2015-11-30 标量的规则naf序列的生成方法

Publications (2)

Publication Number Publication Date
CN106817214A CN106817214A (zh) 2017-06-09
CN106817214B true CN106817214B (zh) 2019-11-12

Family

ID=59155534

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510854907.9A Active CN106817214B (zh) 2015-11-30 2015-11-30 标量的规则naf序列的生成方法

Country Status (1)

Country Link
CN (1) CN106817214B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101197668A (zh) * 2007-12-06 2008-06-11 上海交通大学 基于随机化带符号标量乘法的椭圆曲线抗旁路攻击方法
CN101547089A (zh) * 2008-03-28 2009-09-30 上海爱信诺航芯电子科技有限公司 集成电路中素数域椭圆曲线密码算法的实现方法
CN101753306A (zh) * 2009-12-22 2010-06-23 上海大学 运用Montgomery型椭圆曲线的数字签名认证方法
US7970134B2 (en) * 2006-12-01 2011-06-28 Samsung Electronics Co., Ltd. Method for generating, operating, and using a sparse w-NAF key for encryption
CN102387015A (zh) * 2011-09-14 2012-03-21 中国矿业大学 一种提高椭圆曲线标量乘法计算效率的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090214023A1 (en) * 2008-02-26 2009-08-27 Al-Somani Turki F Method for elliptic curve scalar multiplication

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7970134B2 (en) * 2006-12-01 2011-06-28 Samsung Electronics Co., Ltd. Method for generating, operating, and using a sparse w-NAF key for encryption
CN101197668A (zh) * 2007-12-06 2008-06-11 上海交通大学 基于随机化带符号标量乘法的椭圆曲线抗旁路攻击方法
CN101547089A (zh) * 2008-03-28 2009-09-30 上海爱信诺航芯电子科技有限公司 集成电路中素数域椭圆曲线密码算法的实现方法
CN101753306A (zh) * 2009-12-22 2010-06-23 上海大学 运用Montgomery型椭圆曲线的数字签名认证方法
CN102387015A (zh) * 2011-09-14 2012-03-21 中国矿业大学 一种提高椭圆曲线标量乘法计算效率的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
二元扩域超奇异Koblitz曲线的标量乘计算;徐云秀;《计算机应用于软件》;20131130(第11期);全文 *
基于二进制域上的ECC标量乘法算法;王平平;《六盘水师范学院学报》;20150228(第1期);全文 *
抗侧信道攻击的安全有效椭圆加密算法;姚剑波;《计算机应用研究》;20121231(第12期);全文 *

Also Published As

Publication number Publication date
CN106817214A (zh) 2017-06-09

Similar Documents

Publication Publication Date Title
Adleman et al. On taking roots in finite fields
US8862651B2 (en) Method and apparatus for modulus reduction
KR102132261B1 (ko) 비교 연산이 필요없이 최종 모듈러 감소를 하는 몽고메리 곱셈 방법 및 곱셈기
CN104917608A (zh) 一种密钥抗功耗攻击的方法
Wang et al. Inner product masking for bitslice ciphers and security order amplification for linear leakages
Lee et al. Improved multi-precision squaring for low-end RISC microcontrollers
Roche et al. Side-channel attacks on blinded scalar multiplications revisited
CN107992283A (zh) 一种基于降维实现有限域乘法的方法和装置
Pornin Optimized binary gcd for modular inversion
CN106682258A (zh) 一种高层次综合工具中的多操作数加法优化方法及系统
CN106817214B (zh) 标量的规则naf序列的生成方法
CN117155572A (zh) 一种基于gpu并行实现密码技术中大整数乘法的方法
Seo et al. Consecutive operand-caching method for multiprecision multiplication, revisited
WO2019120066A1 (zh) 一种适合sm2算法的快速模约减方法和介质
KR101309797B1 (ko) 성긴 w-NAF 키 생성방법,이를 이용한 연산 방법 및암호화 방법
CN108228138B (zh) 一种sidh中特殊域快速模乘的方法
CN111460488B (zh) 基于预存储和n维Arnold变换的多图像快速加密方法
Wunan et al. The attack case of ECDSA on blockchain based on improved simple power analysis
Liu et al. Computing Hermite normal form faster via solving system of linear equations
Al Musa et al. Fast scalar multiplication for elliptic curves over binary fields by efficiently computable formulas
US20160034255A1 (en) Arithmetic Devices, Montgomery Parameter Calculation Method and Modular Multiplication Method Thereof
Mahalanobis et al. A Las Vegas algorithm to solve the elliptic curve discrete logarithm problem
Zeng et al. Word oriented cascade jump σ− LFSR
Brumley et al. Batch binary weierstrass
US20110295921A1 (en) Hybrid Greatest Common Divisor Calculator for Polynomials

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant