WO2022048245A1 - 随机数产生电路 - Google Patents

随机数产生电路 Download PDF

Info

Publication number
WO2022048245A1
WO2022048245A1 PCT/CN2021/100741 CN2021100741W WO2022048245A1 WO 2022048245 A1 WO2022048245 A1 WO 2022048245A1 CN 2021100741 W CN2021100741 W CN 2021100741W WO 2022048245 A1 WO2022048245 A1 WO 2022048245A1
Authority
WO
WIPO (PCT)
Prior art keywords
random number
generating circuit
output
random
flip
Prior art date
Application number
PCT/CN2021/100741
Other languages
English (en)
French (fr)
Inventor
范习安
Original Assignee
长鑫存储技术有限公司
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 长鑫存储技术有限公司 filed Critical 长鑫存储技术有限公司
Priority to US17/441,801 priority Critical patent/US20230067363A1/en
Publication of WO2022048245A1 publication Critical patent/WO2022048245A1/zh

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/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
    • 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/582Pseudo-random number generators
    • 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/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Pinball Game Machines (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

一种随机数产生电路,包括随机数发生器;随机数发生器包括反馈模块(22)以及多个依次连接的触发器(23),前一级的触发器(23)的输出端连接后一级的触发器(23)的输入端,且每一触发器(23)的输出端作为随机数发生器的输出端,反馈模块(22)的输出端连接一触发器(23)的输入端;反馈模块(22)被配置为接收选择信号(S),并基于选择信号(S),选中两个触发器(23)的输出端作为反馈模块(22)的输入端;随机数发生器被配置为,在每一计满周期内输出与相应的选择信号(S)对应的若干个第一随机数。

Description

随机数产生电路
本公开要求在2020年09月02日提交中国专利局、申请号为202010910744.2、发明名称为“随机数产生电路”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
技术领域
本公开实施例涉及但不限于一种随机数产生电路。
背景技术
处于信息时代的今天,关于信息的安全问题成为信息产品很关键的部分,加密模块是否具有良好的安全性能成为目前关注的重点之一。
对于加密模块而言,为了提高其安全性能需要提供具有良好随机性的随机数作为种子,从而形成伪随机数列。然而,目前的随机数产生电路产生的随机数的随机性仍然有待提高。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本公开提供的一种随机数产生电路实现了,提高输出的随机数的随机性。本公开实施例提供一种随机数产生电路,包括:随机数发生器,所述随机数发生器包括反馈模块以及多个依次连接的触发器,前一级的所述触发器的输出端连接后一级的所述触发器的输入端,且每一所述触发器的输出端作为所述随机数发生器的输出端,所述反馈模块的输出端连接另一所述触发器的输入端;所述反馈模块被配置为,接收选择信号,并基于所述选择信号,选中两个所述触发器的输出端作为所述反馈模块的输入端;所述随机数发生器被配置为,在每一计满周期内输出与所述选择信号对应的若干个第一随机数。
在一些实施例中,所述反馈模块包括:异或门,所述异或门具有第一输入端以及第二输入端,所述第一输入端与一所述触发器的输出端连接,所述第二输入端与至少两个所述触发器的输出端连接;至少两个开关单元,每一所述开 关单元连接在所述第二输入端与相应的所述触发器的输出端之间,且所述开关单元接收所述选择信号,以使所述第二输入端与相应的所述触发器的输出端之间电连接或者断路。
在一些实施例中,所述开关单元包括熔丝结构。
在一些实施例中,还包括:控制信号生成模块,被配置为,接收触发信号,并基于所述触发信号输出与不同的所述第一随机数对应的控制信号;多选模块,被配置为,接收所述第一随机数以及与所述第一随机数对应的所述控制信号,基于所述控制信号对所述第一随机数的至少一个比特位置进行调整,获取第二随机数,并输出若干所述第二随机数。
在一些实施例中,所述随机数发生器为n-bit随机数发生器,所述若干个第一随机数为2 n-1个第一随机数;所述随机数发生器具有n个第一输出端,且每一所述第一输出端具有固定的比特位置,n为大于1的整数。
在一些实施例中,所述多选模块包括:片选输入端,用于接收所述控制信号;数据输入端,与n个所述第一输出端连接,用于接收所述第一随机数;所述多选模块具有N种不同比特位置调整方式,且每一所述比特位置调整方式与一所述控制信号对应,其中,N为大于或等于1的整数;所述多选模块还被配置为,对所述n个第一输出端的数据的比特位置进行调整,以获取所述第二随机数。
在一些实施例中,所述多选模块包括:N个调整单元,每一所述调整单元定义一所述比特位置调整方式;每一所述调整单元均具有所述数据输入端,且每一所述调整单元均具有所述片选输入端。
在一些实施例中,所述n个第一输出端的数据的比特位置排列为第一比特位置排列,每一所述调整单元具有n个第二输出端,所述n个第二输出端的数据的比特位置排列为第二比特位置排列;每一所述第二比特位置排列各不相同,且所述第二比特位置排列与所述第一比特位置排列不同。
在一些实施例中,N个所述调整单元被配置为,N个所述第二比特位置排列中,一个比特位的数据对应的所述第二输出端的位置不同,其余比特位的数据对应的所述第二输出端的位置排列不变。
在一些实施例中,至少一个所述第二比特位置排列与所述第一比特位置排列相同。
在一些实施例中,所述N大于或等于n。
在一些实施例中,所述控制信号生成模块包括:m-bit计数器;其中,N与m的关系满足:N≤2 m-1,m为任意自然数,N为大于等于2的任意自然数。
在一些实施例中,所述控制信号生成模块还被配置为,所述不同的第一随机数为在不同的所述计满周期内的所述第一随机数;在同一所述计满周期内,所述控制信号不变;一所述计满周期对应的所述控制信号与相邻的所述计满周期对应的所述控制信号不同。
在一些实施例中,所述随机数发生器还被配置为,完成每一所述计满周期则输出计满信号;所述控制信号生成模块接收所述计满信号作为所述触发信号。
在一些实施例中,所述控制信号生成模块还被配置为,所述不同的第一随机数包括每一所述计满周期内的所述第一随机数,在同一所述计满周期内,不同的所述第一随机数对应的所述控制信号不同。
在一些实施例中,所述随机数发生器还被配置为,接收驱动时钟信号产生所述第一随机数;所述控制信号生成模块还被配置为,接收所述驱动时钟信号作为所述触发信号。
在一些实施例中,所述控制信号生成模块包括:M-bit伪随机数产生电路,且所述伪随机数产生电路与所述随机数发生器接收同一驱动时钟信号。
本公开实施例提供一种结构性能优越的随机数产生电路,随机数发生器中包括反馈模块以及多个依次连接的触发器,反馈模块被配置为,接收选择信号,并基于选择信号选中两个触发器的输出端作为反馈模块的输入端,随机数发生器被配置为,在每一计满周期内输出与相应的选择信号对应的若干个第一随机数。当选择信号不同时,反馈模块选中的作为输入端的两个触发器不同,因此随机数发生器相应具有不同的反馈多项式(即反馈函数),从而使得随机数发生器能够产生具有不同随机序列的随机数,提高随机数产生电路产生随机数的随机性。
另外,随机数产生电路还包括控制信号生成模块以及多选模块,随机数发生器输出若干第一随机数,且控制信号生成模块向多选模块提供与不同第一随机数对应的控制信号,多选模块接收控制信号后对第一随机数的至少一个比特位置进行调整,获取第二随机数,第二随机数与第一随机数相比具有更好的随机性,从而进一步地提高随机数产生电路产生的随机数的随机性。
另外,多选模块具有N种不同比特位置调整方式,因此对于第一随机数的比特位置调整方式具有N种,基于具有一种随机序列的第一随机数而言,可以产生N种随机序列的第二随机数,从而进一步地增加了随机数的随机序列,进一步地提高了随机数的随机性。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
并入到说明书中并且构成说明书的一部分的附图示出了本公开的实施例,并且与描述一起用于解释本公开实施例的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本公开的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。
图1为7种不同的电路结构示意图;
图2为本公开一实施例提供的随机数产生电路的一种电路结构示意图;
图3为本公开一实施例提供的随机数产生电路的多种不同电路结构示意图;
图4为本公开又一实施例提供的随机数产生电路的功能框图;
图5为本公开另一实施例提供的随机数产生电路的功能框图;
图6为图5中的随机数发生器的电路结构示意图;
图7为图6中多选模块的结构示意图;
图8为图6中控制信号生成模块的一种结构示意图;
图9为图6中控制信号生成模块的另一种结构示意图;
图10为图6中控制信号生成模块的又一种结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互任意组合。
由背景技术可知,现有技术的随机数产生电路的随机性仍有待提高。
分析发现,目前的随机数产生电路虽然对输出进行了乱序处理,但是前后数之间还是具有一定的前后关系,很难做到真正意义上的随机。以线性移位寄存器((Linear Feedback Shift Registers,LFSR)作为随机数产生电路,以产生7-bit的随机数作为示例。对于一个固定的随机数产生电路而言,其抽头(the output of affect on the input,tap)位置是固定的,那么这个随机数产生电路只能产生一种随机序列,在一个计数周期内前后数的顺序是固定的,其中影响下一个状态的比特位置叫做抽头位置。
若需要产生多种随机序列,则需要设置多种随机数产生电路,且每一随机数产生电路的抽头位置不同,例如,对于7-bit的LFSR而言具有7种不同的抽头位置,则可设计7个具有不同抽头位置的LFSR,从而实现7种随机序列,每一种随机序列可产生2 7-1个随机数,以增加随机数的随机性。
图1为7种不同的电路结构示意图,如图1所示,标示1-7的7种不同的电路图各自对应的抽头位置不同,随机数产生电路包括:7个串联的触发器10,该触发器10为D触发器,且前一级触发器10的输出作为后一级触发器10的输入,且各触发器10接收驱动时钟信号clk;异或门11,异或门11的两个输入端分别与一触发器10的输入端与输出端连接,且异或门11的输出端作为另一触发器10的输入端;该异或门11的位置决定随机数产生电路的抽头位置;从左往右将触发器10称为第零级/第一级……第六级触发器10,且各触发器10的输出相应即为D[0]D[1]……D[6]。
对于标示为1的电路图,该随机数产生电路产生第一种随机序列的随机数:抽头位置为第零级触发器10,随机数产生电路的输出按照比特位的高低依次排布为D[0]D[6]D[5]D[4]D[3]D[2]D[1]。
对于标示为2的电路图,该随机数产生电路产生第二种随机序列的随机数:抽头位置为第一级触发器10,随机数产生电路的输出按照比特位的高低依次排布为D[1]D[0]D[6]D[5]D[4]D[3]D[2]。
对于标示为3的电路图,该随机数产生电路产生第三种随机序列的随机数:抽头位置为第二级触发器10,随机数产生电路的输出按照比特位的高低依次排布为D[2]D[1]D[0]D[6]D[5]D[4]D[3]。
对于标示为4的电路图,该随机数产生电路产生第四种随机序列的随机数: 抽头位置为第三级寄存器10,随机数产生电路的输出按照比特位的高低依次排布为D[3]D[2]D[1]D[0]D[6]D[5]D[4]。
对于标示为5的电路图,该随机数产生电路产生第五种随机序列的随机数:抽头位置为第四级寄存器10,随机数产生电路的输出按照比特位的高低依次排布为D[4]D[3]D[2]D[1]D[0]D[6]D[5]。
对于标示为6的电路图,该随机数产生电路产生第六种随机序列的随机数:抽头位置为第五级寄存器10,随机数产生电路的输出按照比特位的高低依次排布为D[5]D[4]D[3]D[2]D[1]D[0]D[6]。
对于标示为7的电路图,该随机数产生电路产生第七种随机序列的随机数:抽头位置为第六级寄存器10,随机数产生电路的输出按照比特位的高低依次排布为D[6]D[5]D[4]D[3]D[2]D[1]D[0]。
由上述分析不难发现,为达到不同的随机序列,需要改过电路图的抽头位置,即需要提供7种电路,增加电路复杂性。此外,由上述分析可知,对于随机数的比特位固定的电路而言,且抽头位置可变化的量也是固定的,导致可变化的随机序列的数量也是固定的,如图1为产生7-bit的随机数,那么抽头位置变化的最大量也是7,能够产生的随机序列的最大种类也是7,因此采用这种方式来增加随机序列的能力也是有限的。
本公开实施例提供一种随机数产生电路,包括随机数发生器,随机数发生器包括反馈模块,反馈模块的输出端连接一触发器的输入端,且反馈模块被配置为,接收选择信号,并基于选择信号选中两个触发器的输出端作为反馈模块的输入端,随机数发生器被配置为,在每一计满周期内输出与相应的选择信号对应的若干个第一随机数。由于选择信号不同则反馈模块选中不同的两个触发器的输出端作为反馈模块的输入端,使得随机数发生器具有不同的反馈多项式,因而随机数发生器能够产生具有不同随机序列的若干第一随机数,从而增加随机数产生电路产生的随机数的随机序列,提高随机数的随机性。
图2为本公开一实施例提供的随机数产生电路的一种电路结构示意图。
参考图2,本实施例中,随机数产生电路包括:随机数发生器,随机数发生器包括反馈模块22以及多个依次连接的触发器23,前一级的触发器23的输出端连接后一级的触发器23的输入端,且每一触发器23的输出端作为随机数发生器的输出端,反馈模块22的输出端连接另一触发器23的输入端;反馈模块 22被配置为,接收选择信号S,并基于选择信号S,选中两个触发器23的输出端作为反馈模块22的输入端,且反馈模块22的输出端的数据为对两个触发器23的输出端进行异或运算的数据;随机数发生器被配置为,在每一计满周期内输出与相应的选择信号S对应的若干个第一随机数。
以下将结合附图对本实施例提供的随机数产生电路进行详细说明。
随机数发生器为n-bit随机数发生器,相应的,若干个第一随机数为2 n-1个第一随机数;随机数发生器接收驱动时钟信号clk产生第一随机数。其中,随机数发生器产生所有不同的第一随机数的周期为计满周期。
随机数发生器具有n个第一输出端,且每一所述第一输出端具有固定的比特位置,n为大于1的整数,例如为4、7、10等。随机数发生器可以为线性反馈移位寄存器,且包括n个串联的触发器,每一个触发器的输出端作为n个第一输出端中的一个,且每一触发器的输出端所处的比特位置不同。
触发器23的数量为n。本实施例中,如图2示,以n为7作为示例进行说明,以图2中以D[0]、D[1]、D[2]……D[6]依次标示各触发器23的输出端。
随机数发生器具有抽头位置,且随机数发生器在每一计满周期内,按照特定的反馈多项式生成第一随机数,该抽头位置不同则相应的反馈多项式不同,因而产生的若干第一随机数的随机序列不同,且抽头位置与反馈模块22的输入端连接的触发器23有关。可采用抽头序列来定义抽头位置,举例来说,D[5]和D[6]作为反馈模块22的输入端,则抽头序列为(6,5);D[6]和D[4]作为反馈模块22的输入端,则抽头序列为(6,4)。
抽头序列与随机数发生器具有的反馈多项式有关,反馈多项式也可称为反馈函数。对应不同的抽头序列,随机数发生器具有的反馈多项式也不同,反馈模块22基于选中的触发器23的输出端定义不同的反馈多项式,且随机数发生器基于该反馈多项式产生第一随机数;反馈多项式相同,则计满周期内产生的若干第一随机数的顺序相同;反馈多项式不同,则不同计满周期内产生的若干第一随机数的顺序不同。本实施例中,通过反馈模块22基于选择信号选择不同的触发器的输出端作为反馈模块的输入端,调整抽头序列,从而改变产生的第一随机数的随机序列,换句话说,在每一计满周期内产生2n-1个第一随机数,但是在不同的计满周期内,2 n-1个第一随机数产生的顺序发生变化,从而增加了随机数发生器产生随机数的随机性。
反馈模块22的输出端与固定的触发器23的输入端连接,而反馈模块22的输入端可与不同的触发器23的输出端连接。需要说明的是,有关可作为反馈模块22的输入端的触发器23的选择原则为:在每一计满周期内,随机数发生器能够提供2n-1个第一随机数。因此,可以根据随机数发生器的电路结构的不同,合理设置反馈模块22,即合理选择可作为反馈模块22输入端的多个触发器23的输出端,以保证反馈模块22选中的两个触发器23的输出端作为反馈模块22的输入端时,随机数发生器能够产生2 n-1个第一随机数。
还需要说明的是,在其他实施例中,即使反馈模块选中两个触发器的输出端作为反馈模块输入端,相应的随机数发生器在单个计满周期内产生的第一随机数的数量少于2 n-1,也能够增加随机数产生电路产生的随机数的随机性;这是由于,虽然在单个计满周期产生的随机数的数量减少,但是同一随机数产生电路在不同的计满周期可产生的第一随机数的随机序列不同,整体上仍能提高随机数产生电路产生的随机数的随机性。
本实施例中,反馈模块22包括:异或门24,异或门24具有第一输入端以及第二输入端,第一输入端与一触发器23的输出端连接,第二输入端与至少两个触发器23的输出端连接;至少两个开关单元25,每一开关单元25连接在第二输入端与相应的触发器23的输出端之间,且开关单元25接收选择信号S,以使第二输入端与相应的触发器23的输出端之间电连接或者断路。
可以理解的是,在其他实施例中,还可以用同或门替代反馈模块中的异或门。
本实施例中,开关单元25为熔丝结构(fuse)。在其他实施例中,开关单元也可以为反熔丝结构。
本实施例中,第一输入端与固定的触发器23的输出端连接。在其他实施例,反馈模块还可以包括:第一输入端与至少两个触发器的输出端连接,开关单元连接在第一输入端与相应的触发器的输出端之间,通过不同的开关单元的导通和关断,以使不同的触发器的输出端与第一输入端连接。如此,有利于进一步地增加随机数产生电路产生的随机数的随机序列。
以下将结合图2对本实施例提供的随机数产生电路的工作原理进行说明:
在一计满周期内,开关单元25接收第一类选择信号S,以使D[5]作为异或门24的第二输入端;相应的,抽头序列由D[5]以及D[6]对应的两个触发器23 决定,在该计满周期产生具有第一类随机序列的第一随机数。
在另一计满周期内,开关单元25接收第二类选择信号S,以使D[3]作为异或门24的第二输入端;相应的,抽头序列由D[4]和D[6]对应的两个触发器23决定,在该计满周期内产生第二类随机序列的第一随机数。
在又一计满周期内,开关单元25接收第三类选择信号S,以使D[2]作为异或门24的第二输入端;相应的,抽头序列由D[2]和D[6]决定,在该计满周期内产生具有第三类随机序列的第一随机数。
因此,同一随机数产生电路可产生多种随机序列的第一随机数,从而有利于增加随机数的随机性。
此外,对于具有相同数量的触发器23的随机数发生器而言,其具有的抽头位置可调整,具体可参考图3,图3为图2中的随机数发生器的多种电路结构示意图,具体示意出了与图2对应的具有其余6种不同抽头位置的随机数发生器的电路结构。
本实施例提供的随机数产生电路,反馈模块22定义随机数发生器的反馈多项式,由于反馈模块22基于不同的选择信号选择不同的触发器23的输出端作为反馈模块22的输入端,因此对于同一随机数产生器而言具有不同的反馈多项式,从而使得随机数发生器基于不同的反馈多项式可提供不同随机序列的第一随机数,从而增加随机数产生电路产生的随机数的随机性。
本公开又一实施例还提供一种随机数产生电路,该随机数产生电路与前述实施例大致相同,主要区别在于还包括控制信号生成模块以及多选模块。以下将结合附图对本公开又一实施例提供的随机数产生电路进行详细说明。
图4为本公开又一实施例提供的随机数产生电路的功能框图。
参考图4,本实施例中,随机数产生电路包括:随机数发生器101,被配置为,在每一计满周期内输出若干个第一随机数;控制信号生成模块102,被配置为,接收触发信号CLK2,并基于触发信号CLK2输出与不同的第一随机数对应的控制信号Sel;多选模块103,被配置为,接收第一随机数以及与第一随机数对应的控制信号Sel,基于控制信号Sel对第一随机数的至少一个比特位置进行调整,获取第二随机数,并输出若干所述第二随机数。
以下将结合附图对本实施例提供的随机数产生电路进行详细说明。
随机数发生器101为n-bit随机数发生器,相应的,若干个第一随机数为2 n-1 个第一随机数;随机数发生器101接收驱动时钟信号CLK1产生第一随机数。其中,随机数发生器101产生所有不同的第一随机数的周期为计满周期。
随机数发生器101具有n个第一输出端,且每一所述第一输出端具有固定的比特位置,n为大于1的整数,例如为4、7、10等。随机数发生器101可以为线性反馈移位寄存器,且包括n个串联的触发器,每一个触发器的输出端作为n个第一输出端中的一个,且每一触发器的输出端所处的比特位置不同。
在一个例子中,以D[0]、D[1]、D[2]……D[n-3]、D[n-2]、D[n-1]标示各第一输出端(即各触发器的输出端),且各第一输出端的比特位置从高到低的排布可以为以D[0]、D[n-1]、D[n-2]、D[n-3]……D[2]、D[1]的顺序,n大于3。本实施例中,随机数发生器101可产生一种随机序列的第一随机数,也就是说,随机数发生器101可以为抽头位置可变的线性移位寄存器。有关随机数发生器101的详细说明,可参考前述实施例,以下将不做赘述。
控制信号生成模块102具有用于接收触发信号CLK2的触发端,且还具有用于输出控制信号Sel的信号输出端。
为了提高控制信号Sel与第一输出端输出数据的同步性,本实施例中,触发信号CLK2与随机数发生器101相关联。如此,可以提高第一随机数发生变化时控制信号Sel变化的同步性。
在一个例子中,控制信号生成模块102可以被配置为,不同的第一随机数为在不同的计满周期内的第一随机数;在同一计满周期内,控制信号Sel不变;一计满周期对应的控制信号Sel与相邻的计满周期对应的控制信号Sel不同。如此,在同一计满周期内,多选模块103对同一计满周期内的若干第一随机数的比特位置调整的方式相同,即基于第一随机数获取第二随机数的方式相同,有利于降低电路的复杂程度。
触发信号CLK2可以为触发驱动时钟信号,且触发驱动时钟信号的时钟周期与计满周期相同。或者,触发信号CLK2也可以由随机数发生器101输出提供,即随机数发生器101完成一个计满周期则输出计满信号,控制信号生成模块102接收该计满信号作为触发信号。
在另一个例子中,控制信号生成模块102可以被配置为,不同的第一随机数包括每一计满周期内的第一随机数,在同一计满周期内,不同的第一随机数对应的控制信号Sel不同。如此,由于在单个计满周期内,控制信号Sel不同, 因此多选模块103对同一计满周期内的每一第一随机数的比特位置调整方式也可以不同,从而有利于进一步的增加第二随机数的随机性。由于同一计满周期内的控制信号Sel也不相同,能够在增加不同计满周期的第一随机数的随机性的同时,还增加同一计满周期的第一随机数的随机性。
随机数发生器101接收驱动时钟信号CLK1产生第一随机数,控制信号生成模块102接收该驱动时钟信号CLK1作为触发信号CLK2。
本实施例中,多选模块103包括:片选输入端113,用于接收控制信号Sel;数据输入端,与n个第一输出端连接,用于接收第一随机数;多选模块103具有N种不同比特位置调整方式,且每一比特位置调整方式与一控制信号对应,其中,N为大于1的整数;多选模块103还被配置为:对n个第一输出端的比特位置进行调整,以获取第二随机数。
多选模块103包括数据输出端OUT[n-1:0],输出n-bit的第二随机数。
相较于随机数产生电路101产生的第一随机性的随机序列而言,多选模块103输出的第二随机数的随机序列增加了N倍。
控制信号Sel的种类大于或等于N,保证会用到所有的不同比特位置调整方式来调整第一随机数的比特位置,从而增加第二随机数的随机序列。因此,可以根据N合理设置控制信号生成模块102,保证产生的控制信号Sel的种类符合需求。
本实施例中,N大于或等于n,有利于增加第二随机数的随机序列。n个第一输出端的数据的比特位置排列为第一比特位置排列,多选模块103的输出端输出的数据可以具有N个第二比特位置排列,每一第二比特位置排列为基于一种比特位置调整方式对第一比特位置进行调整后获取的。
需要说明的是,为了保留随机数发生器101产生的第一随机数的随机序列,至少一个第二比特位置排列与第一比特位置排列相同。还需要说明的是,在其他实施例中,N也可以为1。
此外,为了减小多选模块103的电路复杂度,多选模块103还可以被配置为:对于N个第二比特位置排列中,一个比特位的数据对应的多选模块103的输出端的位置不同,而其余比特位的数据对应的多选模块103的输出端的位置排列不变。举例来说,由最高位到最低位,第一比特位置排列为D[0]、D[n-1]、D[n-2]….D[3]、D[2]、D[1];由最高位到最低位,第二比特位置排列包括表一中 的多种排列方式。
1 D[0] D[n‐1] D[n‐2] D[n‐3] D[3] D[2] D[1]
2 D[1] D[0] D[n‐1] D[n‐2] D[4] D[3] D[2]
3 D[2] D[1] D[0] D[n‐1] D[5] D[4] D[3]
n‐1 D[n‐2] D[n‐3] D[n‐4] D[n‐5] D[1] D[0] D[n]
n D[n‐1] D[n‐2] D[n‐3] D[n‐4] D[2] D[1] D[0]
表一
可以理解的是,在其他实施例中,也可以为至少两个比特位的数据对应的多选模块103的输出端的位置不同。对于n个第一输出端而言,各第一输出端对应的数据的比特位均可以发生变化,根据不同的排列组合一共具有C n n-1种变化,也就是说,N与n满足:N≤C n n-1,即,N≤n×(n-1)×(n-2)…2×1。
为了降低多选模块103的复杂度,N可以与n相同。
可以理解的是,在其他实施例中,N也可以小于n。
本实施例中,随机数发生器101输出二进制的第一随机数,相应的多选模块103输出二进制第二随机数。
本实施例提供的随机数产生电路,由于多选模块103能够对第一随机数的比特位进行重新排序,从而产生更多的随机序列,进一步地提高随机数产生电路的随机数的随机性。此外,相较于需要多种具有不同抽头位置的随机数发生器而言,本实施例的电路结构更为简单,且功耗更低。
本公开另一实施例还提供一种随机数产生电路,该随机数产生电路与前述的实施例的大致相同,主要区别包括对各模块做了更详细的说明。以下将结合附图对本公开另一实施例提供的随机数产生电路进行详细说明,与前述实施例相同或者相应的部分,可参考前述实施例,以下将不做详细赘述。
图5为本公开另一实施例提供的随机数产生电路的功能框图。
参考图5,本实施例中,随机数产生电路包括:n-bit的随机数发生器201,具有n个第一输出端211;控制信号生成模块202;多选模块203,多选模块203具有片选输入端以及数据输入端,多选模块203具有数据输出端OUT[n-1:0]。
多选模块203包括:N个调整单元204,每一调整单元204定义一比特位置调整方式;且每一调整单元204均具有数据输入端,且每一调整单元204均具 有片选输入端。每一调整单元204被配置为,接收控制信号Sel,且与控制信号Sel对应的调整单元204输出第二随机数。
也就是说,每一调整单元204的输出端均为多选模块203的数据输出端OUT[n-1:0],且控制信号Sel作为调整单元204的片选信号,基于控制信号Sel选中对应的调整单元204的输出端作为多选模块203的数据输出端OUT[n-1:0]。
按照各自输出的数据的比特位置,将n个第一输出端211中的每一第一输出端211标记为D[n-1]、D[n-2]….D[3]、D[2]、D[1]、D[0]。
n个第一输出端211的数据的比特位置排列为第一比特位置排列,例如为D[0]D[n-1]D[n-2]….D[3]D[2]D[1]。每一调整单元204具有n个第二输出端214,且n个第二输出端214的数据的比特位置排列为第二比特位置排列,第二比特位置排列各不相同,且第二比特位置排列与第一比特位置排列不同,例如第二比特位置排列可以为D[n-1]D[n-2]….D[3]D[2]D[1]D[0]等,有关第二比特位置排列以及第一比特位置排列的详细说明,可参考前述实施例。
本实施例中,以调整单元204的数量与随机数产生器201的第一随机数的比特位数量相同作为示例,即N与n相同。在其他实施例中,调整单元的数量可以大于或小于随机数发生器的比特位数量。
图6为本实施例提供的随机数发生器201的电路结构示意图。
参考图6,随机数发生器201为线性移位寄存器,包括:n个触发器211,异或门231,一触发器211的输入端以及输出端作为异或门231的两个输入端,且异或门231的输出端连接另一触发器211的输入端。异或门231的位置定义随机数发生器201的抽头位置,每一触发器211的输出端作为一第一输出端211(参考图5)。
此外,随机数发生器201还包括反馈模块301,反馈模块301被配置为接收选择信号S,并基于选择信号S选中两个触发器211的输出端作为反馈模块301的输入端。其中,反馈模块301包括该异或门231以及至少两个开关单元232。有关随机数发生器201的详细说明可参考前述实施例,以下将不做赘述。
根据串联的顺序,其余触发器211依次记为第零级触发器、第一级触发器、第二级触发器…第n-1级触发器。
本实施例中,以随机数发生器201为7-bit随机数发生器,且为二进制的7-bit随机数发生器作为示例进行详细说明,在一个计满周期内产生127个第一随机 数。图6中,随机数发生器201具有7个触发器211,且异或门231的位置决定了n个第一输出端211的数据的比特位置排列,例如,图6中,当与D[54]连接的开关单元232导通其余开关单元232关断时,7个第一输出端211的数据的比特位置排列为D[0]D[6]D[5]D[4]D[3]D[2]D[1];此外,异或门231的两个输入端决定了产生的第一随机数的随机序列。
图7为本实施例提供的多选模块203的结构示意图,包括7个调整单元204(参考图5)。n个第一输出端211(参考图5)作为每一调整单元204的输入端,为了便于图示的简洁性,图7中每一调整单元204的输入端以0代替D[0]、以1代替D[1],依次类推,且第二输出端214以0代替D[0],依次类推。需要说明的是,标示为D[0]的标示为第零个第一输出端211的数据,标示为D[1]的为第一个第一输出端211的数据,依次类推。
图7中,为了便于说明,以20/21/22/23/24/25/26标示不同的调整单元204。每一调整单元204的第二输出端的排列方式不同,作为示例,按照从上往下的排列表示各数据的比特位由高到低的排序,标示为20的调整单元204的第二输出端输出的数据为D[0]D[6]D[5]D[4]D[3]D[2]D[1],标示为21的调整单元204的第二输出端输出的数据为D[1]D[0]D[6]D[5]D[4]D[3]D[2]。
本实施例中,随机数发生器201具有固定的抽头位置,多选模块203应用于模拟随机数发生器201的抽头位置调整产生的随机数。相应的,多选模块203具有n种不同的调整单元204。如图7所示,标示为20的调整单元204用于模拟图6中随机数发生器201的抽头位置在第零级触发器的LFSR,标示为21的调整单元204用于模拟图6中抽头位置在第一级触发器的LFSR,标示为22的调整单元204用于模拟图6中抽头位置在第二级触发器的LFSR,依次类推。
需要说明的是,本实施例中以随机数发生器201为7-bit的随机数发生器作为示例。在其他实施例中,随机数发生器也可以为任意bit的随机数法发生器,如3-bit、4-bit、10-bit、20-bit等。
本实施例中,控制信号生成模块202包括:m-bit计数器212;其中,N与m的关系满足:N≤2 m-1,m为任意自然数,N为大于等于2的任意自然数。其中,m大于或等于lgN/lg2+1的结果向下取整。举例来说,N为7时,m大于或等于3。
如图8所示,m-bit计数器212包括m个触发器222;触发信号CLK2作为 第一级的触发器222的时钟输入信号,前一级的触发器222的输出端作为后一即触发器222的时钟输入信号,m个触发器222的输出端共同输出控制信号Sel。
本实施例中,N为7,则计数器212包括三个触发器222,分别标示为DFF#0、DFF#1、DFF#2。
随机数发生器201还被配置为,完成每一计满周期则输出计满信号,控制信号生成模块202接收该计满信号作为触发信号。如此,在同一计满周期内,控制信号Sel不变;不同的计满周期对应的控制信号Sel不同。
本实施例中,控制信号生成模块202为3-bit计数器,具有三个输出端S0/S1/S2,控制信号Sel如表二所示:
S2(最高比特位) S1 S0(最低比特位) Sel
0 0 0 0
0 0 1 1
0 1 0 2
0 1 1 3
1 0 0 4
1 0 1 5
1 1 0 6
表二
以下将结合附图对本实施例提供的随机数产生电路的工作原理进行说明:
在第一个计满周期内,随机数发生器201产生若干第一随机数,且控制信号Sel保持不变为0,相应的多选模块203中标示为20的调整单元204被选中,其第二输出端214输出若干第二随机数,各第二随机数的顺序与第一随机数的顺序相同。
第一计满周期完成,随机数发生器201输出计满信号,该计满信号作为计数器的触发信号,S2S1S0由000变为001,控制信号Sel由0变为1,相应的标示为21的调整单元204被选中,在第二个计满周期内,标示为21的调整单元203的第二输出端输入若干第二随机数,各第二随机数的顺序与第一随机数的顺序不同。
依次类推,每一次计满周期完成后,计数器输出端输出的控制信号Sel为上一个计满周期对应的数值+1,从而选中另一个调整单元203的第二输出端作为 多选模块203的输出端。
如此,对于7个计满周期而言,每个计满周期内的第二随机数的顺序都发生了变化,第二随机数的随机序列为7种,从而进一步地增加了随机数产生电路产生的随机数的随机性。
在另一例子中,如图9所示,计数器的触发信号与随机数发生器201的驱动时钟信号相同。在每个计满周期内,不同的第一随机数对应不同的控制信号Sel,因此在每个计满周期内也能调用不同的调整单元204进行比特位置的重新排列,从而进一步地增加了随机数的随机性,有利于产生更多的随机序列。随机数产生电路的工作原理如下:
在每一个计满周期内,随机数发生器201产生第一个随机数,计数器输出的控制信号Sel为0,选中标号为20的调整单元204产生第二随机数;随机数发生器201产生第二个随机数,计数器输出的控制信号Sel为1,选中标号为21的调整单元204产生第二随机数;计数器输出的控制信号Sel为2,选中标号为22的调整单元204产生第二随机数;依次类推;当计数器输出的控制信号为7之后,计数器又重新从0开始计数。可以理解的是,多选模块203中的调整单元204的数量可以与每一计满周期产生的第一随机数的数量相同,且根据调整电路203的数量设置计数器。需要说明的是,前述的控制信号Sel与对应选中的调整单元204仅为示例,只有保证不同的控制信号Sel对应选中不同的调整单元204即可。
在又一个例子中,如图10所示,控制信号生成模块202可以为:M-bit伪随机数产生电路,且伪随机数产生电路与随机数发生器201接收同一驱动时钟信号CLK。相较于计数器而言,伪随机数产生电路输出的控制信号更具有随机性,因此不同的第一随机数对应的调整单元204也相应更具有随机性,从而进一步地提高随机数产生电路产生的随机数的随机性。
伪随机数产生电路包括M个D触发器241以及第一异或门242,伪随机数产生电路具有输出端S0/S1/S2,该输出端的信号作为控制信号。
与前一实施例相比,本实施例提供的随机数产生电路,基于具有同一种结构的随机数发生器201,能够产生具有N种不同随机序列的随机数,进一步地提高了使用该随机数产生电路的安全性。
本领域技术人员在考虑说明书及实践的公开后,将容易想到本公开的其它 实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
工业实用性
本公开所提供的随机数产生电路,通过反馈模块接收选择信号,并基于选择信号选择两个触发器的输出端作为反馈模块的输入端,使得随机数发生器具有不同的反馈多项式,因而随机数发生器能够产生具有不同随机序列的若干第一随机数,从而增加随机数产生电路产生的随机数的随机序列,提高随机数的随机性。

Claims (17)

  1. 一种随机数产生电路,其中,包括:
    随机数发生器,所述随机数发生器包括反馈模块以及多个依次连接的触发器,前一级的所述触发器的输出端连接后一级的所述触发器的输入端,且每一所述触发器的输出端作为所述随机数发生器的输出端,所述反馈模块的输出端连接一所述触发器的输入端;
    所述反馈模块被配置为,接收选择信号,并基于所述选择信号,选中两个所述触发器的输出端作为所述反馈模块的输入端;
    所述随机数发生器被配置为,在每一计满周期内输出与相应的所述选择信号对应的若干个第一随机数。
  2. 如权利要求1所述的随机数产生电路,其中,所述反馈模块包括:
    异或门,所述异或门具有第一输入端以及第二输入端,所述第一输入端与一所述触发器的输出端连接,所述第二输入端与至少两个所述触发器的输出端连接;
    至少两个开关单元,每一所述开关单元连接在所述第二输入端与相应的所述触发器的输出端之间,且所述开关单元接收所述选择信号,以使所述第二输入端与相应的所述触发器的输出端之间电连接或者断路。
  3. 如权利要求2所述的随机数产生电路,其中,所述开关单元包括熔丝结构。
  4. 如权利要求1所述的随机数产生电路,其中,还包括:控制信号生成模块,被配置为,接收触发信号,并基于所述触发信号输出与不同的所述第一随机数对应的控制信号;
    多选模块,被配置为,接收所述第一随机数以及与所述第一随机数对应的所述控制信号,基于所述控制信号对所述第一随机数的至少一个比特位置进行调整,获取第二随机数,并输出若干所述第二随机数。
  5. 如权利要求4所述的随机数产生电路,其中,所述随机数发生器为n-bit随机数发生器,所述若干个第一随机数为2 n-1个第一随机数;所述随机数发生器具有n个第一输出端,且每一所述第一输出端具有固定的比特位置,n为大于1的整数。
  6. 如权利要求5所述的随机数产生电路,其中,所述多选模块包括:
    片选输入端,用于接收所述控制信号;
    数据输入端,与n个所述第一输出端连接,用于接收所述第一随机数;
    所述多选模块具有N种不同比特位置调整方式,且每一所述比特位置调整方式与一所述控制信号对应,其中,N为大于或等于1的整数;所述多选模块还被配置为,对所述n个第一输出端的数据的比特位置进行调整,以获取所述第二随机数。
  7. 如权利要求6所述的随机数产生电路,其中,所述多选模块包括:N个调整单元,每一所述调整单元定义一所述比特位置调整方式;每一所述调整单元均具有所述数据输入端,且每一所述调整单元均具有所述片选输入端。
  8. 如权利要求7所述的随机数产生电路,其中,所述n个第一输出端的数据的比特位置排列为第一比特位置排列,每一所述调整单元具有n个第二输出端,所述n个第二输出端的数据的比特位置排列为第二比特位置排列;每一所述第二比特位置排列各不相同,且所述第二比特位置排列与所述第一比特位置排列不同。
  9. 如权利要求8所述的随机数产生电路,其中,N个所述调整单元被配置为,N个所述第二比特位置排列中,一个比特位的数据对应的所述第二输出端的位置不同,其余比特位的数据对应的所述第二输出端的位置排列不变。
  10. 如权利要求8所述的随机数产生电路,其中,至少一个所述第二比特位置排列与所述第一比特位置排列相同。
  11. 如权利要求7所述的随机数产生电路,其中,所述N大于或等于n。
  12. 如权利要求6所述的随机数产生电路,其中,所述控制信号生成模块包括:m-bit计数器;其中,N与m的关系满足:N≤2 m-1,m为任意自然数,N为大于等于2的任意自然数。
  13. 如权利要求4所述的随机数产生电路,其中,所述控制信号生成模块还被配置为,所述不同的第一随机数为在不同的所述计满周期内的所述第一随机数;在同一所述计满周期内,所述控制信号不变;一所述计满周期对应的所述控制信号与相邻的所述计满周期对应的所述控制信号不同。
  14. 如权利要求13所述的随机数产生电路,其中,所述随机数发生器还被配置为,完成每一所述计满周期则输出计满信号;所述控制信号生成模块接收所述计满信号作为所述触发信号。
  15. 如权利要求4所述的随机数产生电路,其中,所述控制信号生成模块还被配置为,所述不同的第一随机数包括每一所述计满周期内的所述第一随机数,在同一所述计满周期内,不同的所述第一随机数对应的所述控制信号不同。
  16. 如权利要求15所述的随机数产生电路,其中,所述随机数发生器还被配置为,接收驱动时钟信号产生所述第一随机数;所述控制信号生成模块还被配置为,接收所述驱动时钟信号作为所述触发信号。
  17. 如权利要求4所述的随机数产生电路,其中,所述控制信号生成模块包括:M-bit伪随机数产生电路,且所述伪随机数产生电路与所述随机数发生器接收同一驱动时钟信号。
PCT/CN2021/100741 2020-09-02 2021-06-17 随机数产生电路 WO2022048245A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/441,801 US20230067363A1 (en) 2020-09-02 2021-06-17 Random number generation circuit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010910744.2A CN114201141A (zh) 2020-09-02 2020-09-02 随机数产生电路
CN202010910744.2 2020-09-02

Publications (1)

Publication Number Publication Date
WO2022048245A1 true WO2022048245A1 (zh) 2022-03-10

Family

ID=80492304

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/100741 WO2022048245A1 (zh) 2020-09-02 2021-06-17 随机数产生电路

Country Status (3)

Country Link
US (1) US20230067363A1 (zh)
CN (1) CN114201141A (zh)
WO (1) WO2022048245A1 (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2100219B1 (en) * 2007-12-12 2010-10-13 NDS Limited Bit generator
CN201654762U (zh) * 2009-11-30 2010-11-24 上海第二工业大学 一种伪随机码序列发生器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2100219B1 (en) * 2007-12-12 2010-10-13 NDS Limited Bit generator
CN201654762U (zh) * 2009-11-30 2010-11-24 上海第二工业大学 一种伪随机码序列发生器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LUAN, ZHICUN ET AL.: "PUF (Multi- mode Hybrid Reconfigurable PUF Circuit Design based on Linear Feedback", APPLICATION OF ELECTRONIC TECHNIQUE, vol. 44, no. 11, 30 November 2018 (2018-11-30), pages 25, XP055907676, ISSN: 0258-7998, DOI: 10.16157/j.issn.0258-7998.181494 *

Also Published As

Publication number Publication date
CN114201141A (zh) 2022-03-18
US20230067363A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
US8462028B2 (en) Parallel to serial conversion apparatus and method of converting parallel data having different widths
WO2010034326A1 (en) State machine and generator for generating a description of a state machine feedback function
WO2012016588A1 (en) Bit sequence generator
TW202143076A (zh) 用於執行散列算法的電路和方法
CN112422272A (zh) 一种防功耗攻击的aes加密方法及电路
US20020075989A1 (en) High-speed counter with sequential binary count order and method thereof
CN109683852B (zh) 一种真随机数发生器
CN109656514B (zh) 随机数产生系统及其随机数产生方法
WO2022048245A1 (zh) 随机数产生电路
WO2020014993A1 (zh) 基于fpga的并行伪随机序列发生器设计方法
US7342430B1 (en) Write strategy with multi-stage delay cell for providing stable delays on EFM clock
US10922055B2 (en) Random number generator and method for generating random numbers
WO2022048231A1 (zh) 随机数产生电路
JP5171420B2 (ja) 擬似乱数生成装置
JP5119417B2 (ja) 擬似乱数生成装置
CN107888166B (zh) 多相位不交叠时钟信号产生电路及相应的方法
US7383295B2 (en) Selective sequence generation method and apparatus
US20100201409A1 (en) Frequency Divider Circuit
US10776079B2 (en) True random number generation device and generation method thereof
US9116764B2 (en) Balanced pseudo-random binary sequence generator
KR20090107660A (ko) 파워 온 리셋 회로
US7961837B2 (en) Counter circuit and method of operating the same
US8023614B2 (en) Counting circuit and address counter using the same
JP2006318002A (ja) クロック分周回路
JPS63253714A (ja) トリガ信号発生器

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21863313

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21863313

Country of ref document: EP

Kind code of ref document: A1