一种基于信任中心的量子密钥分发方法与流程

文档序号:24071312发布日期:2021-02-26 15:25阅读:来源:国知局

技术特征:
1.一种基于信任中心的量子密钥分发方法,其特征在于,包括如下步骤:步骤1,设立信任中心,所述信任中心用于目的站点非对称加密公钥的发布与存储并参与起始站点和目的站点密钥协商指令的发送与执行;所述起始站点和目的站点之间存在中继站点,量子密钥从起始站点通过中继站点到达目的站点;将所述起始站点记为1号站点,目的站点记为n号站点,中间经过n-2个中继站点;步骤2,端到端加密密钥协商,起始站点生成对称加密密钥m1,通过信任中心获取目的站点的公钥tn,将对称加密密钥m1通过非对称加密公钥tn加密并传送到目的站点,目的站点通过非对称加密私钥sn解密获得对称加密密钥m1;步骤3,用对称加密密钥m1加密量子密钥,并通过量子网络传递,目的站点解密后获得所述量子密钥。2.根据权利要求1所述的一种基于信任中心的量子密钥分发方法,其特征在于,所述步骤1包括:步骤1-1,设立全网唯一的信任中心;步骤1-2,所述信任中心通过经典网络与起始站点、目的站点和中继站点实现通信;所述经典网络采用物理专线或vpn。3.根据权利要求1所述的一种基于信任中心的量子密钥分发方法,其特征在于,所述步骤2包括:步骤2-1,起始站点通过量子随机数发生器生成随机数x;步骤2-2,基于所述随机数x产生对称加密密钥m1,并通过经典网络向信任中心查询目的站点的非对称加密公钥tn,用非对称加密公钥tn对对称加密密钥m1进行加密获得新密钥m2,并将新密钥m2通过经典网络传送到目的站点,目的站点通过非对称加密私钥sn解密新密钥m2获得对称加密密钥m1,至此双方通信密钥协商完成。4.根据权利要求1所述的一种基于信任中心的量子密钥分发方法,其特征在于,所述步骤3包括:步骤3-1,起始站点1号站点与下一跳中继站点2号站点通过量子通道协商获得量子密钥k1,使用所述对称加密密钥加密m1,生成加密后的量子密钥k1’;步骤3-2,下一跳中继站点2号站点向下下一跳中继站点3号站点传递量子密钥k2;2号站点通过量子密钥k2对量子密钥k1’加密生成密钥y2;2号站点通过经典网络将密钥y2传输至3号站点;步骤3-3,3号站点通过量子密钥k2解密密钥y2,获得量子密钥k1’;步骤3-4,3号站点向4号站点传递量子密钥k3;3号站点通过量子密钥k3对量子密钥k1’加密生成密钥y3;3号站点通过经典网络将密钥y3传输至4号站点;步骤3-5,4号站点通过量子密钥k3解密密钥y3,获得量子密钥k1’;步骤3-6,以此类推,直至n-1号站点向本次通信的目的站点n号站点传递量子密钥kn-1;n-1号站点通过量子密钥kn-1对量子密钥k1’加密生成密钥yn-1;n-1号站点通过经典网络将密钥yn-1传输至目的站点n号站点;步骤3-7,目的站点n号站点通过量子密钥kn-1解密密钥yn-1获得加密后的量子密钥k1’,然后通过所述对称加密量子密钥m1解密k1’,获得未加密的量子密钥k1。5.根据权利要求3所述的一种基于信任中心的量子密钥分发方法,其特征在于,所述步
骤2-2包括:步骤2-2-1,起始站点基于所述随机数x通过量子随机数发生器产生真随机比特,长度与量子密钥等长,作为对称加密密钥m1;步骤2-2-2,起始站点向信任中心请求目的站点的非对称加密公钥tn,信任中心收到请求,查找目的站地址,并向目的站发送非对称加密公钥tn生成指令;步骤2-2-3,目的站点生成非对称加密公钥tn、私钥sn对并存储,并将公钥tn发送到信任中心;步骤2-2-4,信任中心向起始站点发送公钥tn,起始站点接收公钥tn,并用此公钥tn加密所述对称加密密钥m1获得新密钥m2;步骤2-2-5,起始站点向信任中心发送新密钥m2,信任中心向目的站点发送新密钥m2,目的站点接收新密钥m2,通过私钥sn解密新密钥m2,获得对称加密密钥m1;步骤2-2-6,目的站点向信任中心发送密钥协商成功消息。6.根据权利要求5所述的一种基于信任中心的量子密钥分发方法,其特征在于,所述步骤2-2-3中所述生成目的站点公钥-私钥对的步骤包括:步骤2-2-31,随机选择两个不相等的大素数p和q,步骤2-2-32,计算p和q的乘积n,步骤2-2-33,计算n的欧拉函数33,计算n的欧拉函数步骤2-2-34,随机选择一个整数e,判断e是否满足且e与互质,如不符合重新执行本步骤,步骤2-2-35,计算e对于的模反元素d,步骤2-2-36,生成公钥、私钥对,其中公钥由乘积n和整数e生成,私钥由乘积n和模反元素d生成。7.根据权利要求6所述的一种基于信任中心的量子密钥分发方法,其特征在于,所述步骤2-2-31中大素数选取办法包括如下步骤:步骤2-2-311,定义一个最大值max,生成数组p[max],其中定义p[0]为2,p[1]为3;步骤2-2-312,执行嵌套循环,其中外循环条件为初始y=5,s=2,并定义开始标记m为真,判断y值,如y小于等于前述max,执行一次循环,且y增加2,并进行下一次判断;每次循环执行判断m值,如果m值为真,则将本次y值存入数组p[s]且s增加1,m值的状态由下述内循环控制;步骤2-2-313,内循环设定i的初始值为1,计算前述y的平方根sqrt(y),如果m为真且p[i]<=sqrt(y),执行内循环,且每执行一次循环i值增加1,每次循环计算y%p[i],当y%p[i]的结果为0,则终止内循环且定义m为假;步骤2-2-314,最终p[max]即为素数组成的数组,从中随机选取两个大于指定数值的素数使用。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1