发明名称 基于身份的门限环签密方法
摘要 一种基于身份的门限环签密方法,包括标准模型下的((1)系统建立、(2)私钥提取、(3)签密、(4)解签密。本发明的方法是在标准模型下构造的,与随机预言模型下设计的方案相比,安全性更好。
申请公布号 CN102694654A 申请公布日期 2012.09.26
申请号 CN201210165402.8 申请日期 2012.05.25
申请人 孙华;王爱民;葛彦强;熊晶;孙虹 发明人 孙华;王爱民;葛彦强;熊晶;孙虹;韩娇红
分类号 H04L9/32(2006.01)I;H04L9/30(2006.01)I 主分类号 H04L9/32(2006.01)I
代理机构 北京同辉知识产权代理事务所(普通合伙) 11357 代理人 赵慧
主权项 1.一种基于身份的门限环签密方法,其特征在于:包括以下步骤:(1)系统建立:随机选取参数,生成系统参数以及相应的主密钥,其中系统参数为公开参数,具体步骤为:令G,G<sub>T</sub>是阶为素数p的循环群,e:G×G→G<sub>T</sub>是一个双线性映射,两个无碰撞的哈希函数<img file="FSA00000723273900011.GIF" wi="365" he="58" />和<img file="FSA00000723273900012.GIF" wi="360" he="60" />将任意长度的身份ID和消息m分别输出长度为n<sub>u</sub>和n<sub>m</sub>的位串;可信第三方随机选取参数α∈Z<sub>p</sub>,生成元g∈G,计算g<sub>1</sub>=g<sup>a</sup>。随机选取参数g<sub>2</sub>,u′,m′∈G,n<sub>u</sub>维向量<img file="FSA00000723273900013.GIF" wi="186" he="64" />n<sub>m</sub>维向量<img file="FSA00000723273900014.GIF" wi="211" he="64" />其中u<sub>i</sub>,m<sub>i</sub>∈<sub>R</sub>G,则系统参数为<maths num="0001"><![CDATA[<math><mrow><mi>param</mi><mo>=</mo><mrow><mo>(</mo><mi>G</mi><mo>,</mo><msub><mi>G</mi><mi>T</mi></msub><mo>,</mo><mi>e</mi><mo>,</mo><mi>g</mi><mo>,</mo><msub><mi>g</mi><mn>1</mn></msub><mo>,</mo><msub><mi>g</mi><mn>2</mn></msub><mo>,</mo><msup><mi>u</mi><mo>&prime;</mo></msup><mo>,</mo><mover><mi>U</mi><mo>^</mo></mover><mo>,</mo><msup><mi>m</mi><mo>&prime;</mo></msup><mo>,</mo><mover><mi>M</mi><mo>^</mo></mover><mo>,</mo><msub><mi>H</mi><mi>u</mi></msub><mo>,</mo><msub><mi>H</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>主密钥为<img file="FSA00000723273900016.GIF" wi="217" he="53" />(2)私钥提取:输入系统参数、主密钥和用户的身份,获得该用户身份的私钥,具体步骤为:给定用户身份ID,通过哈希函数u=H<sub>u</sub>(ID)计算得到代表用户身份的长度为n<sub>u</sub>的位串,令u[i]表示该位串中的第i位,定义位串中数值为1的序号集合Φ<sub>ID</sub>;随机选取参数r<sub>u</sub>∈Z<sub>p</sub>,计算用户身份为ID的私钥<maths num="0002"><![CDATA[<math><mrow><msub><mi>d</mi><mi>ID</mi></msub><mo>=</mo><mrow><mo>(</mo><msub><mi>d</mi><mn>1</mn></msub><mo>,</mo><msub><mi>d</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><msubsup><mi>g</mi><mn>2</mn><mi>&alpha;</mi></msubsup><msup><mrow><mo>(</mo><msup><mi>u</mi><mo>&prime;</mo></msup><munder><mi>&Pi;</mi><mrow><mi>i</mi><mo>&Element;</mo><msub><mi>&Phi;</mi><mi>ID</mi></msub></mrow></munder><msub><mi>u</mi><mi>i</mi></msub><mo>)</mo></mrow><msub><mi>r</mi><mi>u</mi></msub></msup><mo>,</mo><msup><mi>g</mi><msub><mi>r</mi><mi>u</mi></msub></msup><mo>)</mo></mrow><mo>.</mo></mrow></math>]]></maths>(3)签密:给定门限环签密中n个成员的集合L={ID<sub>1</sub>,...,ID<sub>n</sub>},实际进行签密的t个签密者的身份下标为{1,2,...,t},待签密消息m,签密接收者的身份ID<sub>R</sub>,签密的具体步骤为:各签密者ID<sub>i</sub>(i=1,...,t)随机选择其子秘密s<sub>i</sub>∈Z<sub>p</sub>,构造系数在Z<sub>p</sub>的t-1次多项式f<sub>i</sub>(x)=a<sub>i,0</sub>+a<sub>i,1</sub>x+…+a<sub>i,t-1</sub>x<sub>t-1</sub>,其中s<sub>i</sub>=a<sub>i,0</sub>;然后签密者ID<sub>i</sub>计算公开参数<img file="FSA00000723273900018.GIF" wi="453" he="53" />并向其它签密者广播;计算其它各签密者ID<sub>i</sub>(j≠i)的秘密分享s<sub>i,j</sub>=f<sub>i</sub>(j),并将它们发送给其它签密者ID<sub>j</sub>(j=1,2,..,t;j≠i),自己保留s<sub>i,i</sub>=f<sub>i</sub>(i);其他各签密者ID<sub>j</sub>(j=1,2,..,t;j≠i)从第i个签密者ID<sub>i</sub>得到秘密分享s<sub>i,j</sub>后,用如下等式验证其有效性:<img file="FSA00000723273900021.GIF" wi="363" he="122" />当确认秘密分享有效后,各签密者ID<sub>i</sub>根据秘密分享计算其私有秘密为<img file="FSA00000723273900022.GIF" wi="236" he="124" />根据环成员身份列表L={ID<sub>1</sub>,...,ID<sub>n</sub>}、t个签密者、待签密消息m以及t个签密者的私钥,环签密接收者身份ID<sub>R</sub>,获得在待签密消息m下的(t,n)门限环签密C,(t,n)表示门限环签密中成员总数为n,t是门限值,实际参与生成门限环签密的成员数≥t,具体步骤为:令m∈G<sub>T</sub>为待签密消息,该门限环签密者随机选取l<sub>1</sub>,...,l<sub>n</sub>∈Z<sub>p</sub>,计算<maths num="0003"><![CDATA[<math><mrow><msub><mi>U</mi><mi>i</mi></msub><mo>=</mo><msup><mi>u</mi><mo>&prime;</mo></msup><munder><mi>&Pi;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>&Phi;</mi><msub><mi>ID</mi><mi>i</mi></msub></msub></mrow></munder><msub><mover><mi>u</mi><mo>^</mo></mover><mi>j</mi></msub><mo>,</mo></mrow></math>]]></maths>i=1,...,n,<maths num="0004"><![CDATA[<math><mrow><msub><mi>R</mi><mn>1</mn></msub><mo>=</mo><msub><mi>&sigma;</mi><mn>16</mn></msub><msup><mi>g</mi><msub><mi>l</mi><mn>1</mn></msub></msup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>R</mi><mi>t</mi></msub><mo>=</mo><msub><mi>&sigma;</mi><mrow><mi>t</mi><mn>6</mn></mrow></msub><msup><mi>g</mi><msub><mi>l</mi><mi>t</mi></msub></msup><mo>,</mo></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><msub><mi>R</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msup><mi>g</mi><msub><mi>l</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub></msup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>R</mi><mi>n</mi></msub><mo>=</mo><msup><mi>g</mi><msub><mi>l</mi><mi>n</mi></msub></msup><mo>.</mo></mrow></math>]]></maths>令<maths num="0006"><![CDATA[<math><mrow><msub><mi>&sigma;</mi><mn>1</mn></msub><mo>=</mo><msubsup><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>t</mi></msubsup><msub><mi>&sigma;</mi><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>&CenterDot;</mo><mi>m</mi><mo>,</mo></mrow></math>]]></maths><maths num="0007"><![CDATA[<math><mrow><msub><mi>&sigma;</mi><mn>2</mn></msub><mo>=</mo><msubsup><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>t</mi></msubsup><msub><mi>&sigma;</mi><mrow><mi>i</mi><mn>2</mn></mrow></msub><mo>,</mo></mrow></math>]]></maths><maths num="0008"><![CDATA[<math><mrow><msub><mi>&sigma;</mi><mn>3</mn></msub><mo>=</mo><msubsup><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>t</mi></msubsup><msub><mi>&sigma;</mi><mrow><mi>i</mi><mn>3</mn></mrow></msub><mo>,</mo></mrow></math>]]></maths><maths num="0009"><![CDATA[<math><mrow><msub><mi>&sigma;</mi><mn>4</mn></msub><mo>=</mo><msubsup><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>t</mi></msubsup><msub><mi>&sigma;</mi><mrow><mi>i</mi><mn>4</mn></mrow></msub><mo>&CenterDot;</mo><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msup><mrow><mo>(</mo><msub><mi>U</mi><mi>i</mi></msub><mo>)</mo></mrow><msub><mi>l</mi><mi>i</mi></msub></msup><mo>,</mo></mrow></math>]]></maths><maths num="0010"><![CDATA[<math><mrow><msub><mi>&sigma;</mi><mn>5</mn></msub><mo>=</mo><msubsup><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>t</mi></msubsup><msub><mi>&sigma;</mi><mrow><mi>i</mi><mn>5</mn></mrow></msub><mo>,</mo></mrow></math>]]></maths>则生成的门限环签密为C=(σ<sub>1</sub>,...σ<sub>5</sub>,R<sub>1</sub>,...R<sub>n</sub>)。(4)解签密:根据门限环签密和环签密接收者ID<sub>R</sub>的私钥计算得到消息,将得到的消息带到公式<maths num="0011"><![CDATA[<math><mrow><mi>e</mi><mrow><msub><mrow><mo>(</mo><mi>&sigma;</mi></mrow><mn>4</mn></msub><mo>,</mo><mi>g</mi><mo>)</mo></mrow><mo>=</mo><mi>e</mi><msup><mrow><mo>(</mo><msub><mi>g</mi><mn>1</mn></msub><mo>,</mo><msub><mi>g</mi><mn>2</mn></msub><mo>)</mo></mrow><mi>t</mi></msup><mi>e</mi><mrow><mo>(</mo><msub><mi>U</mi><mn>1</mn></msub><mo>,</mo><msub><mi>R</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>.</mo><mo>.</mo><mo>.</mo><mi>e</mi><mrow><mo>(</mo><msub><mi>U</mi><mi>n</mi></msub><mo>,</mo><msub><mi>R</mi><mi>n</mi></msub><mo>)</mo></mrow><mi>e</mi><mrow><mo>(</mo><msup><mi>m</mi><mo>&prime;</mo></msup><munder><mi>&Pi;</mi><mrow><mi>i</mi><mo>&Element;</mo><mi>M</mi></mrow></munder><msub><mi>m</mi><mi>i</mi></msub><mo>,</mo><msub><mi>&sigma;</mi><mn>5</mn></msub><mo>)</mo></mrow></mrow></math>]]></maths>中,当且仅当等式成立时,门限环签密有效,所得消息正确,否则所得门限环签密无效,所得消息错误,返回步骤(1)。
地址 455000 河南省安阳市弦歌大道436号安阳师范学院(计算机与信息工程学院)