CN110389747A - 具有物理不可复制功能的真随机数生成系统 - Google Patents

具有物理不可复制功能的真随机数生成系统 Download PDF

Info

Publication number
CN110389747A
CN110389747A CN201910313504.1A CN201910313504A CN110389747A CN 110389747 A CN110389747 A CN 110389747A CN 201910313504 A CN201910313504 A CN 201910313504A CN 110389747 A CN110389747 A CN 110389747A
Authority
CN
China
Prior art keywords
number sequence
sequence
random number
coding circuit
physics
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.)
Granted
Application number
CN201910313504.1A
Other languages
English (en)
Other versions
CN110389747B (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.)
eMemory Technology Inc
Original Assignee
eMemory Technology Inc
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 eMemory Technology Inc filed Critical eMemory Technology Inc
Publication of CN110389747A publication Critical patent/CN110389747A/zh
Application granted granted Critical
Publication of CN110389747B publication Critical patent/CN110389747B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种真随机数生成系统,包括随机数池、伪随机数生成器及编码电路。伪随机数生成器用以根据至少一个控制数序产生多个第一数序。编码电路耦接于随机数池及伪随机数生成器,用以根据多个第一数序及由随机数池选出的多个第三数序,产生多个第二数序。

Description

具有物理不可复制功能的真随机数生成系统
技术领域
本发明涉及一种具有物理不可复制功能的真随机数生成系统,特别是涉及一种具有物理不可复制功能并产生较长的真随机数位流的真随机数生成系统。
背景技术
随着科技日新月异,网络安全性、数据传输安全性以及私人安全性的议题也越来越受到重视。当数据带有个人隐私或私人数据时,常需要各种不同的加密程序以及算法以增加数据传输安全等级。举例而言,指纹资料视为独一无二且私人的资料,带有个人手指的生物特征。虹膜辨识数据也视为独一无二且私人的资料,带有个人双眼的生物特征。
一般而言,使用一些安全机制可让私人数据的规则性降低,以减少数据被窃取的风险。举例而言,安全快速响应矩阵图码(Secured Quick Response Code,SQRC)可以透过一个密钥来保护私人数据。安全快速响应矩阵图码的规则性很难被数据窃取者预测,原因为其密钥对于数据窃取者而言是未知的。然而,任何安全机制仍有被破解的风险,原因为其密钥(或是密码)、混码(Scramble)多项式、随机数码字的集合、以及加密序列均为利用数值方式生成。换句话说,一般安全机制的随机性只能视为伪随机性(Pseudo Randomness)。
然而,随着非法黑客或数据窃取者数量的逐年增加,当非法黑客或数据窃取者使用高超的技术或是非法的窃取装置试图破解安全机制时,非法黑客或数据窃取者是有一定的机会将成功地入侵安全机制而盗取数据。因此,发展一种真随机数生成系统,可以生成无法预测的无规则性的随机数,并应用于安全机制中,是未来增加数据安全层级的趋势。
发明内容
本发明实施例提出一种真随机数生成系统,包括随机数池、伪随机数生成器及第一编码电路。伪随机数生成器用以根据至少一个控制数序,产生多个第一数序。第一编码电路耦接于随机数池及伪随机数生成器,用以根据多个第一数序及由随机数池选出的多个第三数序,产生多个第二数序,且多个第二数序为随机。
附图说明
图1是本发明的真随机数生成系统的实施例的方块图。
图2是图1的真随机数生成系统中,引入至少一个控制数序的示意图。
图3是图2的真随机数生成系统中,引入频率讯号的示意图。
图4是图1的真随机数生成系统中,引入第二编码电路的示意图。
图5是图4的真随机数生成系统中,引入选择装置及缓存器的示意图。
图6是图5的真随机数生成系统中,在第一编码电路与第三编码电路间的数序选择程序的示意图
其中,附图标记说明如下:
100、200、300、400、500 真随机数生成系统
PRNG 伪随机数生成器
PUFED 物理不可复制乱度装置
EN1 第一编码电路
BS1 第一数序
BS2 第二数序
BS3 第三数序
MEM 内存
Scr1 混码数序
Ini1 初始数序
Cg1 设定种子
CLK1 第一频率讯号
CLK2 第二频率讯号
CKL3 第三频率讯号
EN2 第二编码电路
BS4 第四数序
BS5 第五数序
EN3 第三编码电路
SL 选择装置
REG 缓存器
BS6 第六数序
BS7 第七数序
BS8 第八数序
G1至GQ 群组
具体实施方式
图1是本发明的真随机数生成系统100的实施例的方块图。真随机数生成系统100包括物理不可复制(Physical Unclonable Function,PUF)乱度装置PUFED、伪随机数生成器PRNG以及第一编码电路EN1。物理不可复制乱度装置PUFED用以产生随机数池(RandomNumber Pool)。在此,物理不可复制乱度装置PUFED可为任何具有产生反仿造随机数功能,以提供唯一且不可预测的随机数特性的硬件。举例而言,物理不可复制乱度装置PUFED可为反熔丝物理不可复制功能的随机数生成装置。此类物理不可复制乱度装置PUFED可利用随机击穿在物理不可复制乱度装置PUFED内相邻晶体管的两个闸极氧化层中的其中一个,以执行反熔丝物理不可复制功能。换句话说,击穿两个闸极氧化层中的其中一个的特性视为物理性的随机行为,因此无法被预测。也因如此,当物理不可复制乱度装置PUFED为反熔丝物理不可复制功能的随机数生成装置时,物理不可复制乱度装置PUFED所产生的随机数池是一个有限空间的真随机数池。并且,物理不可复制乱度装置PUFED也可被具有真随机数储存空间的静态随机存取内存(Static Random-Access Memory,SRAM)、可变电阻式内存(Resistive Random-Access Memory,ReRAM)、磁阻式随机存取内存(MagnetoresistiveRandom-Access Memory,MRAM)、铁电随机存取内存(Ferroelectric Random-AccessMemory,FeRAM)、一次性可编程内存(One-Time Programmable Memory)、多次可编程内存(Multiple-Time Programmable Memory)、闪存(Flash Memory)或其他具有真随机数特性的组件及电路实作。随机数池本身也可视为虚拟或实体的硬件架构,其内部包括无规则性的随机数数据。例如,因随机数池中的数据为利用物理性的随机特性而产生,因此随机数池中的数据并没有规则性。随机数池中的数据也可为由外部汇入内存的无规则性的随机数数据,因此,随机数池也可视为具有随机数数据的内存而取代物理不可复制乱度装置PUFED并耦接于第一编码电路EN1。任何合理的硬件变更都属于本发明所揭露的范畴。伪随机数生成器PRNG可耦接于物理不可复制乱度装置PUFED,用以根据至少一个控制数序产生多个第一数序BS1。至少一个控制数序可根据随机数池决定。于此,多个第一数序BS1可视为「伪」随机数序,原因为多个第一数序BS1是利用伪随机数生成器PRNG以数值方式生成。举例而言,伪随机数生成器PRNG所支持的所有可能的数序可表示为数序BS1_0至数序BS1_N-1。对于索引”m”而言,伪随机数生成器PRNG可产生包括数序BS1_m+0至数序BS1_m+m’-1的多个第一数序BS1。于此,m、m’及N为三个正整数,且N≥m及N≥m’。第一编码电路EN1耦接于物理不可复制乱度装置PUFED及伪随机数生成器PRNG,用以根据多个第一数序BS1及由随机数池选出的多个第三数序BS3,产生多个第二数序BS2。于此,由于随机数池是有限空间的随机数池,且容量也有限制,因此,由随机数池中选出的数序可经由复制的方式以产生一个数序集合。举例而言,数序BS3_0至数序BS3_M-1可由随机数池中选出。接着,数序BS3_0至数序BS3_M-1可经由复制的方式产生数序集合{[BS3_0,…,BS3_M-1],[BS3_0,…,BS3_M-1]}。接着,根据由数序集合{[BS3_0,…,BS3_M-1],[BS3_0,…,BS3_M-1]}中以随机或是非随机的方式选出一些数序,可以决定并产生多个第三数序BS3。第一编码电路EN1可执行位互斥或运算功能(Bitwise Exclusive-or Function),以产生多个第二数序BS2。举例而言,多个第二数序BS2可包括数序BS2_0至BS2_m’-1。数序BS2_0可用位互斥或运算的方式结合数序BS1_0与BS3_0而产生。数序BS2_1可用位互斥或运算的方式结合数序BS1_1与BS3_1而产生,依此类推。如前述提及,第一数序BS1是以伪随机的方式产生。第三数序BS3是以真随机的方式产生(如利用反熔丝物理不可复制功能,以物理随机的方式产生随机数)。在第一编码电路EN1结合多个第一数序BS1与多个第三数序BS3以产生多个第二数序BS2后,多个第二数序BS2的规则性将不可被预测。以随机性而言,多个第二数序BS2及多个第三数序BS3比多个第一数序BS1离散。并且,由于多个第二数序BS2的规则性不可被预测,因此多个第二数序BS2可视为真随机数序。
并且,物理不可复制乱度装置PUFED的随机数池的空间(容量)需求可为趋近于2048位(2k bits)。每一个第二数序BS2的长度可为32位。每一个第三数序BS3的长度可为32位。伪随机数生成器PRNG产生的多个第一数序BS1可形成较长的伪随机数位流。由物理不可复制乱度装置PUFED的随机数池所选出的多个第三数序BS3可形成较短的真随机数位流。在第一编码电路EN1结合多个第一数序BS1与多个第三数序BS3以产生多个第二数序BS2后,第一编码电路EN1产生的多个第二数序BS2可形成较长的真随机数位流。换句话说,真随机数生成系统100最终可产生较长的真随机数位流,可应用于各种安全机制中。
在真随机数生成系统100中,任何合理地硬件变更都属于本发明所揭露的范畴。举例而言,在其他实施例中,物理不可复制乱度装置PUFED与伪随机数生成器PRNG间也可以不连接。因此,至少一个控制数序将不被物理不可复制乱度装置PUFED的随机数池所决定。换句话说,真随机数生成系统100可以引入其他的数据源,如引入用户输入的数据源(装置),以提供、产生或决定至少一个控制数序。于此,在伪随机数生成器PRNG产生多个第一数序BS1时,物理不可复制乱度装置PUFED也产生多个第三数序BS3。第一编码电路EN1可以接收多个第一数序BS1及多个第三数序BS3,并输出多个第二数序BS2。
图2是真随机数生成系统100中,引入至少一个控制数序的示意图。为了避免混淆,以下将其称为真随机数生成系统200。在真随机数生成系统200中,伪随机数生成器PRNG可包括内存MEM,用以储存控制数序集合。至少一个控制数序可以根据物理不可复制乱度装置PUFED的随机数池,由控制数序集合中选出。举例而言,至少一个控制数序可包括根据随机数池决定的设定数序Cg1。设定数序Cg1可包括多个设定种子(Configuration Seeds)。当第一编码电路EN1执行编码操作时,多个设定种子可用以决定在多个第二数序BS2与多个第一数序BS1间的映射关系。映像关系可为位对位的映像关系或是向量对向量的映射关系,甚至可为自定义的算法或函式。
至少一个控制数序可包括根据随机数池决定的初始数序Ini1。初始数序Ini1可包括多个初始种子(Initial Seeds)。多个初始种子可用以由伪随机数生成器PRNG所支持的所有可能的数序中,指向多个第一数序BS1中的初始数序。至少一个控制数序可包括根据随机数池决定的混码数序Scr1。混码数序Scr1可包括多个混码种子(Scramble Seeds)。多个混码种子可用以扰乱多个第一数序BS1的位配置。此外,设定数序Cg1、初始数序Ini1、以及混码数序Scr1对应的控制数序集合的空间可为不同。并且,设定数序Cg1、初始数序Ini1、以及混码数序Scr1可根据随机数池,用任何合理的算法、转换函数或是数值变换方式而产生。应当理解的是,在真随机数生成系统200中,由物理不可复制乱度装置PUFED的随机数池所选出的随机码(数序)是用于「设定」由控制数序集合所选出的至少一个控制数序。举例而言,对于长度为32位的初始数序Ini1而言,对应的控制数序集合的空间内应有232-1种可能的变化。对于长度为32位的混码数序Scr1而言,对应的控制数序集合的空间内应有232种可能的变化。并且,由随机数池选出的随机数序中的位映像关系或其算法也可以合理地更动。举例而言,由随机数池选出的随机数序可以引入一对一的位映像或是非一对一个位映像。例如,随机数池选出的随机数序位[0]可以利用一对一的位映像算法,对应控制数序集合中某个数序中的位[0]。随机数池选出的随机数序位[1]及[27]可以利用非一对一的位映像算法,对应控制数序集合中某个数序中的位[15]。随机数池选出的随机数序位[5]可以利用非一对一的位映像算法,对应控制数序集合中某个数序中的位[2]及[12]。在真随机数生成系统200中,由于设定数序Cg1、初始数序Ini1、以及混码数序Scr1可根据随机数池中的真随机数而随机选出,因此,伪随机数生成器PRNG所产生的第一数序BS1的随机性将会增加。也因如此,在第一编码电路EN1结合多个第一数序BS1与多个第三数序BS3以产生多个第二数序BS2后,第二数序BS2的规则性将会变得难以预测。因此,第二数序BS2可应用于安全机制中,可提供很高的数据安全层级。
图3是真随机数生成系统200中,引入频率讯号的示意图。为了避免混淆,以下将其称为真随机数生成系统300。为了加强安全层级,真随机数生成系统300可以引入第一频率讯号CLK1及第二频率讯号CLK2。第一频率讯号CLK1及第二频率讯号CLK2可为不同。伪随机数生成器PRNG中的至少一个控制数序(设定数序Cg1、初始数序Ini1、及/或混码数序Scr1)可根据第一频率讯号CKL1而更新。多个第三数序BS3可根据第二频率讯号CLK2,由物理不可复制乱度装置PUFED的随机数池中依序选出。举例而言,设定数序Cg1、初始数序Ini1、及混码数序Scr1可以每32个频率(Clocks)同时更新。并且,设定数序Cg1、初始数序Ini1、及混码数序Scr1也可以各自更新。举例而言,设定数序Cg1可以每512个频率更新一次。初始数序Ini1可以每128个频率更新一次。混码数序Scr1可以每32个频率更新一次。并且,第三数序BS3会被第一编码电路EN1接收。上述的设定数序Cg1、初始数序Ini1、及混码数序Scr1也可以使用逻辑程序来更新。例如,当频率计数到7时,第一编码电路EN1接收的第三数序BS3可被更新。当频率计数到32时,混码数序Scr1可被更新。当频率计数到128时,初始数序Ini1可被更新。当频率计数到512时,设定数序Cg1可被更新。并且,真随机数生成系统300还可引入第三频率讯号CLK3。由伪随机数生成器PRNG产生的多个第一数序BS1,可根据第三频率讯号CLK3依序被第一编码电路EN1接收。为了增加设计弹性,真随机数生成系统300中的第一频率讯号CLK1、第二频率讯号CLK2及/或第三频率讯号CLK3可为随时间变动或是固定数值。因此,藉由引入第一频率讯号CLK1、第二频率讯号CLK2及第三频率讯号CLK3,多个第二数序BS2的随机性以及吞吐量(Throughput)将可以有弹性地调整。
图4是真随机数生成系统100中,引入第二编码电路EN2的示意图。为了避免混淆,以下将其称为真随机数生成系统400。为了更进一步增加真随机数生成系统所输出的随机数的随机性以及减少随机数池的需求空间,真随机数生成系统400可引入第二编码电路EN2。第二编码电路EN2耦接于第一编码电路EN1及物理不可复制乱度装置PUFED,用以根据多个第二数序BS2及多个第五数序BS5,输出多个第四数序BS4。于此,由于第一编码电路EN1可根据至少一个频率讯号(如前述的第一频率讯号CLK1、第二频率讯号CLK2及/或第三频率讯号CLK3)执行编码程序,因此,对于第二编码电路EN2而言,由随机数池中选出的多个第三数序BS3的配置会经过至少一个脉波而循环移位(Circularly Shift)。举例而言,多个第三数序BS3被选出来时的初始化配置可为以下数序集合的形式,如{[BS3_0,…,BS3_M-1],[BS3_0,…,BS3_M-1],…}。在经过一段时间后(如两个频率的时间后),数序集合{[BS3_0,…,BS3_M-1],[BS3_0,…,BS3_M-1],…}将被循环移位。因此,原数序集合将变为数序集合{[BS3_2,…,BS3_M-1],[BS3_0,…,BS3_M-1],BS3_0,BS3_1,…}。第五数序BS5将可以由被循环移位的数序集合{[BS3_2,…,BS3_M-1],[BS3_0,…,BS3_M-1],BS3_0,BS3_1,…}中选出来。换句话说,在多个第三数序BS3的配置经过至少一个脉波而循环移位后,产生多个第五数序BS5。在真随机数生成系统400中,如前述提及,物理不可复制乱度装置PUFED的随机数池可提供较短的真随机数位流。伪随机数生成器PRNG可提供较长的伪随机数位流。因此,第一编码电路EN1产生的多个第二数序BS2可形成较长的真随机数位流,具有难以预测的规则性。更进一步地,在第二编码电路EN2结合多个第二数序BS2与多个第五数序BS5以产生多个第四数序BS4后,第二编码电路EN2产生的多个第四数序BS4可形成较长的真随机数位流,且几乎没有规则性,因此更难预测。并且,真随机数生成系统400内物理不可复制乱度装置PUFED的随机数池的空间(容量)需求,小于真随机数生成系统100内物理不可复制乱度装置PUFED的随机数池的空间(容量)需求。举例而言,真随机数生成系统100内物理不可复制乱度装置PUFED的随机数池的空间(容量)需求可为趋近于2048位(2k bits)。然而,真随机数生成系统400内物理不可复制乱度装置PUFED的随机数池的空间(容量)需求可为趋近于1024位(1k bits)。并且,由于在多个第二数序BS2被产生后,随机数池的随机信息会被再一次地结合多个第二数序BS2以产生多个第四数序BS4。因此,多个第四数序BS4比多个第二数序BS2更离散,更随机、且规则性更难预测。
图5是真随机数生成系统400中,引入选择装置SL及缓存器REG的示意图。为了避免混淆,以下将其称为真随机数生成系统500。为了更进一步增加真随机数生成系统所输出的随机数的随机性,真随机数生成系统500可以引入选择装置SL及缓存器REG。选择装置SL耦接于物理不可复制乱度装置PUFED,用以根据随机数池产生选择讯号。可以变更的是,选择装置SL的选择讯号可以为用户自定义。换句话说,选择装置SL的选择讯号可由其他的数据源提供、产生或是决定。缓存器REG耦接于第一编码电路EN1及选择装置SL,用以缓存由第一编码电路EN1输出的每一个第二数序BS2。第三编码电路EN3耦接于缓存器REG及选择装置SL,用以根据多个第七数序BS7及多个第八数序BS8,产生多个第六数序BS6。多个第七数序BS7由缓存器REG依序地输出。并且,在多个第三数序BS3经过至少一个脉波而循环移位以产生多个第五数序BS5后,选择装置SL可接收多个第五数序BS5并将其配置重新设定,以输出多个第八数序BS8。细节说明如下。如前述提及,多个第三数序BS3被选出来时的初始化配置可为以下数序集合的形式,如{[BS3_0,…,BS3_M-1],[BS3_0,…,BS3_M-1],…}。在经过一段时间后(如两个脉波的时间后),数序集合{[BS3_0,…,BS3_M-1],[BS3_0,…,BS3_M-1],…}将被循环移位。因此,原数序集合将变为数序集合{[BS3_2,…,BS3_M-1],[BS3_0,…,BS3_M-1],BS3_0,BS3_1,…}。为了避免混淆,循环移位后的数序集合{[BS3_2,…,BS3_M-1],[BS3_0,…,BS3_M-1],BS3_0,BS3_1,…}可定义为多个第五数序BS5。接着,多个第五数序BS5可以利用选择装置SL将其配置重新设定,以产生数序集合{BS3_2,…,BS3_0,BS3_M-1,BS3_1,…}。因此,多个第八数序BS8可由数序集合{BS3_2,…,BS3_0,BS3_M-1,BS3_1,…}中选择出来。换句话说,每一个第八数序BS8可以根据随机数池,以随机或透过算法的方式由多个第五数序BS5的数序集合{[BS3_2,…,BS3_M-1],[BS3_0,…,BS3_M-1],BS3_0,BS3_1,…}中选一个数序出来。并且,多个第三数序BS3具有循环移位周期(Circularly Shift Period)。例如,循环移位周期的单位可为M个数序。选择装置SL可根据映像函数将多个循环移位后的第三数序BS3的配置重新设定。于此,映像函数可为基于物理不可复制功能下所设计的任何算法。并且,将多个循环移位后的第三数序BS3(称为第五数序BS5)的配置重新设定所用的最大配置偏移量小于或等于循环移位周期。举例而言,于第五数序BS5对应的数序集合{[BS3_2,…,BS3_M-1],[BS3_0,…,BS3_M-1],BS3_0,BS3_1,…}而言,数序BS3_2可被选择装置SL先选出,并输出至第三编码电路EN3。然而,若最大配置偏移量等于M+1,则选择装置SL下一次仍有可能选到数序BS3_2,并输出至第三编码电路EN3。对于第三编码电路EN3而言会在不同时间接收到相同的数据。因此,最大配置偏移量要小于或等于循环移位周期,以保证输入至第三编码电路EN3中的相邻数序是不同的。在真随机数生成系统500中,缓存器REG可根据选择装置SL的选择讯号,由多个第二数序BS2中选择多个第七数序BS7。下文将描述多个第七数序BS7如何被产生的细节。
图6是真随机数生成系统500中,在第一编码电路EN1与第三编码电路EN3的间的数序选择程序的示意图。在此,第一编码电路EN1的多个第二数序BS2可分为Q个群组,如群组G1至群组GQ。Q是2的幂次方的正整数。每一个群组包括许多数序。例如,群组G1包括数序BS2_0至BS2_15。群组G2包括数序BS2_16至数序BS2_31,依此类推。此外,选择讯号包括多个切换指令,每一个切换指令对应每一个第二数序BS的处理状态。若切换指令对应至未被选择状态(如数序BS2_1未被缓存器REG选择,表示为BS2_1(UNSEL)),则未被选择状态对应的第二数序((如数序BS2_1)将被缓存器REG舍弃。相反的,若切换指令对应至被选择状态,则被选择状态对应的第二数序(如数序BS2_0被缓存器REG选择,表示为BS2_0(SEL))将被缓存器REG输出为第七数序BS7。例如,对于群组G1而言,数序BS2_0对应被选择状态的切换指令,因此,缓存器REG会选择数序BS2_0并将其输出至第三编码电路EN3。数序BS2_1至数序BS2_15对应未被选择状态的切换指令,因此,缓存器REG会将数序BS2_1至数序BS2_15舍弃。对于群组G2而言,数序BS2_18对应被选择状态的切换指令,因此,缓存器REG会选择数序BS2_18并将其输出至第三编码电路EN3。数序BS2_16至数序BS2_17以及数序BS2_19至数序BS2_31对应未被选择状态的切换指令,因此,缓存器REG会将数序BS2_16至数序BS2_17以及数序BS2_19至数序BS2_31舍弃。换句话说,缓存器REG可输出Q个第七数序BS7,如内容信息依序为BS2_0→BS2_18→…的Q个第七数序BS7。换句话说,每一个第七数序BS7可由多个第二数序BS2的Q个群组中的一个群组选出。类似地,第三编码电路EN3可执行位互斥或运算功能,以产生多个第六数序BS6。举例而言,第三编码电路EN3可执行位互斥或运算功能,结合图5中的数序BS3_2以及图6中的数序BS2_0,以产生一个第六数序BS6。
在真随机数生成系统500中,如同前面提及,物理不可复制乱度装置PUFED的随机数池可提供较短的真随机数位流。伪随机数生成器PRNG可提供较长的伪随机数位流。因此,第一编码电路EN1透过缓存器REG产生的多个第七数序BS7可形成较长的真随机数位流,具有难以预测的规则性。更进一步地,第三编码电路EN3产生多个第六数序BS6可形成较长的真随机数位流,且几乎没有规则性,因此更难预测。并且,真随机数生成系统500内物理不可复制乱度装置PUFED的随机数池的空间(容量)需求,小于真随机数生成系统100内物理不可复制乱度装置PUFED的随机数池的空间(容量)需求。举例而言,真随机数生成系统100内物理不可复制乱度装置PUFED的随机数池的空间(容量)需求可为趋近于2048位(2k bits)。然而,真随机数生成系统500内物理不可复制乱度装置PUFED的随机数池的空间(容量)需求可为趋近于1024位(1k bits)。并且,由于在多个第七数序BS7被产生后,随机数池的随机信息会被再一次地结合多个第七数序BS7以产生多个第六数序BS6。因此,多个第六数序BS6比多个第七数序BS7更离散,更随机、且规则性更难预测。
在真随机数生成系统100至真随机数生成系统500中,任何合理的硬件变更都属于本发明所揭露的范畴。举例而言,在真随机数生成系统200中,当物理不可复制乱度装置PUFED的随机数池的空间(容量)够大时,设定数序Cg1、初始数序Ini1、及混码数序Scr1可于每一个频率变动。因此,由伪随机数生成器PRNG产生的第一数序BS1可形成较长的真随机数位流,故可直接应用于安全机制以提供高安全层级。换句话说,第一编码电路EN1于此可以省略。并且,当物理不可复制乱度装置PUFED的随机数池的空间(容量)非常大时,由随机数池所选出的数序甚至可直接形成较长的真随机数位流,故可直接应用于安全机制以提供高安全层级。因此,伪随机数生成器PRNG也可以忽略。
并且,第一编码电路EN1、第二编码电路EN2以及第三编码电路EN3也可以合理的变更。例如,第一编码电路EN1、第二编码电路EN2以及第三编码电路EN3未必局限于使用位互斥或(Exclusive-or)运算的方式执行编码程序,任何位逻辑运算符的运算都可以应用于编码程序。
综上所述,本发明描述一种真随机数生成系统以及其硬件变化的架构。真随机数生成系统的目的在于产生较长的真随机数位流。在真随机数生成系统中,较长的真随机数位流可由较短的真随机数位流结合较长的伪随机数位流而产生。并且,较短的真随机数位流可利用物理不可复制功能所产生的随机数池中选出。由于真随机数生成系统引入随机数池中的随机特性以产生较长的真随机数位流,因此,较长的真随机数位流的规律性将难以预测。故藉由将较长的真随机数位流应用于安全机制(如指纹数据的加密机制),非法黑客或是数据窃取者就算使用贪心算法(俗称为暴力破解法,Brute Force Attack,GreedySearch)试图破解安全机制,也无法辨识或是萃取内容。因此,本发明的真随机数生成系统可以强化数据安全层级,以降低资料被窃取的风险。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (22)

1.一种真随机数生成系统,其特征在于,包括:
随机数池(Random Number Pool);
伪随机数生成器,用以根据至少一个控制数序产生多个第一数序;及
第一编码电路,耦接于所述随机数池及所述伪随机数生成器,用以根据所述多个第一数序及由所述随机数池选出的多个第三数序,产生多个第二数序;
其中所述多个第二数序是随机。
2.如权利要求1所述的系统,其特征在于,至少一个控制数序是根据所述随机数池决定。
3.如权利要求1所述的系统,其特征在于,所述多个第二数序及所述多个第三数序比所述多个第一数序离散,且所述随机数池是有限空间的真随机数池。
4.如权利要求1所述的系统,其特征在于,所述至少一个控制数序包括设定数序、所述设定数序包括多个设定种子(Configuration Seeds),所述多个设定种子用以决定在所述多个第二数序与所述多个第一数序间的映射关系。
5.如权利要求1所述的系统,其特征在于,所述至少一个控制数序包括初始数序,所述初始数序包括多个初始种子(Initial Seeds),所述多个初始种子用以由所述伪随机数生成器所支持的所有可能的数序中,指向所述多个第一数序中的初始数序。
6.如权利要求1所述的系统,其特征在于,所述至少一个控制数序包括混码数序,所述混码数序包括多个混码种子(Scramble Seeds),所述多个混码种子用以扰乱所述多个第一数序的位配置。
7.如权利要求1所述的系统,其特征在于,所述伪随机数生成器所用的所述至少一个控制数序,根据第频率讯号而更新,所述多个第三数序根据第二频率讯号,由所述随机数池中依序选出,且所述第一频率讯号及所述第二频率讯号不同。
8.如权利要求7所述的系统,其特征在于,由所述伪随机数生成器产生的所述多个第一数序,根据第三频率讯号依序输出至所述第一编码电路,且所述第一频率讯号、所述第二频率讯号及/或所述第三频率讯号随时间变动。
9.如权利要求1所述的系统,其特征在于,所述第一编码电路执行位互斥或运算功能(Bitwise Exclusive-or Function),以产生所述多个第二数序。
10.如权利要求1所述的系统,其特征在于,还包括:
第二编码电路,耦接于所述第一编码电路及所述随机数池,用以根据所述多个第二数序及多个第五数序,输出多个第四数序;
其中在所述多个第三数序的配置经过至少一个脉波而循环移位(Circularly Shift)后,产生所述多个第五数序。
11.如权利要求10所述的系统,其特征在于,所述多个第四数序比所述多个第二数序离散。
12.如权利要求1所述的系统,其特征在于,还包括:
选择装置,耦接于所述随机数池,用以根据所述随机数池产生选择讯号;
缓存器,耦接于所述第一编码电路及所述选择装置,用以缓存由所述第一编码电路输出的每一个第二数序;及
第三编码电路,耦接于所述缓存器及所述选择装置,用以根据多个第七数序及多个第八数序,产生多个第六数序;
其中所述多个第七数序由所述缓存器依序地输出,且所述选择装置将所述多个第三数序的配置重新设定,以输出所述多个第八数序。
13.如权利要求12所述的系统,其特征在于,缓存器根据所述选择讯号,由所述多个第二数序中选择所述多个第七数序。
14.如权利要求12所述的系统,其特征在于,所述选择讯号包括多个切换指令,每一个切换指令对应每一个第二数序的处理状态,且若切换指令对应至未被选择状态,则所述未被选择状态对应的第二数序将被所述缓存器舍弃。
15.如权利要求12所述的系统,其特征在于,所述选择讯号包括多个切换指令,每一个切换指令对应每一个第二数序的处理状态,且若切换指令对应至被选择状态,则所述被选择状态对应的第二数序将被所述缓存器输出为第七数序。
16.如权利要求12所述的系统,其特征在于,所述多个第二数序被分为Q个群组,每一个第七数序由所述多个第二数序的所述Q个群组中的一个群组选出,且Q是2的幂次方的正整数。
17.如权利要求12所述的系统,其特征在于,所述第三编码电路执行位互斥或运算功能(Bitwise Exclusive-or Function),以产生所述多个第六数序。
18.如权利要求12所述的系统,其特征在于,所述多个第三数序具有循环移位周期(Circularly Shift Period),所述选择装置根据所述映像函数将所述多个第三数序的配置重新设定,且将所述多个第三数序的配置重新设定所用的最大配置偏移量小于或等于所述循环移位周期。
19.如权利要求12所述的系统,其特征在于,所述多个第六数序比所述多个第七数序离散。
20.如权利要求1所述的系统,其特征在于,所述随机数池是由物理不可复制乱度装置所产生。
21.如权利要求20所述的系统,其特征在于,所述物理不可复制乱度装置利用随机击穿在所述物理不可复制乱度装置内相邻晶体管的两个闸极氧化层中的其中一个,以执行反熔丝物理不可复制功能。
22.如权利要求1所述的系统,其特征在于,所述伪随机数生成器产生的所述多个第一数序形成较长的伪随机数位流,由所述随机数池所选出的所述多个第三数序形成较短的真随机数位流,且所述第一编码电路产生的所述多个第二数序形成较长的真随机数位流。
CN201910313504.1A 2018-04-18 2019-04-18 具有物理不可复制功能的真随机数生成系统 Active CN110389747B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862659150P 2018-04-18 2018-04-18
US62/659,150 2018-04-18
US16/292,330 US11055065B2 (en) 2018-04-18 2019-03-05 PUF-based true random number generation system
US16/292,330 2019-03-05

Publications (2)

Publication Number Publication Date
CN110389747A true CN110389747A (zh) 2019-10-29
CN110389747B CN110389747B (zh) 2023-07-25

Family

ID=65801845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910313504.1A Active CN110389747B (zh) 2018-04-18 2019-04-18 具有物理不可复制功能的真随机数生成系统

Country Status (5)

Country Link
US (1) US11055065B2 (zh)
EP (1) EP3557407B1 (zh)
JP (1) JP6775846B2 (zh)
CN (1) CN110389747B (zh)
TW (1) TWI739090B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760221A (zh) * 2020-06-04 2021-12-07 熵码科技股份有限公司 基于物理不可复制功能的真随机数产生器以及相关方法
WO2022042065A1 (zh) * 2020-08-31 2022-03-03 京东方科技集团股份有限公司 随机数生成器及随机数生成方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3770751B1 (en) 2019-07-25 2023-10-18 PUFsecurity Corporation High speed encryption key generating engine
US11568093B2 (en) 2020-04-17 2023-01-31 SK Hynix Inc. Data scramblers with enhanced physical security
KR20210129370A (ko) 2020-04-20 2021-10-28 삼성전자주식회사 메모리 모듈 및 적층형 메모리 장치
US11662978B2 (en) 2020-06-04 2023-05-30 PUFsecurity Corporation Modular operation circuit adopting iterative calculations
US11380379B2 (en) * 2020-11-02 2022-07-05 Macronix International Co., Ltd. PUF applications in memories
EP4002790A1 (en) * 2020-11-13 2022-05-25 Secure Thingz Limited A provisioning method and system
CN114614987B (zh) * 2020-12-03 2023-07-07 北京京东方技术开发有限公司 一种集成电路及其数字指纹生成电路、方法
KR20220091755A (ko) 2020-12-24 2022-07-01 삼성전자주식회사 반도체 메모리 장치 및 이를 구비하는 메모리 시스템
US20220261221A1 (en) * 2021-02-18 2022-08-18 PUFsecurity Corporation Random number generator
US20210319138A1 (en) * 2021-06-25 2021-10-14 Intel Corporation Utilizing logic and serial number to provide persistent unique platform secret for generation of soc root keys
US11874776B2 (en) 2021-06-25 2024-01-16 Intel Corporation Cryptographic protection of memory attached over interconnects
CN113672199B (zh) * 2021-08-27 2023-07-14 太原理工大学 一种具备物理不可克隆函数功能的多熵源随机数发生器
CN114564171B (zh) * 2022-03-04 2023-09-12 中国工程物理研究院电子工程研究所 真随机数生成方法、装置、电子设备、存储介质及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070140485A1 (en) * 2004-02-26 2007-06-21 Giovanni Ghigo Method and circuit for generating random numbers, and computer program product therefor
CN103198268A (zh) * 2013-03-18 2013-07-10 宁波大学 一种可重构多端口物理不可克隆函数电路
CN105339888A (zh) * 2013-05-15 2016-02-17 新思公司 用于真随机数生成器的自动控制系统和方法
CN106297863A (zh) * 2016-08-09 2017-01-04 复旦大学 可双重预充电的puf存储器及其密码生成方法
US9703989B1 (en) * 2014-12-23 2017-07-11 Altera Corporation Secure physically unclonable function (PUF) error correction
CN106981300A (zh) * 2016-01-19 2017-07-25 力旺电子股份有限公司 一次编程存储器胞与存储器阵列以及相关随机码产生方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002544690A (ja) 1998-06-24 2002-12-24 ワーコップ インベストメント リミテッド 安全な通信およびアクセス制御のためのシステム、デバイスおよび方法
GB2353155A (en) 1999-08-05 2001-02-14 Mitsubishi Electric Inf Tech A random binary signal generator with a narrowed autocorrelation function
JP2003131867A (ja) 2001-08-15 2003-05-09 Syst Kogaku Kk 乱数生成装置
US7047262B2 (en) 2002-08-21 2006-05-16 Koninklijke Philips Electronics N.V. Entropy estimation and decimation for improving the randomness of true random number generation
US20040049525A1 (en) * 2002-09-06 2004-03-11 Koninklijke Philips Electronics N.V. Feedback random number generation method and system
JP4052480B2 (ja) * 2002-10-07 2008-02-27 小林 朗 疑似乱数発生方法、疑似乱数発生器、及び疑似乱数発生プログラム
US8595277B2 (en) 2008-02-13 2013-11-26 Infineon Technologies Ag Hybrid random number generator
WO2012136763A2 (en) 2011-04-05 2012-10-11 Intrinsic Id B.V. Random number generating system based on memory start-up noise
JP6372295B2 (ja) * 2014-10-15 2018-08-15 富士通株式会社 物理乱数生成回路の品質テスト方法、乱数発生器および電子装置
JP6423270B2 (ja) 2014-12-26 2018-11-14 株式会社メガチップス 乱数生成装置及び乱数生成方法
US9875378B2 (en) 2015-06-12 2018-01-23 QUALCOMOM Incorporated Physically unclonable function assisted memory encryption device techniques
JP6499065B2 (ja) 2015-12-04 2019-04-10 東芝メモリ株式会社 乱数発生回路および半導体記憶装置
US10855477B2 (en) * 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US10122538B2 (en) 2016-10-12 2018-11-06 Ememory Technology Inc. Antifuse physically unclonable function unit and associated control method
US10579339B2 (en) * 2017-04-05 2020-03-03 Intel Corporation Random number generator that includes physically unclonable circuits
CN110232428A (zh) * 2018-03-05 2019-09-13 中华映管股份有限公司 二元定位标签产生方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070140485A1 (en) * 2004-02-26 2007-06-21 Giovanni Ghigo Method and circuit for generating random numbers, and computer program product therefor
CN103198268A (zh) * 2013-03-18 2013-07-10 宁波大学 一种可重构多端口物理不可克隆函数电路
CN105339888A (zh) * 2013-05-15 2016-02-17 新思公司 用于真随机数生成器的自动控制系统和方法
US9703989B1 (en) * 2014-12-23 2017-07-11 Altera Corporation Secure physically unclonable function (PUF) error correction
CN106981300A (zh) * 2016-01-19 2017-07-25 力旺电子股份有限公司 一次编程存储器胞与存储器阵列以及相关随机码产生方法
CN106297863A (zh) * 2016-08-09 2017-01-04 复旦大学 可双重预充电的puf存储器及其密码生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李飞;刘宗斌;章庆隆;林锵;: "DSP平台上基于PUF的两种真随机数产生方法研究", 信息网络安全, no. 09, pages 186 - 190 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760221A (zh) * 2020-06-04 2021-12-07 熵码科技股份有限公司 基于物理不可复制功能的真随机数产生器以及相关方法
CN113760221B (zh) * 2020-06-04 2024-02-23 熵码科技股份有限公司 基于物理不可复制功能的真随机数产生器以及相关方法
WO2022042065A1 (zh) * 2020-08-31 2022-03-03 京东方科技集团股份有限公司 随机数生成器及随机数生成方法

Also Published As

Publication number Publication date
US20190324725A1 (en) 2019-10-24
CN110389747B (zh) 2023-07-25
TWI739090B (zh) 2021-09-11
EP3557407A1 (en) 2019-10-23
JP2019192220A (ja) 2019-10-31
EP3557407B1 (en) 2024-04-17
TW201944231A (zh) 2019-11-16
JP6775846B2 (ja) 2020-10-28
US11055065B2 (en) 2021-07-06

Similar Documents

Publication Publication Date Title
CN110389747A (zh) 具有物理不可复制功能的真随机数生成系统
Liu et al. An image encryption algorithm based on Baker map with varying parameter
CN105706066B (zh) 存储器完整性
Zhang et al. Chaos-based image encryption with total shuffling and bidirectional diffusion
EP2987267B1 (en) System and methods for encrypting data
CN108206735A (zh) 通过比特混合器生成密码轮密钥的方法和系统
US9418250B2 (en) Tamper detector with hardware-based random number generator
CN105940439A (zh) 使用排列应对对密码算法的旁通道攻击的对策
US20120093308A1 (en) Apparatus and method for generating random data
Xie et al. Securing emerging nonvolatile main memory with fast and energy-efficient AES in-memory implementation
Hazra et al. File encryption using fisher-yates shuffle
CN109951268A (zh) 基于位置换和位变换的加密解密方法和装置
TW201918923A (zh) 安全邏輯系統及操作安全邏輯系統的方法
Sauer et al. Sensitized path PUF: A lightweight embedded physical unclonable function
Zalivaka et al. FPGA implementation of modeling attack resistant arbiter PUF with enhanced reliability
CN1996830B (zh) 具有高级加密标准核的集成电路及验证该标准核的外包
CN102045169B (zh) 一种新口令认证方法和装置
Yao et al. FPGA implementation of dynamic key management for DES encryption algorithm
Sivakumar et al. Generation of random key stream using word grid puzzle for the applications of cryptography
US20220113946A1 (en) Apparatus for generating random data and a method thereof
US20230161560A1 (en) Apparatus for generating random data and a method thereof
CN117390642B (zh) 一种数据加解密方法、装置、设备和计算机可读存储介质
Mahmood et al. High Speed Parallel RC4 Key Searching Brute Force Attack Based on FPGA
TWI744892B (zh) 電子系統及電子系統的操作方法
CN117978367B (zh) 一种基于risc-v架构的加密方法

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