一种面向移动微技的数字签名认证方法.pdf

上传人:zhu****_FC 文档编号:4334520 上传时间:2018-09-14 格式:PDF 页数:17 大小:2.18MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210355297.4

申请日:

2012.09.21

公开号:

CN102883321A

公开日:

2013.01.16

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):H04W 12/06申请公布日:20130116|||实质审查的生效IPC(主分类):H04W 12/06申请日:20120921|||公开

IPC分类号:

H04W12/06(2009.01)I

主分类号:

H04W12/06

申请人:

哈尔滨工业大学深圳研究生院

发明人:

王轩; 张加佳; 赵海楠; 蒲成燕

地址:

518000 广东省深圳市南山区西丽镇深圳大学城哈工大校区

优先权:

专利代理机构:

深圳市科吉华烽知识产权事务所(普通合伙) 44248

代理人:

张立娟;罗志强

PDF下载: PDF下载
内容摘要

本发明提供了一种面向移动微技的数字签名认证方法,包括以下步骤:产生证书:开发者向认证机构中的注册机构RA提交开发者证书申请,由RA对相关内容进行审核并决定是否审批通过该证书申请的请求,通过后RA将申请请求及审批通过的信息提交给认证中心CA,由CA进行证书的签发;签名:证书申请被批准注册之后,RA端的应用程序初始化申请者的信息,给开发者颁发证书,发送私钥,CA在LDAP目录服务器中添加证书申请人的有关信息,开发者收到私钥之后,在开发平台上对编译通过的程序进行签名,上传至Web服务器;验证。本发明将公钥基础设施PKI与椭圆曲线加密机制相结合,实现了移动widget开发者的证书申请、证书颁发、证书获取、widget签名以及widget验证。

权利要求书

权利要求书一种面向移动微技的数字签名认证方法,其特征在于:产生证书:开发者向认证机构中的注册机构RA提交开发者证书申请,由RA对相关内容进行审核并决定是否审批通过该证书申请的请求,通过后RA将申请请求及审批通过的信息提交给认证中心CA,由CA进行证书的签发;签名:证书申请被批准注册之后,RA端的应用程序初始化申请者的信息,给开发者颁发证书,发送私钥,CA在LDAP目录服务器中添加证书申请人的有关信息,开发者收到私钥之后,在开发平台上对编译通过的程序进行签名,上传至Web服务器;验证:普通用户从Web服务器上下载应用程序之后,再从LADP下载相应开发者的公钥证书,对下载后的程序进行验证。根据权利要求1所述的一种面向移动微技的数字签名认证方法,其特征在于:认证机构的密钥管理系统包括:负责生成密钥的密钥生成子系统,负责存放密钥的密钥库子系统,为用户提供密钥恢复功能的密钥恢复子系统,负责对整个密钥系统提供配置管理的密钥管理子系统,包含KMADMIN终端和AUDIT审计终端的终端系统。根据权利要求1或2所述的一种面向移动微技的数字签名认证方法,其特征在于:所述开发者利用私钥对代码m进行签名,椭圆曲线数字签名方案签名的生成过程如下:1)随机或伪随机地选择一个整数k∈RZn*;2)计算公钥Q和x1除以n的余数rQ=kG=(x1,y1)式中x1,y1——椭圆曲线上的横坐标和纵坐标;r=x1modn如果r=0,则返回到1);3)计算k‑1对n的余数s's'=k‑1modn4)计算信息摘要e=SHA‑1(m)5)计算s=k‑1(e+dr)modn如果s=0,则返回到1),(r,s)是A对消息m的签名。根据权利要求3所述的一种面向移动微技的数字签名认证方法,其特征在于:在客户端对下载程序进行验证:客户端验证(r,s)是A对消息m的签名的验证方法流程如下:11)验证r,s是[1,n‑1]中的整数;12)计算信息摘要ee=SHA‑1(m)13)计算s‑1对n的余数w=s‑1modn14)分别计算ew和rw对n的余数u1=ewmodnu2=rwmodn15)计算验证信息X=u1G+u2Q=(x1,y1)。根据权利要求4所述的一种面向移动微技的数字签名认证方法,其特征在于:安全椭圆曲线选取包括以下四种方法:第一:有限域GF(q)上随机生成一椭圆曲线,直接计算其阶,判断阶是否为大素数或含大素数因子,若是取出确定,否则继续选取曲线,直至符合条件;第二:取具有一定特殊性椭圆曲线的系数,计算该椭圆曲线的阶,对该阶进行判断,直至找到所需要的安全曲线;第三:如果q=2m,其中m能被一个比较小的整数d整除,我们首先在有限域GF(q1)(q1=2d)上选择椭圆曲线E′并计算其阶,根据此值,利用Weil定理计算该曲线在其扩域GF(q)上的阶,若此阶符合安全标准,我们再找曲线E′在域GF(q)上的嵌入E,则E即为所需的安全椭圆曲线;第四:首先给出具有安全条件的曲线阶,然后构造具有此阶的椭圆曲线。根据权利要求5所述的一种面向移动微技的数字签名认证方法,其特征在于:椭圆曲线的生成方法如下:A.随机产生一个长度为g的比特串seedE,g>160;B.计算H=SHA1(seedE),然后把H的最右边v比特赋给c0;C.把c0的最左边位(即第v比特)设置为0,把变化后的c0赋给w0;该捕捉确保了r<p;D.把g比特的seedE转换为整数,记做z;E.循环处理,i从1到s,si=(z+i)mod2g,把si作为比特串看待,计算Wi=SHA1(si);F.将所有的Wi以如下形式合并成W:W=W0||w1||...||Ws||代表连接;G.将W比特串转化为整数r;H.如果r=0,或者4r+27=0modp;那么回到步骤1);I.随机产生a、b,a,b∈Fp。如:a=r,b=r;J.到此,求基于Fp的椭圆曲线方程E:y2=x3+ax+b;K.输出(seedE,a,b)。根据权利要求6所述的一种面向移动微技的数字签名认证方法,其特征在于:椭圆密码算法如下:给出直接计算2sP,1≤s≤m的公式,先推导出2sP,1≤s≤m的表达式,记2kP=(xk,yk),则xk=(xk-1+yk-1xk-1)2+(xk-1+yk-1xk-1)+a]]>y2k-1=x2k-1+(xk-1+yk-1xk-1)xk+xk]]>把(xk,yk)直接表示的形式,其中ak,bk,ck都是关于x,y的整式,将带入递推式,就得到了ak,bk,ck的递推公式如下:ck=δ2,ak=γ2+δγ,bk=a4k1+δγxk其中δ=ak‑1ck‑1,γ=a2k‑1+bk‑1+ck‑1,而a0=x,b0=y,c0=1由此计算公式,来估计改进过的方法计算量,在改进的方法中计算2sP,1≤s≤m的运算量为4s次乘法,4s次平方,1次求逆,而逐次计算2sP,1≤s≤m则需要2s次乘方,s次求逆。

说明书

说明书一种面向移动微技的数字签名认证方法
技术领域
本发明涉及移动互联网安全领域,具体涉及移动Widget的一种数字签名认证方法。
背景技术
微技(Widget)业务源于2003年在苹果Mac OS X操作系统上最早研发的一种可以添加Java Script小程序的平台,这个平台上的小程序后来逐渐被扩展到以桌面和互联网为主要特征的各种更加丰富的应用。由于Widget的发展带有明显的互联网特征,W3C的文档也把微技称为客户端互联网应用(Client‑Side Web Applications),W3C组织对互联网微技(Web Widget)给出了定义:微技是一类能够显示和更新本地数据或Web数据的客户端应用程序,并能够打包成单一的下载包安装到客户端设备上。W3C关于微技的定义突出了客户端应用程序、能够显示和更新数据、能够打包成单一的下载包进行安装等。
移动微技(Mobile Widget)是指运行于移动终端上的微技。由于手机终端屏幕相对较小,可呈现的信息量相对较少,输入网址不方便,交互操作慢等原因,微技的应用框架非常适合手机终端使用互联网应用。很多情况下,移动用户在用浏览器上网时很多无用信息占用了稀缺的屏幕资源,导致手机上网用户体验较差,而移动微技不仅可以独立于浏览器运行以有效地利用手机屏幕,而且可以更加快速、方便地访问移动互联网的特定数据。移动微技业务具备更有效利用屏幕和更方便访问互联网的特点,因此能够给手机用户带来良好的呈现方式和互联网体验。
随着手机数据带宽的不断增长,手机屏幕的不断增大,移动微技业务的应用会越来越广泛。手机、个人计算机、互联网的软件服务共享将是未来互联网发展的趋势,移动微技可以看作是互联网软件服务在手机终端上的缩影。移动微技具有小巧轻便、开发成本低、基于标准Web技术,开发门槛低,潜在开发者众多、与操作系统耦合度低和功能完整等特点,用户可以通过移动微技实现个性化的用户界面,是手机应用个性化的突破口。另外,移动微技区别于互联网微技最大的不同在于可以充分的应用移动增值业务,例如基于短信、位置服务等通信能力或运营商应用平台提供的信息开发的应用,因此移动微技业务已经逐渐得到越来越多运营商、手机制造商和软件开发商的关注和重视。
数字签名是一种电子签名技术,发送者根据消息产生摘要,并对摘要用自身的签名私钥进行加密。消息和用自身签名私钥加密的数字摘要组合成为数字签名。缺少数字签名的移动Widget包可能被未经授权修改,且最终用户无法得知移动Widget的来源是其所信任的可靠来源,这些都可能导致用户的信息泄露或其他安全问题。因此对移动widget包进行数字签名,验证签名者的身份,确保信息来源的可靠性是非常有必要的。
发明内容
本发明的目的在于提供移动Widget的一种数字签名认证方法,以验证消息发送方的身份,并保证消息内容的完整性、正确性以及可靠性。为了解决现有技术中问题,本发明提供了一种面向移动微技的数字签名认证方法,包括以下步骤:
产生证书:开发者向认证机构中的注册机构RA提交开发者证书申请,由RA对相关内容进行审核并决定是否审批通过该证书申请的请求,通过后RA将申请请求及审批通过的信息提交给认证中心CA,由CA进行证书的签发;
签名:证书申请被批准注册之后,RA端的应用程序初始化申请者的信息,给开发者颁发证书,发送私钥,CA在LDAP目录服务器中添加证书申请人的有关信息,开发者收到私钥之后,在开发平台上对编译通过的程序进行签名,上传至Web服务器;
验证:普通用户从Web服务器上下载应用程序之后,再从LADP下载相应开发者的公钥证书,对下载后的程序进行验证。
作为本发明的进一步改进,认证机构的密钥管理系统包括:负责生成密钥的密钥生成子系统,负责存放密钥的密钥库子系统,为用户提供密钥恢复功能的密钥恢复子系统,负责对整个密钥系统提供配置管理的密钥管理子系统,包含KM ADMIN终端和AUDIT审计终端的终端系统。
作为本发明的进一步改进,开发者利用私钥对代码m进行签名,椭圆曲线数字签名方案签名的生成过程如下:
1)随机或伪随机地选择一个整数k∈RZn*;
2)计算公钥Q和x1除以n的余数r
Q=kG=(x1,y1)
式中x1,y1——椭圆曲线上的横坐标和纵坐标;
r=x1modn
如果r=0,则返回到1);
3)计算k‑1对n的余数s'
s'=k‑1modn
4)计算信息摘要
e=SHA‑1(m)
5)计算
s=k‑1(e+dr)modn
如果s=0,则返回到1),(r,s)是A对消息m的签名。
作为本发明的进一步改进,在客户端对下载程序进行验证:
客户端验证(r,s)是A对消息m的签名的验证方法流程如下:
11)验证r,s是[1,n‑1]中的整数;
12)计算信息摘要e
e=SHA‑1(m)
13)计算s‑1对n的余数
w=s‑1modn
14)分别计算ew和rw对n的余数
u1=ewmodn
u2=rwmodn
15)计算验证信息
X=u1G+u2Q=(x1,y1)。
作为本发明的进一步改进,安全椭圆曲线选取包括以下四种方法:
第一:有限域GF(q)上随机生成一椭圆曲线,直接计算其阶,判断阶是否为大素数或含大素数因子,若是取出确定,否则继续选取曲线,直至符合条件;
第二:取具有一定特殊性椭圆曲线的系数,计算该椭圆曲线的阶,对该阶进行判断,直至找到所需要的安全曲线;
第三:如果q=2m,其中m能被一个比较小的整数d整除,我们首先在有限域GF(q1)(q1=2d)上选择椭圆曲线E′并计算其阶,根据此值,利用Weil定理计算该曲线在其扩域GF(q)上的阶,若此阶符合安全标准,我们再找曲线E′在域GF(q)上的嵌入E,则E即为所需的安全椭圆曲线;
第四:首先给出具有安全条件的曲线阶,然后构造具有此阶的椭圆曲线。
作为本发明的进一步改进,椭圆曲线的生成方法如下:
A.随机产生一个长度为g的比特串seedE,g>160;
B.计算H=SHA1(seedE),然后把H的最右边v比特赋给c0;
C.把c0的最左边位(即第v比特)设置为0,把变化后的c0赋给w0;该捕捉确保了r<p;
D.把g比特的seedE转换为整数,记做z;
E.循环处理,i从1到s,si=(z+i)mod2g,把si作为比特串看待,计算Wi=SHA1(si);
F.将所有的Wi以如下形式合并成W:W=W0||W1||...||Ws||代表连接;
G.将W比特串转化为整数r;
H.如果r=0,或者4r+27=0modp;那么回到步骤1);
I.随机产生a、b,a,b∈Fp。如:a=r,b=r;
J.到此,求基于Fp的椭圆曲线方程E:y2=x3+ax+b;
K.输出(seedE,a,b)。
作为本发明的进一步改进,椭圆密码算法如下:
给出直接计算2sP,1≤s≤m的公式,先推导出2sP,1≤s≤m的表达式,记2kP=(xk,yk),则
<mrow><MSUB><MI>x</MI> <MI>k</MI> </MSUB><MO>=</MO> <MSUP><MROW><MO>(</MO> <MSUB><MI>x</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MO>+</MO> <MFRAC><MSUB><MI>y</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MSUB><MI>x</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB></MFRAC><MO>)</MO> </MROW><MN>2</MN> </MSUP><MO>+</MO> <MROW><MO>(</MO> <MSUB><MI>x</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MO>+</MO> <MFRAC><MSUB><MI>y</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MSUB><MI>x</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB></MFRAC><MO>)</MO> </MROW><MO>+</MO> <MI>a</MI> </MROW>]]&gt;</MATH></MATHS> <BR><MATHS num="0002"><MATH><![CDATA[ <mrow><MSUB><MSUP><MI>y</MI> <MN>2</MN> </MSUP><MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MO>=</MO> <MSUB><MSUP><MI>x</MI> <MN>2</MN> </MSUP><MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MO>+</MO> <MROW><MO>(</MO> <MSUB><MI>x</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MO>+</MO> <MFRAC><MSUB><MI>y</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MSUB><MI>x</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB></MFRAC><MO>)</MO> </MROW><MSUB><MI>x</MI> <MI>k</MI> </MSUB><MO>+</MO> <MSUB><MI>x</MI> <MI>k</MI> </MSUB></MROW>]]&gt;</MATH></MATHS> <BR>把(xk,yk)直接表示的形式,其中ak,bk,ck都是关于x,y的整式,将带入递推式,就得到了ak,bk,ck的递推公式如下: <BR>ck=δ2,ak=γ2+δγ,bk=a4k‑1+δγxk <BR>其中δ=ak‑1ck‑1,γ=a2k‑1+bk‑1+ck‑1,而a0=x,b0=y,c0=1 <BR>由此计算公式,来估计改进过的方法计算量,在改进的方法中计算2sP,1≤s≤m的运算量为4s次乘法,4s次平方,1次求逆,而逐次计算2sP,1≤s≤m则需要2s次乘方,s次求逆。 <BR>本发明将公钥基础设施PKI与椭圆曲线加密机制相结合,实现了移动widget开发者的证书申请、证书颁发、证书获取、widget签名以及widget验证。在此基础上,通过对椭圆曲线算法中传统的标量乘运算改进,加快了widget的签名与验证的速度。鉴权:根据第三方权威机构CA颁发的开发者证书,使得开发者身份具有可信性。完整性:传送移动Widget的双方都总希望确认Widget在传输过程中未被修改,数字签名技术可以验证消息传送过程中的完整性。不可抵赖性:移动Widget的安装者可以通过数字签名来防止后续的抵赖行为,因为他可以出示开发者的签名文件给别人看,来证明该移动Widget的来源。 <BR>附图说明 <BR>图1是本发明系统总体架构图; <BR>图2是本发明密钥管理系统逻辑结构图; <BR>图3是本发明开发者系统模块图; <BR>图4是本发明数据签名处理流程图; <BR>图5是本发明验证数据签名处理流程图。 <BR>具体实施方式 <BR>下面结合附图对本发明做进一步说明。 <BR>系统将公钥基础设施PKI与椭圆曲线加密机制相结合,实现了移动widget开发者的证书申请、证书颁发、证书获取、widget签名以及widget验证。在此基础上,通过对椭圆曲线算法中传统的标量乘运算改进,加快了widget的签名与验证的速度。系统的整体结构如图1所示: <BR>整个系统分为3个模块,开发者模块、认证机构模块、客户端模块。 <BR>系统总体流程如下: <BR>1)产生证书 <BR>开发者需要首先向注册机构RA提交开发者证书申请,由RA对相关内容进行审核并决定是否审批通过该证书申请的请求。通过后RA将申请请求及审批通过的信息提交给相应的认证中心CA,由CA进行证书的签发。 <BR>2)签名 <BR>证书申请被批准注册之后,RA端的应用程序初始化申请者的信息,给开发者颁发证书,发送私钥,CA在目录服务器(LDAP)中添加证书申请人的有关信息,开发者收到私钥之后,就能在开发平台上对编译通过的程序进行签名,上传至Web服务器。 <BR>3)验证 <BR>普通用户从Web服务器上下载应用程序之后,再从LADP下载相应开发者的公钥证书,对下载后的程序进行验证。 <BR>1、下面将对系统的各个主要模块进行介绍: <BR>1.1认证机构模块核心功能设计,如图2所示: <BR>认证机构是公钥基础设施(PKI)的核心机构。它是数字证书的签发机构。它的关键问题是如何实现密钥管理。图2即为密钥管理系统逻辑结构图。它主要由以下5个部分组成:负责生成密钥的密钥生成子系统,负责存放密钥的密钥库子系统,为用户提供密钥恢复功能的密钥恢复子系统,负责对整个密钥系统提供配置管理的密钥管理子系统,包含密钥管理终端(KM&nbsp;ADMIN)和审计终端(AUDIT)的终端系统。 <BR>1.2开发者模块核心功能设计,如图3所示: <BR>这是开发者系统的主要模块图。开发者开发完成的代码,经GNU编译器(Linux下的C语言编译器,GCC)编译和跨平台编译引擎之后,经过Widget的安全模块才能转换到各自移动平台的执行程序;这里主要介绍在图中虚线框的部分,根据开发者的开发等级匹配相应的数字签名证书,对编译完成的程序进行数字签名。 <BR>椭圆曲线数字签名方案(ECDSA)是数字签名算法(DSA)体制在椭圆曲线上的移植。由于系统还没有集成,所以目前是针对每个模块分别做的一些事例。 <BR>椭圆曲线的主要参数包括:定义在有限域GF(q)上的椭圆曲线E,GF(q)的特征是p,E上的GF(q)‑有理点的个数#E(GF(q))可被一个大素数n整除,一个基点G∈E(GF(q))。我们可记D={q,FR,a,b,G,n,h}和密钥对{d,Q},SHA‑1。各参数的含义如下所示: <BR>1)q——有限域的元素个数,这里q=p或者q=2m; <BR>2)FR——有限域中元素的表示方法(例如多项式表示或正规基表示等); <BR>3)a、b——GF(q)上的椭圆曲线y2=x3+ax+b的参数; <BR>4)G——E(GF(q))中的一个点; <BR>5)n——一个素数,且 <BR>6)h——余因子,h远小于n,利用h可以较快找到满足上面条件的基点G:随机取G'∈E(GF(q)),计算hG,如果hG≠O,则令G=hG′; <BR>7)d——签名私钥,d∈RZn*; <BR>8)Q——签名验证公钥,Q=dG; <BR>9)SHA‑1——美国NIST和NSA设计的一种安全hash算法,输入信息长度一般都小于264bit。 <BR>开发者A利用该私钥对代码m进行签名,ECDSA签名的生成过程如图4所示: <BR>6)随机或伪随机地选择一个整数k∈RZn*; <BR>7)计算公钥Q和x1除以n的余数r <BR>Q=kG=(x1,y1)&nbsp;&nbsp;&nbsp;&nbsp;(2‑1) <BR>式中x1,y1——椭圆曲线上的横坐标和纵坐标; <BR>r=x1modn&nbsp;&nbsp;&nbsp;&nbsp;(2‑2) <BR>如果r=0,则返回到1); <BR>8)计算k‑1对n的余数s' <BR>s'=k‑1modn&nbsp;&nbsp;&nbsp;&nbsp;(2‑3) <BR>9)计算信息摘要 <BR>e=SHA‑1(m)&nbsp;&nbsp;&nbsp;&nbsp;(2‑4) <BR>10)计算 <BR>s=k‑1(e+dr)modn&nbsp;&nbsp;&nbsp;&nbsp;(2‑5) <BR>如果s=0,则返回到1),(r,s)是A对消息m的签名。 <BR>三、客户端模块核心功能设计 <BR>客户端模块主要完成的工作有两个: <BR>1)从服务器上下载开发者开发的程序; <BR>2)对下载的程序进行开发者认证,以便安全使用。 <BR>在客户端需要完成的工作,主要是对下载程序进行验证。 <BR>用户B验证(r,s)是A对消息m的签名的验证算法流程如下所示: <BR>1)验证r,s是[1,n‑1]中的整数; <BR>2)计算信息摘要e <BR>e=SHA‑1(m)&nbsp;&nbsp;&nbsp;&nbsp;(2‑6) <BR>3)计算s‑1对n的余数 <BR>w=s‑1modn&nbsp;&nbsp;&nbsp;&nbsp;(2‑7) <BR>4)分别计算ew和rw对n的余数 <BR>u1=ewmodn&nbsp;&nbsp;&nbsp;&nbsp;(2‑8) <BR>u2=rwmodn&nbsp;&nbsp;&nbsp;&nbsp;(2‑9) <BR>5)计算验证信息 <BR>X=u1G+u2Q=(x1,y1)&nbsp;&nbsp;&nbsp;&nbsp;(2‑10) <BR>程序实现的流程如图5所示。 <BR>2、关键技术介绍 <BR>2.2椭圆密码算法的实现与改进 <BR>2.2.1椭圆曲线的选取 <BR>曲线的选取对系统的安全性有很大的影响,选择的曲线如果不具有很强的密码安全特性,则在此基础上建立起来的密码系统将会很脆弱。为了抵抗所有已知的对ECDLP的攻击,密码方案中使用的椭圆曲线的参数应该谨慎选择。 <BR>首先异常曲线是极不适合用来构建密码系统的曲线,因此一定要避免,只要保证#E(Fp)≠p即可排除异常曲线。 <BR>其次,最好的通用攻击方法是将Pohlig‑Hellman算法和Pollard’srho算法相结合,该方法的运行时间为完全指数时间其中p是n的最大素因子。 <BR>为了抵抗该种攻击,所选的曲线的阶中必须包含一个足够大的因子n,椭圆曲线参数的选择要求n含有大素数因子p,p应该足够大,以使得p的计算量不可实际实现(如<MATHS num="0003"><MATH><![CDATA[ <mrow> <MI>p</MI> <MO>&gt;</MO> <MSUP><MN>2</MN> <MN>160</MN> </MSUP></MROW>]]&gt;</MATH></MATHS>)。 <BR>安全椭圆曲线选取主要有以下四种方法: <BR>1)有限域GF(q)上随机生成一椭圆曲线,直接计算其阶,判断阶是否为大素数或含大素数因子,若是取出确定,否则继续选取曲线,直至符合条件。 <BR>2)取具有一定特殊性椭圆曲线的系数,计算该椭圆曲线的阶,对该阶进行判断,直至找到所需要的安全曲线。 <BR>3)如果q=2m,其中m能被一个比较小的整数d整除,我们首先在有限域GF(q1)(q1=2d)上选择椭圆曲线E'并计算其阶,根据此值,利用Weil定理计算该曲线在其扩域GF(q)上的阶,若此阶符合安全标准,我们再找曲线E′在域GF(q)上的嵌入E,则E即为所需的安全椭圆曲线。 <BR>4)首先给出具有安全条件的曲线阶,然后构造具有此阶的椭圆曲线。 <BR>2.2.2随机曲线的生成 <BR>2.2.2.1单向散列函数 <BR>散列(Hash)函数(又称为哈希函数、杂凑函数),是被设计为基于通过特定压缩函数的不断重复“压缩”输入的分组和前一次压缩处理结果的过程,直到整个消息都被压缩完毕,最后的输出作为整个消息的散列值。换句话说,就是输入一个长度不固定的字符串,返回一串定长度的字符串,又称Hash值。 <BR>2.2.2.2曲线的生成 <BR>基于Fp的椭圆曲线E:y2=x3+ax+b;a,b∈Fp,4a3+27b2≠0(modp)。其中,ANSI&nbsp;X9.62推荐p至少为160bit,下面的算法使用单向散列函数SHA‑1。为了验证曲线方程是随机产生的,使用了一个随机的比特串(seedE),其也作为随机产生的证据。 <BR>下面的算法输入是:p,p为一个大的素数。输出是:一个至少160bit的比特串seedE、a、b,a,b∈Fp。另外,算法中使用如下几个变量: <BR>t=[log2p] <BR>s=[(t‑1)/160] <BR>v=t‑160s <BR>可以理解为:t表示p的二进制长度或长度减一,s表示p有多少个整160比特长度,v为p的串除以160之后的余量。算法如下: <BR>L.随机产生一个长度为g的比特串seedE,g&gt;160; <BR>M.计算H=SHA1(seedE),然后把H的最右边v比特赋给c0; <BR>N.把c0的最左边位(即第v比特)设置为0,把变化后的c0赋给w0;该捕捉确保了r&lt;p; <BR>O.把g比特的seedE转换为整数,记做z; <BR>P.循环处理,i从1到s,si=(z+i)mod2g,把si作为比特串看待,计算Wi=SHA1(si); <BR>Q.将所有的Wi以如下形式合并成W:W=W0||W1||...||Ws||代表连接 <BR>R.将W比特串转化为整数r; <BR>S.如果r=0,或者4r+27=0modp;那么回到步骤1); <BR>T.随机产生a、b,a,b∈Fp。如:a=r,b=r。 <BR>U.到此,求基于Fp的椭圆曲线方程E:y2=x3+ax+b; <BR>V.输出(seedE,a,b)。 <BR>2.2.2.3将明文消息嵌入到椭圆曲线上 <BR>使用椭圆曲线构造密码体制前,需要将明文消息镶嵌到椭圆曲线上,作为椭圆曲线上的点。设明文消息是m(0≤m≤M),k是一个足够大的整数,使得将明文消息镶嵌到椭圆曲线上时,错误的概率是2‑k。实际情况中,k可以在30~50之间取值。不防取k=30,对明文消息m,如下计算一系列x: <BR>x={m&nbsp;k+j,j=0,1,2,...}={30m,30m+1,30m+2,...} <BR>直到x3+ax+b(modp)是平方根,即得到椭圆曲线上的点因为在0到p的整数中,有一半是模p的平方剩余,一半是模p的非平方剩余。所以k次找到x,使得x3+ax+b(modp)是一平方根不小于1‑2‑k。 <BR>反过来,为了从椭圆曲线上的点(x,y)得到明文消息m,只须求。 <BR>2.2.3椭圆密码算法的改进 <BR>2.2.3.1前人工作分析 <BR>根据椭圆曲线倍点公式,设P=(x,y),E(F2m),2P=(x1,y1),其中: <BR><MATHS num="0004"><MATH><![CDATA[ <mrow><MSUB><MI>x</MI> <MN>1</MN> </MSUB><MO>=</MO> <MSUP><MROW><MO>(</MO> <MI>x</MI> <MO>+</MO> <MFRAC><MI>y</MI> <MI>x</MI> </MFRAC><MO>)</MO> </MROW><MN>2</MN> </MSUP><MO>+</MO> <MROW><MO>(</MO> <MI>x</MI> <MO>+</MO> <MFRAC><MI>y</MI> <MI>x</MI> </MFRAC><MO>)</MO> </MROW><MO>+</MO> <MI>a</MI> </MROW>]]&gt;</MATH></MATHS> <BR><MATHS num="0005"><MATH><![CDATA[ <mrow><MSUB><MI>y</MI> <MN>1</MN> </MSUB><MO>=</MO> <MSUP><MI>x</MI> <MN>2</MN> </MSUP><MO>+</MO> <MROW><MO>(</MO> <MI>x</MI> <MO>+</MO> <MFRAC><MI>y</MI> <MI>x</MI> </MFRAC><MO>)</MO> </MROW><MSUB><MI>x</MI> <MN>1</MN> </MSUB><MO>+</MO> <MSUB><MI>x</MI> <MN>1</MN> </MSUB></MROW>]]&gt;</MATH></MATHS> <BR>计算过程中一般要用到2sP,s≥1可以一步一步地计算2P,22P,23P...,但这样效率较低。有文献提到可以直接算出4P,8P,16P,2sP,s≥1,而不是一步一步计算2P,22P,23P...。该文献中算出4P=(x2,y2),其中 <BR><MATHS num="0006"><MATH><![CDATA[ <mrow><MSUB><MI>x</MI> <MN>2</MN> </MSUB><MO>=</MO> <MFRAC><MROW><MSUP><MI>ζ</MI> <MN>2</MN> </MSUP><MO>+</MO> <MROW><MO>(</MO> <MI>δγ</MI> <MO>)</MO> </MROW><MI>ζ</MI> </MROW><MSUP><MROW><MO>(</MO> <MI>δγ</MI> <MO>)</MO> </MROW><MN>2</MN> </MSUP></MFRAC><MO>+</MO> <MI>a</MI> <MO>,</MO> </MROW>]]&gt;</MATH></MATHS><MATHS num="0007"><MATH><![CDATA[ <mrow> <MSUB><MI>y</MI> <MN>2</MN> </MSUB><MO>=</MO> <MFRAC><MROW><MI>ζ</MI> <MROW><MO>(</MO> <MI>δγ</MI> <MO>)</MO> </MROW><MSUB><MI>ζx</MI> <MN>2</MN> </MSUB><MO>+</MO> <MSUP><MROW><MO>(</MO> <MSUP><MI>δ</MI> <MN>2</MN> </MSUP><MO>)</MO> </MROW><MN>2</MN> </MSUP></MROW><MSUP><MROW><MO>(</MO> <MI>δγ</MI> <MO>)</MO> </MROW><MN>2</MN> </MSUP></MFRAC><MO>+</MO> <MSUB><MI>x</MI> <MN>2</MN> </MSUB></MROW>]]&gt;</MATH></MATHS> <BR>γ=x2,η=γ+y,δ=η2+ηx+aγ,ξ=ηx+γ,ζ=δ(δ+ξ)+γ2 <BR>从以上表达式中可以看到,虽然直接计算4P与先算2P再算2P相比需要多计算9次乘法,但可以少计算一次求逆运算。由于1次求逆的时间通常多于9次乘法的时间,这样做就能有效地减少运算时间。 <BR>2.2.3.2改进算法 <BR>给出直接计算2sP,1≤s≤m的公式,这样做可以进一步减少计算量。先推导出2sP,1≤s≤m的表达式。记2kP=(xk,yk),则 <BR><MATHS num="0008"><MATH><![CDATA[ <mrow><MSUB><MI>x</MI> <MI>k</MI> </MSUB><MO>=</MO> <MSUP><MROW><MO>(</MO> <MSUB><MI>x</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MO>+</MO> <MFRAC><MSUB><MI>y</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MSUB><MI>x</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB></MFRAC><MO>)</MO> </MROW><MN>2</MN> </MSUP><MO>+</MO> <MROW><MO>(</MO> <MSUB><MI>x</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MO>+</MO> <MFRAC><MSUB><MI>y</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MSUB><MI>x</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB></MFRAC><MO>)</MO> </MROW><MO>+</MO> <MI>a</MI> </MROW>]]&gt;</MATH></MATHS> <BR><MATHS num="0009"><MATH><![CDATA[ <mrow><MSUB><MSUP><MI>y</MI> <MN>2</MN> </MSUP><MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MO>=</MO> <MSUB><MSUP><MI>x</MI> <MN>2</MN> </MSUP><MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MO>+</MO> <MROW><MO>(</MO> <MSUB><MI>x</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MO>+</MO> <MFRAC><MSUB><MI>y</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB><MSUB><MI>x</MI> <MROW><MI>k</MI> <MO>-</MO> <MN>1</MN> </MROW></MSUB></MFRAC><MO>)</MO> </MROW><MSUB><MI>x</MI> <MI>k</MI> </MSUB><MO>+</MO> <MSUB><MI>x</MI> <MI>k</MI> </MSUB></MROW>]]&gt;</MATH></MATHS> <BR>这里要做的是把(xk,yk)直接表示的形式。其中ak,bk,ck都是关于x,y的整式,这样就实现了用乘法来减少求逆的目的。将带入递推式,就得到了ak,bk,ck的递推公式如下: <BR>ck=δ2,ak=γ2+δγ,bk=a4k‑1+δγxk <BR>其中δ=ak‑1ck‑1,γ=a2k‑1+bk‑1+ck‑1,而a0=x,b0=y,c0=1 <BR>由此计算公式,来估计改进过的方法计算量。在改进的方法中计算2sP,1≤s≤m的运算量为4s次乘法,4s次平方,1次求逆,而逐次计算2sP,1≤s≤m则需要2s次乘方,s次求逆。总的运算量可以从下表进行比较,其中加法次数由于直接计算和逐次计算相差不大,故忽略。 <BR>表2‑1不同方法运算量的比较 <BR></TABLES> <BR>表2‑1的总时间由表2‑2算出 <BR>表2‑2计算时间比较 <BR><TGROUP cols="2"><COLSPEC colwidth="49%" colname="c001" /><COLSPEC colwidth="51%" colname="c002" /><ROW><ENTRY morerows="1">操作类型</ENTRY><ENTRY morerows="1">计算时间比较(总时间/μs)</ENTRY></ROW><ROW><ENTRY morerows="1">176&nbsp;bit&nbsp;addition</ENTRY><ENTRY morerows="1">1.19</ENTRY></ROW><ROW><ENTRY morerows="1">176&nbsp;bit&nbsp;squring</ENTRY><ENTRY morerows="1">4.23</ENTRY></ROW><ROW><ENTRY morerows="1">176&nbsp;bit&nbsp;multiplication</ENTRY><ENTRY morerows="1">38.56</ENTRY></ROW><ROW><ENTRY morerows="1">176&nbsp;bit&nbsp;inverse</ENTRY><ENTRY morerows="1">158.73</ENTRY></ROW></TGROUP></TABLES><BR>在以上倍点乘改进算法中,只对2kP,k≥1(偶数倍倍点乘)进行改进,如果要计算(2X+1)P,X=1,2,3,4…倍点乘,可以利用以上求出的结果,在2kP,k≥1的基础上加P来实现。 <BR>例:求3P可以表示成:3P=(P+2P)或3P=((P+P)+P) <BR>5P=(P+4P)或5P=(2P+2P+P) <BR>7P=(P+2P+4P)或7P=(P+2P+2P+2P) <BR>………… <BR>以此类推,就可以求出所有的奇数倍倍点乘。我们知道,加法的运算速度是远远高于乘法运算速度,在此将乘法变成加法,运算速度提高13%左右。 <BR>2.2.3.3算法分析 <BR>从文中可以看出,通过直接计算2sP,将费时的域中求逆运算替换成了较快的平方或乘法等运算,在计算(2X+1)P,X=1,2,3,4…时,可以利用2sP计算所得的结果加P来实现,也就是将乘法变成加法,因此减少了计算量,加快了运算速度。 <BR>从以上结果可看出,在此提出的改进算法性能随着直接计算2mP,m≠1中m的增大而提高,在极限情况下性能可比原算法提高30%,在计算(2X+1)P时,算法的性能可进一步提高,因此应用价值较大。 <BR>以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。</p></div> </div> </div> </div> <div class="tempdiv cssnone" style="line-height:0px;height:0px; overflow:hidden;"> </div> <div id="page"> <div class="page"><img src='https://img.zhuanlichaxun.net/fileroot2/2018-9/13/303e5a8c-d5ad-4b0f-af6d-b0725f005a55/303e5a8c-d5ad-4b0f-af6d-b0725f005a551.gif' alt="一种面向移动微技的数字签名认证方法.pdf_第1页" width='100%'/></div><div class="pageSize">第1页 / 共17页</div> <div class="page"><img src='https://img.zhuanlichaxun.net/fileroot2/2018-9/13/303e5a8c-d5ad-4b0f-af6d-b0725f005a55/303e5a8c-d5ad-4b0f-af6d-b0725f005a552.gif' alt="一种面向移动微技的数字签名认证方法.pdf_第2页" width='100%'/></div><div class="pageSize">第2页 / 共17页</div> <div class="page"><img src='https://img.zhuanlichaxun.net/fileroot2/2018-9/13/303e5a8c-d5ad-4b0f-af6d-b0725f005a55/303e5a8c-d5ad-4b0f-af6d-b0725f005a553.gif' alt="一种面向移动微技的数字签名认证方法.pdf_第3页" width='100%'/></div><div class="pageSize">第3页 / 共17页</div> </div> <div id="pageMore" class="btnmore" onclick="ShowSvg();">点击查看更多>></div> <div style="margin-top:20px; line-height:0px; height:0px; overflow:hidden;"> <div style=" font-size: 16px; background-color:#e5f0f7; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px; margin-bottom:10px;">资源描述</div> <div class="detail-article prolistshowimg"> <p>《一种面向移动微技的数字签名认证方法.pdf》由会员分享,可在线阅读,更多相关《一种面向移动微技的数字签名认证方法.pdf(17页珍藏版)》请在专利查询网上搜索。</p> <p >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) 发明名称 一种面向移动微技的数字签名认证方法。</p> <p >2、 (57) 摘要 本发明提供了一种面向移动微技的数字签名 认证方法,包括以下步骤:产生证书:开发者向认 证机构中的注册机构RA提交开发者证书申请,由 RA对相关内容进行审核并决定是否审批通过该 证书申请的请求,通过后RA将申请请求及审批通 过的信息提交给认证中心CA,由CA进行证书的签 发;签名:证书申请被批准注册之后,RA端的应用 程序初始化申请者的信息,给开发者颁发证书,发 送私钥,CA在LDAP目录服务器中添加证书申请 人的有关信息,开发者收到私钥之后,在开发平台 上对编译通过的程序进行签名,上传至Web服务 器;验证。本发明将公钥基础设施PKI与椭圆曲 线加密机制相结合,实现了移动wi。</p> <p >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端的应用程序初始化申请者的。</p> <p >4、信息,给开发者颁 发证书,发送私钥,CA在LDAP目录服务器中添加证书申请人的有关信息,开发者收到私钥 之后,在开发平台上对编译通过的程序进行签名,上传至Web服务器; 验证:普通用户从Web服务器上下载应用程序之后,再从LADP下载相应开发者的公钥 证书,对下载后的程序进行验证。 2.根据权利要求1所述的一种面向移动微技的数字签名认证方法,其特征在于:认证 机构的密钥管理系统包括:负责生成密钥的密钥生成子系统,负责存放密钥的密钥库子系 统,为用户提供密钥恢复功能的密钥恢复子系统,负责对整个密钥系统提供配置管理的密 钥管理子系统,包含KMADMIN终端和AUDIT审计终端的终端系统。 3.根据。</p> <p >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所述的一。</p> <p >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所述的一种面向移动微技的数字签名认证方法,其特征在于: 安全椭圆曲线选取包括以下四种方。</p> <p >7、法: 第一:有限域GF(q)上随机生成一椭圆曲线,直接计算其阶,判断阶是否为大素数或含 大素数因子,若是取出确定,否则继续选取曲线,直至符合条件; 第二:取具有一定特殊性椭圆曲线的系数,计算该椭圆曲线的阶,对该阶进行判断,直 至找到所需要的安全曲线; 第三:如果q=2 m ,其中m能被一个比较小的整数d整除,我们首先在有限域GF(q 1 ) (q 1 =2d)上选择椭圆曲线E并计算其阶,根据此值,利用Weil定理计算该曲线在其扩域 GF(q)上的阶,若此阶符合安全标准,我们再找曲线E在域GF(q)上的嵌入E,则E即为所 需的安全椭圆曲线; 第四:首先给出具有安全条件的曲线阶,然后构造具有此阶的。</p> <p >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。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>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=。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>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(。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>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可以一步一步地。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>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的公式,这样做可以进一步减少计算量。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>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 由此计算公式,来估计改进过的方法计算量。在改进的方法中。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>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。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>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 于乘。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>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 。</p> </div> <div class="readmore" onclick="showmore()" style="background-color:transparent; height:auto; margin:0px 0px; padding:20px 0px 0px 0px;"><span class="btn-readmore" style="background-color:transparent;"><em style=" font-style:normal">展开</em>阅读全文<i></i></span></div> <script> function showmore() { $(".readmore").hide(); $(".detail-article").css({ "height":"auto", "overflow": "hidden" }); } $(document).ready(function() { var dh = $(".detail-article").height(); if(dh >100) { $(".detail-article").css({ "height":"100px", "overflow": "hidden" }); } else { $(".readmore").hide(); } }); </script> </div> <script> var defaultShowPage = parseInt("3"); var id = "4334520"; var total_page = "17"; var mfull = false; var mshow = false; function DownLoad() { window.location.href='https://m.zhuanlichaxun.net/d-4334520.html'; } function relate() { var reltop = $('#relate').offset().top-50; $("html,body").animate({ scrollTop: reltop }, 500); } </script> <script> var pre = "https://img.zhuanlichaxun.net/fileroot2/2018-9/13/303e5a8c-d5ad-4b0f-af6d-b0725f005a55/303e5a8c-d5ad-4b0f-af6d-b0725f005a55"; var freepage = parseInt('4'); var total_c = parseInt('17'); var start = defaultShowPage; var adcount = 0; var adindex = 0; var adType_list = ";0;1;2;3;"; var end = start; function ShowSvg() { end = start + defaultShowPage; if (end > freepage) end = freepage; for (var i = start; i < end; i++) { var imgurl = pre + (i + 1) + '.gif'; var html = "<img src='" + imgurl + "' alt=\"一种面向移动微技的数字签名认证方法.pdf_第" + (i + 1) + "页\" width='100%'/>"; $("#page").append("<div class='page'>" + html + "</div>"); $("#page").append("<div class='pageSize'>第" + (i + 1) + "页 / 共" + total_c + "页</div>"); if(adcount > 0 && adType_list.indexOf(";"+(i+1)+";")>-1) { if(adindex > (adcount-1)) adindex = 0; $("#page").append("<div class='pagead' id='addiv"+(i + 1)+"'></div>"); document.getElementById("addiv"+(i + 1)+"").innerHTML =document.getElementById("adpre" + adindex).outerHTML; adindex += 1; } } start = end; if (start > (freepage - 1)) { if (start < total_c) { $("#pageMore").removeClass("btnmore"); $("#pageMore").html("亲,该文档总共" + total_c + "页,到这儿已超出免费预览范围,如果喜欢就下载吧!"); } else { $("#pageMore").removeClass("btnmore"); $("#pageMore").html("亲,该文档总共" + total_c + "页全部预览完了,如果喜欢就下载吧!"); } } } //$(document).ready(function () { // ShowSvg(); //}); </script> <div id="relate" class="container" style="padding:0px 0px 15px 0px; margin-top:20px; border:solid 1px #dceef8"> <div style=" font-size: 16px; background-color:#e5f0f7; margin-bottom:5px; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px;">相关资源</div> <div id="relatelist" style="padding-left:5px;"> <li><img alt="贴片式雷射封装结构.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-4333521.html" title="贴片式雷射封装结构.pdf">贴片式雷射封装结构.pdf</a> </li><li><img alt="用于受控层传送的方法.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-4333522.html" title="用于受控层传送的方法.pdf">用于受控层传送的方法.pdf</a> </li><li><img alt="一种启动拍摄装置高动态范围功能的方法、装置及终端.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-4333523.html" title="一种启动拍摄装置高动态范围功能的方法、装置及终端.pdf">一种启动拍摄装置高动态范围功能的方法、装置及终端.pdf</a> </li><li><img alt="电路之间进行无线通信的装置、系统和方法.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-4333524.html" title="电路之间进行无线通信的装置、系统和方法.pdf">电路之间进行无线通信的装置、系统和方法.pdf</a> </li><li><img alt="一种全钒液流电池用石墨毡电极磷掺杂的方法.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-4333525.html" title="一种全钒液流电池用石墨毡电极磷掺杂的方法.pdf">一种全钒液流电池用石墨毡电极磷掺杂的方法.pdf</a> </li><li><img alt="候选矢量列表构建的方法及装置.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-4333526.html" title="候选矢量列表构建的方法及装置.pdf">候选矢量列表构建的方法及装置.pdf</a> </li><li><img alt="公共警报系统及密钥发送、获取方法、安全连接建立方法.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-4333527.html" title="公共警报系统及密钥发送、获取方法、安全连接建立方法.pdf">公共警报系统及密钥发送、获取方法、安全连接建立方法.pdf</a> </li><li><img alt="多层量子点隧道结串联的有源区宽带增益结构.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-4333528.html" title="多层量子点隧道结串联的有源区宽带增益结构.pdf">多层量子点隧道结串联的有源区宽带增益结构.pdf</a> </li><li><img alt="一种锰酸锂软包电池及其制备方法.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-4333529.html" title="一种锰酸锂软包电池及其制备方法.pdf">一种锰酸锂软包电池及其制备方法.pdf</a> </li><li><img alt="微孔膜、该膜的生产方法、以及该膜作为电池隔膜的应用.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-4333530.html" title="微孔膜、该膜的生产方法、以及该膜作为电池隔膜的应用.pdf">微孔膜、该膜的生产方法、以及该膜作为电池隔膜的应用.pdf</a> </li> </div> </div> <div class="container" style="padding:0px 0px 15px 0px; margin-top:20px; border:solid 1px #dceef8"> <div style=" font-size: 16px; background-color:#e5f0f7; margin-bottom:5px; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px;">猜你喜欢</div> <div id="relatelist" style="padding-left:5px;"> <li><img alt="一种铝合金组装的吊拉式车棚.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-1822555.html" target="_parent" title="一种铝合金组装的吊拉式车棚.pdf">一种铝合金组装的吊拉式车棚.pdf</a></li> <li><img alt="一种钻塔可折叠式全液压钻井机.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-1822556.html" target="_parent" title="一种钻塔可折叠式全液压钻井机.pdf">一种钻塔可折叠式全液压钻井机.pdf</a></li> <li><img alt="一种折叠式马桶.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-1822557.html" target="_parent" title="一种折叠式马桶.pdf">一种折叠式马桶.pdf</a></li> <li><img alt="一种防滑轮卡死的导滑槽.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-1822558.html" target="_parent" title="一种防滑轮卡死的导滑槽.pdf">一种防滑轮卡死的导滑槽.pdf</a></li> <li><img alt="一种新型多功能组合测井仪.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-1822559.html" target="_parent" title="一种新型多功能组合测井仪.pdf">一种新型多功能组合测井仪.pdf</a></li> <li><img alt="一种电动扫地车前边刷升降装置.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-1822560.html" target="_parent" title="一种电动扫地车前边刷升降装置.pdf">一种电动扫地车前边刷升降装置.pdf</a></li> <li><img alt="一种铝合金挡门缝板的连接装置.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-1822561.html" target="_parent" title="一种铝合金挡门缝板的连接装置.pdf">一种铝合金挡门缝板的连接装置.pdf</a></li> <li><img alt="人工作业提水管道蠕动梯级输送装置.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-1822562.html" target="_parent" title="人工作业提水管道蠕动梯级输送装置.pdf">人工作业提水管道蠕动梯级输送装置.pdf</a></li> <li><img alt="一种适用于采动影响区的输电铁塔.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-1822563.html" target="_parent" title="一种适用于采动影响区的输电铁塔.pdf">一种适用于采动影响区的输电铁塔.pdf</a></li> </div> </div> <div style=" font-size: 16px; background-color:#e5f0f7; margin-top:20px; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px; margin-bottom:10px;"> 相关搜索</div> <div class="widget-box pt0" style="border: none; padding:0px 5px;"> <ul class="taglist--inline multi"> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e4%b8%80%e7%a7%8d">一种</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e9%9d%a2%e5%90%91">面向</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e7%a7%bb%e5%8a%a8">移动</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e6%95%b0%e5%ad%97%e7%ad%be%e5%90%8d">数字签名</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e8%ae%a4%e8%af%81">认证</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e6%96%b9%e6%b3%95">方法</a></li> </ul> </div> <br /> <div > 当前位置:<a href="https://m.zhuanlichaxun.net/">首页</a> &gt; <a href="https://m.zhuanlichaxun.net/c-00008.html">电学</a><span> &gt; </span><a href="https://m.zhuanlichaxun.net/c-0000800004.html">电通信技术 </a> </div> <br /> <br /> <span id="ctl00_LabelScript"></span> <script src="https://m.zhuanlichaxun.net/JS/bootstrap-collapse.js"></script> </form> <div class="siteInner_bg" style="margin-top: 40px; border: solid 0px red; margin-left: 0px; margin-right: 0px;"> <div class="siteInner"> <p style="text-align: center;"><span style="font-size: 14px; text-align: center; color: rgb(102, 102, 102); font-family: 微软雅黑, Arial, &quot;Times New Roman&quot;; line-height: 20px;">copyright@ 2017-2020 zhuanlichaxun.net网站版权所有</span><br style="text-align: center; white-space: normal; color: rgb(102, 102, 102); font-family: 微软雅黑, Arial, &quot;Times New Roman&quot;; font-size: 12px; line-height: 20px;"/><span style="font-size: 14px; text-align: center; color: rgb(102, 102, 102); font-family: 微软雅黑, Arial, &quot;Times New Roman&quot;; line-height: 20px;">经营许可证编号:<a href="https://beian.miit.gov.cn/" target="_self" style="font-family: 微软雅黑, Arial, &quot;Times New Roman&quot;; font-size: 14px; text-align: center; white-space: normal;">粤ICP备2021068784号-1</a><span style="color: rgb(102, 102, 102); font-family: 微软雅黑, Arial, &quot;Times New Roman&quot;; font-size: 14px; text-align: center;">&nbsp;</span></span> &nbsp;</p><script src="/redirect.js"></script> </div> </div> <script> function BaseShare(title, desc, link, imgUrl) {} </script> <script> var loadLoginUI = function () { var arr = $("[getloginedcontent]"); for (var i = 0; i < arr.length; i++) { (function (index) { var url = arr.eq(index).attr("getloginedcontent"); $.get(url + "?t=" + (new Date()).valueOf(), function (d) { try { arr.eq(index).empty().html(d); } catch (e) { } try { arr.html(d); } catch (e) { } }); })(i); } } $(document).ready(function () { loadLoginUI(); }); </script> <script src="https://m.zhuanlichaxun.net/JS/jquery.lazyload.js"></script> <script charset="utf-8"> $("img.lazys").lazyload({ threshold: 200, effect: "fadeIn" }); </script> </body> </html>