专利摘要
专利摘要
本发明属于体域网技术领域,提供了一种基于椭圆曲线算法的加解密方法及系统,所述方法包括:在采集节点B,根据输入的生理信息m,生成数字签名S、生理信息的对称加密密文Fk(m)和对称密钥K;对对称密钥K进行基于二进制的拆分,K=K1K2,并以拆分得到的对称密钥K1和K2为依据进行基于椭圆曲线算法的加密操作,得到重新组合后的密钥密文CK;将包含数字签名S、密文Fk(m)和重新组合后的密钥密文CK在内的数据发送给汇聚节点A,该方法既实现对生理信息的加密,又能提升混合加密算法的效率。
权利要求
1.一种基于椭圆曲线算法的加解密方法,其特征在于,所述方法包括下述步骤:
在采集节点B,根据输入的生理信息m,生成数字签名S、所述生理信息的对称加密密文Fk(m)和对称密钥K;
对所述对称密钥K进行基于二进制的拆分,K=K1K2,并以拆分得到的对称密钥K1和K2为依据进行基于椭圆曲线算法的加密操作,得到重新组合后的密钥密文CK;
将包含所述数字签名S、密文Fk(m)和重新组合后的密钥密文CK在内的数据发送给汇聚节点A。
2.根据权利要求1所述的基于椭圆曲线算法的加解密方法,其特征在于,对所述对称密钥K进行基于二进制的拆分,K=K1K2,并以拆分得到的对称密钥K1和K2为依据进行基于椭圆曲线算法的加密操作,得到重新组合后的密钥密文CK的步骤具体包括下述步骤:
对所述对称密钥K进行基于二进制的拆分,K=K1K2;
随机选取随机数r1,计算共享密钥x1,然后基于共享密钥x1和基于所述椭圆曲线算法,生成拆分后的密钥K1所对应的密钥密文CK1;
随机选取随机数r2,计算共享密钥x2,然后基于共享密钥x2和基于所述椭圆曲线算法,生成拆分后的密钥K2所对应的密钥密文CK2;
将所述密钥密文CK1和密钥密文CK2进行线性组合,生成重新组合后的密钥密文 其中,A、B为正整数。
3.根据权利要求2所述的基于椭圆曲线算法的加解密方法,其特征在于,对所述对称密钥K进行基于二进制的拆分的步骤具体包括下述步骤:
在采集节点B,随机选取正整数r和s,其中,r+s=N;
将所述对称密钥K换算为二进制形式,即:K1=k1k2…kr,K2=kr+1kr+2…kN;
其中,K=K1K2。
4.根据权利要求3所述的基于椭圆曲线算法的加解密方法,其特征在于,所述采集节点B发送给所述汇聚节点A的数据中还包含有参数R,其中,R=rP,P为椭圆曲线的一个基点。
5.根据权利要求4所述的基于椭圆曲线算法的加解密方法,其特征在于,所述方法还包括下述步骤:
在汇聚节点A,对所述数字签名S进行验证;
当验证通过时,所述汇聚节点A对所述接收到的参数R进行密钥的计算,得到汇聚节点A和采集节点B的共享密钥x1,x2;
根据重新组合后的密钥密文CK,计算所述密钥密文组合计算式中的斜率参数A和B,且(A,B)=1;
利用共享密钥x1,x2和椭圆曲线算法对所述密钥密文CK1和密钥密文CK2进行解密操作,获得拆分的对称密钥K1和K2;
根据K=K1K2,还原获取对称密钥K;
依据获取到的所述对称密钥K对所述密文Fk(m)进行解密,获取所述生理信息m。
6.一种基于椭圆曲线算法的加解密系统,其特征在于,所述系统包括:
生理信息采集处理模块,用于在采集节点B,根据输入的生理信息m,生成数字签名S、所述生理信息的对称加密密文Fk(m)和对称密钥K;
对称密钥拆分加密模块,用于对所述对称密钥K进行基于二进制的拆分,K=K1K2,并以拆分得到的对称密钥K1和K2为依据进行基于椭圆曲线算法的加密操作,得到重新组合后的密钥密文CK;
加密数据发送模块,用于将包含所述数字签名S、密文Fk(m)和重新组合后的密钥密文CK在内的数据发送给汇聚节点A。
7.根据权利要求6所述的基于椭圆曲线算法的加解密系统,其特征在于,所述对称密钥拆分加密模块具体包括:
对称密钥拆分模块,用于对所述对称密钥K进行基于二进制的拆分,K=K1K2;
第一密钥密文生成模块,用于随机选取随机数r1,计算共享密钥x1,然后基于共享密钥x1和基于所述椭圆曲线算法,生成拆分后的密钥K1所对应的密钥密文CK1;
第二密钥密文生成模块,用于随机选取随机数r2,计算共享密钥x2,然后基于共享密钥x2和基于所述椭圆曲线算法,生成拆分后的密钥K2所对应的密钥密文CK2;
线性组合模块,用于将所述密钥密文CK1和密钥密文CK2进行线性组合,生成重新组合后的密钥密文 其中,A、B为正整数。
8.根据权利要求7所述的基于椭圆曲线算法的加解密系统,其特征在于,所述对称密钥拆分模块具体包括:
随机选取模块,用于在采集节点B,随机选取正整数r和s,其中,r+s=N;
二进制换算模块,用于将所述对称密钥K换算为二进制形式,即:K1=k1k2…kr,K2=kr+1kr+2…kN;
其中,K=K1K2。
9.根据权利要求8所述的基于椭圆曲线算法的加解密系统,其特征在于,所述采集节点B发送给所述汇聚节点A的数据中还包含有参数R,其中,R=rP,P为椭圆曲线的一个基点。
10.根据权利要求6所述的基于椭圆曲线算法的加解密系统,其特征在于,所述系统还包括解密模块,所述解密模块具体包括:
签名验证模块,用于对所述数字签名S进行验证;
共享密钥计算模块,用于当验证通过时,所述汇聚节点A对所述接收到的参数R进行密钥的计算,得到汇聚节点A和采集节点B的共享密钥x1,x2;
斜率参数计算模块,用于根据重新组合后的密钥密文CK,计算所述密钥密文组合计算式中的斜率参数A和B,且(A,B)=1;
密钥密文解密模块,用于利用共享密钥x1,x2和椭圆曲线算法对所述密钥密文CK1和密钥密文CK2进行解密操作,获得拆分的对称密钥K1和K2;
对称密钥还原模块,用于根据K=K1K2,还原获取对称密钥K;
生理信息获取模块,用于依据获取到的所述对称密钥K对所述密文Fk(m)进行解密,获取所述生理信息m。
说明书
技术领域
本发明涉及体域网技术领域,具体涉及一种基于椭圆曲线算法的加解密方法及系统。
背景技术
无线体域网是由一些放置在人体表面或者植入人体内部的传感器以及一些可移动终端所组成的以人体为中心的网络。该网络中传输的数据多为患者的生理信息,关系到患者的生命安全。由于无线信道的开放性,整个体域网中信息的交互很容易受到非法攻击,而体域网信息具有高度敏感性,一旦生理数据的正确性受到影响,将会导致不可预知的严重后果。因此要采用相关的加密算法来保证通信的安全。
由于体域网资源有限性,更多地采用对称加密算法和非对称的椭圆曲线加密算法相结合的混合加密算法,但是椭圆曲线加密算法为非对称加密算法,其计算量较大,导致整个混合加密算法效率较低,不利于整个混合加密算法在体域网中推广应用。
发明内容
针对现有技术中的缺陷,本发明提供既能实现对生理信息的加密,又能提升效率的基于椭圆曲线算法的加解密方法。
本发明是这样实现的,一种基于椭圆曲线算法的加解密方法,所述方法包括下述步骤:
在采集节点B,根据输入的生理信息m,生成数字签名S、所述生理信息的对称加密密文Fk(m)和对称密钥K;
对所述对称密钥K进行基于二进制的拆分,K=K1K2,并以拆分得到的对称密钥K1和K2为依据进行基于椭圆曲线算法的加密操作,得到重新组合后的密钥密文CK;
将包含所述数字签名S、密文Fk(m)和重新组合后的密钥密文CK在内的数据发送给汇聚节点A。
作为一种改进的方案,所述对所述对称密钥K进行基于二进制的拆分,K=K1K2,并以拆分得到的对称密钥K1和K2为依据进行基于椭圆曲线算法的加密操作,得到重新组合后的密钥密文CK的步骤具体包括下述步骤:
对所述对称密钥K进行基于二进制的拆分,K=K1K2;
随机选取随机数r1,计算共享密钥x1,然后基于共享密钥x1和基于所述椭圆曲线算法,生成拆分后的密钥K1所对应的密钥密文CK1;
随机选取随机数r2,计算共享密钥x2,然后基于共享密钥x2和基于所述椭圆曲线算法,生成拆分后的密钥K2所对应的密钥密文CK2;
将所述密钥密文CK1和密钥密文CK2进行线性组合,生成重新组合后的密钥密文 其中,A、B为正整数。
作为一种改进的方案,所述对所述对称密钥K进行基于二进制的拆分的步骤具体包括下述步骤:
在采集节点B,随机选取正整数r和s,其中,r+s=N;
将所述对称密钥K换算为二进制形式,即:K1=k1k2…kr,K2=kr+1kr+2…kN;
其中,K=K1K2。
作为一种改进的方案,所述采集节点B发送给所述汇聚节点A的数据中还包含有参数R,其中,R=rP,P为椭圆曲线的一个基点。
作为一种改进的方案,所述方法还包括下述步骤:
对所述数字签名S进行验证;
当验证通过时,所述汇聚节点A对所述接收到的参数R进行密钥的计算,得到汇聚节点A和采集节点B的共享密钥x1,x2;
根据重新组合后的密钥密文CK,计算所述密钥密文组合计算式中的斜率参数A和B,且(A,B)=1;
利用共享密钥x1,x2和椭圆曲线算法对所述密钥密文CK1和密钥密文CK2进行解密操作,获得拆分的对称密钥K1和K2;
根据K=K1K2,还原获取对称密钥K;
依据获取到的所述对称密钥K对所述密文Fk(m)进行解密,获取所述生理信息m。
本发明的另一目的在于提供一种基于椭圆曲线算法的加解密系统,所述系统包括:
生理信息采集处理模块,用于在采集节点B,根据输入的生理信息m,生成数字签名S、所述生理信息的对称加密密文Fk(m)和对称密钥K;
对称密钥拆分加密模块,用于对所述对称密钥K进行基于二进制的拆分,K=K1K2,并以拆分得到的对称密钥K1和K2为依据进行基于椭圆曲线算法的加密操作,得到重新组合后的密钥密文CK;
加密数据发送模块,用于将包含所述数字签名S、密文Fk(m)和重新组合后的密钥密文CK在内的数据发送给汇聚节点A。
作为一种改进的方案,所述对称密钥拆分加密模块具体包括:
对称密钥拆分模块,用于对所述对称密钥K进行基于二进制的拆分,K=K1K2;
第一密钥密文生成模块,用于随机选取随机数r1,计算共享密钥x1,然后基于共享密钥x1和基于所述椭圆曲线算法,生成拆分后的密钥K1所对应的密钥密文CK1;
第二密钥密文生成模块,用于随机选取随机数r2,计算共享密钥x2,然后基于共享密钥x2和基于所述椭圆曲线算法,生成拆分后的密钥K2所对应的密钥密文CK2;
线性组合模块,用于将所述密钥密文CK1和密钥密文CK2进行线性组合,生成重新组合后的密钥密文 其中,A、B为正整数。
作为一种改进的方案,所述对称密钥拆分模块具体包括:
随机选取模块,用于在采集节点B,随机选取正整数r和s,其中,r+s=N;
二进制换算模块,用于将所述对称密钥K换算为二进制形式,即:K1=k1k2…kr,K2=kr+1kr+2…kN;
其中,K=K1K2。
作为一种改进的方案,所述采集节点B发送给所述汇聚节点A的数据中还包含有参数R,其中,R=rP,P为椭圆曲线的一个基点。
作为一种改进的方案,所述系统还包括解密模块,所述解密模块具体包括:
签名验证模块,用于对所述数字签名S进行验证;
共享密钥计算模块,用于当验证通过时,所述汇聚节点A对所述接收到的参数R进行密钥的计算,得到汇聚节点A和采集节点B的共享密钥x1,x2;
斜率参数计算模块,用于根据重新组合后的密钥密文CK,计算所述密钥密文组合计算式中的斜率参数A和B,且(A,B)=1;
密钥密文解密模块,用于利用共享密钥x1,x2和椭圆曲线算法对所述密钥密文CK1和密钥密文CK2进行解密操作,获得拆分的对称密钥K1和K2;
对称密钥还原模块,用于根据K=K1K2,还原获取对称密钥K;
生理信息获取模块,用于依据获取到的所述对称密钥K对所述密文Fk(m)进行解密,获取所述生理信息m。
在本发明实施例中,在采集节点B,根据输入的生理信息m,生成数字签名S、生理信息的对称加密密文Fk(m)和对称密钥K;对对称密钥K进行基于二进制的拆分,K=K1K2,并以拆分得到的对称密钥K1和K2为依据进行基于椭圆曲线算法的加密操作,得到重新组合后的密钥密文CK;将包含数字签名S、密文Fk(m)和重新组合后的密钥密文CK在内的数据发送给汇聚节点A,既实现对生理信息的加密,又能提升混合加密算法的效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明提供的基于椭圆曲线算法的加解密方法的实现流程图;
图2为本发明提供的对所述对称密钥K进行基于二进制的拆分,K=K1K2,并以拆分得到的对称密钥K1和K2为依据进行基于椭圆曲线算法的加密操作,得到重新组合后的密钥密文CK的实现流程图;
图3为本发明提供的基于椭圆曲线算法的解密方法的实现流程图;
图4为本发明提供的基于椭圆曲线算法的加解密系统的结构框图;
图5为本发明提供的解密模块的结构框图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
图1示出了本发明提供的基于椭圆曲线算法的加解密方法的实现流程图,其具体包括下述步骤:
在步骤S101中,在采集节点B,根据输入的生理信息m,生成数字签名S、所述生理信息的对称加密密文Fk(m)和对称密钥K。
在该步骤中,选定素数域Fq上的一条椭圆曲线Ep(a,b),椭圆曲线上的一个基点P和其素数阶n,节点A,B的私钥分别是dA,dB,发送生理信息为m,节点A,B的公钥分别为QA,QB,由下式算的:QA=dAP,QB=dBP,以上为A和B公钥的生成。
然后,采集节点B由生理信息m生成对称密钥K和消息摘要,且产生随机数r并利用汇聚节点A的公钥QA计算共享密钥x(R=rP);
(x,y)=rQA=rdAP=RdA。
同时,利用对称密钥生成器生成对称密钥K,并利用生成的对称密钥K对生理信息m进行加密,生成对称加密密文Fk(m)。
在该步骤还包括签名算法计算出相应的数字签名S的过程,在此不再赘述。
在步骤S102中,对对称密钥K进行基于二进制的拆分,K=K1K2,并以拆分得到的对称密钥K1和K2为依据进行基于椭圆曲线算法的加密操作,得到重新组合后的密钥密文CK。
其具体的实现如图2所示,在此不再赘述。
在步骤S103中,将包含所述数字签名S、密文Fk(m)和重新组合后的密钥密文CK在内的数据发送给汇聚节点A。
其中,如图2所示,上述步骤S102,对所述对称密钥K进行基于二进制的拆分,K=K1K2,并以拆分得到的对称密钥K1和K2为依据进行基于椭圆曲线算法的加密操作,得到重新组合后的密钥密文CK的步骤具体包括下述步骤:
在步骤S201中,对对称密钥K进行基于二进制的拆分,将对称密钥K分为对称密钥K1和K2,即K=K1K2。
在步骤S202中,随机选取随机数r1,计算共享密钥x1,然后基于共享密钥x1和所述椭圆曲线算法,生成拆分后的密钥K1所对应的密钥密文CK1。
在该步骤中,随机选取随机数r1后,利用汇聚节点A的公钥QA计算汇聚节点A和采集节点B的共享密钥x1,即:
(xi,yi)=riQA=riPdA=RidA。
在步骤S203中,随机选取随机数r2,计算共享密钥x2,然后基于共享密钥x2和所述椭圆曲线算法,生成拆分后的密钥K2所对应的密钥密文CK2。
同上述步骤S202,在此不再赘述。
在步骤S204中,将所述密钥密文CK1和密钥密文CK2进行线性组合,生成重新组合后的密钥密文 其中,A、B为正整数。
在该步骤中,该加法为算数加法。
其中,上述步骤S201具体包括下述步骤:
(1)在采集节点B,随机选取正整数r和s,其中,r+s=N;
(2)将所述对称密钥K换算为二进制形式,即:K1=k1k2…kr,K2=kr+1kr+2…kN;
其中,K=K1K2。
在本发明实施例中,采集节点B发送给所述汇聚节点A的数据中还包含有参数R,其中,R=rP,P为椭圆曲线的一个基点;
在此基础上,如图3所示,基于椭圆曲线算法的解密过程为:
在步骤S301中,对所述数字签名S进行验证。
若验证不通过,则证明密文是错误的,拒绝接收即可。
在步骤S302中,当验证通过时,所述汇聚节点A对所述接收到的参数R进行密钥的计算,得到汇聚节点A和采集节点B的共享密钥x1,x2。
即:(xi,yi)=RidA。
在步骤S303中,根据重新组合后的密钥密文CK,计算所述密钥密文组合计算式中的斜率参数A和B,且(A,B)=1。
在步骤S304中,利用共享密钥x1,x2和椭圆曲线算法对所述密钥密文CK1和密钥密文CK2进行解密操作,获得拆分的对称密钥K1和K2。
在步骤S305中,根据K=K1K2,还原获取对称密钥K。
在步骤S306中,依据获取到的所述对称密钥K对所述密文Fk(m)进行解密,获取所述生理信息m。
在该实施例中,为了从密文CK译出对称密钥K,必须由方程:
Ax+By=CK
解出 和 然后利用已知的x1,x2对 与EK2的解密方法分别译出对称密钥K1和K2,从而得到对称密钥K。
方程Ax+By=CK是一个不定方程,利用Euclid算法,当(A,B)=1,则在一定的时间内可以解出该方程的一个特解(x0,y0)。此时,方程有如下形式的通解:
x=x0+Bt y=y0-At t∈Z
如果已知密文 和 满足条件
则由此可以唯一地且准确地解出 和 从而译出对称密钥K。
图4示出了本发明提供的基于椭圆曲线算法的加解密系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
生理信息采集处理模块11在采集节点B,根据输入的生理信息m,生成数字签名S、所述生理信息的对称加密密文Fk(m)和对称密钥K;
对称密钥拆分加密模块12对所述对称密钥K进行基于二进制的拆分,K=K1K2,并以拆分得到的对称密钥K1和K2为依据进行基于椭圆曲线算法的加密操作,得到重新组合后的密钥密文CK;
加密数据发送模块13将包含所述数字签名S、密文Fk(m)和重新组合后的密钥密文CK在内的数据发送给汇聚节点A。
其中,对称密钥拆分加密模块12具体包括:
对称密钥拆分模块14对所述对称密钥K进行基于二进制的拆分,K=K1K2;
第一密钥密文生成模块15随机选取随机数r1,计算共享密钥x1,然后基于共享密钥x1和基于所述椭圆曲线算法,生成拆分后的密钥K1所对应的密钥密文CK1;
第二密钥密文生成模块16随机选取随机数r2,计算共享密钥x2,然后基于共享密钥x2和基于所述椭圆曲线算法,生成拆分后的密钥K2所对应的密钥密文CK2;
线性组合模块17将所述密钥密文CK1和密钥密文CK2进行线性组合,生成重新组合后的密钥密文 其中,A、B为正整数。
对称密钥拆分模块14具体包括:
随机选取模块18在采集节点B,随机选取正整数r和s,其中,r+s=N;
二进制换算模块19将所述对称密钥K换算为二进制形式,即:K1=k1k2…kr,K2=kr+1kr+2…kN;
其中,K=K1K2。
在本发明实施例中,如图5所示,基于椭圆曲线算法的加解密系统还包括解密模块20,所述解密模块20具体包括:
签名验证模块21,用于对所述数字签名S进行验证;
共享密钥计算模块22,用于当验证通过时,所述汇聚节点A对所述接收到的参数R进行密钥的计算,得到汇聚节点A和采集节点B的共享密钥x1,x2;
斜率参数计算模块23,用于根据重新组合后的密钥密文CK,计算所述密钥密文组合计算式中的斜率参数A和B,且(A,B)=1;
密钥密文解密模块24,用于利用共享密钥x1,x2和椭圆曲线算法对所述密钥密文CK1和密钥密文CK2进行解密操作,获得拆分的对称密钥K1和K2;
对称密钥还原模块25,用于根据K=K1K2,还原获取对称密钥K;
生理信息获取模块26,用于依据获取到的所述对称密钥K对所述密文Fk(m)进行解密,获取所述生理信息m。
其中,上述各个模块的功能如上述方法实施例所记载,在此不再赘述。
在本发明实施例中,在采集节点B,根据输入的生理信息m,生成数字签名S、生理信息的对称加密密文Fk(m)和对称密钥K;对对称密钥K进行基于二进制的拆分,K=K1K2,并以拆分得到的对称密钥K1和K2为依据进行基于椭圆曲线算法的加密操作,得到重新组合后的密钥密文CK;将包含数字签名S、密文Fk(m)和重新组合后的密钥密文CK在内的数据发送给汇聚节点A,既实现对生理信息的加密,又能提升混合加密算法效率,拓宽了适用领域。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
一种基于椭圆曲线算法的加解密方法及系统专利购买费用说明
Q:办理专利转让的流程及所需资料
A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。
1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。
2:按规定缴纳著录项目变更手续费。
3:同时提交相关证明文件原件。
4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。
Q:专利著录项目变更费用如何缴交
A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式
Q:专利转让变更,多久能出结果
A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。
动态评分
0.0