发明名称 一种建立抗攻击的公钥密码的方法
摘要 本发明涉及信息安全领域,公开了一种建立抗攻击的公钥密码的方法,包括生成共享密钥的方法,所述生成共享密钥的方法包括如下步骤:(11)建立一个无限非交换群G;(12)协议双方选取G的两个元素作为私钥;(13)协议第二方计算y,并将y发送给协议第一方;(14)协议第一方计算x和z,并将(x,z)发送给协议第二方;(15)协议第二方计算w和v,并将(w,v)发送给协议第一方;(16)协议第一方计算u,并将u发给协议第二方;(17)协议第一方计算K<sub>A</sub>,而且协议第二方计算K<sub>B</sub>;从而达成共享密钥K=K<sub>A</sub>=K<sub>B</sub>。本发明所建设的公钥密码算法的安全保障是依赖于问题的不可解性,具有抗量子计算攻击的优点。
申请公布号 CN103414569B 申请公布日期 2016.08.10
申请号 CN201310382299.7 申请日期 2013.08.21
申请人 王威鉴;王晓锋 发明人 王晓锋;王威鉴;林汉玲;王晓阳
分类号 H04L9/32(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L9/32(2006.01)I
代理机构 深圳市硕法知识产权代理事务所(普通合伙) 44321 代理人 李姝
主权项 一种建立抗攻击的公钥密码的方法,其特征在于:包括生成共享密钥的方法,所述生成共享密钥的方法包括如下步骤:(11)建立一个无限非交换群G及G的两个子群A和B,使得对任意a∈A、任意的b∈B,等式ab=ba成立;(12)协议第一方选取G中一元素g,协议第一方选取两个元素b<sub>1</sub>,b<sub>2</sub>∈A作为私钥,协议第二方选取两个元素d<sub>1</sub>,d<sub>2</sub>∈B作为私钥;(13)协议第二方选取两个元素c<sub>1</sub>,c<sub>2</sub>∈B,计算y=d<sub>1</sub>c<sub>1</sub>gc<sub>2</sub>d<sub>2</sub>,并将y发送给协议第一方;(14)协议第一方选取四个元素a<sub>1</sub>,a<sub>2</sub>,b<sub>3</sub>,b<sub>4</sub>∈A,计算x=b<sub>1</sub>a<sub>1</sub>ga<sub>2</sub>b<sub>2</sub>和z=b<sub>3</sub>a<sub>1</sub>ya<sub>2</sub>b<sub>4</sub>=b<sub>3</sub>a<sub>1</sub>d<sub>1</sub>c<sub>1</sub>gc<sub>2</sub>d<sub>2</sub>a<sub>2</sub>b<sub>4</sub>,并将(x,z)发送给协议第二方;(15)协议第二方选取两个元素d<sub>3</sub>,d<sub>4</sub>∈B,计算w=d<sub>3</sub>c<sub>1</sub>xc<sub>2</sub>d<sub>4</sub>=d<sub>3</sub>c<sub>1</sub>b<sub>1</sub>a<sub>1</sub>ga<sub>2</sub>b<sub>2</sub>c<sub>2</sub>d<sub>4</sub>和v=d<sub>1</sub><sup>‑1</sup>zd<sub>2</sub><sup>‑1</sup>=d<sub>1</sub><sup>‑1</sup>b<sub>3</sub>a<sub>1</sub>d<sub>1</sub>c<sub>1</sub>gc<sub>2</sub>d<sub>2</sub>a<sub>2</sub>b<sub>4</sub>d<sub>2</sub><sup>‑1</sup>=b<sub>3</sub>a<sub>1</sub>c<sub>1</sub>gc<sub>2</sub>a<sub>2</sub>b<sub>4</sub>并将(w,v)发送给协议第一方;(16)协议第一方计算u=b<sub>1</sub><sup>‑1</sup>wb<sub>2</sub><sup>‑1</sup>=b<sub>1</sub><sup>‑1</sup>d<sub>3</sub>c<sub>1</sub>b<sub>1</sub>a<sub>1</sub>ga<sub>2</sub>b<sub>2</sub>c<sub>2</sub>d<sub>4</sub>b<sub>2</sub><sup>‑1</sup>=d<sub>3</sub>c<sub>1</sub>a<sub>1</sub>ga<sub>2</sub>c<sub>2</sub>d<sub>4</sub>,并将u发给协议第二方;(17)协议第一方计算K<sub>A</sub>=b<sub>3</sub><sup>‑1</sup>vb<sub>4</sub><sup>‑1</sup>=a<sub>1</sub>c<sub>1</sub>gc<sub>2</sub>a<sub>2</sub>,而且协议第二方计算K<sub>B</sub>=d<sub>3</sub><sup>‑1</sup>ud<sub>4</sub><sup>‑1</sup>=c<sub>1</sub>a<sub>1</sub>ga<sub>2</sub>c<sub>2</sub>;由于a<sub>1</sub>,a<sub>2</sub>∈A,c<sub>1</sub>,c<sub>2</sub>∈B,所以a<sub>1</sub>与c<sub>1</sub>和a<sub>2</sub>与c<sub>2</sub>分别乘法可交换,故协议第一方和协议第二方达成共享密钥K=K<sub>A</sub>=K<sub>B</sub>。
地址 518000 广东省深圳市南山区南海大道3688号