《一种面向移动微技的数字签名认证方法.pdf》由会员分享,可在线阅读,更多相关《一种面向移动微技的数字签名认证方法.pdf(17页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102883321 A (43)申请公布日 2013.01.16 C N 1 0 2 8 8 3 3 2 1 A *CN102883321A* (21)申请号 201210355297.4 (22)申请日 2012.09.21 H04W 12/06(2009.01) (71)申请人哈尔滨工业大学深圳研究生院 地址 518000 广东省深圳市南山区西丽镇深 圳大学城哈工大校区 (72)发明人王轩 张加佳 赵海楠 蒲成燕 (74)专利代理机构深圳市科吉华烽知识产权事 务所(普通合伙) 44248 代理人张立娟 罗志强 (54) 发明名称 一种面向移动微技的数字签名认证方法。
2、 (57) 摘要 本发明提供了一种面向移动微技的数字签名 认证方法,包括以下步骤:产生证书:开发者向认 证机构中的注册机构RA提交开发者证书申请,由 RA对相关内容进行审核并决定是否审批通过该 证书申请的请求,通过后RA将申请请求及审批通 过的信息提交给认证中心CA,由CA进行证书的签 发;签名:证书申请被批准注册之后,RA端的应用 程序初始化申请者的信息,给开发者颁发证书,发 送私钥,CA在LDAP目录服务器中添加证书申请 人的有关信息,开发者收到私钥之后,在开发平台 上对编译通过的程序进行签名,上传至Web服务 器;验证。本发明将公钥基础设施PKI与椭圆曲 线加密机制相结合,实现了移动wi。
3、dget开发者的 证书申请、证书颁发、证书获取、widget签名以及 widget验证。 (51)Int.Cl. 权利要求书3页 说明书10页 附图3页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 3 页 说明书 10 页 附图 3 页 1/3页 2 1.一种面向移动微技的数字签名认证方法,其特征在于: 产生证书:开发者向认证机构中的注册机构RA提交开发者证书申请,由RA对相关内容 进行审核并决定是否审批通过该证书申请的请求,通过后RA将申请请求及审批通过的信 息提交给认证中心CA,由CA进行证书的签发; 签名:证书申请被批准注册之后,RA端的应用程序初始化申请者的。
4、信息,给开发者颁 发证书,发送私钥,CA在LDAP目录服务器中添加证书申请人的有关信息,开发者收到私钥 之后,在开发平台上对编译通过的程序进行签名,上传至Web服务器; 验证:普通用户从Web服务器上下载应用程序之后,再从LADP下载相应开发者的公钥 证书,对下载后的程序进行验证。 2.根据权利要求1所述的一种面向移动微技的数字签名认证方法,其特征在于:认证 机构的密钥管理系统包括:负责生成密钥的密钥生成子系统,负责存放密钥的密钥库子系 统,为用户提供密钥恢复功能的密钥恢复子系统,负责对整个密钥系统提供配置管理的密 钥管理子系统,包含KMADMIN终端和AUDIT审计终端的终端系统。 3.根据。
5、权利要求1或2所述的一种面向移动微技的数字签名认证方法,其特征在于: 所述开发者利用私钥对代码m进行签名,椭圆曲线数字签名方案签名的生成过程如下: 1)随机或伪随机地选择一个整数k R Zn * ; 2)计算公钥Q和x 1 除以n的余数r Q=kG=(x 1 ,y 1 ) 式中x 1 ,y 1 椭圆曲线上的横坐标和纵坐标; r=x 1 modn 如果r=0,则返回到1); 3)计算k - 1对n的余数s sk -1 modn 4)计算信息摘要 e=SHA-1(m) 5)计算 s=k - 1(e+dr)modn 如果s=0,则返回到1),(r,s)是A对消息m的签名。 4.根据权利要求3所述的一。
6、种面向移动微技的数字签名认证方法,其特征在于: 在客户端对下载程序进行验证: 客户端验证(r,s)是A对消息m的签名的验证方法流程如下: 11)验证r,s是1,n-1中的整数; 12)计算信息摘要e e=SHA-1(m) 13)计算s - 1对n的余数 ws -1 modn 14)分别计算ew和rw对n的余数 u 1 =ewmodn u 2 =rwmodn 权 利 要 求 书CN 102883321 A 2/3页 3 15)计算验证信息 X=u 1 G+u 2 Q=(x 1 ,y 1 )。 5.根据权利要求4所述的一种面向移动微技的数字签名认证方法,其特征在于: 安全椭圆曲线选取包括以下四种方。
7、法: 第一:有限域GF(q)上随机生成一椭圆曲线,直接计算其阶,判断阶是否为大素数或含 大素数因子,若是取出确定,否则继续选取曲线,直至符合条件; 第二:取具有一定特殊性椭圆曲线的系数,计算该椭圆曲线的阶,对该阶进行判断,直 至找到所需要的安全曲线; 第三:如果q=2 m ,其中m能被一个比较小的整数d整除,我们首先在有限域GF(q 1 ) (q 1 =2d)上选择椭圆曲线E并计算其阶,根据此值,利用Weil定理计算该曲线在其扩域 GF(q)上的阶,若此阶符合安全标准,我们再找曲线E在域GF(q)上的嵌入E,则E即为所 需的安全椭圆曲线; 第四:首先给出具有安全条件的曲线阶,然后构造具有此阶的。
8、椭圆曲线。 6.根据权利要求5所述的一种面向移动微技的数字签名认证方法,其特征在于: 椭圆曲线的生成方法如下: A.随机产生一个长度为g的比特串seedE,g160; B.计算H=SHA1(seedE),然后把H的最右边v比特赋给c 0 ; C.把c 0 的最左边位(即第v比特)设置为0,把变化后的c 0 赋给w 0 ;该捕捉确保了r160; 0044 B.计算H=SHA1(seedE),然后把H的最右边v比特赋给c 0 ; 0045 C.把c 0 的最左边位(即第v比特)设置为0,把变化后的c 0 赋给w 0 ;该捕捉确保了 r160; 0148 M.计算H=SHA1(seedE),然后把H。
9、的最右边v比特赋给c 0 ; 0149 N.把c 0 的最左边位(即第v比特)设置为0,把变化后的c 0 赋给w 0 ;该捕捉确保了 rp; 0150 O.把g比特的seedE转换为整数,记做z; 0151 P.循环处理,i从1到s,s i =(z+i)mod2 g ,把s i 作为比特串看待,计算W i =SHA1(s i ); 0152 Q.将所有的W i 以如下形式合并成W:W=W 0 |W 1 |.|W s |代表连接 0153 R.将W比特串转化为整数r; 0154 S.如果r=0,或者4r+27=0modp;那么回到步骤1); 0155 T.随机产生a、b,a,bF p 。如:a=。
10、r,b=r。 0156 U.到此,求基于F p 的椭圆曲线方程E:y 2 =x 3 +ax+b; 0157 V.输出(seedE,a,b)。 0158 2.2.2.3将明文消息嵌入到椭圆曲线上 0159 使用椭圆曲线构造密码体制前,需要将明文消息镶嵌到椭圆曲线上,作为椭圆曲 线上的点。设明文消息是m(0mM),k是一个足够大的整数,使得将明文消息镶嵌到椭 圆曲线上时,错误的概率是2 -k 。实际情况中,k可以在3050之间取值。不防取k=30,对明 文消息m,如下计算一系列x: 0160 x=m k+j,j=0,1,2,.=30m,30m+1,30m+2,. 0161 直到x 3 +ax+b(。
11、modp)是平方根,即得到椭圆曲线上的点因为在0 到p的整数中,有一半是模p的平方剩余,一半是模p的非平方剩余。所以k次找到x,使得 x 3 +ax+b(modp)是一平方根不小于1-2 -k 。 说 明 书CN 102883321 A 11 8/10页 12 0162 反过来,为了从椭圆曲线上的点(x,y)得到明文消息m,只须求。 0163 2.2.3椭圆密码算法的改进 0164 2.2.3.1前人工作分析 0165 根据椭圆曲线倍点公式,设P=(x,y),E(F 2m ),2P=(x 1 ,y 1 ),其中: 0166 0167 0168 计算过程中一般要用到2 s P,s1可以一步一步地。
12、计算2P,2 2 P,2 3 P.,但这 样效率较低。有文献提到可以直接算出4P,8P,16P,2 s P,s1,而不是一步一步计算 2P,2 2 P,2 3 P.。该文献中算出4P=(x 2 ,y 2 ),其中 0169 0170 =x 2 ,=+y,= 2 +x+a,=x+,=(+)+ 2 0171 从以上表达式中可以看到,虽然直接计算4P与先算2P再算2P相比需要多计算9 次乘法,但可以少计算一次求逆运算。由于1次求逆的时间通常多于9次乘法的时间,这样 做就能有效地减少运算时间。 0172 2.2.3.2改进算法 0173 给出直接计算2 s P,1sm的公式,这样做可以进一步减少计算量。
13、。先推导出 2 s P,1sm的表达式。记2 k P=(xk,yk),则 0174 0175 0176 这里要做的是把(x k ,y k )直接表示的形式。其中a k ,b k ,c k 都是关 于x,y的整式,这样就实现了用乘法来减少求逆的目的。将带入递推式, 就得到了a k ,b k ,c k 的递推公式如下: 0177 c k = 2 ,a k = 2 +,b k =a 4 k-1 +x k 0178 其中=a k-1 ck -1 ,=a 2 k -1+b k-1 +c k-1 ,而a 0 =x,b 0 =y,c 0 =1 0179 由此计算公式,来估计改进过的方法计算量。在改进的方法中。
14、计算2 s P,1sm 的运算量为4s次乘法,4s次平方,1次求逆,而逐次计算2 s P,1sm则需要2s次乘方, s次求逆。总的运算量可以从下表进行比较,其中加法次数由于直接计算和逐次计算相差不 大,故忽略。 0180 表2-1不同方法运算量的比较 说 明 书CN 102883321 A 12 9/10页 13 0181 0182 表2-1的总时间由表2-2算出 0183 表2-2计算时间比较 0184 操作类型计算时间比较(总时间/s) 176 bit addition 1.19 176 bit squring 4.23 176 bit multiplication 38.56 176 b。
15、it inverse 158.73 0185 在以上倍点乘改进算法中,只对2 k P,k1(偶数倍倍点乘)进行改进,如果要计算 (2X+1)P,X=1,2,3,4倍点乘,可以利用以上求出的结果,在2 k P,k1的基础上加P来实 现。 0186 例:求3P可以表示成:3P=(P+2P)或3P=(P+P)+P) 0187 5P=(P+4P)或5P=(2P+2P+P) 0188 7P=(P+2P+4P)或7P=(P+2P+2P+2P) 0189 0190 以此类推,就可以求出所有的奇数倍倍点乘。我们知道,加法的运算速度是远远高 说 明 书CN 102883321 A 13 10/10页 14 于乘。
16、法运算速度,在此将乘法变成加法,运算速度提高13%左右。 0191 2.2.3.3算法分析 0192 从文中可以看出,通过直接计算2 s P,将费时的域中求逆运算替换成了较快的平方 或乘法等运算,在计算(2X+1)P,X=1,2,3,4时,可以利用2 s P计算所得的结果加P来实现, 也就是将乘法变成加法,因此减少了计算量,加快了运算速度。 0193 从以上结果可看出,在此提出的改进算法性能随着直接计算2 m P,m1中m的增 大而提高,在极限情况下性能可比原算法提高30%,在计算(2X+1)P时,算法的性能可进一 步提高,因此应用价值较大。 0194 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定 本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在 不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的 保护范围。 说 明 书CN 102883321 A 14 1/3页 15 图1 图2 说 明 书 附 图CN 102883321 A 15 2/3页 16 图3 说 明 书 附 图CN 102883321 A 16 3/3页 17 图4 图5 说 明 书 附 图CN 102883321 A 17 。