用于产生真随机亚稳态触发器链的模型的计算机系统的制作方法

文档序号:15933389发布日期:2018-11-14 02:00阅读:193来源:国知局
本发明实施例涉及一种亚稳态触发器式真随机数产生器(trng)链及其计算机系统。
背景技术
:物联网(internetofthings,iot)表示实体装置、车辆、建筑、及/或其他物项(item)的日益增长的互联网络,所述实体装置、车辆、建筑、及/或其他物项嵌置有使这些装置、车辆、建筑、及/或其他物项能够交换数据的电子元件、软件、传感器、致动器(actuator)、及网络连接(networkconnectivity)。人们对于物联网快速发展但缺乏对所涉及安全挑战的合适解决方案存在顾虑。随着物联网的普及性提高,网络攻击可能成为日益增大的实体威胁。举例来说,许多联网器具(internet-connectedappliances)(例如(举例来说),包括电视、厨房器具、照相机、及/或恒温器(thermostats))可在消费者自己的家中收集关于消费者的信息。汽车中的计算机控制装置(例如(举例来说),制动器、引擎、车锁、引擎盖及卡车制动装置、喇叭、热量、及/或仪表板)也被证明易于受到网络攻击。为解决这些顾虑,这些装置、车辆、建筑、及/或其他物项常常包括随机数产生器(randomnumbergenerator,rng)以提供密钥并将在加密操作中使用的向量及其他随机数初始化。遗憾的是,当使用弱的随机数产生器时,这些装置、车辆、建筑、及/或其他物项易于受到网络攻击。技术实现要素:一种用于产生真随机亚稳态触发器(trmff)链的模型的计算机系统,其特征在于,所述计算机系统包括:存储器,存储编译器;以及处理器,被配置成执行所述编译器,所述编译器在由所述处理器执行时,将所述处理器配置成:接收与亚稳态触发器对应的一个或多个第一标准胞元以及与所述亚稳态触发器的互补形式对应的一个或多个第二标准胞元;接收与逻辑电路(logiccircuitry)对应的一个或多个第三标准胞元;以及根据预定义的本原多项式对所述一个或多个第一标准胞元、所述一个或多个第二标准胞元、及所述一个或多个第三标准胞元进行内连(interconnect),以产生所述真随机亚稳态触发器链的所述模型。附图说明结合附图阅读以下详细说明,会最好地理解本发明的各个方面。应注意,根据本行业中的标准惯例,各种特征并非按比例绘制。事实上,为论述清晰起见,可任意增大或减小各种特征的尺寸。图1a示出根据本发明示例性实施例的示例性真随机亚稳态触发器(truerandommetastableflip-flop,trmff)的方块图。图1b示出根据本发明示例性实施例的示例性亚稳态触发器(mff)的方块图。图1c示出根据本发明示例性实施例的示例性逻辑电路(logiccircuitry)的方块图。图2示出根据本发明示例性实施例的示例性互补真随机亚稳态触发器的方块图。图3示出根据本发明示例性实施例的示例性真随机亚稳态触发器(trmff)链的方块图。图4a示出根据本发明示例性实施例的示例性真随机亚稳态触发器链的第一示例性实作方式的方块图。图4b示出根据本发明示例性实施例的示例性真随机亚稳态触发器链的第二示例性实作方式的方块图。图5示出根据本发明示例性实施例的第二示例性真随机亚稳态触发器(trmff)链的方块图。图6示出根据本发明示例性实施例的示例性真随机亚稳态触发器(trmff)编译器的示例性操作的流程图。图7示出根据本发明示例性实施例的用于执行示例性真随机亚稳态触发器编译器的示例性计算机系统700的方块图。附图标号说明100、302.1、302.2、302.3~302.n:真随机亚稳态触发器102、120、202:亚稳态触发器104、130、304:逻辑电路106:触发器122:感测放大器式锁存器124:置位/复位锁存器126:数据触发器/d触发器132:逻辑异或门/异或门134:多路复用电路150:亚稳态触发器使能信号152:随机输出位/输出位154:数字种子信号156、162、190:随机输出位序列158:计时信号160:亚稳态防止信号180:偏置电压182.1、182.2:低电平的统计随机熵噪声信号184:随机输出信号192:运行模式指示符200:互补真随机亚稳态触发器252:随机输出位300、400、420、500、502.1、502.2~502.k:真随机亚稳态触发器链350.1、350.2、350.3~350.n、550.1~550.a、550.(a+1)~550.b、550.(b+1)~550.m:随机数352.1、352.2、352.3~352.n:信号路径354:数字输入种子/数字种子信号356:数字输出种子422.1、422.2、422.3:逻辑与非门424:逻辑异或门554:数字输入种子600:示例性真随机亚稳态触发器编译器602、604、606:操作700:计算机系统702:用户输入/输出接口703:用户输入/输出装置704:处理器706:总线/通信基础设施708:主存储器/主要存储器710:辅助存储装置/辅助存储器712:硬盘驱动器714:可移动存储装置/可移动存储驱动器718、722:可移动存储单元720:接口724:通信或网络接口726:通信路径728:远程装置a1、a2、a3~an:系数n1、n2、ns:n沟道金属氧化物半导体晶体管/nmos晶体管p1、p2、p3、p4:p沟道金属氧化物半导体晶体管/pmos晶体管p1(x)、p2(x)、pk(x):本原多项式x1:最低有效次数x2、x3:次数xn:最高有效次数具体实施方式以下公开内容提供用于实作所提供主题的不同特征的许多不同的实施例或实例。以下阐述组件及配置的具体实例以简化本公开内容。当然,这些仅为实例且不旨在进行限制。举例来说,以下说明中将第一特征形成在第二特征“之上”可包括其中第一特征及第二特征被形成为直接接触的实施例,且也可包括其中第一特征与第二特征之间可形成有附加特征、从而使得所述第一特征与所述第二特征可能不直接接触的实施例。另外,本公开内容可能在各种例子中重复使用参考编号及/或字母。此种重复使用本身并不规定所述各种实施例及/或配置之间的关系。概述一种真随机亚稳态触发器(trmff)编译器产生真随机亚稳态触发器链的电架构。所述真随机亚稳态触发器编译器从标准胞元库(celllibrary)选择真随机亚稳态触发器链的组件并根据本原多项式(primitivepolynomial)对这些组件进行逻辑连接以产生电架构。所述真随机亚稳态触发器链根据本原多项式从一个或多个实体进程(physicalprocess)提供随机数序列。在运行期间,真随机亚稳态触发器链内部及/或外部的一个或多个微观现象(microscopicphenomena)可造成在真随机亚稳态触发器链内存在一个或多个低电平的统计随机熵噪声信号。所述真随机亚稳态触发器链有利地利用所述一个或多个低电平的统计随机熵噪声信号来提供随机数序列。示例性真随机亚稳态触发器图1a示出根据本发明示例性实施例的示例性真随机亚稳态触发器(trmff)的方块图。真随机亚稳态触发器100代表提供随机数序列的电路。在本文中,“真”表示所述随机数序列是从一个或多个实体进程提供的。在运行期间,真随机亚稳态触发器100内部及/或外部的一个或多个微观现象可造成在真随机亚稳态触发器100内存在一个或多个低电平的统计随机熵噪声信号。真随机亚稳态触发器100有利地利用所述一个或多个低电平的统计随机熵噪声信号来提供随机数序列。如图1a所示,真随机亚稳态触发器100包括亚稳态触发器102、逻辑电路104、及触发器106。亚稳态触发器102接收亚稳态触发器使能信号150,亚稳态触发器使能信号150具有第一逻辑值(例如(举例来说),逻辑零)或第二逻辑值(例如(举例来说),逻辑一)。当亚稳态触发器使能信号150处于第一逻辑值时,亚稳态触发器使能信号150将亚稳态触发器102复位。反之,当亚稳态触发器使能信号150处于第二逻辑值时,亚稳态触发器102提供随机输出位152。当亚稳态触发器使能信号150处于第二逻辑值时,亚稳态触发器102感测与真随机亚稳态触发器100内部及/或外部的所述一个或多个微观现象对应的一个或多个低电平的统计随机熵噪声信号。对于真随机亚稳态触发器100而言所存在的位于真随机亚稳态触发器100内部的所述一个或多个微观现象可包括短噪声、闪变噪声(flickernoise)、脉冲串噪声(burstnoise)、传送噪声(transitnoise)、及/或在不背离本发明的精神及范围的条件下对相关领域中的技术人员来说将显而易见的存在于真随机亚稳态触发器100内部的任意其他统计随机微观现象。对于真随机亚稳态触发器100而言所存在的位于真随机亚稳态触发器100外部的所述一个或多个微观现象可包括互调制噪声(intermodulationnoise)、串扰(crosstalk)、干扰(interference)、大气噪声、工业噪声(industrialnoise)、地球外噪声(extraterrestrialnoise)、及/或在不背离本发明的精神及范围的条件下对相关领域中的技术人员来说将显而易见的存在于真随机亚稳态触发器100外部的任意其他统计随机微观现象。亚稳态触发器102响应于所述一个或多个低电平的统计随机熵噪声信号来提供随机输出位152。所述一个或多个低电平的统计随机熵噪声信号的随机性可造成亚稳态触发器102能够等同地提供处于逻辑一及处于逻辑零的随机输出位152,从而提供强的随机数产生器(rng)。换句话说,输出位152的逻辑一的数目与逻辑零的数目在给定持续时间内平均而言近似相等。在示例性实施例中,亚稳态触发器102包括以受限组合或禁止状态(也被称为亚稳态状态)运行的一个或多个数字触发器或锁存器。举例来说,可利用一个或多个置位-复位(set-reset,sr)锁存器来实作所述一个或多个数字触发器或锁存器。在以亚稳态状态运行的同时,所述一个或多个低电平的统计随机熵噪声信号也会使位的受限组合波动。在这一实例中,所述一个或多个数字触发器或锁存器根据位的受限组合中的哪一者首先接近逻辑零或逻辑一来以第一逻辑值或第二逻辑值提供随机输出信号。逻辑电路104根据数字种子信号154来对随机输出位152实行一个或多个逻辑运算以提供随机输出位序列156。逻辑电路104可包括一个或多个逻辑与门(logicalandgate)、一个或多个逻辑或门(logicalorgate)、一个或多个逻辑异或门(logicalxorgate)、一个或多个逻辑非门(logicalnotgate)、一个或多个逻辑与非门(logicalnandgate)、一个或多个逻辑或非门(logicalnorgate)、一个或多个逻辑异或非门(logicalxnorgate)、及/或在不背离本发明的精神及范围的条件下对相关领域中的技术人员来说将显而易见的任意其他合适的逻辑门。在示例性实施例中,使用逻辑异或门来实作逻辑电路104以在随机输出位152与数字种子信号154之间实行逻辑异或功能,从而提供随机输出位序列156。在图1a所示的示例性实施例中,数字种子信号154代表随机、伪随机、或非随机位序列。触发器106根据计时信号158对随机输出位序列156进行重新取样或重新定时,以提供随机输出位序列162。可使用数据或延迟(dataordelay,d)触发器、t触发器、jk触发器、或在不背离本发明的精神及范围的条件下对相关领域中的技术人员来说将显而易见的任意其他合适的触发器或锁存器来实作触发器106。在一些情形中,为触发器106所选择的具体实作方式(例如(举例来说),d触发器)可使用多个输入来进行触发器106的恰当操作。在这些情形中,可将亚稳态防止信号(metastablepreventionsignal)160复位至第一逻辑值或第二逻辑值以阻止触发器106以亚稳态状态运行。举例来说,可将亚稳态防止信号160复位至逻辑一以阻止触发器106(在使用d触发器实作时)以亚稳态状态运行。图1b示出根据本发明示例性实施例的示例性亚稳态触发器(mff)的方块图。亚稳态触发器102感测与所述一个或多个微观现象对应的一个或多个低电平的统计随机熵噪声信号182.1及182.2以响应于所述一个或多个低电平的统计随机熵噪声信号来提供随机输出位152。如图1b所示,亚稳态触发器120包括感测放大器式锁存器122、置位/复位(set-reset,sr)锁存器124、及数据(d)触发器126。亚稳态触发器120可代表亚稳态触发器102的示例性实施例。感测放大器式锁存器122接收亚稳态触发器使能信号150,亚稳态触发器使能信号150具有第一逻辑值或第二逻辑值。当亚稳态触发器使能信号150处于第一逻辑值(例如(举例来说),逻辑零)时,感测放大器式锁存器122感测与所述一个或多个微观现象对应的一个或多个低电平的统计随机熵噪声信号182.1及182.2。在一些实施例中,所述一个或多个低电平的统计随机熵噪声信号182.1及182.2是统计随机的。然而,在一些情形中,所述一个或多个低电平的统计随机熵噪声信号可不为统计随机的,从而使随机输出位152展现出倾向逻辑一的倾向(即,在给定持续时间内平均而言逻辑一比逻辑零多)、或倾向逻辑零的倾向(即,在给定持续时间内平均而言逻辑零比逻辑一多)。在这些情形中,感测放大器式锁存器122可对随机输出位152的这种倾向进行补偿以提高随机输出位152的随机性,且从而提高随机输出位152的安全性。如图1b所示,感测放大器式锁存器122包括p沟道金属氧化物半导体(p-channelmetal-oxidesemiconductor,pmos)晶体管p1至p4以及n沟道金属氧化物半导体(n-channelmetal-oxidesemiconductor,nmos)晶体管n1、n2及ns。在图1b所示的示例性实施例中,pmos晶体管p1至p4以及nmos晶体管n1、n2及ns被排列形成差分差值放大器(differentialdifferenceamplifier)。在图1b所示示例性实施例中,感测放大器式锁存器122接收偏置电压180以补偿这一倾向。偏置电压180可从第一值增大到第二值以朝逻辑零调整随机输出位152的倾向,即,在给定持续时间内平均地增大逻辑零的数目并减小逻辑一的数目。偏置电压180可从第一值减小到第二值以朝逻辑一调整随机输出位152的倾向,即,在给定持续时间内平均地增大逻辑一的数目并减小逻辑零的数目。另外,在图1b所示的示例性实施例中,可对nmos晶体管n1、n2进行修整以调整这一倾向。举例来说,可增大nmos晶体管n1、n2的尺寸以朝逻辑零调整随机输出位152的倾向,即,在给定持续时间内平均而言增大逻辑零的数目并减小逻辑一的数目,及/或可减小nmos晶体管n1、n2的尺寸以朝逻辑一调整随机输出位152的倾向,即,在给定持续时间内平均而言增大逻辑一的数目并减小逻辑零的数目。置位/复位锁存器124对所述一个或多个低电平的统计随机熵噪声信号182.1及182.2上所存在的负载进行均衡。在图1b所示的示例性实施例中,当亚稳态触发器使能信号150处于第一逻辑值时,所述一个或多个低电平的统计随机熵噪声信号182.1及182.2稳定到为相反的逻辑值。之后,当低电平的统计随机熵噪声信号182.1处于第一逻辑值(例如,逻辑零)且低电平的统计随机熵噪声信号182.2处于第二逻辑值(例如,逻辑一)时,置位/复位锁存器124提供处于第一逻辑值(例如,逻辑零)的随机输出信号184。反之,当低电平的统计随机熵噪声信号182.1处于第二逻辑值且低电平的统计随机熵噪声信号182.2处于第一逻辑值时,置位/复位锁存器124提供处于第二逻辑值的随机输出信号184。另外在图1b所示的示例性实施例中,当亚稳态触发器使能信号150处于第二逻辑值时,所述一个或多个低电平的统计随机熵噪声信号182.1及182.2处于第二逻辑值,例如逻辑零。在这种情形中,置位/复位锁存器124保持随机输出信号184的前一值作为随机输出信号184。d触发器126存储随机输出信号184以提供随机输出位152。当亚稳态触发器使能信号150处于第二逻辑值(例如,逻辑一)时,亚稳态触发器使能信号150保持随机输出位152的值。反之,当亚稳态触发器使能信号150处于第一逻辑值(例如,逻辑零)时,亚稳态触发器102存储随机输出信号184以提供随机输出位152。图1c示出根据本发明示例性实施例的示例性逻辑电路的方块图。如图1c所示,逻辑电路130根据数字种子信号154来对随机输出位152实行一个或多个逻辑运算以提供随机输出位序列156。如图1c所示,逻辑电路130包括逻辑异或(xor)门132及多路复用电路134。逻辑电路130可代表逻辑电路104的示例性实施例。异或门132在随机输出位152与数字种子信号154之间实行逻辑异或功能,以提供随机输出位序列190。多路复用电路134响应于运行模式指示符192来将数字种子信号154或随机输出位序列190选择成随机输出位序列156。当运行模式指示符192处于第一逻辑值(例如(举例来说),逻辑零)时,多路复用电路134选择数字种子信号154作为随机输出位序列156。在这种运行模式中,逻辑电路130的特征是以“伪”运行模式运行。在这种“伪”运行模式中,随机输出位序列156的特征是基于以电子方式产生的位序列。另外,当运行模式指示符192处于第二逻辑值(例如(举例来说),逻辑一)时,多路复用电路134选择随机输出位序列190作为随机输出位序列156。在这种运行模式中,逻辑电路130的特征是以“真”运行模式运行。在这种“真”运行模式中,随机输出位序列156的特征是基于一个或多个实体进程,例如如上所述的所述一个或多个微观现象。示例性互补真随机亚稳态触发器图2示出根据本发明示例性实施例的示例性互补真随机亚稳态触发器的方块图。代表以上在图1a中所阐述的真随机亚稳态触发器100的互补形式。由此,200以与以上在图1a中所阐述的真随机亚稳态触发器100实质上相似的方式运行;因此,以下将仅进一步详细论述真随机亚稳态触发器100与200之间的差异。如图2所示,200包括逻辑电路104、触发器106、及亚稳态触发器202。亚稳态触发器202以与以上在图1a中所论述的亚稳态触发器102实质上相似的方式运行,以提供代表随机输出位152的互补形式的随机输出位252。由此,由200提供的随机输出位序列162代表由真随机亚稳态触发器100提供的随机输出位序列162的互补形式。示例性真随机亚稳态触发器(trmff)链图3示出根据本发明示例性实施例的示例性真随机亚稳态触发器(trmff)链的方块图。真随机亚稳态触发器链300代表根据被表示为如下的本原多项式来提供随机数350.1至350.n的n位序列的电子电路:anxn+...+a2x2+a1x1+1,(1)其中an至a1代表本原多项式的系数,且n代表本原多项式的自由度或次数。本原多项式的系数an至a1可根据本原多项式的实作方式而被指派为零或一。如图3所示,真随机亚稳态触发器链300包括真随机亚稳态触发器302.1至302.n以及逻辑电路304。真随机亚稳态触发器302.1至302.n代表串联耦合的真随机亚稳态触发器(例如(举例来说),以上在图1a中所阐述的真随机亚稳态触发器100及/以上在图2中所阐述的200)的序列,用于提供随机数350.1至350.n的n位序列。在示例性实施例中,可使用真随机亚稳态触发器100及/或200来实作真随机亚稳态触发器302.1至302.n。在这种示例性实施例中,真随机亚稳态触发器100或200的亚稳态触发器使能信号150耦合到彼此,真随机亚稳态触发器100或200的计时信号158耦合到彼此,且真随机亚稳态触发器100或200的亚稳态防止信号160耦合到彼此。另外,在这一示例性实施例中,与第一真随机亚稳态触发器302(例如(举例来说),图3所示真随机亚稳态触发器302.1)对应的随机输出位序列162耦合到与第二真随机亚稳态触发器302(例如(举例来说),图3所示真随机亚稳态触发器302.2)对应的数字种子信号154。在另一示例性实施例中,可仅使用真随机亚稳态触发器100或仅使用以上在图2中所阐述的200来实作真随机亚稳态触发器302.1至302.n。在一些情形中,由这种实作方式提供的随机数350.1至350.n的n位序列可包括倾向一或零的非随机倾向。举例来说,当在一定时间段内使用真随机亚稳态触发器100来实作真随机亚稳态触发器302.1至302.n时,随机数350.1至350.n的n位序列的统计取样可表示:随机数350.1至350.n的n位序列平均而言包括比逻辑零多的逻辑一。在这一实例中,当使用真随机亚稳态触发器100来实作真随机亚稳态触发器302.1至302.n时,随机数350.1至350.n的n位序列的特征是具有倾向逻辑一的非随机倾向。作为另一实例,当在一定时间段内使用200来实作真随机亚稳态触发器302.1至302.n时,随机数350.1至350.n的n位序列的统计取样可表示:随机数350.1至350.n的n位序列平均而言包括比逻辑一多的逻辑零。在这一实例中,当使用200来实作真随机亚稳态触发器302.1至302.n时,随机数350.1至350.n的n位序列的特征是具有倾向逻辑零的非随机倾向。在这些情形中,可使用真随机亚稳态触发器100与200的合适的组合来实作真随机亚稳态触发器302.1至302.n以补偿在使用真随机亚稳态触发器100或200来实作真随机亚稳态触发器302.1至302.n时可能存在于真随机亚稳态触发器302.1至302.n内的非随机倾向。作为另外一种选择或另外地,在这些情形中,真随机亚稳态触发器100及200可包括一个或多个可调整偏置电压以调整它们的操作来补偿在使用真随机亚稳态触发器100或200来实作真随机亚稳态触发器302.1至302.n时可能存在于真随机亚稳态触发器302.1至302.n内的非随机倾向。这些一个或多个可调整偏置电压可用于对在真随机亚稳态触发器100及200的各个节点上存在的各个电压进行调整,以在随机数350.1至350.n的n位序列平均而言包括比逻辑零多的逻辑一时,将随机数350.1至350.n的n位序列的倾向调整成逻辑零,或者在随机数350.1至350.n的n位序列平均而言包括比逻辑一多的逻辑零时,将随机数350.1至350.n的n位序列的倾向调整成逻辑一。如图3所示,真随机亚稳态触发器302.1至302.n中的真随机亚稳态触发器的数目取决于公式(1)中所示的本原多项式的次数n。在图3所示的示例性实施例中,真随机亚稳态触发器302.1至302.n对应于以上公式(1)所表示的具有次数n的本原多项式,其中真随机亚稳态触发器302.1表示本原多项式的第一次数或最低有效次数(即,x1),且真随机亚稳态触发器302.n表示本原多项式的第n次数或最高有效次数(即,xn)。此外,公式(1)所表示的本原多项式的系数an至a1对应于图3所示信号路径352.1至352.n。信号路径352.1至352.n与逻辑电路304的耦合取决于所构建的本原多项式的系数an至a1且可根据不同的本原多项式而变化。举例来说,当本原多项式的系数an至a1中与信号路径352.1至352.n中的一个信号路径对应的系数是一时,将所述对应的信号路径耦合到逻辑电路304。反之,在这一实例中,当本原多项式的系数an至a1中与一个信号路径对应的系数是零时,不将所述对应的信号路径耦合到逻辑电路304。举例来说,图4a示出根据本发明示例性实施例的示例性真随机亚稳态触发器链的第一示例性实作方式的方块图。在图4a所示示例性实施例中,真随机亚稳态触发器链400代表由以下表示的本原多项式的实作方式:x3+x1+1,(2)其中本原多项式的系数a1及a3是一,且本原多项式的系数a2是零。由此,将与本原多项式的系数a1及a3对应的信号路径352.1及352.3连接到逻辑电路304(在图4a中由实线表示),且不将与本原多项式的系数a2对应的信号路径352.2连接到逻辑电路304(在图4a中由虚线表示)。然而,相关领域中的技术人员将认识到,图4a所示将信号路径352.1至352.n耦合到逻辑电路304仅是用于示例性目的。相关领域中的技术人员将认识到,将信号路径352.1至352.n耦合到逻辑电路304是取决于所构建的本原多项式的系数an至a1,且在不背离本发明的精神及范围的条件下可不同于图4a所示。逻辑电路304对信号路径352.1至352.n中的耦合到逻辑电路304的那些信号路径与数字输入种子354实行一个或多个逻辑运算以向真随机亚稳态触发器302.1至302.n提供数字输出种子356。在图3所示的示例性实施例中,数字种子信号354代表随机、伪随机、或非随机位序列。在示例性实施例中,数字输出种子356代表数字种子信号354的示例性实施例。逻辑电路304可包括一个或多个逻辑与门、一个或多个逻辑或门、一个或多个逻辑异或门、一个或多个逻辑非门、一个或多个逻辑与非门、一个或多个逻辑或非门、一个或多个逻辑异或非门、及/或在不背离本发明的精神及范围的条件下对相关领域中的技术人员来说将显而易见的任意其他合适的逻辑门。在示例性实施例中,使用逻辑异或门来实作逻辑电路304以在信号路径352.1至352.n中的耦合到逻辑电路304的那些信号路径与数字输入种子354之间实行逻辑异或功能,从而提供数字输出种子356。作为另一实例,图4b示出根据本发明示例性实施例的示例性真随机亚稳态触发器链的第二示例性实作方式的方块图。在图4b所示示例性实施例中,真随机亚稳态触发器链420代表由以下表示的本原多项式的实作方式:x3+x1+1,(3)其中本原多项式的系数a1及a3是一,且本原多项式的系数a2是零。在图4b所示示例性实施例中,逻辑电路304包括逻辑与非门422.1至422.3以及逻辑异或门424。在示例性实施例中,本原多项式的系数a1至a3可存储在例如以下存储器中:一次性可编程(one-timeprogrammable,otp)存储器、可编程只读存储器(programmablereadonlymemory,prom)、动态随机存取存储器(dynamicrandom-accessmemory,dram)、统计随机存取存储器(staticrandom-accessmemory,sram)、及/或非易失性随机存取存储器(non-volatilerandom-accessmemory,nvram)(例如(举例来说),闪速存储器)。如图4b所示,当与本原多项式的系数a3对应的信号路径352.3上存在的逻辑值也是逻辑一时,与系数a3对应的逻辑与非门422.3提供逻辑一(在图4b中由实线表示),且不论分别与本原多项式的系数a1及a2对应的信号路径352.1及352.2上存在的逻辑值是否也是逻辑一,与系数a1及a2对应的逻辑与非门422.1及422.2均分别提供逻辑零(在图4b中由虚线表示)。然而,相关领域中的技术人员将认识到,图4b所示切换电路系统422的示例性操作仅是用于示例性目的。相关领域中的技术人员将认识到,切换电路系统422的操作取决于所构建的本原多项式的系数an至a1,且在不背离本发明的精神及范围的条件下可不同于图4b所示。重新参照图3,逻辑电路304对信号路径352.1至352.n中的耦合到逻辑电路304的那些信号路径与数字输入种子354实行一个或多个逻辑运算以向真随机亚稳态触发器302.1至302.n提供数字输出种子356。在图3所示的示例性实施例中,数字种子信号354代表随机、伪随机、或非随机位序列。在示例性实施例中,数字输出种子356代表数字种子信号154的示例性实施例。逻辑电路304可包括一个或多个逻辑与门、一个或多个逻辑或门、一个或多个逻辑异或门、一个或多个逻辑非门、一个或多个逻辑与非门、一个或多个逻辑或非门、一个或多个逻辑异或非门、及/或在不背离本发明的精神及范围的条件下对相关领域中的技术人员来说将显而易见的任意其他合适的逻辑门。在示例性实施例中,使用逻辑异或门来实作逻辑电路304以在信号路径352.1至352.n中的耦合到逻辑电路304的那些信号路径与数字输入种子354之间实行逻辑异或功能,从而提供数字输出种子356。图5示出根据本发明示例性实施例的第二示例性真随机亚稳态触发器(trmff)链的方块图。真随机亚稳态触发器链500代表根据本原多项式p1(x)至pk(x)提供随机数550.1至550.m的序列的电路。如以上在图3中所论述,真随机亚稳态触发器链300提供随机数350.1至350.n的n位序列。在图5所示示例性实施例中,真随机亚稳态触发器链500可对多个真随机亚稳态触发器链进行级联(cascade)以提供随机数550.1至550.m的m位序列,随机数550.1至550.m的m位序列比随机数350.1至350.n的n位序列大。这一示例性实施例对多个较低次数的本原多项式(例如(举例来说),如公式(1)所表示具有次数n(n-degrees)的本原多项式中的多个本原多项式)进行级联以提供较高次数(degree)的多项式。如图5所示,真随机亚稳态触发器链500包括真随机亚稳态触发器链502.1至502.k。如图5所示,真随机亚稳态触发器链502.1至502.k响应于代表随机、伪随机、或非随机的位序列的数字输入种子554来根据本原多项式p1(x)至pk(x)提供随机数550.1至550.m的m位序列。在示例性实施例中,本原多项式p1(x)至pk(x)中的每一者可为相似的本原多项式或不同的本原多项式。由此,真随机亚稳态触发器链502.1至502.k可包括相似数目的或不同数目的真随机亚稳态触发器302.1至302.n。参照图5,真随机亚稳态触发器链502.1根据本原多项式p1(x)提供随机数550.1至550.a的a位序列。在这一示例性实施例中,真随机亚稳态触发器链502.2根据本原多项式p2(x)提供随机数550.(a+1)至552.b的b位序列。同样在这一示例性实施例中,真随机亚稳态触发器链502.k根据本原多项式pk(x)提供随机数550.(b+1)至550.m的第m个n位序列。示例性真随机亚稳态触发器(trmff)编译器图6示出根据本发明示例性实施例的示例性真随机亚稳态触发器(trmff)编译器的示例性操作的流程图。本发明并非仅限于本操作说明。而是,对相关领域中的普通技术人员来说将显而易见的是,其他操作控制流程也处于本发明的范围及精神内。以下论述描述示例性真随机亚稳态触发器编译器600在由计算机系统执行时根据本原多项式产生真随机亚稳态触发器链(例如(举例来说),真随机亚稳态触发器链300及/或真随机亚稳态触发器链500)。在示例性实施例中,可以硬件、固件、软件、或其任意组合来实作示例性真随机亚稳态触发器编译器600。作为另一实例,示例性真随机亚稳态触发器编译器600可被实作为存储在机器可读媒体上的指令,所述指令可由一个或多个处理器读取并执行。在本文中,机器可读媒体可包括用于以可由以下装置读取的形式存储或传送信息的任意机制:一个或多个计算装置、处理器、控制器或者在不背离本发明的精神及范围的条件下对相关领域中的技术人员来说将显而易见的其他装置。机器可读媒体可包括例如只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁盘存储媒体、固态存储媒体、光学存储媒体、及/或闪速存储器装置。然而,应理解,这些说明仅是出于方便目的且这些动作实际上是由执行固件、软件、例程、及/或指令的计算装置、处理器、控制器或对相关领域中的技术人员来说将显而易见的其他装置实现的。在另一个示例性实施例中,示例性真随机亚稳态触发器编译器600的特征可为在物联网装置的给定安全要求条件下,在功率要求、性能要求、及占用面积(real-estate)要求之间实现平衡。在操作602处,示例性真随机亚稳态触发器编译器600从标准胞元库接收与亚稳态触发器(例如(举例来说),亚稳态触发器102)及/或所述亚稳态触发器的互补形式(例如(举例来说),亚稳态触发器202)对应的一个或多个标准胞元。在示例性实施例中,标准胞元库可代表模拟电路及/或数字电路的呈例如以下高级软件语言形式的一个或多个软件模型:图形设计工具,例如c语言、c++、实验室虚拟仪器工程平台(laboratoryvirtualinstrumentationengineeringworkbench,labview)、及/或矩阵实验室(matrix&laboratory,matlab);通用系统设计语言,例如系统建模语言(systemsmodelinglanguage,sysml)、语义模型定义语言(semanticmodeldefinitionlanguage,smdl)、及/或存储架构定义语言(storeschemadefinitionlanguage,ssdl);或者在不背离本发明的精神及范围的条件下对相关领域中的技术人员来说将显而易见的任意其他合适的高级软件语言。在示例性实施例中,示例性真随机亚稳态触发器编译器600使用同等数目的和亚稳态触发器对应的所述一个或多个标准胞元与和亚稳态触发器的互补形式对应的一个或多个标准胞元来实作真随机亚稳态触发器链以补偿可在如以上图3中所阐述的真随机亚稳态触发器链中存在的非随机倾向。在另一个示例性实施例中,示例性真随机亚稳态触发器编译器600使用不同数目的和亚稳态触发器对应的所述一个或多个标准胞元与和亚稳态触发器的互补形式对应的一个或多个标准胞元来实作真随机亚稳态触发器链以补偿当同等数目的所述一个或多个标准胞元引起非随机倾向时可在真随机亚稳态触发器链中存在的非随机倾向。在操作604处,示例性真随机亚稳态触发器编译器600从标准胞元库接收与逻辑电路(例如(举例来说),逻辑电路304)对应的一个或多个标准胞元。在操作606处,示例性真随机亚稳态触发器编译器600根据以上在图3至图5中所论述的本原多项式(例如(举例来说),公式(1)中所表示的本原多项式)对来自操作602的和亚稳态触发器及/或亚稳态触发器的互补形式对应的所述一个或多个标准胞元与来自操作604的和逻辑电路对应的所述一个或多个标准胞元进行内连以产生真随机亚稳态触发器链的软件模型。在示例性实施例中,这种软件模型是以寄存器传输级(register-transferlevel,rtl)通过高级软件语言产生。在示例性实施例中,可将软件模型导入到标准胞元库。以与以上在图3至图5中所论述的方式相似的方式,示例性真随机亚稳态触发器编译器600对来自操作602的与亚稳态触发器及/或亚稳态触发器的互补形式对应的所述一个或多个标准胞元进行逻辑耦合以产生亚稳态触发器链。之后,示例性真随机亚稳态触发器编译器600根据本原多项式的系数(例如(举例来说),公式(1)中所表示的本原多项式的系数an至a1)将来自操作602的与亚稳态触发器及/或亚稳态触发器的互补形式对应的所述一个或多个标准胞元的各种信号路径(例如(举例来说),信号路径352.1至352.n)在逻辑上耦合到来自操作604的与逻辑电路对应的所述一个或多个标准胞元以产生真随机亚稳态触发器链。在示例性实施例中,高级软件语言将来自操作602的与亚稳态触发器及/或亚稳态触发器的互补形式对应的所述一个或多个标准胞元的各个信号路径在逻辑上连接到来自操作604的所述一个或多个标准胞元。在一些情形中,示例性真随机亚稳态触发器编译器600可基于要由真随机亚稳态触发器链提供的随机数的序列长度来反复重复操作606以产生多个真随机亚稳态触发器链。执行示例性真随机亚稳态触发器编译器的示例性计算机系统图7示出根据本发明示例性实施例的用于执行示例性真随机亚稳态触发器编译器的示例性计算机系统700的方块图。计算机系统700可用于执行示例性真随机亚稳态触发器编译器600。在阅读本说明之后,如何使用其他计算机系统及/或计算机架构来实作实施例对相关领域中的技术人员来说将变得显而易见。计算机系统700包括一个或多个处理器704(也被称为中央处理器或cpu)以执行如以上图6所述示例性真随机亚稳态触发器编译器600。所述一个或多个处理器704可连接到通信基础设施(communicationinfrastructure)或总线706。在示例性实施例中,可将所述一个或多个处理器704中的一个或多个实作为图形处理器(graphicsprocessingunit,gpu)。图形处理器代表被设计成在电子装置上快速地处理数学密集型应用的专用电子电路。图形处理器可具有能高效地对大的数据区块(例如,对于计算机图形应用、图像及视频而言常用的数学密集型数据)进行并行处理的高度并行的结构。计算机系统700还包括用户输入/输出装置703(例如,监测器、键盘、定点装置等),用户输入/输出装置703通过用户输入/输出接口702与通信基础设施706进行通信。计算机系统700还包括主存储器或主要存储器708,例如(举例来说)随机存取存储器(ram)。主存储器708可包括一个或多个级别的高速缓存。主存储器708中存储有控制逻辑(即,计算机软件)及/或数据,例如以上图6所述示例性真随机亚稳态触发器编译器。计算机系统700还可包括一个或多个辅助存储装置或存储器710以存储以上图6所述示例性真随机亚稳态触发器编译器600。所述一个或多个辅助存储装置或存储器710可例如包括硬盘驱动器712及/或可移动存储装置或驱动器714。可移动存储驱动器714可为软盘驱动器、磁带驱动器、光盘驱动器、光学存储装置、磁带备份装置、及/或任意其他存储装置/驱动器。可移动存储驱动器714可与可移动存储单元718交互作用。可移动存储单元718包括其上存储有计算机软件(控制逻辑)及/或数据的计算机可用或可读存储装置。可移动存储单元718可为软盘、磁带、光盘、数字视频光盘(digitalvideodisc,dvd)、光学存储盘、及/或任意其他计算机数据存储装置。可移动存储驱动器714以众所周知的方式对可移动存储单元718进行读取及/或写入。根据示例性实施例,所述一个或多个辅助存储装置或存储器710可包括使计算机系统700能够存取计算机程序及/或其他指令及/或数据的其他构件、器械或其他方式。这些构件、器械或其他方式可包括例如可移动存储单元722及接口720。可移动存储单元722及接口720的实例可包括程序盒(programcartridge)及盒接口(例如,视频游戏装置中的程序盒及盒接口)、可移动存储器芯片(例如,可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)或可编程只读存储器(programmablereadonlymemory,prom))以及相关联的插孔、记忆棒及通用串行总线端口、存储器卡及相关联的存储器卡槽、及/或任意其他可移动存储单元及相关联的接口。计算机系统700可还包括通信或网络接口724。通信或网络接口724使计算机系统700与远程装置、远程网络、远程实体等的任意组合(个别地及集体地由参考编号728表示)进行通信及交互作用。举例来说,通信或网络接口724可使计算机系统700能够经由通信路径726与远程装置728进行通信,通信路径726可为有线及/或无线的且可包括局域网(localareanetwork,lan)、广域网(wideareanetwork,wan)、因特网等的任意组合。可经由通信路径726将控制逻辑及/或数据传送到计算机系统700以及从计算机系统700传送控制逻辑及/或数据。在实施例中,包括上面存储有控制逻辑(软件)的有形计算机可用或可读媒体的有形设备或制品在本文中也被称为计算机程序产品或程序存储装置。此包括但不限于计算机系统700、主存储器708、辅助存储器710、及可移动存储单元718及722、以及实施上述的任意组合的有形制品。当由一个或多个数据处理装置(例如,计算机系统700)执行时,这种控制逻辑使这些数据处理装置如本文所述一样运行。基于本发明中所包含的教示内容,如何使用除了图7所示装置之外的数据处理装置、计算机系统及/或计算机架构来制作及使用本发明对相关领域中的技术人员来说将显而易见。具体来说,各实施例可利用除了本文所述软件、硬件、及/或操作系统实施方式之外的软件、硬件、及/或操作系统实施方式来运行。总结以上具体实施方式公开了一种用于产生真随机亚稳态触发器(trmff)链的模型的计算机系统。所述计算机系统包括存储器以及处理器。所述存储器存储真随机亚稳态触发器编译器。所述处理器执行所述真随机亚稳态触发器编译器,所述真随机亚稳态触发器编译器在由所述处理器执行时將所述处理器配置成:接收与亚稳态触发器对应的一个或多个第一标准胞元以及与所述亚稳态触发器的互补形式对应的一个或多个第二标准胞元;接收与逻辑电路对应的一个或多个第三标准胞元;以及根据预定义的本原多项式对所述一个或多个第一标准胞元、所述一个或多个第二标准胞元、及所述一个或多个第三标准胞元进行内连,以产生所述真随机亚稳态触发器链的所述模型。根据本公开内容的一些实施例,所述一个或多个第一标准胞元包括:软件语言形式的所述亚稳态触发器的模型,且其中所述一个或多个第二标准胞元包括:所述软件语言形式的所述亚稳态触发器的所述互补形式的模型。根据本公开内容的一些实施例,所述编译器在由所述处理器执行时将所述处理器配置成:接收相等数目个所述一个或多个第一标准胞元与所述一个或多个第二标准胞元。根据本公开内容的一些实施例,所述编译器在由所述处理器执行时将所述处理器配置成:根据所述预定义的本原多项式的多个系数对所述一个或多个第一标准胞元、所述一个或多个第二标准胞元、及所述一个或多个第三标准胞元进行内连。根据本公开内容的一些实施例,所述编译器在由所述处理器执行时将所述处理器配置成:对所述一个或多个第一标准胞元与所述一个或多个第二标准胞元进行耦合以产生亚稳态触发器链,以及根据所述预定义的本原多项式的所述多个系数对所述亚稳态触发器链与和所述逻辑电路对应的所述一个或多个第三标准胞元之间的多个信号路径进行耦合,以产生所述真随机亚稳态触发器链的所述软件模型。根据本公开内容的一些实施例,所述编译器在由所述处理器执行时将所述处理器配置成:当所述多个系数中与所述多个信号路径中的一个信号路径对应的系数是一时,将所述一个信号路径耦合到与所述逻辑电路对应的所述一个或多个第三标准胞元;以及当所述多个系数中与所述一个信号路径对应的系数是零时,不将所述一个信号路径耦合到与所述逻辑电路对应的所述一个或多个第三标准胞元。根据本公开内容的一些实施例,所述编译器在由所述处理器执行时进一步将所述处理器配置成:将所述真随机亚稳态触发器链的所述软件模型作为一个或多个第三标准胞元导入标准胞元库中。以上具体实施方式还公开了一种真随机亚稳态触发器(trmff)链。所述真随机亚稳态触发器链包括多个真随机亚稳态触发器以及第一逻辑电路。所述多个真随机亚稳态触发器根据多项式的多个次数来提供多个随机数,所述多个真随机亚稳态触发器中的每一真随机亚稳态触发器对应于所述多个次数中的次数以及所述多项式的多个系数中的系数。所述第一逻辑电路,被配置成对数字输入种子及所述多个系数中系数是一的真随机亚稳态触发器之中的多个对应于亚稳态触发器的随机数之中的随机数实行一个或多个逻辑运算,以向所述多个真随机亚稳态触发器提供数字输出种子。根据本公开内容的一些实施例,所述多个真随机亚稳态触发器中的第一真随机亚稳态触发器包括:第一亚稳态触发器,被配置成感测与一个或多个微观现象对应的一个或多个统计随机熵噪声信号,以提供第一随机输出位;第二逻辑电路,被配置成根据所述数字输出种子对所述第一随机输出位实行一个或多个第一逻辑运算,以提供第一随机输出位序列;以及第一触发器,被配置成根据计时信号对所述第一随机输出位序列进行重新定时,以提供所述多个随机数中的第一随机数。根据本公开内容的一些实施例,所述第一亚稳态触发器被配置成将所述第一随机输出位的倾向调整成在给定持续时间内平均而言具有同样数目的逻辑一与逻辑零。根据本公开内容的一些实施例,所述第一真随机亚稳态触发器对应于所述多项式的所述多个次数中的最低有效次数。根据本公开内容的一些实施例,所述多个真随机亚稳态触发器中的第二真随机亚稳态触发器包括:第二亚稳态触发器,被配置成感测与所述一个或多个微观现象对应的所述一个或多个统计随机熵噪声信号,以提供第二随机输出位;第三逻辑电路,被配置成根据所述第一随机数对所述第二随机输出位实行一个或多个第二逻辑运算,以提供第二随机输出位序列;以及第二触发器,被配置成根据所述计时信号对所述第二随机输出位序列进行重新定时,以提供所述多个随机数中的第二随机数。根据本公开内容的一些实施例,所述多个真随机亚稳态触发器中的真随机亚稳态触发器的数目对应于所述多项式的所述多个次数的次数的数目。根据本公开内容的一些实施例,所述多个真随机亚稳态触发器中的至少一个真随机亚稳态触发器是所述多个真随机亚稳态触发器中的第二真随机亚稳态触发器的互补形式。根据本公开内容的一些实施例,所述第一逻辑电路进一步被配置成不对对应于所述多个系数中系数是零的真随机亚稳态触发器的多个随机数之中的所述随机数实行所述一个或多个逻辑运算。以上具体实施方式进一步公开了一种真随机亚稳态触发器(trmff)链。所述真随机亚稳态触发器链包括多个真随机亚稳态触发器链以根据多个多项式来提供多个随机数。所述多个真随机亚稳态触发器链中的每一真随机亚稳态触发器链包括多个真随机亚稳态触发器以及第一逻辑电路。所述多个真随机亚稳态触发器根据所述多个多项式中的对应多项式的多个次数来提供所述多个随机数中的对应一组随机数,所述多个真随机亚稳态触发器中的每一真随机亚稳态触发器对应于所述多个次数中的次数以及所述对应多项式的多个系数中的系数。所述第一逻辑电路,被配置成对数字输入种子及所述多个系数中系数是一的真随机亚稳态触发器之中的多个对应于一组随机数之中的随机数实行一个或多个逻辑运算,以向所述多个真随机亚稳态触发器提供数字输出种子。根据本公开内容的一些实施例,所述多个多项式是相似的多项式。根据本公开内容的一些实施例,所述多个真随机亚稳态触发器中的第一真随机亚稳态触发器包括:第一亚稳态触发器,被配置成感测与一个或多个微观现象对应的一个或多个统计随机熵噪声信号,以提供第一随机输出位;第二逻辑电路,被配置成根据所述数字输出种子对所述第一随机输出位实行一个或多个第一逻辑运算,以提供第一随机输出位序列;以及第一触发器,被配置成根据计时信号对所述第一随机输出位序列进行重新定时,以提供所述多个随机数中的第一随机数。根据本公开内容的一些实施例,所述多个真随机亚稳态触发器中的第二真随机亚稳态触发器包括:第二亚稳态触发器,被配置成感测与所述一个或多个微观现象对应的所述一个或多个统计随机熵噪声信号,以提供第二随机输出位;第三逻辑电路,被配置成根据所述第一随机数对所述第二随机输出位实行一个或多个第二逻辑运算,以提供第二随机输出位序列;以及第二触发器,被配置成根据所述计时信号对所述第二随机输出位序列进行重新定时,以提供所述多个随机数中的第二随机数。根据本公开内容的一些实施例,所述第一逻辑电路进一步被配置成不对对应于所述多个系数中系数是零的真随机亚稳态触发器的多个随机数之中的所述随机数实行所述一个或多个逻辑运算。以上具体实施方式概述了若干实施例的特征,以使所属领域的普通技术人员可更好地理解本发明的各方面。所属领域的普通技术人员应知,其可容易地使用本发明作为设计或修改其他工艺及结构的基础以施行与本文中所介绍的实施例相同的目的及/或实现与本文中所介绍的实施例相同的优点。所属领域的普通技术人员还应认识到,这些等效构造并不背离本发明的精神及范围,且他们可在不背离本发明的精神及范围的条件下对其作出各种变化、代替及变更。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1