CN110472739B - 量子随机数的高效后处理方法、装置及量子随机数发生器 - Google Patents

量子随机数的高效后处理方法、装置及量子随机数发生器 Download PDF

Info

Publication number
CN110472739B
CN110472739B CN201910740092.XA CN201910740092A CN110472739B CN 110472739 B CN110472739 B CN 110472739B CN 201910740092 A CN201910740092 A CN 201910740092A CN 110472739 B CN110472739 B CN 110472739B
Authority
CN
China
Prior art keywords
random number
sequence
subsequences
number sequence
random numbers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910740092.XA
Other languages
English (en)
Other versions
CN110472739A (zh
Inventor
刘鹏
李秀秀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongchuangwei Nanjing Quantum Communication Technology Co ltd
Original Assignee
Beijing Zhongchuangwei Nanjing Quantum Communication Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Zhongchuangwei Nanjing Quantum Communication Technology Co ltd filed Critical Beijing Zhongchuangwei Nanjing Quantum Communication Technology Co ltd
Priority to CN201910740092.XA priority Critical patent/CN110472739B/zh
Publication of CN110472739A publication Critical patent/CN110472739A/zh
Application granted granted Critical
Publication of CN110472739B publication Critical patent/CN110472739B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)

Abstract

一种量子随机数的高效后处理方法、装置及量子随机数发生器。该方法包括:获取ADC码值序列,ADC码值序列包括N个随机数;将ADC码值序列划分为多个子序列,子序列包括M个随机数,相邻子序列至多包括M‑1个在ADC码值序列中同位的随机数,且各组相邻子序列同位的随机数个数相同;根据各个子序列的累计值,确定第一随机数序列;根据预先设定的托普利兹矩阵,提纯第一随机数序列。本申请中,相较于ADC码值序列,第一随机数序列的随机性更高,而基于托普利兹矩阵的后处理方法的计算复杂度与随机性呈反比,因此,根据托普利兹矩阵,提纯经过预处理得到的第一随机数序列,能够降低后处理的计算复杂度,进而提高随机数发生器的输出效率。

Description

量子随机数的高效后处理方法、装置及量子随机数发生器
技术领域
本申请涉及量子通信技术领域,特别涉及一种量子随机数的高效后处理方法、装置及量子随机数发生器。
背景技术
随着全球信息化发展,网络通信已经是人类当前重要的通信方式。但是,随之而来的是网络中存在的各种信息安全问题。保护网络安全的重要手段之一就是密码技术。密码技术包括现代经典密码技术和量子密码技术,而这些密码技术的基础为随机数。此外,除了密码技术,随机数在诸如数值计算、统计分析、蒙特卡罗模拟、博彩业、码分多址系统、数字通信、雷达测试、遥控遥测、量子力学基础检验和网络验证码等诸多技术领域都有着重要作用。
量子随机数发生器(Quantum Random Number Generator,QRNG)是各种物理真随机数发生器中一种基于量子力学原理的随机数发生器。量子力学的不确定性基本原理保证了QRNG的绝对随机性。QRNG作为一类特殊的物理随机数发生器,它的随机信号源是微观量子效应支配的物理量。与确定性的经典物理不同,概率性,又称为随机性,是量子力学的基本原理之一。量子力学的随机性使得通过测量量子信号源获得的随机数具有天然的随机性,这一特性不受初始条件和环境的影响,因此,量子随机数是一种安全的真随机数。受到经典噪声和内部器件的非理想性等因素的影响,QRNG产生的量子随机数会存在分布不均匀、偏置和冗余等缺陷,需要通过数据后处理才可作为符合理想真随机数特征的量子真随机数。
相关技术中,通常采用基于托普利兹(Topelitz)矩阵的后处理方法,这种后处理方法可以降低随机数序列的偏置,并减小原始随机数序列的自相关性,从而提高随机数序列的随机性。但是,为了保证处理后的随机数序列的随机性,这种后处理方法在处理原始随机数序列时的计算复杂度往往过高,导致随机数发生器的输出效率较低。
发明内容
本申请提供一种量子随机数的高效后处理方法、装置及量子随机数发生器,可用于解决在相关技术中后处理方法在处理原始随机数序列时的计算复杂度往往过高,导致随机数发生器的输出效率较低。
一方面,本申请提供一种量子随机数的高效后处理方法,该方法包括:
获取模数转换器ADC码值序列,所述ADC码值序列包括N个随机数,所述N为正整数;
将所述ADC码值序列划分为多个子序列,所述子序列包括M个随机数,其中,相邻子序列至多包括M-1个在所述ADC码值序列中同位的随机数,且各组相邻子序列同位的随机数的个数相同;
根据各个子序列的累计值,确定第一随机数序列,所述第一随机数序列中的各个随机数为所述各个子序列的累计值,所述累计值为对应子序列中各随机数的累加值;
根据预先设定的托普利兹矩阵,提纯所述第一随机数序列。
在一个可能的设计中,所述根据各个子序列的累计值,得到第一随机数序列,包括:
根据如下关系式确定子序列的累计值
Figure BDA0002163633280000021
Figure BDA0002163633280000022
其中,yj为第j个子序列的累计值,xi为所述第j个子序列中的第i个随机数,M为所述子序列中随机数的预设个数,l为大于1的正整数;
根据所述各个子序列在所述ADC码值序列中的顺序,将所述各个子序列的累计值排序,得到所述第一随机数序列。
在另一个可能的设计中,所述M的取值范围为[2,50],所述l取值为8。
在又一个可能的设计中,所述根据预先设定的托普利兹矩阵,提纯所述第一随机数序列之前,还包括:
根据所述预设参数,确定所述第一随机数序列的最高有效位和最低有效位,所述最高有效位是指在所述第一随机数序列中数值随机变化的最高比特位,所述最低有效位是指在所述第一随机数序列中除受电子噪声干扰的随机数之外的最低比特位;
删除所述第一随机数序列中位数高于所述最高有效位和低于所述最低有效位的随机数。
在又一个可能的设计中,所述根据所述预设参数,确定所述第一随机数序列的最高有效位和最低有效位之前,还包括:
建立输出所述ADC码值序列的随机数发生器的模型,所述模型用于模拟所述随机数发生器产生的随机数序列;
根据所述模型,确定随机数序列的动态范围和噪声范围,所述动态范围用于指示随机数序列中数值随机变化的比特位,所述噪声范围用于指示随机数序列中受电子噪声干扰的随机数之外的比特位;
根据所述动态范围和所述噪声范围,确定所述预设参数,所述预设参数用于指示所述最高有效位和所述最低有效位。
在又一个可能的设计中,所述托普利兹矩阵的行数为M/2,列数为M;
所述根据预先设定的托普利兹矩阵,提纯所述第一随机数序列,包括:
确定所述第一随机数序列与所述托普利兹矩阵的矩阵乘积,所述矩阵乘积为提纯后的第一随机数序列。
另一方面,本申请提供了一种量子随机数的高效后处理装置,所述装置包括:
序列获取单元,用于获取模数转换器ADC码值序列,所述ADC码值序列包括N个随机数,所述N为正整数;
序列划分单元,用于将所述ADC码值序列划分为多个子序列,所述子序列包括n个随机数,其中,相邻子序列至多包括n-1个在所述ADC码值序列中同位的随机数,且各组相邻子序列同位的随机数的个数相同;
序列处理单元,用于根据各个子序列的累计值,得到第一随机数序列,所述第一随机数序列中的各个随机数为所述各个子序列的累计值,所述累计值为对应子序列中各随机数的累加值;
所述序列处理单元,还用于根据预先设定的托普利兹矩阵,提纯所述第一随机数序列。
再一方面,本申请提供了一种量子随机数发生器,所述量子随机数发生器包括:熵源、读出系统和后处理模块,所述读出系统包括模数转换器ADC,所述后处理模块被配置为:
获取ADC码值序列,所述ADC码值序列包括N个随机数,所述N为正整数;
将所述ADC码值序列划分为多个子序列,所述子序列包括M个随机数,其中,相邻子序列至多包括M-1个在所述ADC码值序列中同位的随机数,且各组相邻子序列同位的随机数的个数相同;
根据各个子序列的累计值,得到第一随机数序列,所述第一随机数序列中的各个随机数为所述各个子序列的累计值,所述累计值为对应子序列中各随机数的累加值;
根据预先设定的托普利兹矩阵,提纯所述第一随机数序列。
又一方面,本申请提供一种计算机存储介质,所述计算机存储介质中存储有可执行指令,所述可执行指令用于执行上述方面所述的方法。
本申请提供的方案,后处理模块通过将ADC码值序列划分成多个子序列并计算各个子序列的累计值,得到第一随机数序列。后处理模块再根据托普利兹矩阵,提纯第一随机数序列,以提高第一随机数序列的随机性。由于第一随机数序列是经过划分子序列和确定累计值这一预处理过程得到的,相较于ADC码值序列,第一随机数序列的相关性更低,随机性更高,而基于托普利兹矩阵的后处理方法的计算复杂度与所要处理的随机数的随机性呈反比,因此,根据托普利兹矩阵,提纯经过预处理得到第一随机数序列,能够降低随机数后处理这一过程的计算复杂度,进而提高随机数发生器的输出效率。
附图说明
图1是本申请一个实施例提供的实施环境的示意图;
图2是本申请一个实施例提供的量子随机数的高效后处理方法的流程图;
图3是本申请一个实施例提供的划分子序列的示意图;
图4是本申请另一实施例提供的划分子序列的示意图;
图5是本申请一个实施例提供的量子随机数的高效后处理装置的示意性框图;
图6A是本申请一个实施例提供的量子随机数发生器的示意图;
图6B是本申请另一个实施例提供的量子随机数发生器的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例描述的实施环境和硬件架构是为了更加清楚地说明本申请实施例的技术方案,并不构成对本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着硬件架构的演变,本申请实施例提供的技术方案对于不同实施环境下类似的技术问题,同样适用。
下面首先结合图1对本申请实施例适用的可能实施环景进行介绍。请参考图1,其示出了本申请实施例可能适用的一种实施环境的示意图。以量子随机数发生器为例,实施环境中可以包括量子随机数发生器中的读出系统101和后处理模块102。读出系统101输出随机数序列,后处理模块102对随机数序列进行后处理。读出系统101中包括光电探测器,例如光电二极管(Photo-Diode,PD),放大器(Amplifier,AMP)和模数转换器(Analog-to-Digital Converter,ADC)。读出系统101输出的随机数序列为ADC输出的ADC码值序列。后处理模块102可以为现场可编程门阵列(Field Programmable Gate Array,FPGA)。可选地,后处理模块102还可以为中央处理单元(Central Processing Unit,CPU)、现场可编程门阵列(Field Programmable Gate Array,FPGA)和专用集成电路(Application SpecificIntegrated Circuit,ASIC)中的一个或多个的组合。
请参考图2,其示出了本申请一个实施例提供的量子随机数的高效后处理方法的流程图。该方法可应用于图1所示的后处理模块中。该方法可以包括如下几个步骤。
步骤201,获取ADC码值序列。
在生成量子随机数的过程中,读出系统最终输出的随机数序列是ADC转换输出的ADC码值序列。对于理想状态下的量子随机数发生器,即不受经典噪声和实际器件等因素的影响,读出系统输出的随机数序列中的随机数是均匀分布的,保持着01比例的均衡。但是,在实际应用中,由于经典噪声和实际器件等因素的影响,ADC最终输出的ADC码值序列即随机数序列可能存在分布不均匀的问题。对此,需要后处理模块重新编码读出系统输出的ADC码值序列,使得随机数序列中的随机数分布均匀。因此,量子随机数的后处理过程实际是后处理模块对随机数序列的数据处理过程。
后处理模块获取ADC码值序列,相应地,需要ADC输出序列。当随机数发生器运行时,ADC不间断地输出ADC码值,即随机数。ADC每输出N个随机数,后处理模块相应地将上述N个随机数按照ADC的输出顺序作为一组ADC码值序列。其中,N为正整数。因此,后处理模块获取的ADC码值序列包括N个随机数。
步骤202,将ADC码值序列划分为多个子序列。
在获取到上述ADC码值序列后,后处理模块将ADC码值序列划分为多个子序列。每个子序列中随机数的个数相同,均包括M个随机数。其中,相邻子序列至多包括n-1个在ADC码值序列中同位的随机数,且各组相邻子序列同位的随机数的个数相同。上述同位的随机数是指子序列中在ADC码值序列中顺序位数相同的随机数,即相邻子序列之间重叠的随机数。例如,根据ADC码值序列划分为出的第一个子序列和第二个子序列。第一个子序列包括的0、1和2位上的三个随机数;第二个子序列包括的1、2和3位上的三个随机数。其中,第一个子序列中的第二个、第三个随机数与第二个子序列中的第一个、第二个是重叠的随机数。因此,根据包括N个随机数的ADC码值序列,后处理模块划分出的子序列的个数至少能够划分出N/M个,至多为N个。上述M为大于1的正整数。
在一种可能的实施方式中,后处理模块划分出的相邻子序列的随机数不重叠。示例性地,如图3所示,后处理模块划分ADC码值序列301。随机数序列301包括1024位随机数。后处理模块将每三位随机数作为一组子序列进行划分。需要说明的是,图3仅示例性地示出了ADC码值序列301中的部分随机数和后处理模块划分的部分子序列,对于子序列的划分过程仅是示例性和解释性的介绍,并不用于限定本申请·。
在另一种可能的实时方式中,后处理模块划分出的相邻子序列中的部分随机数重叠,重叠的个数为M-1。示例性地,如图4所示,后处理模块划分ADC码值序列401。随机数序列401包括1024位随机数。后处理模块划分出一组包括三位随机数的子序列402后,将子序列402中的第二个随机数作为下一组子序列的第一个随机数,得到子序列403。需要说明的是,图4仅示例性地示出了ADC码值序列401中的部分随机数和后处理模块划分的部分子序列,对于子序列的划分过程仅是示例性和解释性的介绍,并不用于限定本申请。
步骤203,根据各个子序列的累计值,确定第一随机数序列。
后处理模块在划分出多个子序列后,确定各个子序列的累计值,进而确定第一随机数序列。其中,第一随机数序列中的各个随机数是后处理模块划分出的各个子序列的累计值,而累计值是子序列中各随机数的累加值。后处理模块采用累加子序列中相邻ADC码值的方式,预先处理ADC码值序列。通过这种累加的方式降低ADC码值的相关性,使得输出的随机数序列趋近于均匀分布。
可选地,后处理模块根据如下关系式确定子序列的累计值:
Figure BDA0002163633280000051
Figure BDA0002163633280000052
其中,yj为第j个子序列的累计值,xi为第j个子序列中的第i个随机数,M为子序列中随机数的预设个数,l为大于1的正整数。可选地,M的取值范围为[2,50],所述l取值为8。
在一种可能的实施方式中,累计值是子序列中各随机数的累减值。后处理模块采将子序列中相邻ADC码值相减的方式,预先处理ADC码值序列。通过这种累减的方式降低ADC码值的相关性,使得输出的随机数序列趋近于均匀分布。
步骤204,根据预先设定的托普利兹矩阵,提纯第一随机数序列。
在经过子序列划分和累计值计算后,后处理模块得到了经过预处理的随机数即第一随机数序列。后处理模块根据预先设定的托普利兹矩阵,提纯第一随机数序列。其中,托普利兹矩阵是根据所要处理的随机数序列的随机性预先设定的矩阵。若所要处理的随机数序列的随机性越高,则托普利兹矩阵的复杂度越高,相应地,处理随机数序列的计算复杂读也越高;若所要处理的随机数序列的随机性越低,则托普利兹矩阵的复杂度越低,相应地,处理随机数序列的计算复杂读也越低。由于第一随机数序列在上述步骤202和步骤203中已经经过了累加或累减的预处理,相较于读出系统输出的ADC码值序列,第一随机数序列的相关性更低,所需设定的托普利兹矩阵的复杂度也更低。
可选地,提纯第一随机数数序列,是对上述托普利兹矩阵与第一随机数序列做矩阵乘法处理,得到的矩阵乘积为提纯后的第一随机数序列。后处理模块可以将第一随机数序列作为一个列矩阵。若后处理模块将第一随机数序列作为列矩阵,则托普利兹矩阵的列数等于列矩阵的行数,而托普利兹矩阵的行数为其列数的一半。
可选地,后处理模块在对托普利兹矩阵与第一随机数序列做矩阵乘法处理时,将托普利兹矩阵拆分成多个子矩阵,也将作为列矩阵的第一随机数序列进行拆分。拆分后,在每单个时种周期内完成一次分块矩阵乘法,通过多次的分块运算处理完成对托普利兹矩阵与第一随机数序列的矩阵乘法处理。
在一种可能的实施方式中,在根据预先设定的托普利兹矩阵,提纯第一随机数序列之前,后处理模块根据预设参数,确定第一随机数序列的最高有效位和最低有效位,再删除第一随机数序列中位数高于上述最高有效位和低于上述最低有效位的随机数。对于一组随机数序列,在理想状态下,每一比特位上的随机数的值都是随机的,因此,理想状态下输出的随机数序列中的每一比特位随机数是随机变化的。但是,在实际应用中,一组随机数序列中的高位上的部分随机数的值是不变的。最高有效位是指在第一随机数序列中数值随机变化的最高比特位。上述最低有效位是指在第一随机数序列中除受电子噪声干扰的随机数之外的最低比特位。对于随机数发生器,在运行过程中会受到电子噪声的干扰,导致随机数受到影响。通常情况下,是低比特位上的随机数会受到电子噪声的干扰。因此,后处理模块确定第一随机数序列的最高有效位和最低有效位后,删除相应的比特位上的随机数,即避免了不随机变化或受电子噪声影响的随机数对随机性的影响,又减少了第一随机数序列中随机数的个数,进而降低根据托普利兹矩阵提纯第一随机数序列的计算复杂度。
可选地,上述预设参数用于指示第一随机数序列的最高有效位和最低有效位。该预设参数可以通过模拟建模的方式确定。首先,建立随机数发生器的模型。该随机数发生器是指输出上述ADC码值序列的随机数发生器。所建立的模型用于模拟随机数发生器产生的随机数序列。根据建立的模型,确定模拟的随机数序列的动态范围和噪声范围。动态范围用于指示随机数序列中数值随机变化的比特位,噪声范围用于指示随机数序列中受电子噪声干扰的随机数之外随机数的比特位。最终,根据动态范围和噪声范围,确定上述预设参数。
可选地,在提纯第一随机数序列后,后处理模块对提纯后的第一随机数序列进行位宽转换处理,将第一随机数序列转换至256比特的位宽。后处理模块基于安全散列算法(Secure Hash Algorithm,SHA)对第一随机数序列进行加密哈希运算。
可选地,后处理模块根据预先生成的随机数编码表,对第一随机数序列进行编码,以提纯第一随机数序列。上述随机数编码表用于指示第一随机数序列中各类子序列对应的正向编码和反向编码,正向编码是根据对应的子序列的占比生成,反向编码为正向编码的反码。后处理模块将第一随机数序列中各个子序列转化为对应的正向编码或反向编码,得到提纯后的随机数序列。由于正向编码是根据子序列在第一随机数序列中的占比生成的,且随机数编码表中还包括用于均衡01分布的反向编码,因此在根据随机数编码表得到的提纯后的第一随机数序列中,随机数分布均匀。此外,相较于根据托普利兹矩阵,提纯第一随机数序列,根据随机数编码表进行编码这一方法的计算复杂度更低。这一方法的主要计算处理内容是预先设定随机数编码表,在实际处理第一随机数序列时,无需复杂的处理计算,因此计算复杂度低。
在本申请提供的方法中,后处理模块通过将ADC码值序列划分成多个子序列并计算各个子序列的累计值,得到第一随机数序列。后处理模块再根据托普利兹矩阵,提纯第一随机数序列,以提高第一随机数序列的随机性。由于第一随机数序列是经过划分子序列和确定累计值这一预处理过程得到的,相较于ADC码值序列,第一随机数序列的相关性更低,随机性更高,而基于托普利兹矩阵的后处理方法的计算复杂度与所要处理的随机数的随机性呈反比,因此,根据托普利兹矩阵,提纯经过预处理得到第一随机数序列,能够降低随机数后处理这一过程的计算复杂度,进而提高随机数发生器的输出效率。
上述主要对本申请实施例提供的方案进行了介绍。可以理解的是,量子随机数发生器中的后处理模块为了实现上述功能,包含了执行各个功能相应的硬件结构和/或软件模块。结合本申请中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的技术方案的范围。
本申请实施例可以根据上述方法示例对量子随机数的后处理装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
参见图5,为本申请一实施例提供的一种量子随机数的后处理装置的结构示意图,该装置500包括:序列获取单元501、序列划分单元502和序列处理单元503,此外,还可以包括其它功能单元或功能模块,用于执行上述实施例所述的后处理方法。
序列获取单元501,用于获取模数转换器ADC码值序列,所述ADC码值序列包括N个随机数,所述N为正整数。
序列划分单元502,用于将所述ADC码值序列划分为多个子序列,所述子序列包括n个随机数,其中,相邻子序列至多包括n-1个在所述ADC码值序列中同位的随机数,且各组相邻子序列同位的随机数的个数相同。
序列处理单元503,用于根据各个子序列的累计值,得到第一随机数序列,所述第一随机数序列中的各个随机数为所述各个子序列的累计值,所述累计值为对应子序列中各随机数的累加值。
所述序列处理单元503,还用于根据预先设定的托普利兹矩阵,提纯第一随机数序列。
在本申请提供的装置中,通过将ADC码值序列划分成多个子序列并计算各个子序列的累计值,得到第一随机数序列。后处理模块再根据托普利兹矩阵,提纯第一随机数序列,以提高第一随机数序列的随机性。由于第一随机数序列是经过划分子序列和确定累计值这一预处理过程得到的,相较于ADC码值序列,第一随机数序列的相关性更低,随机性更高,而基于托普利兹矩阵的后处理方法的计算复杂度与所要处理的随机数的随机性呈反比,因此,根据托普利兹矩阵,提纯经过预处理得到第一随机数序列,能够降低随机数后处理这一过程的计算复杂度,进而提高随机数发生器的输出效率。
在一种可能的设计中,所述序列处理单元503,用于:
根据如下关系式确定子序列的累计值
Figure BDA0002163633280000071
Figure BDA0002163633280000072
其中,yj为第j个子序列的累计值,xi为所述第j个子序列中的第i个随机数,M为所述子序列中随机数的预设个数,l为大于1的正整数;
根据所述各个子序列在所述ADC码值序列中的顺序,将所述各个子序列的累计值排序,得到所述第一随机数序列。
在另一种可能的设计中,所述M的取值范围为[2,50],所述l取值为8。
在又一个可能的设计中,所述序列处理单元503,还用于:
根据所述预设参数,确定所述第一随机数序列的最高有效位和最低有效位,所述最高有效位是指在所述第一随机数序列中数值随机变化的最高比特位,所述最低有效位是指在所述第一随机数序列中除受电子噪声干扰的随机数之外的最低比特位;删除所述第一随机数序列中位数高于所述最高有效位和低于所述最低有效位的随机数。
在又一个可能的设计中,所述序列处理单元503,还用于:
建立输出所述ADC码值序列的随机数发生器的模型,所述模型用于模拟所述随机数发生器产生的随机数序列;
根据所述模型,确定随机数序列的动态范围和噪声范围,所述动态范围用于指示随机数序列中数值随机变化的比特位,所述噪声范围用于指示随机数序列中受电子噪声干扰的随机数之外的比特位;
根据所述动态范围和所述噪声范围,确定所述预设参数,所述预设参数用于指示所述最高有效位和所述最低有效位。
在又一个可能的设计中,所述托普利兹矩阵的行数为M/2,列数为M。
所述序列处理单元503,用于:确定所述第一随机数序列与所述托普利兹矩阵的矩阵乘积,所述矩阵乘积为提纯后的第一随机数序列。
本申请还提供一种量子随机数发生器。如图6A所示,该量子随机数发生器包括:熵源60、读出系统61和后处理模块62。该后处理模块62被配置为:
获取ADC码值序列,所述ADC码值序列包括N个随机数,所述N为正整数;
将所述ADC码值序列划分为多个子序列,所述子序列包括M个随机数,其中,相邻子序列至多包括M-1个在所述ADC码值序列中同位的随机数,且各组相邻子序列同位的随机数的个数相同;
根据各个子序列的累计值,得到第一随机数序列,所述第一随机数序列中的各个随机数为所述各个子序列的累计值,所述累计值为对应子序列中各随机数的累加值;
根据预先设定的托普利兹矩阵,提纯所述第一随机数序列。
如图6B所示,其示出了上述量子随机数发生器的硬件结构。熵源60包括激光器601和干涉仪602。读出系统61包括光电探测器611、放大器612和模数转换器613。后处理模块62包括后处理芯片621。后处理芯片621包括CPU、FPGA和ASIC等处理器中的至少一个。
此外,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序或可执行指令,该程序或指令被执行时可包括本申请提供的方法实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体ROM或随机存储记忆体RAM等。所述计算机程序产品包括一个或多个计算机指令。在计算机加载和执行所述计算机程序时,全部或部分地产生按照本申请上述各个实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。
本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
此外,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。以上所述的本申请实施方式并不构成对本申请保护范围的限定。

Claims (6)

1.一种量子随机数的后处理方法,其特征在于,所述方法应用于量子随机数发生器,所述量子随机数发生器包括:熵源、读出系统和后处理模块,所述读出系统包括模数转换器ADC,所述方法包括:
获取ADC输出的ADC码值序列,所述ADC码值序列包括N个随机数,所述N为正整数;
将所述ADC码值序列划分为多个子序列,所述子序列包括M个随机数,相邻子序列中的部分随机数重叠,且相邻子序列至多包括M-1个在所述ADC码值序列中同位的随机数,各组相邻子序列同位的随机数的个数相同;
根据各个子序列的累计值,确定第一随机数序列,所述第一随机数序列中的各个随机数为所述各个子序列的累计值,所述累计值为对应子序列中各随机数的累加值;
根据预设参数,确定所述第一随机数序列的最高有效位和最低有效位,所述最高有效位是指在所述第一随机数序列中数值随机变化的最高比特位,所述最低有效位是指在所述第一随机数序列中除受电子噪声干扰的随机数之外的最低比特位;
删除所述第一随机数序列中位数高于所述最高有效位和低于所述最低有效位的随机数;
根据预先生成的随机数编码表,对所述第一随机数序列进行编码,以提纯所述第一随机数序列,所述随机数编码表用于指示所述第一随机数序列中各类子序列对应的正向编码和反向编码,所述正向编码是根据对应的子序列的占比生成,所述反向编码为正向编码的反码。
2.根据权利要求1所述的方法,其特征在于,所述根据各个子序列的累计值,得到第一随机数序列,包括:
根据如下关系式确定子序列的累计值
Figure FDA0003074571870000011
Figure FDA0003074571870000012
其中,yj为第j个子序列的累计值,xi为所述第j个子序列中的第i个随机数,M为所述子序列中随机数的预设个数,l为大于1的正整数;
根据所述各个子序列在所述ADC码值序列中的顺序,将所述各个子序列的累计值排序,得到所述第一随机数序列。
3.根据权利要求2所述的方法,其特征在于,所述M的取值范围为[2,50],所述l取值为8。
4.根据权利要求1所述的方法,其特征在于,所述根据所述预设参数,确定所述第一随机数序列的最高有效位和最低有效位之前,还包括:
建立输出所述ADC码值序列的随机数发生器的模型,所述模型用于模拟所述随机数发生器产生的随机数序列;
根据所述模型,确定随机数序列的动态范围和噪声范围,所述动态范围用于指示随机数序列中数值随机变化的比特位,所述噪声范围用于指示随机数序列中受电子噪声干扰的随机数之外的比特位;
根据所述动态范围和所述噪声范围,确定所述预设参数,所述预设参数用于指示所述最高有效位和所述最低有效位。
5.一种量子随机数的后处理装置,其特征在于,所述装置包括:
序列获取单元,用于获取模数转换器ADC码值序列,所述ADC码值序列包括N个随机数,所述N为正整数;
序列划分单元,用于将所述ADC码值序列划分为多个子序列,所述子序列包括n个随机数,相邻子序列中的部分随机数重叠,且相邻子序列至多包括n-1个在所述ADC码值序列中同位的随机数,各组相邻子序列同位的随机数的个数相同;
序列处理单元,用于根据各个子序列的累计值,得到第一随机数序列,所述第一随机数序列中的各个随机数为所述各个子序列的累计值,所述累计值为对应子序列中各随机数的累加值;
所述序列处理单元,还用于根据预设参数,确定所述第一随机数序列的最高有效位和最低有效位,所述最高有效位是指在所述第一随机数序列中数值随机变化的最高比特位,所述最低有效位是指在所述第一随机数序列中除受电子噪声干扰的随机数之外的最低比特位;
所述序列处理单元,还用于删除所述第一随机数序列中位数高于所述最高有效位和低于所述最低有效位的随机数;
所述序列处理单元,还用于根据预先生成的随机数编码表,对所述第一随机数序列进行编码,以提纯所述第一随机数序列,所述随机数编码表用于指示所述第一随机数序列中各类子序列对应的正向编码和反向编码,所述正向编码是根据对应的子序列的占比生成,所述反向编码为正向编码的反码。
6.一种量子随机数发生器,其特征在于,所述量子随机数发生器包括:熵源、读出系统和后处理模块,所述读出系统包括模数转换器ADC,所述后处理模块被配置为:
获取ADC码值序列,所述ADC码值序列包括N个随机数,所述N为正整数;
将所述ADC码值序列划分为多个子序列,所述子序列包括M个随机数,相邻子序列中的部分随机数重叠,且相邻子序列至多包括M-1个在所述ADC码值序列中同位的随机数,各组相邻子序列同位的随机数的个数相同;
根据各个子序列的累计值,得到第一随机数序列,所述第一随机数序列中的各个随机数为所述各个子序列的累计值,所述累计值为对应子序列中各随机数的累加值;
根据预设参数,确定所述第一随机数序列的最高有效位和最低有效位,所述最高有效位是指在所述第一随机数序列中数值随机变化的最高比特位,所述最低有效位是指在所述第一随机数序列中除受电子噪声干扰的随机数之外的最低比特位;
删除所述第一随机数序列中位数高于所述最高有效位和低于所述最低有效位的随机数;
根据预先生成的随机数编码表,对所述第一随机数序列进行编码,以提纯所述第一随机数序列,所述随机数编码表用于指示所述第一随机数序列中各类子序列对应的正向编码和反向编码,所述正向编码是根据对应的子序列的占比生成,所述反向编码为正向编码的反码。
CN201910740092.XA 2019-08-12 2019-08-12 量子随机数的高效后处理方法、装置及量子随机数发生器 Active CN110472739B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910740092.XA CN110472739B (zh) 2019-08-12 2019-08-12 量子随机数的高效后处理方法、装置及量子随机数发生器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910740092.XA CN110472739B (zh) 2019-08-12 2019-08-12 量子随机数的高效后处理方法、装置及量子随机数发生器

Publications (2)

Publication Number Publication Date
CN110472739A CN110472739A (zh) 2019-11-19
CN110472739B true CN110472739B (zh) 2021-08-24

Family

ID=68510104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910740092.XA Active CN110472739B (zh) 2019-08-12 2019-08-12 量子随机数的高效后处理方法、装置及量子随机数发生器

Country Status (1)

Country Link
CN (1) CN110472739B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112529199B (zh) * 2020-12-23 2021-09-28 北京百度网讯科技有限公司 纠缠量子态提纯方法、装置、设备、存储介质及产品
CN117149138B (zh) * 2023-10-31 2024-03-08 中电信量子科技有限公司 降低量子随机数偏置的高效后处理方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368282A (zh) * 2017-04-27 2017-11-21 北京大学 一种源无关连续型量子随机数产生方法及装置
CN109240645A (zh) * 2018-01-19 2019-01-18 北京中创为量子通信技术有限公司 一种量子随机数发生器及量子随机数生成方法
CN109375898A (zh) * 2018-11-26 2019-02-22 弦海(上海)量子科技有限公司 基于cmos探测的量子真随机数生成器芯片及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3040853B1 (en) * 2014-12-31 2018-12-19 Universita Degli Studi di Padova Method and apparatus for generating a sequence of random bits
KR102200221B1 (ko) * 2015-05-13 2021-01-11 한국전자통신연구원 다중 출력 양자 난수 발생기

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368282A (zh) * 2017-04-27 2017-11-21 北京大学 一种源无关连续型量子随机数产生方法及装置
CN109240645A (zh) * 2018-01-19 2019-01-18 北京中创为量子通信技术有限公司 一种量子随机数发生器及量子随机数生成方法
CN109375898A (zh) * 2018-11-26 2019-02-22 弦海(上海)量子科技有限公司 基于cmos探测的量子真随机数生成器芯片及方法

Also Published As

Publication number Publication date
CN110472739A (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
Rekhi et al. Analog/mixed-signal hardware error modeling for deep learning inference
CN110472739B (zh) 量子随机数的高效后处理方法、装置及量子随机数发生器
CN109871871B (zh) 基于光学神经网络结构的图像识别方法、装置及电子设备
US20140046885A1 (en) Method and apparatus for optimized representation of variables in neural systems
Chan et al. Winding stairs: A sampling tool to compute sensitivity indices
JP5848414B2 (ja) 情報の符号化および復号
TW201618509A (zh) 用於基於閾値的信號編碼的非同步脈衝調制
CN110471644B (zh) 量子随机数的后处理方法、装置及量子随机数发生器
CN112632881A (zh) 量子克里福德电路的容错计算方法、装置、设备及芯片
Meiron et al. Expansion techniques for collisionless stellar dynamical simulations
CN112163335A (zh) 一种NOx浓度预测模型的训练方法、预测方法和装置
CN108491318A (zh) 一种序列检测方法、电子设备及存储介质
Hirata et al. Reconstructing state spaces from multivariate data using variable delays
Dmitriev et al. Sum codes with efficient detection of twofold errors for organization of concurrent error-detection systems of logical devices
EP3796233A1 (en) Information processing device and method, and program
Soloveychik et al. Pseudo-Wigner matrices
CN115907194A (zh) 一种光伏发电功率预测方法、系统及产品
CN108347250B (zh) 适用于少量冗余里德-所罗门码的快速编码方法及设备
US7966347B2 (en) Generating a value associated with one of a plurality of leaf nodes by implicitly randomly climbing an implicit tree having the leaf nodes
KR20220159056A (ko) 양방향 lstm 신경망을 이용한 조위 예측 시스템 및 방법
Solomko et al. Study of carry optimization while adding binary numbers in the rademacher number-theoretic basis
Nahar et al. Survey of Stochastic Number Generators and Optimizing Techniques
CN106502627A (zh) 一种伪随机数种子生成方法
Abdellatef et al. Characterization of correlation in stochastic computing functions
CN117614602B (zh) 一种时滞混沌系统模型重构难度度量方法、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PP01 Preservation of patent right

Effective date of registration: 20220729

Granted publication date: 20210824

PP01 Preservation of patent right