CN109670343B - 随机数产生系统及其随机数产生方法 - Google Patents

随机数产生系统及其随机数产生方法 Download PDF

Info

Publication number
CN109670343B
CN109670343B CN201710965357.7A CN201710965357A CN109670343B CN 109670343 B CN109670343 B CN 109670343B CN 201710965357 A CN201710965357 A CN 201710965357A CN 109670343 B CN109670343 B CN 109670343B
Authority
CN
China
Prior art keywords
random number
sequence
mask
random
logic level
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
CN201710965357.7A
Other languages
English (en)
Other versions
CN109670343A (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.)
Winbond Electronics Corp
Original Assignee
Winbond Electronics Corp
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 Winbond Electronics Corp filed Critical Winbond Electronics Corp
Priority to CN201710965357.7A priority Critical patent/CN109670343B/zh
Priority to US15/842,833 priority patent/US10331413B2/en
Publication of CN109670343A publication Critical patent/CN109670343A/zh
Application granted granted Critical
Publication of CN109670343B publication Critical patent/CN109670343B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)
  • Lock And Its Accessories (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种随机数产生系统及其随机数产生方法。随机数产生系统包括随机数产生器、随机遮罩电路、比特缩减逻辑电路及接收器。随机数产生器提供随机数列。随机遮罩电路接收随机数列以提供随机数遮罩数列及随机遮罩指示数列,其中随机遮罩指示数列中为第一逻辑准位的比特对应随机数遮罩数列中为高阻抗状态的比特。比特缩减逻辑电路接收随机数列及随机遮罩指示数列,以提供比对金钥。接收器接收随机数遮罩数列,以提供验证金钥,其中验证金钥相同于比对金钥。

Description

随机数产生系统及其随机数产生方法
技术领域
本发明涉及一种随机数产生方式,尤其涉及一种随机数产生系统及其随机数产生方法。
背景技术
近年来,随着电脑信息科技的蓬勃发展,存储器产品的使用越来越频繁,而存储器产品的数据安全问题也越来越受到重视。一般而言,存储器产品会需要金钥来对数据进行加解密,或者利用金钥来确保外部的存取(如读取、写入、抹除)是否被准许。其中,上述金钥可以是随机数产生器所产生随机数,而随机数的不可预测性则影响了数据的安全性。如何提高随机数的不可预测性(例如提高随机数的比特数),已是随机数产生器在设计上的一重要课题。
发明内容
本发明提供一种随机数产生系统及其随机数产生方法,可将随机数产生器所产生的随机数列进行处理,以提供比特可变化的金钥,以提高金钥的不可预测性。
本发明的随机数产生系统,包括随机数产生器、随机遮罩电路、比特缩减逻辑电路及接收器。随机数产生器用以提供具有n个比特的随机数列,其中n为正整数。随机遮罩电路耦接随机数产生器以接收随机数列,且接收金钥请求信号,以提供具有n个比特的随机数遮罩数列及随机遮罩指示数列,其中随机数遮罩数列的这些比特分别为第一逻辑准位、第二逻辑准位或高阻抗状态,并且随机遮罩指示数列中为第一逻辑准位的比特对应随机数遮罩数列中为高阻抗状态的比特。比特缩减逻辑电路耦接随机数产生器及随机遮罩电路以接收随机数列及随机遮罩指示数列,以提供比对金钥,其中比对金钥的比特数小于等于n。接收器耦接随机遮罩电路以接收随机数遮罩数列,以提供验证金钥,其中验证金钥相同于比对金钥。
本发明的随机数产生方法,包括下列步骤。通过随机数产生器产生具有n个比特的随机数列,其中n为正整数。通过随机遮罩电路接收随机数列及金钥请求信号,以提供具有n个比特的随机数遮罩数列及随机遮罩指示数列,其中随机数遮罩数列的这些比特分别为第一逻辑准位、第二逻辑准位或高阻抗状态,并且随机遮罩指示数列中为第一逻辑准位的比特对应随机数遮罩数列中为高阻抗状态的比特。通过比特缩减逻辑电路接收随机数列及随机遮罩指示数列,以提供比对金钥,其中比对金钥的比特数小于等于n。通过接收器接收随机数遮罩数列,以提供验证金钥,其中验证金钥相同于比对金钥。
基于上述,本发明随机数产生系统及其随机数产生方法,可将随机数产生器所产生的随机数列进行处理,以决定随机数列中的比特是否保留,进而提供比特可变化的对比金钥及验证金钥。藉此,可提高对比金钥及验证金钥的不可预测性。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1为依据本发明一实施例的随机数产生系统的系统示意图。
图2为依据本发明一实施例的随机数产生系统的操作示意图。
图3为依据本发明一实施例的随机遮罩电路的电路示意图。
图4为依据本发明一实施例的随机遮罩电路的操作示意图。
图5为依据本发明一实施例的接收器的电路示意图。
图6为依据本发明一实施例的随机数产生方法的流程图。
符号说明
0:第二逻辑准位;
1:第一逻辑准位;
10:系统端电路;
11、21:信号接口;
20:存储器端电路;
100:随机数产生系统;
110:随机数产生器;
120:随机遮罩电路;
130:比特缩减逻辑电路;
140:接收器;
310:时脉产生器;
320:计数器;
330:遮罩电路;
510:供电电路;
520:比较电路;
530:传送电路;
AND1:及闸;
CLK:时脉信号;
CMP1:第一比较器;
CMP2:第二比较器;
Comp1、Comp2:比较结果;
CTX:计数值;
En_mark:遮罩致能信号;
INT1:第一反相器;
INT2:第二反相器;
KA[m-1:0]:验证金钥;
KC[m-1:0]:比对金钥;
NM1:第一N型晶体管;
NM2:第二N型晶体管;
PM1:第一P型晶体管;
PM2:第二P型晶体管;
QKX:金钥请求信号;
R:电阻;
RM[n-1:0]:随机遮罩指示数列;
RN[n-1:0]:随机数列;
RNRM[n-1:0]:随机数遮罩数列;
VDD:系统高电压;
VSS:系统低电压;
Z:高阻抗状态;
S610、S620、S630、S640:步骤。
具体实施方式
请参照图1,在本实施例中,随机数产生系统100包括随机数产生器110、随机遮罩电路120、比特缩减逻辑电路130及接收器140,其中接收器140配置于系统端电路10,随机数产生器110、随机遮罩电路120及比特缩减逻辑电路130配置于存储器端电路20。系统端电路10例如是处理器或处理器与存储器之间的桥接芯片,存储器端电路20例如是存储器控制器,但本发明实施例不以此为限。
系统端电路10及存储器端电路20通过各自的信号接口11及21而相互耦接,并且当系统端电路10要存取存储器时,会传送(或提供)金钥请求信号QKX至存储器端电路20,以取得通过认证所需要的验证金钥(如KA[m-1:0])。其中,金钥请求信号QKX可通过信号接口11及21来传送,但本发明实施例不以此为限。
当接收到金钥请求信号QKX时,随机数产生器110会提供具有n个比特的随机数列RN[n-1:0],其中n为大于0的正整数。随机遮罩电路120耦接随机数产生器110以接收随机数列RN[n-1:0]。并且,当接收到金钥请求信号QKX时,随机遮罩电路120提供具有n个比特的随机数遮罩数列RNRM[n-1:0]及随机遮罩指示数列RM[n-1:0]。在此,随机数遮罩数列RNRM[n-1:0]的所有比特分别为第一逻辑准位“1”、第二逻辑准位“0”或高阻抗状态“Z”,并且,随机遮罩指示数列RM[n-1:0]分别为第一逻辑准位“1”或第二逻辑准位“0”,其中随机遮罩指示数列RM[n-1:0]中为第一逻辑准位“1”的比特对应随机数遮罩数列RNRM[n-1:0]中为高阻抗状态“Z”的比特。
比特缩减逻辑电路130耦接随机数产生器110及随机遮罩电路120以接收随机数列RN[n-1:0]及随机遮罩指示数列RM[n-1:0],以依据随机遮罩指示数列RM[n-1:0]决定随机数列RN[n-1:0]中的各比特是否保留,并且依据随机数列RN[n-1:0]中保留的比特提供比对金钥KC[m-1:0],其中比对金钥KC[m-1:0]的比特数小于等于n,也即m为小于等于n的正整数。
接收器140耦接随机遮罩电路120以接收随机数遮罩数列RNRM[n-1:0],以删除随机数遮罩数列RNRM[n-1:0]中为高阻抗状态“Z”的比特,并且依据随机数遮罩数列RNRM[n-1:0]中未删除(即保留)的比特提供验证金钥KA[m-1:0],其中验证金钥KA[m-1:0]相同于比对金钥KC[m-1:0]。换言之,当随机数遮罩数列RNRM[n-1:0]的各个比特为第一逻辑准位“1”或第二逻辑准位“0”时,则接收器140保留各个比特;当随机数遮罩数列RNRM[n-1:0]的各个比特为高阻抗状态“Z”时,则接收器140删除(或丢弃)各个比特。
依据上述,由于验证金钥KA[m-1:0]的比特数是可变的,并且验证金钥KA[m-1:0]相同于比对金钥KC[m-1:0],因此可提高验证金钥KA[m-1:0]的不可预测性,并且可确保验证的成功。
请参照图1及图2,在本实施例中,当金钥请求信号QKX为致能时,随机数产生器110提供具有5个比特的随机数列RN[4:0],其中随机数列RN[4:0]假设为“10101”。同时,随机遮罩电路120提供具有5个比特的随机数遮罩数列RNRM[4:0]及随机遮罩指示数列RM[4:0],其中随机遮罩指示数列RM[4:0]假设为“01001”,随机数遮罩数列RNRM[4:0]则为“1Z10Z”。
进一步来说,随机遮罩电路120会先产生随机遮罩指示数列RM[4:0]。接着,随机遮罩电路120会依据随机遮罩指示数列RM[4:0]处理随机数列RN[4:0]以产生随机数遮罩数列RNRM[4:0],也即随机数遮罩数列RNRM[4:0]是包含了随机遮罩指示数列RM[4:0]及随机数列RN[4:0]的信息。换言之,随机遮罩电路120会将随机数列RN[4:0]中对应随机遮罩指示数列RM[4:0]中为第一逻辑准位“1”的部分以高阻抗状态“Z”来取代,因而产生具有第一逻辑准位“1”、第二逻辑准位“0”或高阻抗状态“Z”的随机数遮罩数列RNRM[4:0],使得随机遮罩指示数列RM[4:0]及随机数列RN[4:0]的信息可通过一组数列来传送。藉此,系统端电路10及存储器端电路20的信号接口11及21的接脚及信号接收方式可不须改变。
在接收到随机数列RN[4:0]及随机遮罩指示数列RM[4:0]后,比特缩减逻辑电路130会依据随机遮罩指示数列RM[4:0]处理随机数列RN[4:0]以产生比对金钥KC[2:0]。进一步来说,当随机遮罩指示数列RM[4:0]的各个比特为第一逻辑准位“1”时,则比特缩减逻辑电路130删除(或丢弃)随机数列RN[4:0]中对应的比特;当随机遮罩指示数列RM[4:0]的各个比特为第二逻辑准位“0”时,则比特缩减逻辑电路130保留随机数列RN[4:0]中对应的比特。接着,比特缩减逻辑电路130会输出随机数列RN[4:0]中保留的比特以作为比对金钥KC[2:0]。由于随机遮罩指示数列RM[4:0]具有两个第一逻辑准位“1”的比特,因此比特缩减逻辑电路130会产生具有3个比特的比对金钥KC[2:0](也即“110”),也即比对金钥KC[2:0]由随机数列RN[4:0]中保留的这些比特所构成。
在接收到随机数遮罩数列RNRM[4:0]后,接收器140会依据随机数遮罩数列RNRM[4:0]提供验证金钥KA[2:0]。进一步来说,接收器140会删除(或丢弃)随机数遮罩数列RNRM[4:0]中为高阻抗状态“Z”的比特,并且保留随机数遮罩数列RNRM[4:0]中为第一逻辑准位“1”或第二逻辑准位“0”的比特。接着,接收器140会输出随机数遮罩数列RNRM[4:0]中保留的比特以作为验证金钥KA[2:0]。由于随机数遮罩数列RNRM[4:0]具有两个高阻抗状态“Z”的比特,因此比特缩减逻辑电路130会产生具有3个比特的验证金钥KA[2:0](也即“110”),也即验证金钥KA[2:0]由随机数遮罩数列随机数遮罩数列RNRM[4:0]中所保留的这些比特所构成。
请参照图1及图3,在本实施例中,随机遮罩电路120包括时脉产生器310、计数器320及遮罩电路330。时脉产生器310用以产生时脉信号CLK,其中时脉产生器310的运作与随机数产生器110的运作无关。计数器320接收时脉信号CLK及金钥请求信号QKX,以进行循环计数,并且反应于金钥请求信号QKX提供随机遮罩指示数列RM[n-1:0]。遮罩电路330耦接计数器320以接收随机遮罩指示数列RM[n-1:0],并且接收随机数列RN[n-1:0],其中遮罩电路330依据随机遮罩指示数列RM[n-1:0]处理随机数列RN[n-1:0],以提供随机数遮罩数列RNRM[n-1:0]。
遮罩电路330包括第一反相器INT1、第二反相器INT2、第一P型晶体管PM1、第二P型晶体管PM2、第一N型晶体管NM1、以及第二N型晶体管NM2。第一反相器INT1具有接收随机数列RN[n-1:0]的输入端、以及输出端。第二反相器INT2具有接收随机遮罩指示数列RM[n-1:0]的输入端、以及输出端。
第一P型晶体管PM1具有接收系统高电压VDD的第一端、接收随机遮罩指示数列RM[n-1:0]的控制端、以及第二端。第二P型晶体管PM2具有耦接第一P型晶体管PM1的第二端的第一端、耦接第一反相器INT1的输出端的控制端、以及提供随机数遮罩数列随机数遮罩数列RNRM[n-1:0]的第二端。
第一N型晶体管NM1具有耦接第二P型晶体管PM2的第二端的第一端、耦接第一反相器INT1的输出端的控制端、以及第二端。第二N型晶体管NM2具有耦接第一N型晶体管NM1的第二端的第一端、耦接第二反相器INT2的输出端的控制端、以及接收系统低电压VSS的第二端。
依据上述,当随机遮罩指示数列RM[n-1:0]的各个比特为第一逻辑准位“1”(例如为系统高电压VDD)时,第一P型晶体管PM1、以及第二N型晶体管NM2呈现截止,使得遮罩电路330的输出端(也即第二P型晶体管PM2的第二端)呈现浮接,也即随机数遮罩数列RNRM[n-1:0]中对应的比特会呈现高阻抗状态“Z”;当随机遮罩指示数列RM[n-1:0]的各个比特为第一逻辑准位“0”(例如为系统低电压VSS)时,第一P型晶体管PM1、以及第二N型晶体管NM2呈现导通,使得第一P型晶体管PM1、第二P型晶体管PM2、第一N型晶体管NM1、以及第二N型晶体管NM2的操作如同反相器,进而随机数遮罩数列RNRM[n-1:0]中对应的比特的逻辑准位(如第一逻辑准位“1”或第二逻辑准位“0”)相同于随机数列RN[n-1:0]中对应的比特的逻辑准位(如第一逻辑准位“1”或第二逻辑准位“0”)。
请参照图3及图4,在本实施例中,在本实施例中,计数器320是以5比特的计数器为例,也即计数器320的计数值CTX可由“00000”计数到“11111”并且不断的重复。接着,当金钥请求信号QKX禁能(例如为系统低电压VSS)时,计数器320则不输出计数值CTX;当金钥请求信号QKX致能(例如为系统高电压VDD)时,计数器320则当下的计数结果CTX的数值“01001”提供以作为随机遮罩指示数列RM[4:0]。
接着,遮罩电路330依据随机遮罩指示数列RM[4:0](也即“01001”)处理随机数列RN[4:0](也即“10101”),以提供随机数遮罩数列RNRM[4:0](也即“1Z10Z”)。依据上述,随机遮罩指示数列RM[4:0]的状态是取决于计数器320接收金钥请求信号QKX的时间点,也即不同的时间点产生不同的随机遮罩指示数列RM[4:0],并且,类似地,随机数遮罩数列RNRM[4:0]的比特中为高阻抗状态“Z”的数目取决于计数器320接收金钥请求信号QKX的时间点,也即不同的时间点产生不同数目的为高阻抗状态“Z”的比特。
请参照图1及图5,在本实施例中,接收器140包括供电电路510、比较电路520及传送电路530。供电电路510接收随机数遮罩数列RNRM[n-1:0],以在随机数遮罩数列RNRM[n-1:0]的各个比特为高阻抗状态“Z”时提供参考逻辑准位(例如1/2VDD),并且在随机数遮罩数列随机数遮罩数列RNRM[n-1:0]的各个比特为第一逻辑准位“1”(例如为系统高电压VDD)或第二逻辑准位“0”(例如为系统低电压VSS)时,直接提供第一逻辑准位“1”或第二逻辑准位“0”,其中参考逻辑准位是设定位于第一逻辑准位“1”与第二逻辑准位“0”之间。
比较电路520耦接供电电路510,以接收供电电路510所提供的逻辑准位(也即参考逻辑准位、第一逻辑准位“1”或第二逻辑准位“0”),并且依据供电电路510所提供的逻辑准位提供遮罩致能信号En_mark。进一步来说,当供电电路510提供参考逻辑准位时,输出具有第一逻辑准位“1”的,当供电电路510提供第一逻辑准位“1”或第二逻辑准位“0”时,输出具有第二逻辑准位“0”的遮罩致能信号En_mark。
传送电路530耦接比较电路520以接收遮罩致能信号En_mark,并且接收随机数遮罩数列RNRM[n-1:0],以提供验证金钥KA[m-1:0]。进一步来说,当遮罩致能信号En_mark为第一逻辑准位“1”时,传送电路530阻挡随机数遮罩数列RNRM[n-1:0];当遮罩致能信号En_mark为第二逻辑准位“0”时,传送电路530直接输出随机数遮罩数列RNRM[n-1:0]。
在本实施例中,供电电路510包括电阻R,电阻R耦接于参考逻辑准位(例如1/2VDD)与随机数遮罩数列RNRM[n-1:0]之间。并且,当随机数遮罩数列RNRM[n-1:0]的各比特为高阻抗状态“Z”时,电阻R的跨压约为0,因此参考逻辑准位(例如1/2VDD)会提供至比较电路520;当随机数遮罩数列RNRM[n-1:0]的各比特为第一逻辑准位“1”(例如为系统高电压VDD)或第二逻辑准位“0”(例如为系统低电压VSS)时,则电阻R会产生跨压,以致于第一逻辑准位“1”及第二逻辑准位“0”会直接传送至比较电路520。
在本实施例中,比较电路520包括第一比较器CMP1、第二比较器CMP2及及闸AND1。第一比较器CMP1包括接收高临界准位(例如为2/3VDD)的正输入端、耦接供电电路510的负输入端及提供比较结果Comp1的输出端。第二比较器CMP2包括耦接供电电路510的正输入端、接收低临界准位(例如为1/4VDD)的负输入端及提供比较结果Comp2的输出端。及闸AND1耦接第一比较器CMP1的输出端及第二比较器CMP2的输出端,以接收比较结果Comp1及Comp2,并且比较结果Comp1及Comp2依据提供遮罩致能信号En_mark。其中,高临界准位是设定为位于第一逻辑准位“1”(例如为系统高电压VDD)与参考逻辑准位(例如1/2VDD)之间,低临界准位是设定为位于第二逻辑准位(例如为系统低电压VSS)与参考逻辑准位(例如1/2VDD)之间。
进一步来说,当随机数遮罩数列RNRM[n-1:0]的各比特为高阻抗状态“Z”时,供电电路510输出参考逻辑准位(例如1/2VDD),比较结果Comp1及Comp2皆为第一逻辑准位“1”(例如为系统高电压VDD),因此遮罩致能信号En_mark会为第一逻辑准位“1”(例如为系统高电压VDD)。此时,传送电路530阻挡随机数遮罩数列RNRM[n-1:0]中对应的比特。
当随机数遮罩数列RNRM[n-1:0]的各比特为第一逻辑准位“1”(例如为系统高电压VDD)或第二逻辑准位“0”(例如为系统低电压VSS)时,则比较结果Comp1及Comp2的其中之一为第二逻辑准位“0”(例如为系统低电压VSS),因此遮罩致能信号En_mark会为第二逻辑准位“0”(例如为系统高电压VSS)。此时,传送电路530直接传送随机数遮罩数列RNRM[n-1:0]中对应的比特。
请参照图6,请参照图6,在本实施例中,随机数产生方法包括下列步骤。在步骤S610中,会通过随机数产生器产生具有n个比特的随机数列,其中n为正整数。在步骤S620中,通过随机遮罩电路接收随机数列及金钥请求信号,以提供具有n个比特的随机数遮罩数列及随机遮罩指示数列,其中随机数遮罩数列的这些比特分别为第一逻辑准位、第二逻辑准位或高阻抗状态,并且随机遮罩指示数列中为第一逻辑准位的比特对应随机数遮罩数列中为高阻抗状态的比特。在步骤S630中,会通过比特缩减逻辑电路接收随机数列及随机遮罩指示数列,以提供比对金钥,其中比对金钥的比特数小于等于n。在步骤S640中,会通过接收器接收随机数遮罩数列,以提供验证金钥,其中验证金钥相同于比对金钥。
其中,上述步骤S610、S620、S630、S640及顺序为用以说明,本发明实施例不以此为限。并且,上述步骤S610、S620、S630、S640的细节可参照图1至图5实施例所示,在此则不再赘述。
综上所述,本发明随机数产生系统及其随机数产生方法,可将随机数产生器所产生的随机数列进行处理,以决定随机数列中的比特是否保留,进而提供比特可变化的对比金钥及验证金钥。藉此,可提高对比金钥及验证金钥的不可预测性。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视所附的权利要求所界定者为准。

Claims (13)

1.一种随机数产生系统,包括:
随机数产生器,用以提供具有n个比特的随机数列,其中n为正整数;
随机遮罩电路,耦接所述随机数产生器以接收所述随机数列,且接收金钥请求信号,以提供具有n个比特的随机数遮罩数列及随机遮罩指示数列,其中所述随机数遮罩数列的该些比特分别为第一逻辑准位、第二逻辑准位或高阻抗状态,并且所述随机遮罩指示数列中为所述第一逻辑准位的比特对应所述随机数遮罩数列中为所述高阻抗状态的比特;
比特缩减逻辑电路,耦接所述随机数产生器及所述随机遮罩电路以接收所述随机数列及所述随机遮罩指示数列,以提供比对金钥,其中所述比对金钥的比特数小于等于n;以及
接收器,耦接所述随机遮罩电路以接收所述随机数遮罩数列,以提供验证金钥,其中所述验证金钥相同于所述比对金钥。
2.根据权利要求1所述的随机数产生系统,其中所述随机数遮罩数列的该些比特中为所述高阻抗状态的数目取决于接收所述金钥请求信号的时间点。
3.根据权利要求1所述的随机数产生系统,其中所述随机遮罩电路包括:
时脉产生器,用以产生时脉信号,其中所述时脉产生器的运作与所述随机数产生器的运作无关;以及
计数器,接收所述时脉信号及所述金钥请求信号,以进行循环计数,并且反应于所述金钥请求信号提供所述随机遮罩指示数列;以及
遮罩电路,耦接所述计数器以接收所述随机遮罩指示数列,并且接收所述随机数列,其中所述遮罩电路依据所述随机遮罩指示数列处理所述随机数列,以提供所述随机数遮罩数列。
4.根据权利要求3所述的随机数产生系统,其中所述遮罩电路包括:
第一反相器,具有接收所述随机数列的输入端及输出端;
第二反相器,具有接收所述随机遮罩指示数列的输入端及输出端;
第一P型晶体管,具有接收系统高电压的第一端、接收所述随机遮罩指示数列的控制端、以及第二端;
第二P型晶体管,具有耦接所述第一P型晶体管的所述第二端的第一端、耦接所述第一反相器的所述输出端的控制端、以及提供所述随机数遮罩数列的第二端;
第一N型晶体管,具有耦接所述第二P型晶体管的所述第二端的第一端、耦接所述第一反相器的所述输出端的控制端、以及第二端;以及
第二N型晶体管,具有耦接所述第一N型晶体管的所述第二端的第一端、耦接所述第二反相器的所述输出端的控制端、以及接收系统低电压的第二端。
5.根据权利要求1所述的随机数产生系统,其中所述接收器包括:
供电电路,接收所述随机数遮罩数列,以在所述随机数遮罩数列的各该些比特为所述高阻抗状态时提供参考逻辑准位,在所述随机数遮罩数列的各该些比特为所述第一逻辑准位或所述第二逻辑准位时直接提供所述第一逻辑准位或所述第二逻辑准位,其中所述参考逻辑准位位于所述第一逻辑准位与所述第二逻辑准位之间;
比较电路,耦接所述供电电路,以提供遮罩致能信号,当所述供电电路提供所述参考逻辑准位时,输出具有所述第一逻辑准位的所述遮罩致能信号,当所述供电电路提供所述第一逻辑准位或所述第二逻辑准位时,输出具有所述第二逻辑准位的所述遮罩致能信号;以及
传送电路,耦接所述比较电路以接收所述遮罩致能信号,并且接收所述随机数遮罩数列,以提供所述验证金钥,当所述遮罩致能信号为所述第一逻辑准位时,所述传送电路阻挡所述随机数遮罩数列,当所述遮罩致能信号为所述第二逻辑准位时,所述传送电路直接输出所述随机数遮罩数列。
6.根据权利要求5所述的随机数产生系统,其中所述供电电路包括电阻,耦接于所述参考逻辑准位与所述随机数遮罩数列之间。
7.根据权利要求5所述的随机数产生系统,其中所述比较电路包括:
第一比较器,包括接收高临界准位的正输入端、耦接所述供电电路的负输入端及输出端;
第二比较器,包括耦接所述供电电路的正输入端、接收低临界准位的负输入端及输出端;以及
及闸,耦接所述第一比较器的所述输出端及所述第二比较器的所述输出端,以提供所述遮罩致能信号。
8.根据权利要求7所述的随机数产生系统,其中所述高临界准位位于所述第一逻辑准位与所述参考逻辑准位之间,所述低临界准位位于所述第二逻辑准位与所述参考逻辑准位之间。
9.根据权利要求1所述的随机数产生系统,其中所述随机数产生器、所述随机遮罩电路及所述比特缩减逻辑电路配置于存储器端电路,所述接收器配置于系统端电路。
10.一种随机数产生方法,包括:
通过随机数产生器产生具有n个比特的随机数列,其中n为正整数;
通过随机遮罩电路接收所述随机数列及金钥请求信号,以提供具有n个比特的随机数遮罩数列及随机遮罩指示数列,其中所述随机数遮罩数列的该些比特分别为第一逻辑准位、第二逻辑准位或高阻抗状态,并且所述随机遮罩指示数列中为所述第一逻辑准位的比特对应所述随机数遮罩数列中为所述高阻抗状态的比特;
通过比特缩减逻辑电路接收所述随机数列及所述随机遮罩指示数列,以提供比对金钥,其中所述比对金钥的比特数小于等于n;以及
通过接收器接收所述随机数遮罩数列,以提供验证金钥,其中所述验证金钥相同于所述比对金钥。
11.根据权利要求10所述的随机数产生方法,其中所述随机数遮罩数列的该些比特中为所述高阻抗状态的数目取决于接收所述金钥请求信号的时间点。
12.根据权利要求10所述的随机数产生方法,其中产生所述验证金钥的步骤包括:
当所述随机数遮罩数列的各该些比特为所述第一逻辑准位或所述第二逻辑准位时,则所述接收器保留各该些比特;以及
当所述随机数遮罩数列的各该些比特为所述高阻抗状态时,则所述接收器删除各该些比特;
其中所述验证金钥由所述随机数遮罩数列中所保留的该些比特所构成。
13.根据权利要求10所述的随机数产生方法,其中产生所述比对金钥的步骤包括:
当所述随机遮罩指示数列的各该些比特为所述第一逻辑准位时,则所述比特缩减逻辑电路删除所述随机数列中对应的比特;以及
当所述随机遮罩指示数列的各该些比特为所述第二逻辑准位时,则所述比特缩减逻辑电路保留所述随机数列中对应的比特;
其中所述比对金钥由所述随机数列中保留的该些比特所构成。
CN201710965357.7A 2017-10-17 2017-10-17 随机数产生系统及其随机数产生方法 Active CN109670343B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710965357.7A CN109670343B (zh) 2017-10-17 2017-10-17 随机数产生系统及其随机数产生方法
US15/842,833 US10331413B2 (en) 2017-10-17 2017-12-14 Random number generating system and random number generating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710965357.7A CN109670343B (zh) 2017-10-17 2017-10-17 随机数产生系统及其随机数产生方法

Publications (2)

Publication Number Publication Date
CN109670343A CN109670343A (zh) 2019-04-23
CN109670343B true CN109670343B (zh) 2023-01-03

Family

ID=66097455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710965357.7A Active CN109670343B (zh) 2017-10-17 2017-10-17 随机数产生系统及其随机数产生方法

Country Status (2)

Country Link
US (1) US10331413B2 (zh)
CN (1) CN109670343B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11303461B2 (en) * 2013-09-02 2022-04-12 Samsung Electronics Co., Ltd. Security device having physical unclonable function

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1514346A (zh) * 2003-02-11 2004-07-21 智慧第一公司 随机数产生器及产生方法及具有随机位产生器的微处理器
CN1514345A (zh) * 2003-02-11 2004-07-21 智慧第一公司 用以减低在随机数产生器中连续位相关性的装置与方法
CN1534454A (zh) * 2003-03-31 2004-10-06 �����ɷ� 伪随机数发生器
CN101636714A (zh) * 2007-11-20 2010-01-27 董际国 随机数产生装置和方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020093356A1 (en) * 2000-11-30 2002-07-18 Williams Thomas W. Intelligent test vector formatting to reduce test vector size and allow encryption thereof for integrated circuit testing
JP2008180592A (ja) * 2007-01-24 2008-08-07 Nec Electronics Corp テストパターン生成回路及びテスト回路
JP5100677B2 (ja) * 2009-02-09 2012-12-19 株式会社東芝 乱数発生器および乱数発生方法
CN104572014B (zh) 2013-10-15 2019-02-22 恩智浦美国有限公司 具有重复激活的振荡器的真随机数生成器
JP5864684B1 (ja) 2014-08-29 2016-02-17 株式会社日立製作所 半導体装置
US9851902B2 (en) * 2014-10-09 2017-12-26 Memobit Technologies Ab Searching memory for a search key
US9971566B2 (en) 2015-08-13 2018-05-15 Arizona Board Of Regents Acting For And On Behalf Of Northern Arizona University Random number generating systems and related methods
US10019236B2 (en) * 2016-08-11 2018-07-10 Taiwan Semiconductor Manufacturing Co., Ltd. SRAM-based true random number generator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1514346A (zh) * 2003-02-11 2004-07-21 智慧第一公司 随机数产生器及产生方法及具有随机位产生器的微处理器
CN1514345A (zh) * 2003-02-11 2004-07-21 智慧第一公司 用以减低在随机数产生器中连续位相关性的装置与方法
CN1534454A (zh) * 2003-03-31 2004-10-06 �����ɷ� 伪随机数发生器
CN101636714A (zh) * 2007-11-20 2010-01-27 董际国 随机数产生装置和方法

Also Published As

Publication number Publication date
CN109670343A (zh) 2019-04-23
US20190114143A1 (en) 2019-04-18
US10331413B2 (en) 2019-06-25

Similar Documents

Publication Publication Date Title
CN108694335B (zh) 基于sram的物理不可克隆函数及产生puf响应的方法
US10366253B2 (en) Reliability enhancement methods for physically unclonable function bitstring generation
US20220318436A1 (en) Integrated circuit for security of a physically unclonable function and a device including the same
CN112713894B (zh) 一种强弱混合型puf电路
CN113297634B (zh) 一种基于全自旋逻辑的物理不可克隆函数硬件电路及实现方法
CN111338565A (zh) 基于存储器单元的噪声特性生成随机值
US10613832B2 (en) Random number generating system and random number generating method thereof
CN109670343B (zh) 随机数产生系统及其随机数产生方法
CN113539334A (zh) 用于物理不可克隆函数的测量机制
KR102237747B1 (ko) 반도체 장치
TWI634480B (zh) 隨機數產生系統及其隨機數產生方法
CN104199635A (zh) 集成crc校验电路的伪随机数发生器
CN111800272B (zh) 一种针对ro puf输出响应的可靠性自检电路及方法
CN113364599B (zh) 一种双态物理不可克隆函数电路
Yoshikawa et al. Multiplexing aware arbiter physical unclonable function
KR100902124B1 (ko) 반도체 메모리 장치의 테스트 회로
US11680983B1 (en) Integrated circuit having an in-situ circuit for detecting an impending circuit failure
US20140337586A1 (en) Memory device
CN115842624A (zh) 密钥产生装置以及密钥产生方法
Challa SR Flip-Flop Based Physically Unclonable Function (PUF) for Hardware Security
Sravya et al. VLSI design of low power data encoding techniques for network-on-chip
RU32615U1 (ru) Система безопасного управления и контроля
JP2020177667A (ja) 電子回路
CN113535123A (zh) 具有通过位线预充电的物理不可克隆函数
SU920718A1 (ru) Генератор псевдослучайных кодов

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