基于陷门哈希函数的无证书签密系统及方法与流程

专利2022-06-29  110


本发明属于签密技术领域,更具体地,本发明涉及一种基于陷门哈希函数的无证书签密系统及方法。



背景技术:

现有的数字签密方案大多基于双线性映射和乘法群上的指数运算,现有的签密方法存在计算开销大、存储效率低的不足的问题,有文献指出:1次乘法群上的指数运算的时间大约相当于10次椭圆曲线点乘运算,1次512位的双线性对运算的时间大约相当于10倍的1024位指数运算。



技术实现要素:

本发明提供一种基于陷门哈希函数的无证书签密系统,基于椭圆曲线密码体制和陷门哈希函数的陷门碰撞来进行签密和解签,很大程度上提高签密的计算速度和存储效率。

为了实现上述目的,本发明提供一种基于陷门哈希函数的无证书签密系统,该系统具体包括:

发送端及接收端,与发送端及接收端通讯连接的密钥生成中心kgc,发送端集成有签密单元,接收端集成有解签单元;

密钥生成中心kgc分别计算接收端及发送端的部分公钥及部分私钥,并分别返回至发送端及接收端,用于生成公钥及私钥;

签密单元基于发送端的私钥和接收端的公钥对发送端待发送的数据进行签密,生成的签密数据,并发送至接收端,接收端的解签单元对接收的签密数据进行解签,获取发送端发送的数据;

签密单元基于椭圆曲线及陷门哈希函数对发送数据进行签密,解密单元基于椭圆曲线及陷门哈希函数来对签密进行解签。

为了实现上述目的,本发明提供一种基于陷门哈希函数的无证书签密方法,所述方法具体包括如下步骤:

s1、发送端idi及接收端idj分别随机获取秘密值,基于秘密值计算公开参数,将秘密值及公开参数对发送至密钥生成中心kgc,密钥生成中心kgc将生成的部分公钥及部分私钥分别返回至发送端idi及接收端idj;

s2、发送端idi及接收端idj分别基于部分公钥v及公开参数y形成公钥pk,基于部分私钥β及秘密值y形成私钥sk;

s3、发送端idi接收接收端idj发送的公钥pkj,发送端基于公钥pkj来对待发送数据m进行加密,形成密文c,同时基于陷门哈希函数获取新的哈希辅助参数,基于发送端的私钥生成签名,将签名,密文及新的哈希辅助参数发送至接收端idj;

s4、接收端idj基于基于椭圆曲线及陷门哈希函数对发送端idi发送的签名进行验证,在验证合法后,对密文c进行解密,获取发送者发送的信息m。

进一步的,密文c的形成具体包括如下步骤:

发送方idi随机选择秘密值u,基于秘密值u分别计算加密参数q,q=u(yj vj kphj),hj=w1(idj,yj,vj),其中,(yj,vj)为发送方idj公钥pkj,kp为系统公钥,hj为哈希函数,为整数;

基于加密参数生成密文c,表达式为:其中,表示异或运算。

进一步的,密文签名的形成具体如下:

基于秘密值u计算部分签名r,表达式为:r=u·p,其中,

输入系统参数param,用户idi及公开参数yi,随机选取哈希辅助参数r,计算陷门哈希值

根据陷门碰撞thyi(idi,r)=thr(c,r′),且thr(c,r′)=w2(c,r)r-r′p,计算新的哈希辅助参数r′=uw2(c,r)-yiw2(idi,yi) r;

令h=w4(idi,ti,r′),计算部分签名k=u-(yi βi)hmodq;

部分签名k及部分签名r即构成密文的签名。

进一步的,签名的验证具体包括如下步骤:

计算hi=w1(idi,yi,vi),h=w4(idi,ti,r′);

验证是否满足等式(1),若满足,则接受该签名,并对密文进行解密,若不满足,否则拒绝该签名,等式(1)的表达式具体如下:

kp (yi vi kphi)h=r(1)

进一步的,计算解密参数q′,解密参数的计算表达式为:q′=(yj βj)r,基于解密参数对加密数据进行解密,获取解密明文

本发明提供的基于陷门哈希函数的无证书签密系统具有如下有益效果:

1)陷门哈希函数基于椭圆曲线密码体制构建,相比较于现有的大多基于双线性映射和乘法群上的指数运算的数字签密方案,计算开销更小、存储效率更高;2)无证书签密方法以双陷门哈希函数为基础,而双陷门哈希函数具有抗密钥泄露,安全性更强;3)无证书签密方法以双陷门哈希函数和椭圆曲线密码体制为基础,同时具备安全和高效的优势,适合计算资源和存储资源有限的安全传输的应用场景;4)系统初始化产生的公开参数被陷门哈希函数和签密共享,两种密码方法在同一套系统参数下实现,体现高效性。

附图说明

图1为本发明实施例提供的基于陷门哈希函数的无证书签密系统的结构示意图;

图2为本发明实施例提供的基于陷门哈希函数的无证书签密方法流程图。

具体实施方式

下面对照附图,通过对实施例的描述,对本发明的具体实施方式作进一步详细的说明,以帮助本领域的技术人员对本发明的发明构思、技术方案有更完整、准确和深入的理解。

密钥生成中心kgc为可信第三方,密钥生成中心kgc选择两个大素数p和q,设e(fp)是有限域fp上的椭圆曲线y2=x3 ax bmodp,其中,a,b∈fp且4a3 27b2≠0。g是e(fp)的一个循环子群,p是g的一个q阶生成元,w1,w2,w3及w4安全无碰撞散列函数,随机选择作为签密系统主密钥,则系统公钥为kp=αp,kgc秘密保存签密系统主密钥α,输出系统参数param=<g,p,q,kp,w1,w2,w3,w4>,表示整数。

图1为本发明实施例提供的基于陷门哈希函数的无证书签密系统的结构示意图,为了便于说明,仅示出与本发明实施例相关的部分。

该系统具体包括:

发送端及接收端,与发送端及接收端通讯连接的密钥生成中心kgc,发送端集成有签密单元,接收端集成有解签单元;

密钥生成中心kgc分别计算对应的部分公钥及部分私钥,并分别返回至发送端及接收端,发送端及接收端分别生成公钥及私钥;

签密单元基于发送端的私钥和接收端的公钥对发送端待发送的数据进行签名及加密,生成的签密数据,并发送至接收端,接收端的解签单元对接收的签密数据进行解签,即对签名进行验证,验证通过后进行解密,获取发送端发送的数据;

签密单元基于椭圆曲线及陷门哈希函数来对发送数据进行签密,解密单元基于椭圆曲线及陷门哈希函数来对签密进行解签。

图2为本发明实施例提供的基于陷门哈希函数的无证书签密方法流程图,该方法具体包括如下步骤:

s1、发送端idi及接收端idj分别接收密钥生成中心kgc返回的部分公钥v及部分私钥β,基于部分公钥v及公开参数y形成公钥,基于部分私钥β及秘密值y形成私钥;

在本发明实施例中,发送端idi随机选择秘密值yi,基于秘密值yi计算公开参数yi=yip,并将秘密值-公开参数对(yi,yi)发送至密钥生成中心kgc,密钥生成中心kgc随机选取的秘密值si,基于秘密值si来计算发送端的部分公钥vi及部分私钥βi,并返回至发送端,形成发送端的公钥pki及私钥ski,公钥pki及私钥ski分别为:pki=(yi,vi),ski=(yi,βi),部分公钥vi及部分私钥βi计算公式具体如下所示:

vi=si·p;

βi=si αw1(idi,yi,vi);

接收端idj随机选择秘密值yj,基于秘密值yj计算公开参数yj=yjp,并将秘密值-公开参数对(yj,yj)发送至密钥生成中心kgc,密钥生成中心kgc随机选取的秘密值sj,基于秘密值sj来计算接收端的部分公钥vj及部分私钥βj,并返回至接收端,形成接收端的公钥pkj及私钥skj,公钥pkj及私钥skj分别为:pkj=(yj,vj),skj=(yj,βj),部分公钥vj及部分私钥βj计算公式具体如下所示:

vj=sj·p;

βj=sj αw1(idj,yj,vj)

s2、发送端idi接收接收端idj发送的公钥pkj,发送端基于公钥pkj来对待发送数据m进行加密,形成密文c,同时基于陷门哈希函数获取新的哈希辅助参数,基于发送端的私钥生成签名,将签名,密文及新的哈希辅助参数发送至接收端idj;

在本发明实施例中,密文c的形成具体包括如下步骤:

发送方idi随机选择秘密值u,基于秘密值u分别计算部分签名r及加密参数q,其计算公式具体如下:

r=u·p;

q=u(yj vj kphj);

hj=w1(idj,yj,vj);

密文c的计算公式具体如下:其中,表示异或运算,kp表示系统公钥,

在本发明实施例中,密文签名的形成具体如下:

输入系统参数param,用户idi及公开参数yi,随机选取哈希辅助参数r,计算陷门哈希值根据陷门碰撞表示以yi为哈希密钥的陷门哈希值,thr(c,′r)表示以r为哈希密钥的陷门哈希值,thr(c,r′)=w2(c,r)r-r′p,新的哈希辅助参数r′=uw2(c,r)-yiw2(idi,yi) r,令h=w4(idi,ti,r′),计算部分签名k=u-(yi βi)hmodq,部分签名k及部分签名r即构成密文签名,密文及签名构成签密文σ=(r,k,c)。

陷门哈希碰撞的正确性验证如下:

w2(idi,yi)yi-rp=w2(c,r)r-r′p

yiw2(idi,yi)-r=uw2(c,r)-r′

r′=uw2(c,r)-yiw2(idi,yi) r

s4、接收端idj基于椭圆曲线及陷门哈希函数对发送端idi发送的签名进行验证,在验证合法后,对密文进行解密,获取发送者发送的信息m。

在本发明实施例中,签名的验证具体包括如下步骤:

计算hi=w1(idi,yi,vi),h=w4(idi,ti,r′),hi及h均表示哈希函数,验证是否满足等式(1),若满足,则接受该签名,并对密文进行解密,若不满足,否则拒绝该签名,等式(1)的表达式具体如下:

kp (yi vi kphi)h=r(1)

签名验证的正确性具体如下:

kp (yi vi kphi)h

=(u-(yi βi)h)p (yi vi kphi)h

=up-(yi si αhi)hp (yi vi kphi)h

=up-(yi vi kphi)h (yi vi kphi)

=up

=r

在本发明实施例中,密文c的解密过程具体如下:

计算解密参数q′,q′=(yj βj)r,基于解密参数对密文c进行解密,获取解密明文q′=(yj βj)r=q,密文解密的正确性验证:q′=(yj βj)r=(yj sj αhj)up=(yj vj kphj)u=q

本发明提供的基于陷门哈希函数的无证书签密系统具有如下有益效果:

1)陷门哈希函数基于椭圆曲线密码体制构建,相比较于现有的大多基于双线性映射和乘法群上的指数运算的数字签密方案,计算开销更小、存储效率更高;2)无证书签密方法以双陷门哈希函数为基础,而双陷门哈希函数具有抗密钥泄露,安全性更强;3)无证书签密方法以双陷门哈希函数和椭圆曲线密码体制为基础,同时具备安全和高效的优势,适合计算资源和存储资源有限的安全传输的应用场景;4)系统初始化产生的公开参数被陷门哈希函数和签密共享,两种密码方法在同一套系统参数下实现,体现高效性。

上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。


技术特征:

1.一种基于陷门哈希函数的无证书签密系统,其特征在于,该系统具体包括:

发送端及接收端,与发送端及接收端通讯连接的密钥生成中心kgc,发送端集成有签密单元,接收端集成有解签单元;

密钥生成中心kgc分别计算接收端及发送端的部分公钥及部分私钥,并分别返回至发送端及接收端,用于生成公钥及私钥;

签密单元基于发送端的私钥和接收端的公钥对发送端待发送的数据进行签密,生成的签密数据,并发送至接收端,接收端的解签单元对接收的签密数据进行解签,获取发送端发送的原始数据;

签密单元基于椭圆曲线及陷门哈希函数对发送数据进行签密,解密单元基于椭圆曲线及陷门哈希函数来对签密进行解签。

2.基于权利要求1所述基于陷门哈希函数的无证书签密系统的基于陷门哈希函数的无证书签密方法,其特征在于,所述方法具体包括如下步骤:

s1、发送端idi及接收端idj分别随机获取秘密值,基于秘密值计算公开参数,将秘密值及公开参数对发送至密钥生成中心kgc,密钥生成中心kgc将生成的部分公钥及部分私钥分别返回至发送端idi及接收端idj;

s2、发送端idi及接收端idj分别基于部分公钥v及公开参数y形成公钥pk,基于部分私钥β及秘密值y形成私钥sk;

s3、发送端idi接收接收端idj发送的公钥pkj,发送端基于公钥pkj来对待发送数据m进行加密,形成密文c,同时基于陷门哈希函数获取新的哈希辅助参数,基于发送端的私钥生成签名,将签名,密文及新的哈希辅助参数发送至接收端idj;

s4、接收端idj基于椭圆曲线及陷门哈希函数对发送端idi发送的签名进行验证,在验证合法后,对密文c进行解密,获取发送者发送的原始信息m。

3.如权利要求2所述基于陷门哈希函数的无证书签密方法,其特征在于,密文c的形成具体包括如下步骤:

发送方idi随机选择秘密值u,基于秘密值u分别计算加密参数q,q=u(yj vj kphj),hj=w1(idj,yj,vj),其中,(yj,vj)为发送方idj公钥pkj,kp为系统公钥,hj为哈希函数,为整数;

基于加密参数生成密文c,表达式为:其中,表示异或运算。

4.如权利要求3所述基于陷门哈希函数的无证书签密方法,其特征在于,密文签名的形成具体如下:

基于秘密值u计算部分签名r,表达式为:r=u·p,输入系统参数param,用户idi及公开参数yi,随机选取哈希辅助参数r,计算陷门哈希值

根据陷门碰撞且thr(c,r′)=w2(c,r)r-r′p,计算新的哈希辅助参数r′=uw2(c,r)-yiw2(idi,yi) r;

令h=w4(idi,ti,r′),计算部分签名k=u-(yi βi)hmodq;

部分签名k及部分签名r即构成密文的签名。

5.如权利要求2所述基于陷门哈希函数的无证书签密方法,其特征在于,签名的验证具体包括如下步骤:

计算hi=w1(idi,yi,vi),h=w4(idi,ti,r′);

验证是否满足等式(1),若满足,则接受该签名,并对密文进行解密,若不满足,否则拒绝该签名,等式(1)的表达式具体如下:

kp (yi vi kphi)h=r(1)。

6.如权利要求5所述基于陷门哈希函数的无证书签密方法,其特征在于,计算解密参数q′,解密参数的计算表达式为:q′=(yj βj)r,基于解密参数对加密数据进行解密,获取解密明文

技术总结
本发明公开一种基于陷门哈希函数的无证书签密系统及方法,包括如下步骤:发送端及接收端接收密钥生成中心KGC返回的部分公钥及部分私钥;基于部分公钥及部分私钥分别生成公钥及私钥;发送端接收接收端发送的公钥PKj,基于公钥PKj来对待发送数据m进行加密,形成密文C,同时基于陷门哈希碰撞生成新的哈希辅助参数,基于发送端的私钥及新的哈希辅助参数进行签名,将签名,密文及新的哈希辅助参数发送至接收端;接收端基于椭圆曲线密码体制和陷门哈希函数对发送端发送的签名进行验证,在验证合法后,对密文C进行解密,获取发送者发送的原始信息m。相比较于现有的大多基于双线性映射和乘法群上的指数运算的数字签密方案,计算开销更小、存储效率更高。

技术研发人员:束红;齐平;黄永青;蒋剑军;王刚;陈付龙;孙丽萍;谢冬
受保护的技术使用者:铜陵学院
技术研发日:2020.01.17
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-20737.html

最新回复(0)