1.基于共识机制的多节点间量子密钥同步方法,该方法应用的网络具有n个节点,n>2,其特征在于,所述方法包括如下步骤:S1:所述网络的n个节点中每个节点都存储有m个量子密钥,并且所有节点存储的量子密钥顺序都一致,按照量子密钥的存储顺序将量子密钥进行编号,排列在最前面的为1号,然后依次加一,直至最后一个为m号,即所有节点同一量子密钥编号对应的量子密钥都是相同的;将所述m个量子密钥从前到后分成A、B、C三组,每组根据量子密钥存储规则存储相应数量的量子密钥,并且每组的量子密钥均采用循环单链表的链式存储结构形式进行存储;
S2:网络中的任意两个节点i、j在进行通信之前,作为信息发送方的节点i首先根据量子密钥选择规则选取量子密钥,按照A、B、C的顺序排列组装出完整的量子密钥,然后使用所述完整的量子密钥对信息进行加密,得到加密信息;
S3:节点i向节点j发送加密信息和对信息加密所使用的量子密钥初始位以及从每个初始位开始所使用的量子密钥使用个数;
S4:节点j作为信息接收方接收到节点i向其发送的加密信息和所使用的量子密钥初始位以及从每个初始位开始所使用的量子密钥使用个数,节点j按照步骤S2中节点i选取并组装出完整量子密钥的过程,根据量子密钥初始位以及从每个初始位开始所使用的量子密钥使用个数从自身的A、B、C三组中分别找到对应的量子密钥并提取出来,最终按照A、B、C的顺序排列组装出完整的量子密钥,然后使用所述完整的量子密钥对其接收到的加密信息进行解密,节点j若解密失败则向节点i发送解密失败消息,返回步骤S3;节点j若解密成功则向节点i发送解密成功消息;
S5:节点i收到解密成功消息后判断其向节点j所发送信息的保密等级,确定保密等级后,节点i按照量子密钥删除规则删除对应的量子密钥;
S6:节点i判断网络中的节点总数n是否大于100;
若节点总数n小于等于100,则节点i作为客户端向除自身以外的其他节点发起删除量子密钥共识请求,所述其他节点接收共识请求并通过预设的共识算法进行删除量子密钥共识处理,在达成共识后,执行删除量子密钥操作;
若节点总数n大于100,则先对所有节点进行聚类处理,得到聚类结果,再根据聚类结果按照预设的规则进行删除量子密钥共识,在达成共识后,执行删除量子密钥操作;其中聚类结果中的每个簇中的节点数满足大于等于4且小于等于100,将聚类得到的每个簇称为从共识集群,将每个簇中的中心节点和节点i组成一个共识集群,称为中心共识集群;其中按照预设的规则进行删除量子密钥共识的过程为:首先在中心共识集群中进行删除量子密钥共识,然后在从共识集群中进行删除量子密钥共识;
S7:每个节点使用密钥扩展算法对量子密钥进行扩展,使得量子密钥数量增加并且保持随机性。
2.根据权利要求1所述的基于共识机制的多节点间量子密钥同步方法,其特征在于:所述量子密钥存储规则为A组存储编号从1号到 号的量子密钥,B组存储编号从号到 号的量子密钥,C组存储编号从 号到m号的量子密钥。
3.根据权利要求2所述的基于共识机制的多节点间量子密钥同步方法,其特征在于:所述量子密钥选择规则为:使用随机数生成算法生成分别在1至至m范围内的随机数X、Y、Z作为量子密钥选择的三个初始位;预设对信息加密总共需要h个量子密钥,使用随机数生成算法生成每个初始位所要使用的量子密钥个数x、y、z,同时x+y+z=h,即从A、B、C三组
的X、Y、Z位置起向后分别选择x、y、z个量子密钥,按照A、B、C组的顺序组合出所要使用的全部量子密钥。
4.根据权利要求1所述的基于共识机制的多节点间量子密钥同步方法,其特征在于:所述量子密钥删除规则为:发送方节点i向接收方j发送加密信息且接收方节点j已正确解密信息时,发送方节点i的操作者判断信息保密等级,保密等级分为一级、二级、三级三个等级,从一级到三级,信息重要性逐渐减低,三级的信息删除A组中所使用的量子密钥,二级的信息删除A组和B组中所使用的量子密钥,一级的信息删除A组、B组和C组中所使用的量子密钥。
5.根据权利要求1所述的基于共识机制的多节点间量子密钥同步方法,其特征在于:所述预设的共识算法为PBFT共识算法。
6.根据权利要求1所述的基于共识机制的多节点间量子密钥同步方法,其特征在于:所述S6步骤中聚类处理的过程如下:
1)初始化聚类个数K;
2)在n个节点中选择K个来作为初始化的聚类中心节点;
3)剩余节点计算到各个所述聚类中心节点的距离,选择并加入距离其最短的聚类中心节点的簇中;
4)判断簇中节点的个数,若簇中节点的个数小于4,则将此簇中的节点加入到距离次短的聚类中心节点的簇中;若簇中节点的个数大于100,则在此簇中重新选择M个初始聚类中心节点,并执行步骤3);若簇中节点的个数大于等于4且小于等于100,则取各簇中距簇内各节点的绝对误差最小的节点,作为新的聚类中心节点,判断新的聚类中心节点集与原聚类中心节点集是否相同,相同则输出聚类结果。
7.根据权利要求1所述的基于共识机制的多节点间量子密钥同步方法,其特征在于:步骤S6中,首先在中心共识集群中进行删除量子密钥共识,然后在从共识集群中进行删除量子密钥共识的具体过程如下:
1)在中心共识集群中选择一个节点作为主节点,信息发送方节点i作为客户端向所述主节点发送删除量子密钥请求,其中主节点的选择原则是P=Vmod|R|,P为选择作为主节点的节点编号,V是主节点对应的视图编号,|R|表示存储副本节点的个数,mod表示求余运算,即取得两个整数相除后结果的余数;第一次共识的主节点默认为距离信息发送方节点i最近的节点,第一次共识的主节点对应的视图编号默认为距离信息发送方节点i最近的节点的编号;若本次共识失败,则V=V+1,根据主节点选择原则重新选择主节点,进行下次共识;
2)主节点收到来自信息发送方节点i的删除量子密钥请求后启动自身计时器,决定是否接受请求消息,若决定接受则向所有备份节点发送预准备消息;若决定不接受,则超时,共识失败,执行步骤1);
3)备份节点收到主节点发送的预准备消息后启动自身计时器,决定是否接受准备消息,若决定接受则向除自己以外的副本节点发送准备消息;若决定不接受,则超时,共识失败,执行步骤1);
4)副本节点收到备份节点发送的准备消息后自身启动计时器,在收到的准备消息和自己的准备消息中,所有副本节点判断自己是否至少持有2f个一致的准备消息,若是,则向除自己以外的副本节点发送提交消息,f为故障节点的个数;若不是,则超时,共识失败,执行步骤1);
5)副本节点收到除自己以外的副本节点发送的提交消息后启动自身计时器,在收到的提交消息和自己的提交消息中,所有副本节点判断自己是否至少持有(2f+1)个一致的提交消息,若是,则所有副本节点执行删除量子密钥操作;若不是,则超时,共识失败,执行步骤
1);
6)所有副本节点向信息发送方节点i发送回复消息;
7)中心共识集群共识成功;
8)当中心共识集群共识成功后,每个从共识集群中的中心节点作为客户端发起共识,在其对应的从共识集群中按照上述中心共识集群的共识过程操作,进行量子密钥删除共识,直至所有从共识集群完成删除量子密钥共识;其中:从共识集群中主节点选择原则中第一次共识的主节点默认为距离中心节点最近的节点,第一次共识的主节点对应的视图编号默认为距离中心节点最近的节点的编号。
8.根据权利要求3所述的基于共识机制的多节点间量子密钥同步方法,其特征在于:所述随机数生成算法为线性同余随机数法。