一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种量子随机数后处理方法和装置

2023-04-11 09:02:49 来源:中国专利 TAG:


1.本发明涉及量子通信技术领域,具体来说,涉及量子密码学技术领域,更具体地说,涉及一种量子随机数后处理方法和装置。


背景技术:

2.量子随机数后处理是量子密码学领域中很重要的一个环节,量子随机数后处理的效果和速率直接影响量子密码应用的效果。传统的量子随机数后处理方法是利用随机性提取器(extractor)将输入的一段较长但不完美的原始数据提纯为较短但近似于均匀分布的随机数。
3.目前量子随机数后处理主要应用的是quantum-proof(量子证明)的提取器,其中,quantum-proof是指:即使敌手(可以看作是一个量子计算机)拥有原始随机数据的一部分信息,输出的随机数在敌手看来也是几乎均匀分布的。quantum-proof(量子证明)提取器主要分为两类:一类如文献[1,2]所记载的方案运用的提取器,即托普利兹矩阵(toeplitzmatrix),其通过随机种子构造出随机矩阵,然后将矩阵与原始数据相乘得到最终随机数输出;如文献[3]所记载方案运用的是另一类提取器,即trevisan提取器,其通过随机种子构造出随机矩阵,然后利用比托普利兹矩阵要复杂得多的算法计算得到最终随机数输出。这两类提取器都需要额外使用一段完美的随机数(又称种子)且生成种子的器件需要具有设备独立性(device-independence)。但是现有技术下,只能在严苛的物理环境下以极低的速率(10kbps)产生种子,严重影响最终随机数的生成速率。此外,这两类提取器都采用离线算法,即需要获取所有的原始随机数据后才能输出处理后的随机数,而不能实时地输出。
[0004]
综上所述,现有的采用quantum-proof的提取器的随机数后处理方法存在以下问题:1、现有的quantum-proof的提取器都需要额外输入一段完美的随机数作为种子且只能在严苛的环境下(如对生成种子的器件需求)以极低的速率产生种子,这使得现有的后处理算法的效率和量子随机数生成器的应用范围都受到了很严重的限制;2、现有的quantum-proof的提取器都是离线的,不能实时地输出最终的随机数,存在内存消耗大和处理时间长等缺点,这些缺点也限制着量子随机数生成器在实际场景中的应用。
[0005]
参考文献如下:
[0006]
[1]marco tomamichel,christian schaffner,adam smith,and renato renner.leftover hashing against quantum side information.in proceedings of 2010international symposium on information theory,isit,pages 2703

2707.ieee,2010.
[0007]
[2]renato renner.security of quantum key distribution.phd thesis,swiss federal institute of technology zurich,september2005.
[0008]
[3]a.de,c.portmann,t.vidick,and r.renner,siam j.comput.41,915(2012).


技术实现要素:

[0009]
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种量子随机数后处理方法和装置。
[0010]
本发明的目的是通过以下技术方案实现的:
[0011]
根据本发明的第一方面,提供一种量子随机数后处理方法,所述方法用于对两个量子随机数发生器产生的两组原始数据进行后处理,其中,所述方法包括:s1、获取预设的初始分块数据长度;s2、以所述初始分块数据长度为起点,根据预设的数据长度递增的规则分别以不同的数据长度进行分别对所述两组原始数据进行分块,以及分别将两组原始数据间分块数据长度相同的分块数据进行向量内积计算以获得当前次分块数据组对应的随机数向量;s3、将所述多次的随机数向量按照其对应分块数据生成的先后顺序进行拼接,得到最终的随机数向量。
[0012]
优选的,所述初始分块数据长度基于应用场景中的安全性和计算效率的均衡需求确定。
[0013]
优选的,所述初始分块数据长度为100。
[0014]
优选的,所述预设的数据长度递增的规则是后一次分块数据长度为上一次分块数据长度加1。
[0015]
优选的,每次获取分块原始数据时,在获得两组原始数据中当次分块数据长度的所有原始数据后再进行后处理。
[0016]
在本发明的一些实施例中,步骤s2中,向量内积计算包括以下步骤:
[0017]
s21、将当前分块数据长度运用第一预设规则确定当前分块数据对应的有限域;所述第一预设规则为:
[0018][0019]
其中,是内积函数的计算的有限域的标识,nr是第r次分块数据的分块数据长度,b是每组原始数据中每个变量的比特长度;
[0020]
s22、将两组原始数据中当前分块数据长度相同的分块数据在有限域上进行向量内积计算得到当前次分块数据组对应的随机数向量。
[0021]
在本发明的一些实施例中,步骤s2中的分块原始数据的分块计算次数通过以下步骤获得:t1、获取最终的随机数的长度;t2、基于最终的随机数的长度,根据分块数据长度的递增规则以及初始分块数据长度进行反解求得分块计算的总次数。
[0022]
根据本发明的第二方面,提供一种量子随机数处理装置,所述装置包括:随机数提取器和两个量子随机数发生器,其中,两个量子随机数发生器用于分别实时产生随机数原始数据,随机数提取器被配置为采用第一方面提供的一种量子随机数处理方法对各个量子随机数发生器产生的原始数据进行后处理以得到对应的随机数。
[0023]
优选的,所述量子随机数发生器是能够产生最小熵是随数据的长度线性增长的原始随机数的量子随机数发生器。
[0024]
与现有技术相比,本发明的优点在于:本发明提供的量子随机数后处理方法在保证了最终随机数的质量的情况下,减少了现有生成最终随机数的方案中获取全部原始随机
数据在一起后处理中的等待时间,提高了随机数的生成速率;由于本发明生成随机数没有使用随机种子,也即是减少了需要严苛环境下且生成速率极低的随机种子,也即是进一步地提高了本发明生成随机数地速率,扩大了本发明提供的量子随机数生成器的应用范围。
附图说明
[0025]
以下参照附图对本发明实施例作进一步说明,其中:
[0026]
图1为根据本发明的量子随机数后处理的示意图;
[0027]
图2为根据本发明一个实施例的量子随机数后处理方法的流程示意图;
[0028]
图3为根据本发明一个实施例的提取器的工作示意图。
具体实施方式
[0029]
为了使本发明的目的,技术方案及优点更加清楚明白,以下通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0030]
如在背景技术部分提到的现有技术中的quantum-proof的提取器都需要额外输入一段完美的随机数作为种子且只能在严苛的环境下(如对生成种子的器件需求)以极低的速率产生种子,这使得现有的后处理算法的效率和量子随机数生成器的应用范围都受到了很严重的限制。另外,现有的quantum-proof的提取器都是离线的,不能实时地输出最终的随机数,存在内存消耗大和处理时间长等缺点,这些缺点也限制着量子随机数生成器在实际场景中的应用。发明人对现有的原始随机数的性质进行研究的过程中,发现原始随机数据普遍具有块最小熵源(block min entropy source)的性质,即原始随机数据的最小熵是随数据的长度线性增长。简单来说,原始随机数的这种性质使得:对原始随机数中的部分数据(本发明中也称为分块数据)进行随机数的提取是可行的,且不影响最终随机数的性质。本发明基于原始随机数的这种特性,提出一种新的量子随机数后处理方法。如图1所示,本发明采用两个量子随机数发生器,随机数发生器1和随机数发生器2,分别产生一个原始随机数,即随机数原始x和随机数原始y;随机数提取器基于随机数原始x和随机数原始y输出最终的随机数z。从而在不需要随机种子的情况下,利用两组独立的原始随机数据进行在线实时处理产生最终的随机数。
[0031]
如图2所示,提供了根据本发明一个实施例的一种量子随机数后处理方法,用于对两个量子随机数发生器产生的两组原始数据进行后处理以得到需求长度的随机数。概括来说,所述方法包括:s1、获取预设的初始分块数据长度;s2、以步骤s1设置的初始分块数据长度为起点,根据预设的数据长度递增的规则分别以不同的数据长度进行分别对所述两组原始数据进行分块,以及分别将两组原始数据间分块数据长度相同的分块数据进行向量内积计算以获得当前次分块数据组对应的随机数向量;s3、将所述多次的随机数向量按照其对应分块数据生成的先后顺序进行拼接,得到最终的随机数向量。由此,本发明将两个量子随机数发生器实时产生的原始数据进行依次分块处理,提高了随机数的生成速率。需要进一步指出的是,本发明生成随机数的过程中,每次获取分块数据时,获得的两个量子随机数发生器的当前次分块数据长度均达到相应的长度后,就会进行后处理,换而言之,本发明属于在线算法,减少了已生成原始数据的等待时间,缩短了原始数据的总的后处理时间,不需要
随机种子,提高了随机数的生成速率。下面结合本发明的实施例,详细说明上述每个步骤。
[0032]
在步骤s1中,获取预设的初始分块数据长度。
[0033]
根据本发明的一个实施例,预设的初始分块数据长度是基于应用场景中的安全性和计算效率的均衡需求经实验确定的。具体来说,在快速生成随机数的需求场景下,初始分块数据的长度过长会引起原始随机数据的使用浪费,以及提高了随机数生成过程中的计算难度;初始分块数据的长度过短,虽然减小了随机数生成过程的计算难度,但是降低了生成的随机数的安全性。由此,本发明的初始分块数据长度可以基于应用场景中的安全性和计算效率的均衡需求经实验确定的,本发明对此不进行限制。
[0034]
在步骤s2中,以步骤s1设置的初始分块数据长度为起点,根据预设的数据长度递增的规则分别以不同的数据长度进行分别对所述两组原始数据进行分块,以及分别将两组原始数据间分块数据长度相同的分块数据进行向量内积计算以获得当前次分块数据组对应的随机数向量。
[0035]
根据本发明的一个实施例,在每次获取分块原始数据时,获得两组原始数据中当次分块数据长度的所有原始数据后再进行后处理。
[0036]
根据本发明的一个实施例,所述后处理包括对分块数据进行向量内积计算,包括以下步骤:
[0037]
s21、将当前分块数据长度运用第一预设规则确定当前分块数据对应的有限域;所述第一预设规则为:
[0038][0039]
其中,是内积函数的计算的有限域的标识,nr是第r次分块数据的分块数据长度,b是每组原始数据中每个变量的比特长度。
[0040]
s22、将两组原始数据中当前分块数据长度相同的分块数据在有限域上进行向量内积计算得到当前次分块数据组对应的随机数向量。向量内积计算是本领域内技术人员已知的计算方式,此处不做赘述。
[0041]
以向量x和y分别表示两组原始数据,第一组原始数据为随机向量x=x1x2…
x
t
∈({0,1}b)
t
,第二组原始数据为随机向量y=y1y2…yt
∈({0,1}b)
t
,其中,t表示随机向量x和y中的变量个数,b表示随机向量x和y中每个变量的比特长度(例如以第一组原始数据对应的随机向量x为例,当t为5时且b为8时,表示第一组随机向量x中包含五个变量x1、x2、x3、x4、x5,且每个变量的比特长度均为8)。本发明根据量子随机数发生器产生的两组原始数据均具有block min entropy source性质,对于变量x的任意子集xi,对于变量y的任意子集yi,i∈{1,...t},则有,h
min
(xi)≥0.6b|i|,h
min
(yi)≥0.6b|i|,其中,h
min
函数是最小熵函数。
[0042]
基于两组原始数据均具有block min entropy source性质在数学上的具体定义,下面将对提取器的工作进行具体介绍。根据本发明的一个实施例,每个分块数据组通过以下步骤p21、p22进行后处理:
[0043]
p21、在上一次分块数据长度的基础上基于预设的数据长度递增规则获取当前次的分块数据长度,并分别从两组随机数原始数据中上一次分块数据后,分别提取对应当前次分块数据长度的随机数原始数据组成当前次分块数据组。根据本发明的一个实施例,如
果当前为第一次的分块数据时,则按照初始分块长度获取数据。根据本发明的一个实施例,初始分块的长度可以设为任意大于等于100的长度,初始分块之后的分块数据按照预设的数据长度递增规则进行获取,其中,预设的数据长度递增的规则为:后一次分块数据长度为上一次分块数据长度加1。数据长度递增规则并不仅限于此,根据应用的具体场景可以采用不同的长度递增规则,例如依次加2、加3等。获得当前的分块数据长度后,分别从两个量子随机数发生器中获取该分块长度的原始数据后,组成分块数据组。
[0044]
p22、将步骤p21中获得的当前次分块数据组中的两组分块数据进行向量内积计算以获得当前次分块数据组对应的随机数向量。如图3所示,其示出了本发明的一个提取器的工作示意图,其中,x表示第一组原始数据,y表示第二组原始数据,n1、n1 1、......、n1 r-1依次是第1次分块数据到第r次分块数据的分块数据长度,n1是初始数据分块长度,x
i1
、x
i2

x
ir
是第一组原始数据中的第1次的分块数据到第r次的分块数据,y
i1
、y
i2
…yir
是第二组原始数据中的第1次的分块数据到第r次的分块数据,z
(1)
、z
(2)
、......、z
(r)
依次是第1次分块数据组到第r次分块数据组经后处理输出的随机数,依次对应是有限域上的内积函数(内积函数的计算是本领域已知的,本发明不对内积函数的具体原理进行赘述)。本发明采用实时在线处理的方式,每次实时获取两组对应长度的原始数据后即开始后处理,无需关注后续随机数是否产生。
[0045]
为了更好的理解本发明,下面分别以第1次分块数据组和第2次分块数据组的处理过程为例进行介绍。
[0046]
对第1次分块数据组进行后处理时,在分别获取到的两组原始随机数x
i1
和y
i1
均达到预设的初始分块数据长度n1时,运用第一预设规则确定当前分块数据对应的有限域其中第1次分块数据的分块数据长度为n1,根据n1确定对应内积函数再将两组原始数据中第1次分块数据长度的所有原始数据x
i1
和y
i1
(x
i1
和y
i1
组成第一次分块数据组)运用内积函数进行计算,得到第1次分块数据组对应的随机数z
(1)

[0047]
从第2次分块数据的处理开始,每次(以第r次表示,r为大于1的整数)分块数据组的后处理计算是在分别获取到的两组原始随机数x
ir
和y
ir
均达到该次分块数据长度n1 r-1时,运用第一预设规则确定当前分块数据对应的有限域其中第r次分块数据的分块数据长度nr=n1 r-1,根据nr确定对应内积函数再将两组原始数据中当前次分块数据长度的所有原始数据x
ir
和y
ir
运用内积函数进行计算,得到第r次分块数据组对应的随机数z
(r)

[0048]
由上述实施例可以看出,本发明不需要种子,只需要两组独立的原始随机数据,即可在线地实时地产生最终的随机数,具有计算速度快和内存消耗低等优点。
[0049]
在步骤s3中,将每次获得的随机数向量按照其对应分块数据生成的先后顺序进行拼接,得到最终的随机数向量。
[0050]
根据本发明的一个实施例,在所述步骤s2中,还包括获取最终随机数的长度并基于最终随机数的长度根据分块数据长度的递增规则以及初始分块数据长度进行反解求得分块计算的总次数。需要进一步说明的是,在量子随机数后处理前,预设并存储了最终随机
source)的性质,在不需要随机种子的情况下,将两组原始随机数据进行数据分块(其中,分块数据长度相同的分块数据组成分块数据组),当每个分块数据组中的数据均达到对应的数据长度时,输入提取器进行后处理,实时输出分块数据组对应的随机数。本发明这样在线生成最终随机数的方案至少减少了现有生成最终随机数的方案中获取全部原始随机数据在一起后处理中的等待时间,提高了随机数的生成速率;由于本发明生成随机数没有使用随机种子,也即是减少了需要严苛环境下且生成速率极低的随机种子,也即是进一步地提高了本发明生成随机数地速率,扩大了本发明提供的量子随机数生成器的应用范围。
[0061]
二、本发明生成的最终随机数的均匀分布质量
[0062]
关于本发明生成的最终随机数的均匀分布质量,本领域技术人员均知道,最终生成的随机数要满足近似均匀分布的要求,那么只要证明本发明最终生成的随机数是满足近似均匀分布的即可说明本发明生成的随机数的均匀分布质量满足要求。
[0063]
从数学上来说,只需证明:在本发明在原始随机数据中的第一块分块数据长度n1大于设定值时,本发明生成的随机数z
(1)
、z
(2)
……z(r)
与均匀分布之间的距离就可以任意小,即本发明生成的最终随机数可以任意近似于均匀分布,满足本领域中对最终随机数的均匀分布质量。下面将本发明生成的最终随机数的均匀分布质量证明过程进行概述。
[0064]
首先,介绍现有技术中已经证明了的引理:将两个同等长度的比特串输入内积函数进行向量内积计算时,向量内积计算的结果是一个比输入的任意一个比特串短一些的比特串,向量内积计算的结果中随机提取的任意子串的异或运算值都可以写为输入的两个等长度比特串的一个二元函数。如果输入的两个等长的比特串的最小熵都很大,那么该二元函数的输出结果(只有一个比特)接近于均匀分布。用数学的语言来讲,令f:{0,1}n×
{0,1}n→
{0,1}是一个任意的二元函数,其输入两个同等长度的比特串,输出一个比特,并且该函数对应着hadamard矩阵(hadamard矩阵的任意两行或两列都是正交关系)。令a,b分是两个比特串{0,1}n上的独立的随机变量(随机变量是从比特串{0,1}n随机提取得到的比特串),如果随机变量a,b满足以下相应的性质:h
min
(a)≥k1以及h
min
(b)≥k2,则有:
[0065][0066]
其中,h
min
函数是最小熵函数,k1、k2分别设定的标准值,n是比特串的长度,p[f(a,b)=1]是随机变量a,b的二元函数值(1或者0)中,二元函数值为1的概率。
[0067]
其次,基于上述引理,对本发明生成的随机数z
(1)
、z
(2)
、......、z
(r)
做如下几步的推导。
[0068]
第一、本发明生成的随机数为一个无穷长的随机的比特(0或者1)串,为了描述方便,将比特串z
(1)
、z
(2)

……
、z
(r)
作为一个示例进行推导过程的讲解。将比特串的第i个比特记为zi时,比特串z
(1)
、z
(2)

……
、z
(r)
可以表示为z1z2…
zi…
。本发明生成的随机数z
(1)
、z
(2)

……
、z
(r)
相当于把这个串切成了若干块,例如,第一块z
(1)
包含了最开始的l1个比特,即个比特,即第二块z
(2)
包含了第一块z
(1)
后的l2个比特,即个比特,即第第r块z
(r)
包含了第r-1块z
(r-1)
后的lr个比特,即其中
表示第r块z
(r)
中的起始比特。因此,比特串z1z2…
zi…
中的子串表示为zs,令正整数的集合s={1,4,6,13},那么字串zs=z1z4z6z
13
。根据本发明中的技术方案是将两组原始随机数据进行数据分块处理,则将视作关于第一组原始数据分块数据和第二组原始数据分块数据的一个二元函数,该二元函数的真值表可以写为矩阵的形式:行表示的不同取值,列表示的不同取值,列表示的不同取值,该矩阵一定是hadamard矩阵具有任意两行或两列都是正交的性质,其中,表示子串zs中所有比特的异或运算的值,例如,令s={1,4,6,13},则ξ(s)表示zs所涉及到的块,例如,当z1来自于z
(1)
,z4和z6来自于z
(2)
,z
13
来自于z
(5)
时,则ξ(s)={1,2,5}。
[0069]
第二、根据上述引理可以直接得到如下结论:对于任意包含若干个正整数的集合s,则有:
[0070][0071]
其中。具体来说,当随机变量a设为,随机变量b设为n设为n=b∑
r∈ξ(s)
nr,k1和k2都设为0.6b∑
r∈ξ(s)
nr,由引里中的公式(2)可得公式(3),其中,b表示原始随机数对应的随机向量x和y中每个变量的比特长度,nr是原始随机数中第r个分块数据长度,是比特串(zs)z1z2…
zi…
中所有比特异或运算的值(1或者0)中,异或运算的值为1的概率。
[0072]
第三、运用异或(xor)引理和公式(3)得到本发明生成的随机数为一个无穷长的随机数与均匀分布之间的距离小于等于∑
s∈s
,其中
[0073][0074]
具体的,异或(xor)引理中,比特串d=d1d2…di

是一个随机比特(0或者1)串,其与均匀分布之间的距离小于等于本发明生成的随机数为一个无穷长的随机数z1z2…
zi…
与比特串d=d1d2…di

性质相同,则令d为z1z2…
zi…
,则,于是得到随机数z2…
zi…
与均匀分布之间的距离小于等于与均匀分布之间的距离小于等于
[0075]
将公式(4)进行一些本领域公知的数学推导,得到
[0076][0077]
其中,n1表示第1次分块数据的分块数据长度,即初始分块数据长度,b表示原始随机数对应的随机向量x和y中每个变量的比特长度。
[0078]
可以看出该随着初始分块数据长度n1的增大,公式(5)的上界值18.可以
任意小,即本发明生成的随机数与均匀分布之间的距离可以任意小,说明了本发明生成的随机数满足近似均匀分布。
[0079]
综上所述,本发明提供的量子随机数后处理方法在保证了最终随机数的质量的情况下,减少了现有生成最终随机数的方案中获取全部原始随机数据在一起后处理中的等待时间,提高了随机数的生成速率;由于本发明生成随机数没有使用随机种子,也即是减少了需要严苛环境下且生成速率极低的随机种子,也即是进一步地提高了本发明生成随机数地速率,扩大了本发明提供的量子随机数生成器的应用范围。
[0080]
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
[0081]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0082]
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
[0083]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表