一种用于连续变量量子密钥分发中的长码高速私钥放大方法与流程

文档序号:14993324发布日期:2018-07-20 22:56阅读:492来源:国知局

本发明涉及连续变量量子密钥分发技术领域,主要是应用于连续变量量子密钥分发系统后处理中的一种长码高速私钥放大方法。该方法可以在任意长度下实现高速私钥放大,能够支持高速实时连续变量量子密钥分发系统,提高系统安全码率。



背景技术:

量子密码学的安全性是基于物理学原理的,具有无条件安全性。连续变量量子密钥分发(continuous-variablequantumkeydistribution,cv-qkd)是量子信息中比较成熟接近实用的一种技术,可以产生无条件安全的密钥。尤其是现如今,量子计算机取得巨大突破的情况下,基于数学复杂度的经典密码学的安全性受到了严峻的挑战,而基于物理学原理的cv-qkd技术可以抵御任何高性能计算的攻击。

后处理是cv-qkd技术中非常重要的一部分,其主要作用是纠正原始数据的误码并提取无条件安全的密钥。其中私钥放大是用来在纠错后压缩密钥的,压缩后的密钥即为最终安全的密钥。其意义重大,但是由于有限码长效应的影响,其对算法的输入长度要求较高,通常随着距离的增大而增加,而算法的实现复杂度与输入长度成正比。我们已经解决了长码的私钥放大问题,可以实现任意长度的私钥放大。为了提高密钥产生速率,支持高速cv-qkd系统,要求后处理具有较高的处理速率。私钥放大的处理速度是影响后处理整体速度的因素之一,因此研究一种高速长码私钥放大方法非常有必要。



技术实现要素:

本发明提供一种用于连续变量量子密钥分发中的长码高速私钥放大方法。该方法通过降低私钥放大算法的实现复杂度,减小计算过程中数据类型的精度,提高长码私钥放大的运算速度,支持高速实时cv-qkd系统。

本发明通过以下步骤实现上述方法:

步骤1:将私钥放大的长输入块长分割成若干小块,使其能够直接使用低精度数据类型进行处理;

步骤2:将分割后的若干小块独立地进行私钥放大,得到中间密钥,为了充分利用资源,几个小块可以同时独立地进行处理;

步骤3:综合所有小块私钥放大的结果,进行模2加,得到最终的安全密钥。

步骤1的具体步骤如下:

步骤1a:在实际的连续变量量子密钥分发系统中,实现私钥放大时,首先将其输入块长分割成若干小块,小块的长度由软件资源与数据计算精度共同决定。

步骤1b:对应的将私钥放大所用的通用散列函数也分割成若干小块。

这一步骤的主要目的有两个,一个是考虑到有限码长对私钥放大安全性的影响,尤其在远距离传输中,其输入块长很大,无法直接进行私钥放大,需要将其分割;另一个是,即使能够直接进行私钥放大,如果块长较长,那么处理速度很难,对计算精度要求要较高,将其分割成小块以后,可以降低对数据计算精度的要求。

步骤2的具体步骤如下:

步骤2a:对于分割后的小块数据,将每几个小块分为一组。每组中小块的个数由实现平台资源决定。

步骤2b:每组中的所有小块同时进行私钥放大,实现组内的并行处理,但是每个小块都是独立执行的。组间串行执行私钥放大过程。

步骤3的具体步骤如下:

步骤3a:步骤2完成以后,每个小块都会得到一个中间密钥,全都保存下来。

步骤3b:将所有保存的小块的中间密钥对应进行模2加,即可得到最终无条件安全的密钥。

与现有技术相比,本发明的优势在于:

通过将长码分割为短码,实现任意长度的私钥放大。为了提高处理速度,我们将短码的码长设置为能够直接用低精度数据类型处理,因为通常情况下,数据精度越低,消耗的计算资源越小,处理速度越快。数据精度较低时,只能处理码长较短的数据,否则结果将会出错,但是码长过低的话,会浪费资源。因此为了进一步提速,充分利用资源,我们将几个短码分为一组同时独立地进行处理。通过上述方法,大大提高了私钥放大的处理速度,可以支持高速实时的cv-qkd系统。与专利201610582823.9中的方法相比,本发明中的可以降低数据计算的精度,同时能够充分利用实现平台的计算资源,执行速度更高。

附图说明

图1是本发明中所用方法发流程图

具体实施方式

下面结合说明书附图详细说明本方法的具体实施方式。

首先将私钥放大的输入长度分割为较小的块,使其能够使用低数据类型进行处理。同样地,将私钥放大所用的通用散列函数对应地分割为若干小块。设原始输入数据为a,长度为n,分割后每个小块数据的长度m,块数为p,满足n=m×p。

然后根据实现平台的资源(包括计算资源和存储资源等),将分割后的每几个小块分为一组,设每组块数为q,组数为r,满足p=q×r。按此方法分割后每个小块的数据表示如下:

ai=(ai1,ai2,…,aim),i=1,2,…p.

按照实现平台资源,分组后数据表示如下:

a=((a1,a2,…,aq),(aq+1,aq+2,…,a2q),…,(a(r-1)q+1,a(r-1)q+2,…,arq)).

假设用g表示组,则分组后数据也可表示为:

g=(g1,g2,…,gr)

其中,gj=(a(j-1)q+1,a(j-1)q+2,…,ajq),j=1,2,…,r.

私钥放大所用通用散列函数的分割方法与上述方法类似。长码的高速私钥放大的实现方法在按照上述方案分割完成以后,按组分别进行私钥放大。每个组内gj中的所有块是同时独立执行的,而不同组之间是串行执行。这样可以最大化利用实现平台的资源,且可以使用低精度数据类型执行私钥放大的计算过程,提高实现速度。通过上述过程,每次执行可以得到q个中间密钥,共执行r次,因此共有p=q×r个中间密钥,每个中间密钥的长度均为k,其值由参数估计步骤得到。最后将所有p个中间密钥进行模二加,即可得到最终的安全密钥。

通过上述实例,详细说明了如何实现长码的高速私钥放大过程。考虑到私钥放大的有限码长效应对cv-qkd系统安全性的影响,必须实现长码的私钥放大。同时为了提高系统安全码率,支持高重复频率系统,必须提高后处理的处理速度。而私钥放大是其中重要的一步,因此本发明具有重要的意义。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。



技术特征:

技术总结
本发明提供一种用于连续变量量子密钥分发中的长码高速私钥放大方法。该方法具体实现步骤如下,步骤1:将私钥放大的长输入块长分割成若干小块,使其能够直接使用低精度数据类型进行处理;步骤2:将分割后的若干小块独立地进行私钥放大,得到中间密钥,为了充分利用资源,几个小块可以同时独立地进行处理;步骤3:综合所有小块私钥放大的结果,进行模2加,得到最终的安全密钥。该方法中步骤1可以有效的降低数据计算的精度,步骤2可以充分利用资源,能够大大提高私钥放大的速度,并且可以实现任意长度的私钥放大,支持连续变量量子密钥分发系统的长码高速私钥放大。

技术研发人员:张一辰;王翔宇;喻松;郭弘
受保护的技术使用者:北京邮电大学
技术研发日:2018.02.02
技术公布日:2018.07.20
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1