一种优化的基于H1类哈希函数族的密钥保密增强方法及装置与流程

文档序号:17725390发布日期:2019-05-22 02:28阅读:444来源:国知局
一种优化的基于H1类哈希函数族的密钥保密增强方法及装置与流程

本发明涉及一种量子密钥分发过程中密钥保密增强方法,特别涉及一种对基于h1类哈希函数族的密钥保密增强方法,属于量子通信技术领域。



背景技术:

保密增强算法的作用是压缩原始量子密钥与窃听者之间的互信息,剔除在量子密钥分发过程中攻击者获取的部分密钥信息对系统安全性的影响。保密增强是量子密钥分发系统获取最终安全密钥的重要环节。

图1为保密增强算法的基本原理。保密增强算法的输入是一段通信双方共享的相同的长度为n的原始量子密钥x,由于量子密钥分发过程中的公开协商和信道缺陷,会导致攻击者获得上限为t的信息量。保密增强的基本原理是从通信一方从事先商定的一类通用哈希函数族g中,随机选取一个通用哈希函数g,并将该哈希函数的描述(通常为二进制序列)发送给另一方,而后双方同时利用该哈希函数对原始量子密钥进行处理,得到长度为r的最终安全密钥y,其中r的长度由n,t以及安全参数s共同决定。在最终安全密钥中攻击者所获得的平均互信息最大为2-s/ln2。

现有主要的保密增强算法根据所使用哈希函数族的不同可以被分为两类:一类为基于二元矩阵乘法的h3类哈希函数族的保密增强算法;一类为基于模运算的h1类哈希函数族的保密增强算法。

第一类保密增强算法主要是通过进行矩阵乘法实现密钥的压缩,该类算法可以通过构造toeplitz矩阵与原始量子密钥相乘来实现。这类算法的优势是矩阵构造简单,仅需要交互少量信息就可完成矩阵构造,并且toeplitz矩阵乘法得益于矩阵的特殊结构可以通过多种优化方法来降低其计算量。

而第二类保密增强算法的实现及优化目前研究较少。第二类保密增强算法是利用基于模运算的h1类哈希函数完成的,根据h1类哈希函数的形式,第二类保密增强算法的核心是要完成原始密钥序列与随机序列之间的大点数乘法。这类方法的优势是运算简单,只需要一次大点数乘法和一次加法即可完成保密增强计算,而且可以利用现有的大点数乘法优化方法对计算过程进行优化。

针对第二类保密增强算法的优化都是围绕大点数乘法的计算展开的。基于fft的大点数乘法时目前已知的大点数乘法算法中运算复杂度最低的算法。但是第二类保密增强算法的计算对象是二进制序列,这会导致使用基于fft的大点数乘法优化第二类保密增强算法时fft变换本身的点数较大,整体计算量庞大。这使得第二类保密增强算法在实现时的处理速率低于第一类保密增强算法,并且难以满足现有的实际速率需求。



技术实现要素:

为了解决现有基于h1类哈希函数族的密钥保密增强算法需要消耗大量的计算资源和存储资源才能完成的问题以及处理速率不够高的缺点,本发明提供一种优化的基于h1类哈希函数族的密钥保密增强方法及装置。

本发明的一种优化的基于h1类哈希函数族的密钥保密增强方法,所述方法包括:

s1、以n比特为单位,对二进制的原始量子密钥序列x和h1类哈希函数所需的二进制随机序列c、d进行降维,转换为2n进制序列:x′、c′和d′,n为正整数,x的长度能被n整除;

s2、利用fft计算x′和c′的线性卷积,得到在2n进制下相乘的结果;

s3、将s2获得的结果与d′相加并重新转换为二进制序列,即得到保密增强后的结果。

优选的是,所述s3中,转换为二进制序列的过程包括:

将相加结果进行逐位进位操作,并将进位操作后的结果进行升维,转换为二进制序列。

优选的是,所述s2包括:

s21、对降维后的x′和c′进行fft变换;

s22、对降维后的x′和c′的fft结果进行复数乘法;

s23、对复数乘法结果进行ifft变换。

本发明还提供了一种优化的基于h1类哈希函数族的密钥保密增强装置,所述装置包括:

降维模块,用于以n比特为单位,对二进制的原始量子密钥序列x和h1类哈希函数所需的二进制随机序列c、d进行降维,转换为2n进制序列:x′、c′和d′,n为正整数,x的长度能被n整除;

线性卷积模块,用以利用fft计算x′和c′的线性卷积,得到在2n进制下相乘的结果;

升维模块,用以将线性卷积模块的结果与d′相加并重新转换为二进制序列,即得到保密增强后的结果。

优选的是,所述升维模块中,转换为二进制序列的过程包括:

将相加结果进行逐位进位操作,并将进位操作后的结果进行升维,转换为二进制序列。

优选的是,所述线性卷积模块包括:

fft变换模块,用以对降维后的x′和c′进行fft变换;

复数乘法模块,用以对降维后的x′和c′的fft结果进行复数乘法;

ifft变换模块,对复数乘法结果进行ifft变换。

本发明的有益效果,本发明对现有的基于h1类哈希函数族的密钥保密增强算法进行优化,在以n比特为单位进行降维的情况下,可以将h1类哈希函数族的密钥保密增强算法的序列输入长度减小为现未优化方法的1/n。这样利用fft的大点数乘法实现第二类保密增强算法的运算量和存储资源也将减小为未优化方法的1/n,这样本发明将显著提高保密增强算法的处理速率。

附图说明

图1为保密增强算法的基本原理图。

具体实施方式

下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。

第二类保密增强算法所使用的h1类哈希函数的表达形式:

使用h1类哈希函数的第二类保密增强算法计算过程:其中α代表原始密钥序列x的长度,β代表最终安全密钥序列y的长度,x为原始密钥序列x表示的二进制数,y为原始密钥序列y表示的二进制数。

现有的基于fft的第二类保密增强算法由于计算的是二进制序列的乘法,所以fft变换点数较大,计算量庞大。而将二进制序列映射为浮点数序列进行fft时,一定程度上造成了资源浪费。所以本发明提出的方法将二进制序列进行升维,转换为2n序列再进行fft变换,这样可将fft变换点数减小为原始的1/n,极大的缩短保密增强算法的处理时间,提高处理速率。

本实施方式的基于fft变换的密钥保密增强方法,是对第二类保密增强算法的优化,本实施方式先将二进制的原始量子密钥序列x和哈希函数所需的二进制随机序列c、d,以n比特为单位进行降维,转换为2n进制序列:x′、c′和d′。再利用fft计算两个序列x′和c′的线性卷积,得到两个序列在2n进制下相乘的结果。再将该结果与另一随机序列d′相加并重新转换为二进制序列,即可得到保密增强后的结果。

本实施方式在利用fft计算序列乘法时,不直接对二进制序列进行处理,而是将二进制进行降维,转换为2n进制进行fft变换;通过fft得到2n进制的乘法结果后,通过先进位再进制转换的方式,得到与二进制序列直接fft完全相同的结果。

具体实施例:本实施方式的优化的基于fft变换的密钥保密增强方法,具体包括如下步骤:

步骤一一、对原始密钥序列x以n比特进行降维(x的长度α能够被n整除),x′(i)=x(n×i+j)×2j,得到降维后的序列x′,其中i=0,1,…,α/n-1,j=0,1,…,n-1;

步骤一二、对描述h1类哈希函数的两个随机序列c,d进行相同的降维(c,d的长度α能够被n整除),c′(i)=c(n×i+j)×2j,d′(i)=d(n×i+j)×2j,其中i=0,1,…,α/n-1,j=0,1,…,n-1;

步骤二一、对降维后的原始密钥序列x′和随机序列c′进行fft变换,降维后的序列长度为m=n/α,则进行至少2m-1点的fft变换,得到fft_c′=fft(c),fft_x′=fft(x);

步骤二二、对降维后的原始密钥序列x′和随机序列c′的fft结果进行复数乘法fft_c′x′=fft_x′fft_c′;

步骤二三、对复数乘法结果进行ifft,c′x′=ifft(fft_c′_x′);

步骤三、将该结果取整后与另一随机序列d′相加,y′=round(c′x′)+d′;

步骤四、将相加结果进行逐位进位操作,y′(i+1)=y′(i+1)+y′(i)/2n,y′(i)=y′(i)mod2n,i=0,1,…,m-1;

步骤五、将得到结果进行升维,y(i×n+j)=y(i)mod2j,i=0,1,…,m-1,j=0,1,…,n-1。本实施例对第二类保密增强算法进行优化,在以n比特为单位进行降维的情况下,可以将利用fft实现第二类保密增强算法的序列输入长度减小为现未优化方法的1/n。这样fft实现第二类保密增强算法的运算量和存储资源也将减小为未优化方法的1/n,这样本实施例将显著提高保密增强算法的处理速率。

本实施方式还提供一种优化的基于fft变换的密钥保密增强装置,包括:

降维模块,用于以n比特为单位,对二进制的原始量子密钥序列x和h1类哈希函数所需的二进制随机序列c、d进行降维,转换为2n进制序列:x′、c′和d′,n为正整数,x的长度能被n整除;

线性卷积模块,用以利用fft计算x′和c′的线性卷积,得到在2n进制下相乘的结果;

升维模块,用以将线性卷积模块的结果与d′相加并重新转换为二进制序列,即得到保密增强后的结果。

优选实施例中,升维模块中,转换为二进制序列的过程包括:

将相加结果进行逐位进位操作,并将进位操作后的结果进行升维,转换为二进制序列。

优选实施例中,线性卷积模块包括:

fft变换模块,用以对降维后的x′和c′进行fft变换;

复数乘法模块,用以对降维后的x′和c′的fft结果进行复数乘法;

ifft变换模块,对复数乘法结果进行ifft变换。

虽然在本文中参照了特定的实施方式来描述本发明,但是应该理解的是,这些实施例仅仅是本发明的原理和应用的示例。因此应该理解的是,可以对示例性的实施例进行许多修改,并且可以设计出其他的布置,只要不偏离所附权利要求所限定的本发明的精神和范围。应该理解的是,可以通过不同于原始权利要求所描述的方式来结合不同的从属权利要求和本文中所述的特征。还可以理解的是,结合单独实施例所描述的特征可以使用在其他所述实施例中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1