一种随机数采集装置及密码芯片的制作方法

xiaoxiao2020-10-23  17

一种随机数采集装置及密码芯片的制作方法
【技术领域】
[0001]本发明涉及数据采集技术领域,具体涉及一种随机数采集装置及密码芯片。
【背景技术】
[0002]随机数采集装置是指能够产生随机数,并对随机数进行采集的装置,如随机数发生器等;随机数采集装置所输出的随机数,可在密码芯片的密码算法中当作密匙使用;因此,随机数采集装置是密码芯片所必需的模块,随机数采集装置所输出的随机数的质量好坏直接影响密码芯片的安全性能。
[0003]随着密码芯片的发展,IP重用成为密码芯片的一个重要特性;然而现有的采用模拟电路实现的随机数采集装置在设计IP时,严重依赖密码芯片的生产工艺;只有在密码芯片的生产工艺与随机数采集装置的生产工艺相同时,随机数采集装置才可在密码芯片中实现IP重用;可以看出,现有的随机数采集装置在IP重用方面,应用较为局限,并无法在密码芯片中通用IP重用。

【发明内容】

[0004]有鉴于此,本发明实施例提供一种随机数采集装置及密码芯片,以解决现有随机数采集装置所存在的在IP重用方面,应用较为局限的问题。
[0005]为实现上述目的,本发明实施例提供如下技术方案:
[0006]一种随机数采集装置,包括:
[0007]产生并输出随机数据信号的数据产生数字单元;
[0008]产生并输出随机时钟信号的时钟产生数字单元;
[0009]与所述数据产生数字单元和所述时钟产生数字单元相连,在接收所述随机时钟信号时,根据所述随机时钟信号对相应的处于亚稳态状态的随机数据信号进行采集,得到随机数的数据采集数字单元。
[0010]其中,所述数据产生数字单元包括:
[0011]N个串连相接的第一延迟器,各第一延迟器输出数据信号;
[0012]第一与非门,所述第一与非门的第一输入引脚与第N个第一延迟器的输出脚相接,所述第一与非门的第二输入引脚接收外部输入的使能信号;
[0013]与所述第一与非门的输出脚和第一个第一延迟器的输入脚相接的第一反相器,所述第一反相器输出所述随机数据信号。
[0014]其中,所述延迟器为跟随器,N为奇数。
[0015]其中,所述时钟产生数字单元包括:
[0016]第一至第M个串连相接的第二延迟器;
[0017]第M+1至第L个串连相接的第二延迟器,各第二延迟器输出时钟信号;
[0018]数据选择器,所述数据选择器的输入脚与第M至第M-1个第二延迟器的输出脚分别相接,所述数据选择器的输出脚与第M+1个第二延迟器相接,其中,所述数据选择器的一个输入脚对应所述第M至第M-1个第二延迟器中的一个第二延迟器,I < M -1 < M ;
[0019]第二与非门,所述第二与非门的第一输入引脚与第L个第二延迟器的输出脚相接,所述第二与非门的第二输入引脚接收外部输入的使能信号;
[0020]与所述第二与非门的输出脚和第一个第二延迟器的输入脚相接的第二反相器,所述第二反相器输出所述随机时钟信号。
[0021]其中,所述延迟器为跟随器,L为奇数。
[0022]其中,所述时钟产生数字单元还包括:
[0023]时序设置电路,所述时序设置电路用于输出调整时钟信号的时序的参数;
[0024]其中,所述数据选择器的输入脚接收所述参数,以根据所述参数对相接的第二延迟器输出的时钟信号进行时序调整。
[0025]其中,所述数据采集数字单元包括:
[0026]根据所接收的随机时钟信号,锁存相应的处于亚稳态状态的随机数据信号,得到随机数的触发器。
[0027]其中,所述触发器包括:
[0028]第一锁存器和第二锁存器;
[0029]其中,第一锁存器的D接口与所述数据产生数字单元相接,G接口接收所述时钟产生数字单元输出的取反后的随机时钟信号;
[0030]所述第二锁存器的D接口与所述第一锁存器的Q接口相接,G接口接收所述时钟产生数字单元输出的随机时钟信号,Q接口输出所得到的随机数。
[0031]本发明实施例还提供一种密码芯片,包括至少一个上述所述的随机数采集装置。
[0032]其中,所述随机数采集装置的数量大于1,且随机数采集装置之间并联相接;所述密码芯片还包括:
[0033]与并联相接的随机数采集装置相接,并输出最终随机数的异或电路。
[0034]基于上述技术方案,本发明实施例提供的随机数采集装置,包括:产生并输出随机数据信号的数据产生数字单元;产生并输出随机时钟信号的时钟产生数字单元;与所述数据产生数字单元和所述时钟产生数字单元相连,在接收所述随机时钟信号时,根据所述随机时钟信号对相应的处于亚稳态状态的随机数据信号进行采集,得到随机数的数据采集数字单元。本发明实施例采用数字电路实现了亚稳态数据的采集,相比于现有采用模拟电路实现的随机数采集装置,本发明实施例采用数字电路实现的随机数采集装置,能够降低随机数采集装置中的IP重用设计的难度、提升设计便捷性,且所提供的随机数采集装置可在较多的不同生产工艺的密码芯片之间实现IP重用,所提供的随机数采集装置在IP重用方面应用较为广泛。
【附图说明】
[0035]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0036]图1为本发明实施例提供的随机数采集装置的结构示意图;
[0037]图2为本发明实施例提供的数据产生数字单元的结构示意图;
[0038]图3为本发明实施例提供的时钟产生数字单元的结构示意图;
[0039]图4为本发明实施例提供的时钟产生数字单元的另一结构示意图;
[0040]图5为本发明实施例提供的触发器的结构示意图;
[0041]图6为本发明实施例提供的随机数采集装置的另一结构示意图;
[0042]图7为本发明实施例提供的密码芯片的结构示意图。
【具体实施方式】
[0043]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044]图1为本发明实施例提供的随机数采集装置的结构示意图,参照图1,该随机数采集装置可以包括:数据产生数字单元100,时钟产生数字单元200,数据采集数字单元300 ;其中,数据采集数字单元300分别与数据产生数字单元100和时钟产生数字单元200相连;
[0045]在本发明实施例中,数据产生数字单元100可用于产生随机数据信号,并将产生的随机数据信号输出至数据采集数字单元300 ;
[0046]时钟产生数字单元200可用于产生随机时钟信号,并将产生的随机时钟信号输出至数据采集数字单元300 ;
[0047]数据采集数字单元300可接收数据产生数字单元100输出的随机数据信号,及时钟产生数字单元200输出的随机时钟信号;数据采集单数字单元300可在接收随机时钟信号时,根据所接收的随机时钟信号对相应的处于亚稳态状态的随机数据信号进行采集,从而得到随机数;< br>[0048]在本发明实施例中,数据采集数字单元300可通过随机时钟信号来控制随机数据信号的采集,从而锁存住处于亚稳态状态的随机数据信号,得到随机数;
[0049]亚稳态状态的随机数据信号是指,无法在规定时间段内达到可确认状态的数据信号,通过将所采集的处于亚稳态状态的随机数据信号作为随机数使用,可实现随机数采集装置产生并采集随机数的功能。
[0050]可以看出,本发明实施例采用数字单元电路实现震荡环,产生随机数据信号(即数据产生数字单元产生随机数据信号);采用数字单元电路实现不同延迟的随机时钟信号的产生(即时钟产生数字单元产生随机时钟信号);进而采用数字单元电路,根据所生成的时钟信号,在亚稳态时,对震荡环进行数据采集,获取亚稳态的随机数据信号,实现对随机数的采集(即数据采集数字单元采集处于亚稳态状态的随机数据信号),以此达成采用数字电路实现的随机数采集装置的目的,使得随机数采集装置在IP重用方面应用较为广泛;可选的,亚稳态随机数据信号本身就是不确定的状态,可能是1,也可能是O。
[0051]本发明实施例提供的随机数采集装置,包括:产生并输出随机数据信号的数据产生数字单元;产生并输出随机时钟信号的时钟产生数字单元;与所述数据产生数字单元和所述时钟产生数字单元相连,在接收所述随机时钟信号时,根据所述随机时钟信号对相应的处于亚稳态状态的随机数据信号进行采集,得到随机数的数据采集数字单元。本发明实施例采用数字电路实现了亚稳态数据的采集,相比于现有采用模拟电路实现的随机数采集装置,本发明实施例采用数字电路实现的随机数采集装置,能够降低随机数采集装置中的IP重用设计的难度、提升设计便捷性,且所提供的随机数采集装置可在较多的不同生产工艺的密码芯片之间实现IP重用,所提供的随机数采集装置在IP重用方面应用较为广泛。
[0052]图2示出了本发明实施例提供的数据产生数字单元100的结构示意图,参照图2,数据产生数字单元100可以包括:N个第一延迟器110,第一与非门120,第一反相器130 ;
[0053]其中,N个第一延迟器110由第一个第一延迟器110至第N个第一延迟器110构成,图2中最左边的第一延迟器为第一个第一延迟器,最右边的第一第一延迟器为第N个第一延迟器;在本发明实施例中,N个第一延迟器110串连相接,且各第一延迟器可输出数据信号;
[0054]第一与非门120的第一输入引脚与第N个第一延迟器110的输出脚相接,第一与非门120的第二输入引脚接收外部输入的使能信号;
[0055]可选的,使能信号可以为O或I。
[0056]第一反相器130的输入分别与第一与非门120的输出脚,和第一个第一延迟器110的输入脚相连,第一反相器130对输入信号进行处理,可输出随机数据信号。
[0057]可选的,图2所示数据产生数字单元中,第一延迟器可以选用跟随器实现,且所选用的跟随器数量可以为奇数,即N为奇数。
[0058]图3示出了本发明实施例提供的时钟产生数字单元200的结构示意图,参照图3,该时钟产生数字单元200可以包括:L个第二延迟器210,数据选择器220,第二与非门230,第二反相器240 ;
[0059]为便于描述,L个第二延迟器210可由两部分构成,一部分为第一个第二延迟器210至第M个第二延迟器210,另一部分为第M+1个第二延迟器210至第L个第二延迟器210 ;
[0060]其中,第一至第M个第二延迟器210串连相接,第M+1至第L个第二延迟器210串连相接,各第二延迟器210均可输出时钟信号;
[0061]数据选择器220的输入脚与第M至第M-1个第二延迟器210的输出脚分别相接,数据选择器220的输出脚与第M+1个第二延长器210相接,其中,数据选择器220的一个输入脚对应第M至第M-1个第二延迟器中的一个第二延迟器,I < M -1 < M ;
[0062]可选的,第M至第M-1个第二延迟器210可以为第M至第二个第二延迟器210。
[0063]第二与非门230的第一输入引脚与第L个第二延迟器210的输出脚相接,第二与非门230的第二输入引脚接收外部数的使能信号;
[0064]第二反相器240与第二与非门230的输出脚和第一个第二延迟器210的输入脚相接,第二反相器240可根据第二与非门230的输出的信号和第一个第二延迟器210的输入信号进行处理,从而输出随机时钟信号。
[0065]可选的,图3所示时钟产生数字单元中,第二延迟器可以为跟随器,且跟随器数量可以为奇数,即L为奇数。
[0066]可选的,图4示出了本发明实施例提供的时钟产生数字单元的另一种可选结构,结合图3和图4所示,时钟产生数字单元还可以包括:时序设置电路250,时序设置电路250可输出调整时钟信号的时序的参数,从而使得时钟产生数字单元调整所产生的随机时钟信号的时序;
[0067]可选的,数据选择器220的输入脚可接收时序设置电路250输出的参数,以根据所述参数对相接的第二延迟器220输出的时钟信号进行时序调整;如图4所示,时序设置电路250与数据选择器220的输入脚相接,数据选择器220可接收时序设置电路250输出的调整时钟信号的时序的参数;
[0068]在本发明实施例中,所述参数的数值多少决定了时钟产生数字单元工作时,真正使用了多少个延迟器;使用的延迟器个数的不同,将影响总体时钟产生数字单元延迟的时间长短,从而影响最终实现的时钟产生数字单元输出随机时钟信号的频率。
[0069]可选的,时序设置电路可存储和记录调整时序的参数,从而在需要调整时钟信号的时序时输出所存储的参数;该参数可以在密码芯片的生产测试环节进行写入,然后加以保持;也可以在密码芯片工作时,由密码芯片内部的固件(Firmware)进行动态设置;
[0070]具体的,可以选用非易失性存储器,如EEPROM、Flash、一次性可编程单元(OTP),或电子熔丝(eFuse)等存储体实现时序设置电路;相应的,在密码芯片的Wafer测试时,就可以将正确合适的参数在测试过程中直接写入上述存储体内,这些参数在存储体掉电后将不会丢失,后续密码芯片工作过程中,可以直接使用上述存储体内设置的参数;
[0071]可选的,也可选用寄存器实现时序设置电路;但是寄存器在掉电后,寄存器内的数据会丢失,因此对所述参数进行设置时,需要在每次密码芯片上电后进行初始化,由固件程序将所述参数写入寄存器中。
[0072]可选的,在本发明实施例中,数据采集数字单元300可由触发器实现,触发器可根据所接收的随机时钟信号,锁存相应的处于亚稳态状态的随机数据信号,从而得到随机数;
[0073]具体的,触发器可由两个锁存器搭成,用于锁存处于亚稳态期间的随机数据信号;图5示出了本发明实施例提供的触发器的一种可选结构,参照图5,触发器可以包括:第一锁存器310和第二锁存器320 ;
[0074]其中,第一锁存器310的D接口与数据产生数字单元100相接,G接口接收时钟产生数字单元200输出的取反后的随机时钟信号;
[0075]第二锁存器320的D接口与第一锁存器310的Q接口相接,G接口接收时钟产生数字单元100输出的随机时钟信号,Q接口输出所得到的随机数。
[0076]可选的,图6示出了本发明实施例提供的随机数采集装置的另一结构,可一同参照。
[0077]值得注意的是,在本发明实施例中,数据产生数字单元一旦设计完成,其中的延迟器(第一延迟器)的 个数是固定的,工作过程中数据生成的频率是固定的;但不同数据产生数字单元中因延迟器个数的不同,其数据生成频率也是不同的;
[0078]对于时钟产生数字单元而言,时钟产生数字单元一旦设计完成,其中的延迟器(第二延迟器)的个数是固定的,但工作过程中有效参与工作的延迟器的个数是可配置的,因此时钟产生数字单元中的时钟频率是可变的;
[0079]而随着选取的单元器件(cell)种类的不同、数目的不同,时钟产生数字单元产生随机时钟信号的频率也是不同的;在采用相同的单元器件且个数相同时,为保证最终时钟产生数字单元产生的随机时钟信号的频率与期望尽量一致,在后端设计过程中,布局布线应按一定的要求进行,而使得时钟产生数字单元的整个链路的延迟参数可预期;但对于不同的单元器件,由于其延迟器数量不相同,也将使得时钟产生数字单元产生随机时钟信号的最终频率也不相同;
[0080]数据采集数字单元在具体工作时,可在随机数据信号变化的时刻,即随机数据信号处于亚稳态的区间时,用时钟产生数字单元产生的随机时钟信号去采样相应的随机数据信号,从而得到不确定的、不可预知的数据结果的随机数据信号,保证输出随机数。
[0081]可选的,在本发明实施例在实现时,数据产生数字单元可与时钟产生数字单元成对存在;且数据产生数字单元与时钟产生数字单元,均可使用奇数个数的延迟器,以降低电路的漏电概率;
[0082]进一步,本发明实施例可设置多条数据采集链路,一条数据采集链路由图1所示随机数采集装置构成,从而将多条数据采集链路并联之后连接异或电路,由异或电路对各条数据采集链路输出的随机数进行处理后,输出最终的随机数。
[0083]本发明实施例是采用数字电路实现的随机数采集装置;基于此,本发明能够降低随机数采集装置中的IP重用设计的难度、提升设计便捷性,且所提供的随机数采集装置可在较多的不同生产工艺的密码芯片之间实现IP重用,所提供的随机数采集装置在IP重用方面应用较为广泛。
[0084]本发明实施例还提供有一种密码芯片,该密码芯片可以包括至少一个上述所述的随机数采集装置。
[0085]本发明实施例提供的密码芯片具有如下优点:
[0086]用数字电路实现亚稳态数据采集,方便设计的可重用性;在不同芯片生产厂商、不同工艺下,IP复用非常方便,不用重新设计;可以降低IP的设计和验证费用(模拟IP时,每次更换工艺都需要重新设计、重新单独流片验证,然后才敢用在密码芯片中);芯片可灵活调整,每颗芯片单独可调,即便生产工艺存在偏差,也可以在芯片生产回来后,在测试过程中,微调采样时间点,不需要修改设计,重新生成。
[0087]进一步,本发明实施例可提供数量大于I的随机数采集装置,且随机数采集装置之间并联相接;在此基础上,密码芯片还设置:与并联相接的随机数采集装置相接,并输出最终随机数的异或电路;
[0088]图7示出了本发明实施例提供的密码芯片的结构示意图,参照图7,该密码芯片可以包括:
[0089]多个并联相接的随机数采集装置1,
[0090]与多个并联相接的随机数采集装置I相接,对各随机数采集装置输出的随机数进行处理后,输出最终的随机数的异或电路2。
[0091]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【主权项】
1.一种随机数采集装置,其特征在于,包括: 产生并输出随机数据信号的数据产生数字单元; 产生并输出随机时钟信号的时钟产生数字单元; 与所述数据产生数字单元和所述时钟产生数字单元相连,在接收所述随机时钟信号时,根据所述随机时钟信号对相应的处于亚稳态状态的随机数据信号进行采集,得到随机数的数据采集数字单元。2.根据权利要求1所述的随机数采集装置,其特征在于,所述数据产生数字单元包括: N个串连相接的第一延迟器,各第一延迟器输出数据信号; 第一与非门,所述第一与非门的第一输入引脚与第N个第一延迟器的输出脚相接,所述第一与非门的第二输入引脚接收外部输入的使能信号; 与所述第一与非门的输出脚和第一个第一延迟器的输入脚相接的第一反相器,所述第一反相器输出所述随机数据信号。3.根据权利要求2所述的随机数采集装置,其特征在于,所述延迟器为跟随器,N为奇数。4.根据权利要求1所述的随机数采集装置,其特征在于,所述时钟产生数字单元包括: 第一至第M个串连相接的第二延迟器; 第M+1至第L个串连相接的第二延迟器,各第二延迟器输出时钟信号; 数据选择器,所述数据选择器的输入脚与第M至第M-1个第二延迟器的输出脚分别相接,所述数据选择器的输出脚与第M+1个第二延迟器相接,其中,所述数据选择器的一个输入脚对应所述第M至第M-1个第二延迟器中的一个第二延迟器,I < M -1 < M ; 第二与非门,所述第二与非门的第一输入引脚与第L个第二延迟器的输出脚相接,所述第二与非门的第二输入引脚接收外部输入的使能信号; 与所述第二与非门的输出脚和第一个第二延迟器的输入脚相接的第二反相器,所述第二反相器输出所述随机时钟信号。5.根据权利要求4所述的随机数采集装置,其特征在于,所述延迟器为跟随器,L为奇数。6.根据权利要求4所述的随机数采集装置,其特征在于,所述时钟产生数字单元还包括: 时序设置电路,所述时序设置电路用于输出调整时钟信号的时序的参数; 其中,所述数据选择器的输入脚接收所述参数,以根据所述参数对相接的第二延迟器输出的时钟信号进行时序调整。7.根据权利要求1-6任一项所述的随机数采集装置,其特征在于,所述数据采集数字单元包括: 根据所接收的随机时钟信号,锁存相应的处于亚稳态状态的随机数据信号,得到随机数的触发器。8.根据权利要求7所述的随机数采集装置,其特征在于,所述触发器包括: 第一锁存器和第二锁存器; 其中,第一锁存器的D接口与所述数据产生数字单元相接,G接口接收所述时钟产生数字单元输出的取反后的随机时钟信号; 所述第二锁存器的D接口与所述第一锁存器的Q接口相接,G接口接收所述时钟产生数字单元输出的随机时钟信号,Q接口输出所得到的随机数。9.一种密码芯片,其特征在于,包括至少一个如权利要求1-8任一项所述的随机数采集装置。10.根据权利要求9所述的密码芯片,其特征在于,所述随机数采集装置的数量大于1,且随机数采集装置之间并联相接;所述密码芯片还包括: 与并联相接的随机数采集装置相接,并输出最终随机数的异或电路。
【专利摘要】本发明实施例提供一种随机数采集装置及密码芯片,其中随机数采集装置包括:产生并输出随机数据信号的数据产生数字单元;产生并输出随机时钟信号的时钟产生数字单元;与所述数据产生数字单元和所述时钟产生数字单元相连,在接收所述随机时钟信号时,根据所述随机时钟信号对相应的处于亚稳态状态的随机数据信号进行采集,得到随机数的数据采集数字单元。本发明能够降低随机数采集装置中的IP重用设计的难度、提升设计便捷性。
【IPC分类】G06F7/58
【公开号】CN104899005
【申请号】CN201510330324
【发明人】毛兴中, 杨碧波, 王海洋
【申请人】联想(北京)有限公司
【公开日】2015年9月9日
【申请日】2015年6月15日

最新回复(0)