一种安全处理的方法和装置的制作方法

文档序号:7927113阅读:94来源:国知局
专利名称:一种安全处理的方法和装置的制作方法
技术领域
本发明涉及网络安全技术,特别涉及一种密码验证的方法和装置。

背景技术
随着网络技术的不断发展,如何提高网络安全性成为越来越关注的问题,各种密钥算法应运而生。密钥算法主要分为对称算法(symmetricalgorithm)和公开密钥算法(public-key algorithm),在公开密钥算法中,目前应用比较广泛的是安全性较高的基于椭圆曲线参数的算法,即诸如加密解密、数字签名的验证等安全处理方式都基于椭圆曲线进行,该算法中椭圆曲线参数的选取对于保证密码验证处理的安全高效非常重要。
在基于椭圆曲线参数的算法中采用的有限域上的椭圆曲线形式为y2=x3+ax+b mod p,其中,参数的选取主要是针对参数p、a和b的选取。现有技术的参数选取方法主要为随机选取满足加密位数要求的素数作为参数p的值,在选取参数p的基础上以及在固定的参数a值为-3的前提下,随机选取使椭圆曲线满足安全性要求的参数b的值。由于在该算法中参数p的值是随机选取的,因此,在后续处理中对参数p进行取模运算时只能够使用除法运算,显然非常占用安全处理系统的资源,且无论在软件还是硬件的实现上效率都比较低。


发明内容
有鉴于此,本发明实施例提供了一种安全处理的方法和装置,以便于使得基于椭圆曲线参数的安全处理过程更加高效。
一种安全处理的方法,该方法包括 A、在椭圆曲线的有限域内确定满足多项式的素数作为参数p的值,其中,h为安全处理系统的处理位数,hm满足安全处理的加密位数要求,m>n,且m、n和k都为整数,ak∈{-1,0,1}; B、利用确定的参数p的值确定椭圆曲线y2=x3+ax+b mod p中的参数a和参数b的值; C、利用确定出的椭圆曲线参数a、参数b和参数p的值进行数据安全处理。
一种安全处理的装置,该装置包括 第一参数确定单元,用于在椭圆曲线的有限域内确定满足多项式的素数作为参数p的值,其中,h为安全处理系统的处理位数,hm满足安全处理的加密位数要求,m>n,且m、n和k都为整数,ak∈{-1,0,1}; 第二参数确定单元,用于利用所述第一参数确定单元确定的参数p的值确定椭圆曲线y2=x3+ax+b mod p中的参数a和参数b的值; 安全处理单元,用于利用所述第一参数确定单元和第二参数确定单元确定出的椭圆曲线参数a、参数b和参数p的值进行数据安全处理。
由以上技术方案可以看出,在本发明提供的方法和装置中,在椭圆曲线的有限域内确定满足多项式的素数作为参数p的值,其中,h为安全处理系统的处理位数,hm满足安全处理的加密位数要求,m>n,且m、n和k都为整数,ak∈{-1,0,1};利用确定的参数p的值确定椭圆曲线y2=x3+ax+b mod p中的参数a和参数b的值;利用确定出的椭圆曲线参数进行数据安全处理。采用本发明提供的方法和装置能够获取到满足加密位数要求和安全性要求的椭圆曲线参数,并且椭圆曲线参数p的选取方式能够使得对参数p的取模运算仅仅通过移位和加减法运算便可以完成,从而提高了效率,减少了占用的系统资源,使得基于椭圆曲线参数的安全处理过程更加高效。



图1为本发明实施例提供的方法流程图; 图2为本发明实施例提供的装置结构图; 图3为本发明实施例提供的一个应用系统图 图4为本发明实施例提供的另一个应用系统图。

具体实施例方式 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的方法主要包括在椭圆曲线的有限域内确定满足的素数作为参数p的值;其中,h为安全处理系统的处理位数,hm满足安全系统加密位数要求,m>n,且m和n都为整数,ak∈{-1,0,1};利用确定的参数p确定其它的椭圆曲线参数,并利用确定的椭圆曲线参数进行数据安全处理。
下面结合具体实施例对上述方法进行详细描述,图1为本发明实施例提供的方法流程图,如图1所示,该方法可以包括以下步骤 步骤101根据加密位数要求和系统处理能力,确定满足的素数作为参数p的值,其中,m>n,且m和n都为整数,ak∈{-1,0,1}。
该实施例中,系统的处理能力是以32位为例进行的描述,上述等式中的各项都是232的整数幂,这有利于在椭圆曲线上运算的软件和硬件实现,由于系统的处理能力都是32位,即软件和硬件的处理能力都是32位,因此,在这种情况下,后续对于参数p的取模运算只需要加减法和移位运算就能完成,加速了处理速度,也节省了占用的资源。在此进行以下简单分析 以p=2256-2224-296+264-1为例,对该p进行的取模运算。
定义运算准则(xk,xk-1,...,xk-n)=xk(232)n+xk-1(232)n-1+...+xk-n,以x为一个512位的数为例,按照上述定义的准则,该512位的x可以表示为x=(x15,x14,...,x1,x0)=x15*(232)15+x14*(232)14+...+x1*232+x0,其中xk的字长为32位。
则x mod p运算存在着以下的快速算法 由于p=2256-2224-296+264-1时存在2256=(2224+296—264+1)mod p,因此 x mod p=[(x7,x6,x5,x4,x3,x2,x1,x0)+2256×(x15,x14,x13,x12,x11,x10,x9,x8)]mod p=[(x7,x6,x5,x4,x3,x2,x1,x0)+(2224+296-264+1)(x15,x14,x13,x12,x11,x10,x9,x8)]mod p={(x7,x6,x5,x4,x3,x2,x1,x0)+(x15,x14,x13,x12,x11,x10,x9,x8)-(x13,x12,x11,x10,x9,x8,0,0)+(x12,x11,x10,x9,x8,0,0,0)+(x8,0,0,0,0,0,0,0)+2256×[(0,x15,x14,x13,x12,x11,x10,x9)+(0,0,0,0,0,x15,x14,x13)-(0,0,0,0,0,0,x15,x14)]}mod p 进一步地,2256可以用2256=(2224+296—264+1)mod p继续代换,后续运算不再继续赘述,由此已经可见采用本发明提供的方式确定参数p时,取模运算仅仅通过移位和加减法运算便可以完成。
在参数p的确定过程中,m值的具体选取和加密位数要求相关,如果加密位数要求为Q位,则需要保证32m=Q,并且,由于上述等式中的第二项即232(m-n)的系数为-1,这就能保证参数p的长度为32m,从而保证加密位数要求。
更优地,在确定参数p时,除了满足上述等式的条件之外,还可以进一步使之满足该参数p的汉明表示中汉明重量最小,即将满足上述等式的各参数p中其汉明表示的汉明重量最小的作为确定的参数p的值。其中,参数p的汉明表示为,例如,如果p的值取2256-2224+2192+296-1,则其汉明表示为(1,1,1,0,0,1,0,0,1),其中每一个值对应多项式中的该项是否为非零项,1代表为非零项,0代表为零项。该汉明表示的汉明重量为5,即该表示p的多项式中非零项的个数。取汉明重量最小的值作为参数p的值,可以尽可能的减少后续进行取模运算时的移位次数。
步骤102取参数a的值为-3,并随机选取一个整数作为参数b的值。
根据以往的经验,取参数a的值为-3可以使得椭圆曲线上的倍点运算存在快速算法,参数a的该种选择已经是现有技术,在此,不再对参数a的选择进行详细论述。
步骤103利用选取的参数a、参数b和确定的参数p对得到的椭圆曲线进行安全性检测,并判断是否通过安全性检测,如果是,则执行步骤105,否则,执行步骤104。
在上述步骤中确定了参数p,并选取了参数a和参数b,此时,这些参数便对应了一条椭圆曲线,将该椭圆曲线进行安全性检测以确定该椭圆曲线是否符合安全性要求。对椭圆曲线的安全性检测就是检测椭圆曲线是否满足以下条件 1)该椭圆曲线不是奇异椭圆曲线; 2)该椭圆曲线不是反常曲线; 3)该椭圆曲线不是畸形曲线,也就是说,该椭圆曲线在有限域上的点个数(表示为#E)与参数p的值不相等,否则将不能抵抗Smart攻击。
4)该椭圆曲线不是超奇异椭圆曲线; 5)#E不能整除pq-1,其中,1≤q≤20,且q为整数; 6)#E的素因子要大于2160,并且大于

从而保证能够抵抗Pollardρ方法的攻击。
满足以上条件的椭圆曲线可以认为是符合安全性要求的椭圆曲线,椭圆曲线的安全性检测已经是现有技术中比较成熟的技术,因此,在此也不再赘述。
步骤104将选取的参数b的值加1后作为新的参数b的值,转至执行步骤103。
如果在步骤103中,椭圆曲线没有通过安全性检测,则可以在选取的参数b周围选取一个新的值作为参数b的值,将对应的新的椭圆曲线进行安全性检测。除了将选取的参数b的值加1外,也可以将选取的参数b的值减1作为新的参数b的值。除此之外,本步骤中,也可以重新随机选取一个值作为参数b的值。但相比较随机选取,将参数b的值加1或减1后的值作为新的参数b的值的选取方式更加高效。
步骤105存储选取的参数a、参数b和参数p的值,以用于后续的加解密处理、数字签名验证处理或认证处理等安全处理的应用。
在步骤105之后,系统已经选取出一组满足安全性要求的椭圆曲线参数,系统可以结束流程;由于步骤101中确定的参数p可能是多个,也可以继续在其它参数p的基础上进行参数a和参数b的选取;另外,在一个参数p的基础上,对应的满足要求的参数a和参数b也可能存在多个,因此,也可以继续转至步骤102或者步骤104进行进一步的参数选取。
下面以256位的加密位数要求且系统处理能力是32位为例,对上述过程举例进行说明。
由于加密位数要求位256位,且系统处理能力是32位,因此,可以确定m值为步骤101中所述的等式中n值可以是任意的小于m的整数值,在此,选取n为1。此时,可以按照其中ak∈{-1,0,1}进行选取,且从中选取汉明表示的汉明重量最小的素数值作为参数p的值。按照这个方法,最终满足要求的参数p的值存在两个p=2256-2224+2192+296-1和p=2256-2224-296+264-1。
在选取的参数p的基础上进一步选取参数a的值为-3,并随机选取一个整数作为参数b的值,然后对得到的椭圆曲线进行安全性检测,即按照图1所示流程中步骤102至步骤105所述的操作进行,最终可以得到多组参数值,在此列举几组。需要说明的是,下述参数中的#E、Gx和Gy都是在确定的参数p、参数a和参数b的基础上得来的,其中,Gx和Gy分别是对应的椭圆曲线上的基点的横、纵坐标值,#E、Gx和Gy的计算方法为现有技术,在此不再赘述。
当p=2256-2224-296+264-1时,我们选取的椭圆曲线参数可以是以下几组 p=115792089210356248756420345214020892766250353991924191454421193933289684991999 a=-3 b=62148697711494225890670819214606983410203336937531108316279262101408615441021 #E=115792089210356248756420345214020892766586961072552897551656756075618900407137 Gx=90150180924342647790750288240744553775029541059704552657351444941562691379423 Gy=85704740710572492387764853628292639699112535949245443428371871029450182923972 p=115792089210356248756420345214020892766250353991924191454421193933289684991999 a=-3 b=93469559495587287444789581298551360895116744317324091400888664318241005538868 #E=115792089210356248756420345214020892765686754506447415350799819999715725159131 Gx=85757383017772612969782507429874252553704333635160328385886132040311954803134 Gy=92170989630638550563097604593449294025489832167290985164508454670388820761112 p=115792089210356248756420345214020892766250353991924191454421193933289684991999 a=-3 b=8998332042364153575337358373807830526760167031476510446040482527160265997156 #E=115792089210356248756420345214020892766614775051908157136101097434689505646099 Gx=61112240065385634179670615558906495955523319133743960811377170190862583609922 Gy=105995965558166045091836999291500142884959377069604204901600760453755993756384 p=115792089210356248756420345214020892766250353991924191454421193933289684991999 a=-3 b=40319193826457215129456120457752208011673574411269493530649884743992656094542 #E=115792089210356248756420345214020892766212830436916773612131468495287048051349 Gx=4726662658208973393268585229408980871732397873560684451748261553567658246742 Gy=111448915448966333129032900838505556194682206910935932078041957844355893985580 p=115792089210356248756420345214020892766250353991924191454421193933289684991999 a=-3 b=71640055610550276683574882541696585496586981791062476615259286960825046193023 #E=115792089210356248756420345214020892766503333385906536064152590988844290767511 Gx=79100669128038990215717705122435275106896485099559482383723013293363308332303 Gy=1348259460503904960285509601872161344965366082738629399360734635398402020140 p=115792089210356248756420345214020892766250353991924191454421193933289684991999 a=-3 b=102960917394643338237693644625640962981500389170855459699868689177657436290198 #E=115792089210356248756420345214020892766084401374970251279270662117337817911483 Gx=81695500457571986963013265788160149703094545340747851055773285725159788098365 Gy=71955392163809874706547068756317182236715487114502243908418291379435304405380 p=115792089210356248756420345214020892766250353991924191454421193933289684991999 a=-3 b=18489689941420204368241421700897432613143811885007878745020507386576696749736 #E=115792089210356248756420345214020892766222933306354881707312363823511507927469 Gx=67134630147762612959728495718457344312267068242611025377021915149081883772756 Gy=91132882667282454912682238421530748743164368535842684897777563504136038289748 p=115792089210356248756420345214020892766250353991924191454421193933289684991999 a=-3 b=49810551725513265922360183784841810098057219264800861829629909603409086846204 #E=115792089210356248756420345214020892765669903697194503425100413006455082155737 Gx=101661859670472652361535601547246421746902387671658406194347123916048941686180 Gy=46394182724907460408641588822826241743845515005453559282609500645542343140236 当p=2256-2224+2192+296-1时,我们选取的椭圆曲线参数可以是 p=115792089210356248762697446949407573530086143415290314195533631308867097853951 a=-3 b=62148697711494225890670819214606983410203336937531108316279262101408615441488 #E=115792089210356248762697446949407573530297753646123853618424884315889978215497 Gx=29228980221929098506224220471102024821619128167421919689628877610908402650679 Gy=110802172795301017213387446639134051301675617763924293646591211193869147579430 p=115792089210356248762697446949407573530086143415290314195533631308867097853951 a=-3 b=93469559495587287444789581298551360895116744317324091400888664318241005539228 #E=115792089210356248762697446949407573530411263594470720541127676614245247239099 Gx=96016753007042803511730586949686347251628744401858686115411038818431013835510 Gy=11206776493290233388367329037620233992254568702133952468632229215588603225632 p=115792089210356248762697446949407573530086143415290314195533631308867097853951 a=-3 b=8998332042364153575337358373807830526760167031476510446040482527160265996713 #E=115792089210356248762697446949407573530304343635415117555606614100682374823421 Gx=2093479961856164743429327729884521699518124804063126081942904095497486781689 Gy=879898496106619088070359240927321106027245653682687782799290368735624133548 p=115792089210356248762697446949407573530086143415290314195533631308867097853951 a=-3 b=40319193826457215129456120457752208011673574411269493530649884743992656094647 #E=115792089210356248762697446949407573529852763915810427836528657985747475327707 Gx=20170526057273077806392706069727317140544267161463891660993636405865492397414 Gy=58376576542545060471950803148659109007415952864596546998720219468516365937330 p=115792089210356248762697446949407573530086143415290314195533631308867097853951 a=-3 b=71640055610550276683574882541696585496586981791062476615259286960825046192900 #E=115792089210356248762697446949407573530278244066630268044836950598887242797029 Gx=104464939538175521160742528702222727983856254572911970028463297942562989413865 Gy=41571967263163112873390245640895162451034274154715647533154405775494050000162 p=115792089210356248762697446949407573530086143415290314195533631308867097853951 a=-3 b=102960917394643338237693644625640962981500389170855459699868689177657436291010 #E=115792089210356248762697446949407573530235262124232599715685225316166656224233 Gx=60324055842611589035324258032719970255959019661932612194050338358652486818255 Gy=59789957327665548569469896777434623465035462094078504862924896631339070976960 可以看出,采用本发明提供的方法能够获取到满足加密位数要求和安全性要求的椭圆曲线参数,并且经过试验证实采用本发明所提供的方法得到椭圆曲线参数的效率更高,占用系统资源更少。
以上是对本发明所提供的方法进行的描述,下面对本发明提供的安全处理的装置进行详细描述。图2为本发明实施例提供的装置结构图,如图2所示,该装置可以包括第一参数确定单元200、第二参数确定单元210和安全处理单元220。
第一参数确定单元200,用于在椭圆曲线的有限域内确定满足多项式的素数作为参数p的值,其中,h为安全处理系统的处理位数,hm满足安全处理的加密位数要求,m>n,且m、n和k都为整数,ak∈{-1,0,1} 第二参数确定单元210,用于利用第一参数确定单元200确定的参数p确定椭圆曲线y2=x3+ax+b mod p中的参数a和参数b的值。
安全处理单元220,用于利用第一参数确定单元200和第二参数确定单元210确定出的椭圆曲线参数a、参数b和参数p的值进行数据安全处理。
其中,第一参数确定单元200具体可以包括第一参数确定子单元201和第二参数确定子单元202。
第一参数确定子单元201,用于确定满足多项式的素数。
第二参数确定子单元202,用于在第一参数确定子单元201确定的素数中选择使得多项式中非零项最少的素数作为确定的参数p的值。
该装置中的第二参数确定单元210可以具体包括第三参数确定子单元211和安全检测子单元212。
第三参数确定子单元211,用于确定参数a的值为-3,并随机选取一个整数作为参数b的值;接收到重选通知后,选取另一个整数作为参数b的值。
安全检测子单元212,用于利用第一参数确定单元200和第三参数确定子单元211确定的参数a、参数b和参数p的值对对应的椭圆曲线进行安全性检测,并判断是否通过安全性检测,如果是,则将确定的参数a、参数b和参数p的值发送给参数存储单元230,否则,向第三参数选取子单元211发送重选通知。
上述第三参数确定子单元211在选取另外一个整数作为参数b时,可以随机选取另外一个整数作为参数b,或者,对参数b的值进行加1或者减1处理后作为当前参数b的值。
另外,安全检测子单元212在将确定的参数a、参数b和参数p的值发送给参数存储单元230时,还可以进一步向第三参数选取子单元211发送重选通知,继续进行其它组参数的选取。
该装置还可以包括参数存储单元230,用于存储安全检测子单元发送来的参数a、参数b和参数p的值。
安全处理单元220,用于从参数存储子单元213中获取参数a、参数b和参数p以执行数据安全处理的操作。
另外,安全处理单元220可以具体包括加密子单元、解密子单元、数字签名验证子单元和数据认证子单元中的一种或任意组合。
图3和图4是本发明实施例提供的两个应用系统图,如图3所示,利用本发明的方法和装置确定出的椭圆曲线参数可以存储在图中的装置1和装置2的椭圆曲线参数寄存器中,该椭圆曲线参数寄存器相当于图2所示装置中的参数存储单元230,装置1和装置2之间在进行数据传输时,可以从椭圆曲线参数寄存器中获取相同的一组椭圆曲线参数用于进行数据的加解密处理,假设从装置1传输数据到装置2,则装置1的控制器从椭圆曲线参数寄存器中获取一组椭圆曲线参数,并控制加密模块基于该组椭圆曲线参数进行数据的加密处理,将加密后的数据传输给装置2;装置2中控制器从椭圆曲线参数寄存器中获取同一组的椭圆曲线参数,并控制解密模块基于该组椭圆曲线参数对接收到的数据进行解密。反之亦然,从装置2到装置1的数据传输不再赘述。椭圆曲线参数寄存器中可以存储多组可用的椭圆曲线参数,在使用时,只要保证两端的装置基于相同的椭圆曲线参数即可,当然,也可以在两端的椭圆曲线参数寄存器中只存储同一组椭圆曲线参数,两端的装置仅基于该组椭圆曲线参数进行加解密处理。
图4是进行数字签名验证的系统图,如图4所示,本发明的方法和装置确定出的椭圆曲线参数可以存储在图中的装置1和装置2的椭圆曲线参数寄存器中,该椭圆曲线参数寄存器相当于图2所示装置中的参数存储单元230。假设装置1为签名方,装置2为验证方,装置1中的控制器从椭圆曲线参数寄存器中获取一组椭圆曲线参数,并控制签名模块基于该组椭圆曲线参数形成数字签名后发送给装置2;装置2中的控制器从椭圆曲线参数寄存器中获取同一组椭圆曲线参数,并控制验证模块基于该组椭圆曲线参数对接收到的数字签名进行验证。同样,椭圆曲线参数寄存器中可以存储多组可用的椭圆曲线参数,在使用时,只要保证两端的装置基于相同的椭圆曲线参数即可,当然,也可以在两端的椭圆曲线参数寄存器中只存储同一组椭圆曲线参数,两端的装置仅基于该组椭圆曲线参数形成签名和验证签名。
由以上描述可以看出,在本发明提供的方法和装置中,在椭圆曲线的有限域内确定满足多项式的素数作为参数p的值,其中,h为安全处理系统的处理位数,hm满足安全处理的加密位数要求,m>n,且m、n和k都为整数,ak∈{-1,0,1};利用确定的参数p确定椭圆曲线y2=x3+ax+b mod p中的参数a和参数b的值;利用确定出的椭圆曲线参数进行数据安全处理。采用本发明提供的方法和装置能够获取到满足加密位数要求和安全性要求的椭圆曲线参数,并且椭圆曲线参数p的选取方式能够使得对参数p的取模运算仅仅通过移位和加减法运算便可以完成,从而提高了效率,减少了占用的系统资源,使得基于椭圆曲线参数的安全处理过程更加高效。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1、一种安全处理的方法,其特征在于,该方法包括:
A、在椭圆曲线的有限域内确定满足多项式的素数作为参数p的值,其中,h为安全处理系统的处理位数,hm满足安全处理的加密位数要求,m>n,且m、n和k都为整数,ak∈{-1,0,1};
B、利用确定的参数p的值确定椭圆曲线y2=x3+ax+b mod p中的参数a和参数b的值;
C、利用确定出的椭圆曲线参数a、参数b和参数p的值进行数据安全处理。
2、根据权利要求1所述的方法,其特征在于,步骤A中所述确定满足多项式的素数作为参数p的值包括:在确定满足多项式的素数中,选择使得所述多项式中非零项最少的素数作为确定的参数p的值。
3、根据权利要求1或2所述的方法,其特征在于,步骤B中所述利用确定的参数p的值确定椭圆曲线y2=x3+ax+b mod p中的参数a和参数b的值具体包括:
B1、确定参数a的值为-3,并随机选取一个整数作为参数b的值;
B2、利用确定的参数a、参数b和参数p的值对对应的椭圆曲线进行安全性检测,并判断是否通过安全性检测,如果是,则执行步骤B4,否则,执行步骤B3;
B3、选取另外一个整数作为参数b的值,转至执行步骤B2;
B4、存储确定的参数a、参数b和参数p的值作为所述步骤C所利用的椭圆曲线参数的值。
4、根据权利要求3所述的方法,其特征在于,步骤B3中所述选取另外一个整数作为参数b具体包括:随机选取另外一个整数作为参数b的值;或者,对参数b的值进行加1或者减1处理后作为当前参数b的值。
5、根据权利要求3所述的方法,其特征在于,在所述步骤B4之后还可以进一步转至执行步骤B3。
6、根据权利要求1所述的方法,其特征在于,所述数据安全处理具体包括:数据加解密处理、数字签名验证处理或数据认证处理。
7、一种安全处理的装置,其特征在于,该装置包括:
第一参数确定单元,用于在椭圆曲线的有限域内确定满足多项式的素数作为参数p的值,其中,h为安全处理系统的处理位数,hm满足安全处理的加密位数要求,m>n,且m、n和k都为整数,ak∈{-1,0,1};
第二参数确定单元,用于利用所述第一参数确定单元确定的参数p的值确定椭圆曲线y2=x3+ax+b mod p中的参数a和参数b的值;
安全处理单元,用于利用所述第一参数确定单元和第二参数确定单元确定出的椭圆曲线参数a、参数b和参数p的值进行数据安全处理。
8、根据权利要求7所述的装置,其特征在于,所述第一参数确定单元包括:
第一参数确定子单元,用于确定满足所述多项式的素数;
第二参数确定子单元,用于在所述第一参数确定子单元确定的素数中选择使得所述多项式中非零项最少的素数作为确定的参数p的值。
9、根据权利要求7或8所述的装置,其特征在于,所述第二参数确定单元包括:第三参数确定子单元和安全检测子单元;该装置还可以包括:参数存储单元;
所述第三参数确定子单元,用于确定参数a的值为-3,并随机选取一个整数作为参数b的值;接收到重选通知后,选取另一个整数作为参数b的值;
所述安全检测子单元,用于利用所述第一参数确定单元和第三参数确定子单元确定的参数a、参数b和参数p的值对对应的椭圆曲线进行安全性检测,并判断是否通过安全性检测,如果是,则将确定的参数a、参数b和参数p的值发送给参数存储单元,否则,向所述第三参数选取子单元发送重选通知;
所述参数存储单元,用于存储所述安全检测子单元发送来的参数a、参数b和参数p的值;
所述安全处理单元,用于从所述参数存储单元中获取参数a、参数b和参数p的值以执行所述数据安全处理的操作。
10、根据权利要求7所述的装置,其特征在于,所述安全处理单元包括:加密子单元、解密子单元、数字签名验证子单元和数据认证子单元中的一种或任意组合。
全文摘要
本发明提供了一种安全处理的方法和装置,其中,方法包括A.在椭圆曲线的有限域内确定满足多项如右式(Ⅰ)的素数作为参数p,其中,h为安全处理系统的处理位数,hm满足安全处理的加密位数要求,m>n,且m、n和k都为整数,ak∈{-1,0,1};B.利用确定的参数p确定椭圆曲线y2=x3+ax+bmod p中的参数a和参数b;C.利用确定出的椭圆曲线参数进行数据安全处理。采用本发明提供的方法和装置能够获取到满足加密位数要求和安全性要求的椭圆曲线参数,并且提高了效率,减少了占用的系统资源,使得基于椭圆曲线参数的安全处理过程更加高效。
文档编号H04L9/30GK101378321SQ200810223369
公开日2009年3月4日 申请日期2008年9月26日 优先权日2008年9月26日
发明者王兴军, 晨 陈, 雷大明, 闫峰冰, 胡坚珉, 梅红兵 申请人:北京数字太和科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1