主权项 |
一种身份隐藏且强安全的签密方法,其特征在于,所述方法包括:第一设备根据其生成的DH‑指数x∈Z<sub>q</sub>和第一设备的公钥A=g<sup>a</sup>∈G,第一辅助信息aux<sub>A</sub>其可为空的数据集合,以及第一设备需加密传输的数据集合Data<sub>A</sub>,确定第一参数X′=AX<sup>d</sup>∈G或X′=A<sup>d</sup>X∈G,其中X=g<sup>x</sup>∈G,d=h<sub>d</sub>(X,aux<sub>d</sub>),<img file="FSA0000120627140000012.GIF" wi="372" he="65" />是一个转换函数,1≤L<sub>d</sub>≤|q|,|q|表示q的二进制长度,<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>aux</mi><mi>d</mi></msub><mo>⊆</mo><msub><mi>aux</mi><mi>A</mi></msub><mo>∪</mo><mo>{</mo><msub><mi>I</mi><mi>A</mi></msub><mo>,</mo><mi>A</mi><mo>,</mo><msub><mi>CERT</mi><mi>A</mi></msub><mo>,</mo><msub><mi>I</mi><mi>B</mi></msub><mo>,</mo><mi>B</mi><mo>,</mo><msub><mi>CERT</mi><mi>B</mi></msub><mo>}</mo><mo>∪</mo><msub><mi>Data</mi><mi>A</mi></msub><mo>,</mo></mrow>]]></math><img file="FSA0000120627140000011.GIF" wi="1024" he="59" /></maths>g表示有限群G′的循环子群G的阶为q的生成元,a∈Z<sub>q</sub>是第一设备的私钥,I<sub>A</sub>表示第一设备的身份,CERT<sub>A</sub>是第一设备的公钥证书,CERT<sub>B</sub>是第二设备的公钥证书,I<sub>B</sub>表示第二设备的身份,B=g<sup>b</sup>∈G是第二设备的公钥,b∈Z<sub>q</sub>是第二设备的私钥,所述第一设备根据(a,x,I<sub>B</sub>,B,CERT<sub>B</sub>)以及辅助信息aux<sub>A</sub>和aux<sub>d</sub>确定预先共享密钥S,根据S以及{X′aux<sub>A</sub>,I<sub>A</sub>,A,I<sub>B</sub>,B}的一个子集利用密钥导出函数KDF确定第一设备和第二设备的加密密钥K<sub>A</sub>和K<sub>B</sub>以及辅助密钥K′,其中K<sub>A</sub>和K<sub>B</sub>相等或不等且K′可为空,第一设备计算C<sub>A</sub>=AE(K<sub>A</sub>,(I<sub>A</sub>,A,CERT<sub>A</sub>,X,Data<sub>A</sub>)),其中AE是一个对称加密算法,第一设备将{X′,aux<sub>A</sub>,C<sub>A</sub>}发送给第二设备;收到第一设备发送过来的{X′,aux<sub>A</sub>,C<sub>A</sub>)后,第二设备根据其私钥b∈Z<sub>q</sub>以及{X′,aux<sub>A</sub>),确定预先共享密钥S,根据S以及{X′,aux<sub>A</sub>,I<sub>A</sub>,A,I<sub>B</sub>,B}的一个子集利用密钥导出函数KDF确定第一设备和第二设备的加密密钥K<sub>A</sub>和K<sub>B</sub>以及辅助密钥K′,所述第二设备利用K<sub>A</sub>解密接收到的所述C<sub>A</sub>得到(I<sub>A</sub>,A,CERT<sub>A</sub>,X,Data<sub>A</sub>),验证公钥证书CERT<sub>A</sub>和第一参数X′的有效性,若验证结果不正确则终止运行,若验证结果正确则接受Data<sub>A</sub>。 |