CN104199635B - 集成crc校验电路的伪随机数发生器 - Google Patents

集成crc校验电路的伪随机数发生器 Download PDF

Info

Publication number
CN104199635B
CN104199635B CN201410491887.9A CN201410491887A CN104199635B CN 104199635 B CN104199635 B CN 104199635B CN 201410491887 A CN201410491887 A CN 201410491887A CN 104199635 B CN104199635 B CN 104199635B
Authority
CN
China
Prior art keywords
crc check
circuit
check circuit
number generator
pseudorandom number
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
CN201410491887.9A
Other languages
English (en)
Other versions
CN104199635A (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.)
WUXI HUADA GUOQI TECHNOLOGY CO LTD
Original Assignee
WUXI HUADA GUOQI 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 WUXI HUADA GUOQI TECHNOLOGY CO LTD filed Critical WUXI HUADA GUOQI TECHNOLOGY CO LTD
Priority to CN201410491887.9A priority Critical patent/CN104199635B/zh
Publication of CN104199635A publication Critical patent/CN104199635A/zh
Application granted granted Critical
Publication of CN104199635B publication Critical patent/CN104199635B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

本发明公开了一种集成CRC校验电路的伪随机数发生器,属于伪随机数发生器技术领域,本发明提供的集成CRC校验电路的伪随机数发生器通过在CRC校验电路的基础上,增加干扰模块、状态暂存模块、映射电路和抽样电路,从而保证了该集成CRC校验电路的伪随机数发生器既能输出较为可靠的伪随机数,为伪随机数的电路开发提供了基础,又能使得CRC验证的正常执行,不影响其原始功能;同时,增加的硬件资源非常少,从而在最小成本的基础上,做到了功能最大化,进而提高了该集成CRC校验电路的伪随机数发生器的产品效益。

Description

集成CRC校验电路的伪随机数发生器
技术领域
本发明涉及一种伪随机数发生器,尤其涉及一种集成CRC校验电路的伪随机数发生器。
背景技术
CRC验证码即循环冗余校验码,广泛存在于数据通信领域,其作用是用于校验数据。CRC验证码产生的本质是模2的多项式除法,生成的校验码为除法的余数。其校验码的产生可以用数据不断的对一个生成多项式进行减法和移位。在实际应用中,对于生成多项式的选取有多种选择方式。具体选用何种多项式,取决于协议的规定。比如,在USB3.0通信协议中,就存在着3种CRC校验码,用于包头中的CRC-16,用于链路控制字的CRC-5,以及用于数据部分的CRC-32,该多项式分别为100Bh、00101b和04C11DB7h。比如00101b,分别代表多项式从高到低各位的系数,对应的多项式为x5+x2+1。
模2的减法即为异或操作,这样可以很方便的用电路实现。在实际应用中,有串行或者并行的实现方式。串行方式每次处理数据的一个比特,通常使用线性反馈移位寄存器(Linear Feedback Shift Registers,LFSR)。USB3.0中的CRC-5移位寄存器电路如图1所示,图1是CRC-5移位寄存器的电路结构示意图。USB3.0协议规定了CRC的生成规则,校验计算开始时寄存器初始值被设为全1,数据从低位开始计算,并将结果取反后倒置高低位,从而得到最终校验码。
用于产生伪随机数的伪随机数发生器通常采用LFSR来产生具有长周期的随机数。该LFSR包括多个串联寄存器和一个异或逻辑电路,其中,预定寄存器的输出数据通过该异或逻辑电路被反馈到第一个寄存器。由于在反馈路径中提供异或逻辑电路,从而使得线性反馈移位寄存器产生具有较长周期的随机数。
在使用伪随机数产生密码的加密电路等中,如果显示伪随机数序列或伪随机逻辑,则可以从一个所获得的密文还原一个原始的明文,从而使得有效地产生不可预测的随机数序列非常重要。
由此可知,现有技术中的伪随机数发生器并不能提供相对可靠的伪随机数,从而不利于伪随机数发生器的电路开发等。
发明内容
针对上述存在的问题,本发明提供一种集成CRC校验电路的伪随机数发生器,以克服现有技术中的伪随机数发生器不能提供相对较为可靠的伪随机数的问题,从而既提供了较为可靠的伪随机数,为伪随机数发生器的电路开发提供了基础,又保证了CRC验证的正常执行,同时,采用硬件资源少,在最小成本的基础上,做到了功能最大化,提高了产品效益。
为了实现上述目的,本发明采取的技术方案为:
一种集成CRC校验电路的伪随机数发生器,其中,包括:
输入模块,其配置为输入待校验数据;
CRC校验电路,其连接到所述输入模块并配置为校验所述待检验数据;
干扰模块,其配置为输入干扰数据;
映射电路,其连接到所述干扰模块和所述CRC校验电路,并配置为映射所述CRC校验电路的状态而后与所述干扰数据进行异或逻辑运算;
状态暂存模块,其连接到所述映射电路和所述CRC校验电路,并配置为获取所述异或逻辑运算结果后载入所述CRC校验电路;
抽样电路,其连接到所述映射电路并配置为抽取所述异或逻辑运算结果后输出。
上述的集成CRC校验电路的伪随机数发生器,其中,所述CRC校验电路为线性反馈移位寄存器。
上述的集成CRC校验电路的伪随机数发生器,其中,所述线性反馈移位寄存器包括多个寄存器和多个逻辑运算门。
上述的集成CRC校验电路的伪随机数发生器,其中,所述逻辑运算门为异或逻辑门。
上述的集成CRC校验电路的伪随机数发生器,其中,所述映射电路由一个或多个异或逻辑门组成。
上述的集成CRC校验电路的伪随机数发生器,其中,所述状态暂存模块由多个寄存器组成。
上述的集成CRC校验电路的伪随机数发生器,其中,所述抽样电路为一个寄存器。
上述的集成CRC校验电路的伪随机数发生器,其中,所述映射电路的时钟频率为所述抽样电路的时钟频率的r倍,且r>1。
上述技术方案具有如下优点或者有益效果:
本发明提供的一种集成CRC校验电路的伪随机数发生器,通过在CRC校验电路的基础上,增加干扰模块、状态暂存模块、映射电路和抽样电路,从而保证了该集成CRC校验电路的伪随机数发生器既能输出较为可靠的伪随机数,为伪随机数发生器的电路开发提供了基础,又能使得CRC验证的正常执行,不影响其原始功能;同时,增加的硬件资源非常少,从而在最小成本的基础上,做到了功能最大化,进而提高了该集成CRC校验电路的伪随机数发生器的产品效益。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未刻意按照比例绘制附图,重点在于示出本发明的主旨。
图1是现有技术中CRC-5移位寄存器的电路结构示意图;
图2是本发明实施例1提供的集成CRC校验电路的伪随机数发生器的结构示意图;
图3是应用本发明实施例1提供的集成CRC校验电路的伪随机数发生器输出随机数的效果示意图。
具体实施方式
实施例1:
图2是本发明实施例1提供的集成CRC校验电路的伪随机数发生器的结构示意图;如图所示,本发明实施例1提供的集成CRC校验电路的伪随机数发生器包括:用以输入待校验数据的输入模块,与输入模块连接并用以校验输入的待检验数据的CRC校验电路,用以输入干扰数据的干扰模块,与干扰模块和CRC校验电路均连接的映射电路,且该映射电路用以映射CRC校验电路的状态而后与干扰数据进行异或逻辑运算,与映射电路和CRC校验电路均连接的状态暂存模块,该状态暂存模块用以获取异或逻辑运算结果后载入CRC校验电路,与映射电路连接并用以抽取异或逻辑运算结果后输出的抽样电路。
在本发明实施例1提供的集成CRC校验电路的伪随机数发生器中,CRC校验电路为线性反馈移位寄存器,该线性反馈移位寄存器包括多个寄存器和多个逻辑运算门,且该逻辑运算门为异或逻辑门,采用该线性反馈移位寄存器为CRC校验电路,能够保证输入的数据得到精确验证,从而保证了CRC验证的正常执行。
在本发明实施例1提供的集成CRC校验电路的伪随机数发生器中,映射电路由一个或多个异或逻辑门组成,引入映射电路,对CRC校验电路的状态进行映射,同时与干扰模块一起,得到一个单比特的伪随机输出,干扰模块的意义在于引入了额外的随机因素,对输出起到扰动作用。
在本发明实施例1提供的集成CRC校验电路的伪随机数发生器中,状态暂存模块由多个寄存器组成,抽样电路为一个寄存器,且映射电路的时钟频率为抽样电路的时钟频率的r倍,且r>1,如r为1.5、2.5、4、7.5、8等;在非校验数据阶段,状态暂存模块从映射电路获取输出的异或逻辑运算结果,并将该异或逻辑运算结果传送给CRC校验电路,经过CRC校验电路的移位后传送给映射电路,同时,映射电路还从干扰模块中得到干扰数据,进行逻辑异或运算后通过抽样电路进行输出,从而得到伪随机数,并且能够输出较为可靠的伪随机数,为伪随机数发生器的电路开发提供了基础。
应用本发明实施例1提供的集成CRC校验电路的伪随机数发生器进行工作时,在需要校验的数据时间段,CRC校验电路以正常的方式进行工作,在数据时间段开始时,按照协议要求,线性移位寄存器被置为全1,然后进行CRC运算,完成校验的工作;而在非校验的其它数据段或者无数据的空闲时间,且整个集成CRC校验电路的伪随机数发生器的外部控制模块的的使能信号有效时,该CRC校验电路继续工作,从本发明的状态暂存模块中移入数据,并与干扰模块输出的干扰数据输入至映射电路,映射电路进行相应的运算后以持续产生随机数,从而提供可靠的伪随机数。
以下详细阐述,本发明实施例1提供的集成CRC校验电路的伪随机数发生器的工作原理。
CRC-m的线性移位寄存器中含有m个寄存器,其状态记为Sti(i=1,2,...,m),并将m个比特的1的向量记为Fm,CRC-m的状态转移函数记为fcrc,状态暂存模块中的状态为Ss,Ss为m位,状态暂存模块的暂存选择函数为fs,为m位,其中,第i位为1表示选择把Ss中对应位的数据载入线性移位寄存器。m位的Ss中只有少部分位为1,所以Ss实现时只需把对应1位置设有寄存器,以节省硬件资源。
则第n个状态的运算记为,
(1)式中的乘法表示逻辑与,加法表示逻辑异或。
映射电路则是对CRC校验电路的状态进行映射,同时与干扰模块的干扰数据一起,得到一个单比特的伪随机输出。干扰模块的意义在于引入额外的随机因素,对输出起到扰动作用。干扰模块的干扰数据由电路的其它与CRC运算不相关的节点获得,为单比特,记为Dn。映射函数f从移位寄存器的状态和干扰模块产生单比特输出,包含m个比特,记为fi(i=1,2,...m)。为了保持序列的均衡性不受影响,映射电路采用异或逻辑运算,从而得到异或逻辑运算结果。其输出表达式为,
(2)式中的乘法表示逻辑与,加法表示逻辑异或。
状态暂存模块的作用是在非校验数据段初始时其Ss表示的状态暂存模块中的寄存器按公式(1)载入移位寄存器,在非校验数据段其它时刻从映射电路的输出移入数据到Ss。在校验数据段,状态暂存模块的数据被锁定,即不发生变化。
这样一来,根据公式(1),非校验数据段,CRC校验电路的状态的初始值由上一次校验数据的终值和上一次非校验数据段的终值共同决定。这样做避免了非校验数据段直接受校验数据的影响,因为校验数据是通信数据,其值通常是完全可预测的,而载入上次非校验段的数据,就能保证不同非校验数据段的连续性,增加不可预测性。
抽样电路对映射电路的输出进行抽样,并以抽样时钟的频率输出随机数。抽样电路的抽样时钟设置为慢于映射电路、干扰模块、状态暂存模块、CRC校验电路、输入模块这些模块的时钟,映射电路、干扰模块、状态暂存模块、CRC校验电路、输入模块这些模块的时钟是一致的,而抽样电路与这些一致的模块之间为r倍。则输出第k位随机数可表示为,
O(k)=B(r×k) (3)
由上述可知,输入模块、干扰模块、CRC校验电路、映射电路和状态暂存模块工作于CRC校验的主时钟频率;而抽样电路则工作于抽样时钟频率。
本发明适用于CRC串行电路的各种场合,m的选择可以为任何数或者CRC-m为任何协议所规定的方式工作。不过,为了使得随机数的变化更大,适当选择m值更大、数据以及干扰模块的干扰数据变化大,可以有利于增强随机数的质量。
本发明实施例1提供的集成CRC校验电路的伪随机数发生器,基于CRC校验电路,增加少量逻辑门,即可以应用于对不可预测性没有绝对要求,不需要真随机数的场合,如SoC(片上***)中供给嵌入式软件、硬件算法需要、发送数据时所需要的填充位等等。
图3是应用本发明实施例1提供的集成CRC校验电路的伪随机数发生器输出随机数的效果示意图;如图所示,选择USB3.0协议规定的CRC-32。各参数选择如下f=1010 00000000 1000 0000 0000 1000 0000,fs=0000 0000 0000 1111 0000 0000 0000 1111,r=4,选择校验数据段72比特,空闲段128比特。
绘出连续16比特随机数的二维分布,如图所示。(a)为直接从CRC校验电路和映射电路获得40000比特数据的结果;(b)为加上状态暂存模块后的结果;(c)为加上状态暂存模块以及输入模块由0.05的概率发生变化的结果;(d)为加上状态暂存模块,输入模块和干扰模块以0.05的概率变化,并且进行抽样后的结果。
同时我们计算设计所输出数据的熵以量化分析随机数的质量,其计算公式为,
其中i表示计算单位为i个比特,所以共有2i个符号,n为总的符号数目,nj为第j个符号的数目,Hi计算结果越接近1表示越理想。
得到i=1-6时的结果为0.9999,0.9988,0.9993,0.9983,0.9953,0.9966。可见序列的质量非常好,可以满足应用要求。
由图3中还可以看到,当没有任何处理和引入随机因素时,数据是固定的;状态暂存模块的引入使得数据在状态空间的跳转变多;而只要在输入模块和干扰模块中引入很微小的变化因素,本发明实施例1提供的集成CRC校验电路的伪随机数发生器输出的随机数可达到很高的质量。
图中得到的数据比较保守,实际应用中,输入模块和干扰模块的变化概率一般大于0.05,所以实际应用结果应该比图中更好,完全可以满足要求。
所以,本发明实施例1提供的集成CRC校验电路的伪随机数发生器,通过在CRC校验电路的基础上,增加干扰模块、状态暂存模块、映射电路和抽样电路,从而保证了该集成CRC校验电路的伪随机数发生器既能输出较为可靠的伪随机数,为伪随机数发生器的电路开发提供了基础,又能使得CRC验证的正常执行,不影响其原始功能;同时,增加的硬件资源非常少,从而在最小成本的基础上,做到了功能最大化,进而提高了该集成CRC校验电路的伪随机数发生器的产品效益。
本领域技术人员应该理解,本领域技术人员结合现有技术以及上述实施例可以实现所述变化例,在此不予赘述。这样的变化例并不影响本发明的实质内容,在此不予赘述。
以上对本发明的较佳实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

Claims (6)

1.一种集成CRC校验电路的伪随机数发生器,其特征在于,包括:
输入模块,其配置为输入待校验数据;
CRC校验电路,其连接到所述输入模块并配置为校验所述待校验数据;
干扰模块,其配置为输入干扰数据;
映射电路,其连接到所述干扰模块和所述CRC校验电路,并配置为映射所述CRC校验电路的状态而后与所述干扰数据进行异或逻辑运算;
状态暂存模块,其连接到所述映射电路和所述CRC校验电路,并配置为获取所述异或逻辑运算结果后载入所述CRC校验电路;
抽样电路,其连接到所述映射电路并配置为抽取所述异或逻辑运算结果后输出
其中,所述CRC校验电路为线性反馈移位寄存器;所述映射电路的时钟频率为所述抽样电路的时钟频率的r倍,且r>1。
2.如权利要求1所述的集成CRC校验电路的伪随机数发生器,其特征在于,所述线性反馈移位寄存器包括多个寄存器和多个逻辑运算门。
3.如权利要求2所述的集成CRC校验电路的伪随机数发生器,其特征在于,所述逻辑运算门为异或逻辑门。
4.如权利要求1所述的集成CRC校验电路的伪随机数发生器,其特征在于,所述映射电路由一个或多个异或逻辑门组成。
5.如权利要求1所述的集成CRC校验电路的伪随机数发生器,其特征在于,所述状态暂存模块由多个寄存器组成。
6.如权利要求1所述的集成CRC校验电路的伪随机数发生器,其特征在于,所述抽样电路为一个寄存器。
CN201410491887.9A 2014-09-23 2014-09-23 集成crc校验电路的伪随机数发生器 Active CN104199635B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410491887.9A CN104199635B (zh) 2014-09-23 2014-09-23 集成crc校验电路的伪随机数发生器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410491887.9A CN104199635B (zh) 2014-09-23 2014-09-23 集成crc校验电路的伪随机数发生器

Publications (2)

Publication Number Publication Date
CN104199635A CN104199635A (zh) 2014-12-10
CN104199635B true CN104199635B (zh) 2017-11-07

Family

ID=52084933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410491887.9A Active CN104199635B (zh) 2014-09-23 2014-09-23 集成crc校验电路的伪随机数发生器

Country Status (1)

Country Link
CN (1) CN104199635B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109474379B (zh) * 2017-09-08 2022-05-06 华为技术有限公司 编码方法及装置
CN110502209B (zh) * 2019-08-16 2021-05-25 兆讯恒达科技股份有限公司 一种随机数发生器防注入式攻击的方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001079989A1 (en) * 2000-04-18 2001-10-25 Advanced Micro Devices, Inc. Method and apparatus for generating random numbers
US6408317B1 (en) * 1999-02-19 2002-06-18 Integrated Device Technology, Inc. Random number conditioner
GB2390271A (en) * 2002-06-24 2003-12-31 Sun Microsystems Inc failsafe random number generation using a mixer to combine the outputs of an analogue and a digital number generator
CN1678985A (zh) * 2002-09-06 2005-10-05 皇家飞利浦电子股份有限公司 反馈随机数生成方法和***
CN101162998A (zh) * 2006-10-13 2008-04-16 上海华虹Nec电子有限公司 真随机数发生器
CN101527615A (zh) * 2009-04-07 2009-09-09 华为技术有限公司 一种循环冗余校验crc码的实现方法和装置
CN102160031A (zh) * 2008-09-23 2011-08-17 高通股份有限公司 用以执行线性反馈移位指令的***及方法
KR20130014003A (ko) * 2011-07-29 2013-02-06 공주대학교 산학협력단 인체 관심영역에 적합한 fcsr을 이용한 비선형 이진 난수 발생기
CN204347817U (zh) * 2014-09-23 2015-05-20 无锡华大国奇科技有限公司 集成crc校验电路的伪随机数发生器

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408317B1 (en) * 1999-02-19 2002-06-18 Integrated Device Technology, Inc. Random number conditioner
WO2001079989A1 (en) * 2000-04-18 2001-10-25 Advanced Micro Devices, Inc. Method and apparatus for generating random numbers
GB2390271A (en) * 2002-06-24 2003-12-31 Sun Microsystems Inc failsafe random number generation using a mixer to combine the outputs of an analogue and a digital number generator
CN1678985A (zh) * 2002-09-06 2005-10-05 皇家飞利浦电子股份有限公司 反馈随机数生成方法和***
CN101162998A (zh) * 2006-10-13 2008-04-16 上海华虹Nec电子有限公司 真随机数发生器
CN102160031A (zh) * 2008-09-23 2011-08-17 高通股份有限公司 用以执行线性反馈移位指令的***及方法
CN101527615A (zh) * 2009-04-07 2009-09-09 华为技术有限公司 一种循环冗余校验crc码的实现方法和装置
KR20130014003A (ko) * 2011-07-29 2013-02-06 공주대학교 산학협력단 인체 관심영역에 적합한 fcsr을 이용한 비선형 이진 난수 발생기
CN204347817U (zh) * 2014-09-23 2015-05-20 无锡华大国奇科技有限公司 集成crc校验电路的伪随机数发生器

Also Published As

Publication number Publication date
CN104199635A (zh) 2014-12-10

Similar Documents

Publication Publication Date Title
JP6974398B2 (ja) ランダムなデジタル値を生成する装置及び方法
CN103188075B (zh) 一种密钥和真随机数发生器及生成密钥和真随机数的方法
CN107104783A (zh) 使电路免受侧信道分析的方法
CN106030605A (zh) 数字值处理装置及方法
CN102891685B (zh) 基于fpga的并行循环冗余校验运算电路
CN107204782A (zh) 一种bch译码器及生成该译码器的编译器的实现方法
CN109858287A (zh) 一种基于互连线的物理不可克隆结构及自加扰电路结构
US20130132453A1 (en) Generating unique random numbers for multiple instantiations
Chen et al. A high-throughput FPGA accelerator for short-read mapping of the whole human genome
CN104199635B (zh) 集成crc校验电路的伪随机数发生器
JP2010531018A5 (zh)
CN105354008A (zh) 一种随机数生成器的输出电路及输出方法
Gad et al. Compressed encoding for rank modulation
CN102226947B (zh) 一种基于线性反馈移位寄存器的可控测试向量发生器
CN104811297A (zh) 针对RSA之M-ary实现模乘余数输入侧信道攻击
CN204347817U (zh) 集成crc校验电路的伪随机数发生器
CN105447241A (zh) 一种逻辑函数的esop最小化方法
CN108449169A (zh) 一种用于无线传感器网路的混沌分组加密方法
CN107026651A (zh) 二分区间的数据压缩方法及集成电路的测试数据存储方法
Keren Reduction of average path length in binary decision diagrams by spectral methods
CN104811211B (zh) Turbo码交织器的构造方法及装置
Bayraktaroglu et al. The construction of optimal deterministic partitionings in scan-based BIST fault diagnosis: Mathematical foundations and cost-effective implementations
CN105912834A (zh) 用于检查随机数序列的熵的装置和方法
Wang et al. Single-Trace Side-Channel Attacks on CRYSTALS-Dilithium: Myth or Reality?
Sowmiya et al. Memory-efficient LFSR encoding and weightage driven bit transition for improved fault coverage

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant