主权项 |
1.一种网络密钥分配方法,其特征为其密钥分配方案流程为:a)初始化阶段:随机产生素数q,计算q的本原根a;将得到的q和a分别存于通信的双方A和B节点,b)应用Diffie-Hellman算法计算将要交换的对称密码系统的参数:在A节点随机选择XA<q,计算<math> <mrow> <msub> <mi>Y</mi> <mi>A</mi> </msub> <mo>=</mo> <msup> <mi>α</mi> <msub> <mi>X</mi> <mi>A</mi> </msub> </msup> <mi>mod</mi> <mi>q</mi> <mo>;</mo> </mrow> </math> B节点随机选择XB<q,计算<math> <mrow> <msub> <mi>Y</mi> <mi>B</mi> </msub> <mo>=</mo> <msup> <mi>α</mi> <msub> <mi>X</mi> <mi>B</mi> </msub> </msup> <mi>mod</mi> <mi>q</mi> <mo>;</mo> </mrow> </math> 其中mod为取余运算,XA为A节点随机选取的参数,YA为A节点要送给节点B的参数,XB为B节点随机选取的参数,YB为B节点要送给A节点的参数,c)应用基于身份标识的加密算法对要交换的信息进行加密和交换即交换对称密码系统的参数TA和TB:在A节点采用身份标识算法和公钥IdB对明文m=<TA,IdA>进行加密,得到密文c,并发送给B节点;在B节点利用身份标识算法的的密钥KId-B对c进行解密,得到明文m=<YA,IdA>;在B节点采用身份标识算法和公钥IdA对明文m=<YB,IdB>进行加密,得到密文c,并发送给A节点;在A节点利用身份标识算法的密钥KId-A对c进行解密,得到明文m=<YB,IdB>,d)在信息交换后,再次应用Diffie-Hellman算法计算对称密钥:此时,在A节点得到了YB和IdB,在B节点得到了YA和IdA;在A节点计算<math> <mrow> <mi>K</mi> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>Y</mi> <mi>B</mi> </msub> <mo>)</mo> </mrow> <msub> <mi>X</mi> <mi>A</mi> </msub> </msup> <mi>mod</mi> <mi>q</mi> <mo>;</mo> </mrow> </math> 在B节点计算<math> <mi>K</mi> </math><math> <mrow> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>Y</mi> <mi>A</mi> </msub> <mo>)</mo> </mrow> <msub> <mi>X</mi> <mi>B</mi> </msub> </msup> <mi>mod</mi> <mi>q</mi> <mo>,</mo> </mrow> </math> 这样A和B就获取了对称加密系统的密钥K,就可以使用任何一种对称算法进行信息的加密和解密。 |