CN109756327A - 随机数生成器以及包括随机数生成器的安全设备 - Google Patents
随机数生成器以及包括随机数生成器的安全设备 Download PDFInfo
- Publication number
- CN109756327A CN109756327A CN201811327930.2A CN201811327930A CN109756327A CN 109756327 A CN109756327 A CN 109756327A CN 201811327930 A CN201811327930 A CN 201811327930A CN 109756327 A CN109756327 A CN 109756327A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- random
- data
- random number
- preprocessor
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
一种随机数生成器通过使用至少两种算法生成随机数。一种安全设备包括该随机数生成器。该随机数生成器包括随机种子生成器和后处理器。随机种子生成器被配置为:接收熵信号,并通过使用熵信号生成数字区域的随机种子。后处理器被配置为:通过使用第一算法和第二算法来从随机种子生成随机数。偏差属性表示结果值的无偏性,并且第一算法的偏差属性不同于第二算法的偏差属性。
Description
相关申请的交叉引用
本申请要求于2017年11月8日在韩国知识产权局提交的韩国专利申请No.10-2017-0148331和于2018年8月6日在韩国知识产权局提交的韩国专利申请No.10-2018-0091295的优先权,通过引用将其全部公开内容并入本文。
技术领域
本公开涉及随机数生成器和包括该随机数生成器的安全设备。更具体地,本公开涉及一种用于通过使用至少两种算法生成随机数的随机数生成器、以及包括该随机数生成器的安全设备。
背景技术
通常,加密密钥用于使用智能卡在数据通信等中保护用户的个人信息。生成此加密密钥需要随机数。这种随机数通常可以分类为伪随机数和物理随机数。
使用逻辑电路和软件人工地生成伪随机数,因此,可以使用Rivest-Shamir-Adelman(RSA)方法、椭圆曲线密码系统等来获得伪随机数。
使用自然界中的物理现象来生成物理随机数。这种物理现象的示例可以包括电阻器的热噪声、半导体的PN结的短噪声、由于光子生成而引起的短噪声和辐射生成。物理随机数被称为真随机数,因为它确实是不可预测的。
随机数可以经过后处理以增加随机性。通过此后处理获得的随机数应满足不可预测性、无偏性和独立性。
发明内容
根据本公开的一方面,提供了一种随机数生成器,用于通过使用至少两种算法来生成满足无偏性的随机数。提供了一种包括随机数生成器的安全设备。
根据本公开的一方面,一种随机数生成器包括随机种子生成器和后处理器。随机种子生成器被配置为:接收熵信号,并通过使用熵信号生成数字区域的随机种子。后处理器被配置为:通过使用第一算法和第二算法来从随机种子生成随机数。偏差属性表示结果值的无偏性,并且第一算法的偏差属性不同于第二算法的偏差属性。
根据本公开的另一方面,一种安全设备包括熵源、随机种子生成器和后处理器。熵源被配置为:通过使用随机性来生成熵信号。随机种子生成器被配置为:接收熵信号,并通过使用熵信号生成数字随机种子。后处理器被配置为:通过使用第一算法和第二算法来从数字随机种子生成随机数。第一算法可以是或包括对称密钥加密算法,并且第二算法可以是或包括散列函数算法。
根据本公开的另一方面,一种随机数生成器包括随机种子生成器和后处理器。一种由随机数生成器执行的随机数生成方法包括:由随机种子生成器从熵源接收熵信号。该随机数生成方法还包括:由随机种子生成器通过使用熵信号生成数字区域的随机种子,并且由后处理器通过使用第一算法和第二算法从随机种子生成随机数。偏差属性表示结果值的无偏性,并且第一算法的偏差属性不同于第二算法的偏差属性。
附图说明
根据以下结合附图进行的详细描述,将更清楚地理解本公开的实施例,在附图中:
图1是示出根据本公开的实施例的安全设备的框图;
图2是示出根据本公开的实施例的后处理器的框图;
图3是示出根据本公开的实施例的后处理器的操作的流程图;
图4是示出根据本公开的实施例的后处理器的操作的流程图;
图5是示出根据本公开的实施例的后处理器的框图;
图6是示出根据本公开的实施例的后处理器的框图;
图7是示出根据本公开的实施例的后处理器的操作的流程图;
图8A是示出根据本公开的实施例的后处理器的框图;
图8B是示出根据本公开的实施例的后处理器的框图;
图9是示出根据本公开的实施例的后处理器的框图;
图10是示出根据本公开的实施例的后处理器的框图;
图11是示出根据本公开的实施例的后处理器的框图;
图12是示出根据本公开的实施例的随机数生成器的框图;
图13A至图13H是示出根据本公开的实施例的熵源的电路图;
图14是示出根据本公开的实施例的图1的安全设备中包括的随机种子生成器的框图;
图15A和图15B是根据本公开的实施例的随机种子生成器的框图;以及
图16是示出根据本公开的实施例的在其中实现安全设备的智能卡的框图。
具体实施方式
图1是示出根据本公开的实施例的安全设备1的框图。
参考图1,安全设备1可以包括随机数生成器10和熵源20,并且随机数生成器10可以包括随机种子生成器200和后处理器100。熵源20可以生成熵信号Ent并将生成的熵信号Ent输出到随机种子生成器200。熵源20可以基于随机性生成熵信号Ent。例如,熵信号Ent可以表示模拟电信号,该模拟电信号是由于用户的移动、电阻器的热噪声、半导体的PN结的短噪声、因光子生成而引起的短噪声和辐射生成而生成的。根据实施例,熵源20可以生成在亚稳态下随机变化的熵信号Ent。稍后将参考图13A至图13H对此进行详细描述。
在包括图1的本文的图中,电路可以示出为例如“熵源”、“随机种子生成器”、“随机种子收集器”、“随机数生成器”、“控制器”、“调整器”或“偏差检查器”。如本文描述的发明构思的领域中常见的是,可以根据执行所描述的一个或多个功能的块来描述和说明示例。这些块(在此可以称为熵源、随机种子生成器、随机种子收集器、随机数生成器、控制器、调整器、偏差检查器等)在物理上通过模拟和/或数字电路(例如,逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬连线电路等)来实现,并且可以可选地由固件和/或软件驱动。例如,电路可以实现在一个或多个半导体芯片中、或者诸如印刷电路板等的基板支撑件上。构成块的电路可以由专用硬件或处理器(例如,一个或多个编程的微处理器和相关联的电路)来实现,或者由用来执行该块的一些功能的专用硬件和用来执行该块的其他功能的处理器的组合来实现。在不脱离本发明构思的范围的情况下,示例的每个块可以物理地分成两个或更多个交互和离散的块。类似地,在不脱离本发明构思的范围的情况下,示例的块可以物理地组合成更复杂的块。
另外,如本文使用的术语“处理器”是有形的和非暂时性的。如本文所用,术语“非暂时性的”不应被解释为状态的永恒特征,而是被解释为将持续一段时间的状态的特征。术语“非暂时性”明确地否定了短暂的特征,例如载波或信号的特征或在任何时间在任何地方仅暂时存在的其他形式。处理器是制造物品和/或机器组件。本文描述的处理器(例如,包括任何后处理器、算法处理器、散列函数处理器或其他处理器)可以被配置为执行软件指令以执行如本文的各种实施例中描述的功能。本文描述的处理器可以是通用处理器,或者可以是专用集成电路(ASIC)的一部分。本文描述的处理器还可以是微处理器、微计算机、处理器芯片、控制器、微控制器、数字信号处理器(DSP)、状态机或可编程逻辑器件。本文描述的处理器也可以是包括可编程门阵列(PGA)的逻辑电路(例如,现场可编程门阵列(FPGA))、或包括离散门和/或晶体管逻辑的其他类型的电路。本文描述的处理器可以是中央处理单元(CPU)、图形处理单元(GPU)或两者。另外,本文描述的处理器可以包括多处理器、并行处理器或两者。
随机种子生成器200可以基于从熵源20接收的熵信号Ent来生成数字区域的随机种子RS。根据实施例,随机种子生成器200可以通过放大熵信号Ent并在放大熵信号Ent之后对熵信号Ent进行采样来生成随机种子RS。将参考图14至图15B详细描述随机种子生成器200。
后处理器100可以通过对接收的随机种子RS执行后处理来生成随机数RN。根据本公开的实施例,后处理器100可以通过使用至少两种算法从随机种子RS生成随机数RN。根据实施例,该至少两种算法可以是具有不同偏差属性的算法。
本文中,偏差属性可以表示通过将随机种子RS应用于算法而生成的随机数RN的位置偏差“1”或“0”。可存在基于偏差属性对无偏性进行量化的若干检验方法(例如,D-单项式检验(D-Monomial test))。根据本公开的后处理器100可以通过将随机种子RS应用于具有不同偏差属性的多种算法来生成随机数RN,其中根据上述测试方法评估的随机数RN的无偏性得以增加。
图2是示出根据本公开的实施例的后处理器100的框图。
参考图1和图2,后处理器100可以包括第一算法处理器110和第二算法处理器120。第一算法处理器110可以通过将从随机种子生成器200接收的随机种子RS应用于第一算法来生成第一数据D1,并且第二算法处理器120可以通过将从第一算法处理器110接收的第一数据D1应用于第二算法来生成随机数RN。第一算法和第二算法是加密算法,并且均可以是非对称密钥加密算法、对称密钥加密算法(或块加密算法)和散列函数算法之一。另外,第一算法和第二算法不应被解释为单个已知类型的加密算法的子例程或子过程。例如,可以以各种方式区分第一算法和第二算法,包括:
·可存储在物理上分开的存储设备中,
·完全可由物理上分离的处理器执行,
·单独运行以完全加密数据。
非对称密钥加密算法包括公开的公钥和私人使用的私钥。由于非对称密钥加密算法独立地管理公钥和私钥,因此密钥管理是容易的,并且同时执行加密和用户认证。非对称密钥加密算法可以被称为公钥密码系统。非对称密钥加密算法可以用于电子文档的数字签名和不可否认性。根据非对称密钥加密算法,每个用户具有两个密钥,因此可能需要维护作为密钥对的公钥和私钥。非对称密钥加密算法可以包括Rivest-Shamir-Adleman(RSA)方法、椭圆曲线密码系统(ECC)等。
对称密钥加密算法是通过使用单个私钥来执行加密和解密的算法,因此,只有直接参与秘密通信的人才会需要安全地共享密钥。相应地,对称密钥加密算法可以被称为秘密密钥密码系统。对称密钥加密算法可以包括数据加密标准(DES)算法、三重DES算法、高级加密标准(AES)算法等。
散列函数算法是接收具有任意长度的消息并输出固定长度的散列值的函数。因此,散列函数算法不使用任何密钥,并且因此可以始终为相同的输入输出相同的输出。散列函数算法可以通过提取相对于输入消息不可改变的证据值来提供能够对输入消息的错误或调制进行检测的完整性。散列函数算法可以包括循环冗余校验32(CRC32)、消息摘要算法5(md5)、安全散列算法-1(SHA-1)、安全散列算法-256(SHA-256)、种族完整性基元评估消息摘要-128(Race Integrity Primitives Evaluation Message Digest-128,RIPEMD-128)、Tiger等。
非对称密钥加密算法、对称密钥加密算法和散列函数算法的偏差属性可以彼此不同。根据实施例,第一算法的类别可以与第二算法的类别不同。例如,第一算法可以是对称密钥加密算法,第二算法可以是散列函数算法。例如,第一算法可以是非对称密钥加密算法,第二算法可以是散列函数算法。例如,第一算法可以是对称密钥加密算法,第二算法可以是非对称密钥加密算法。例如,第一算法可以是AES算法,第二算法可以是SHA算法。
根据实施例,第一算法可以与第二算法不同,但第二算法与第一算法属于同一类别。例如,第一算法可以是或可以包括对称密钥加密算法中所包括的AES算法,第二算法可以是或可以包括对称密钥加密算法中所包括的DES算法。
图3是示出根据本公开的实施例的后处理器的操作的流程图。
参考图2和图3,后处理器100可以在操作S110中从随机种子生成器200接收随机种子RS,并且可以在操作S120中通过将接收的随机种子RS应用于第一算法来生成第一数据D1。在操作S130中,后处理器100可以通过将第一数据D1应用于第二算法来生成随机数RN。在操作S140中,后处理器100可以将所生成的随机数RN输出到外部。
根据本公开,第一算法和第二算法可以具有不同的偏差属性,因此随机数RN的无偏性可以增加。
图4是示出根据本公开的实施例的后处理器的操作的流程图。
参考图2和图4,后处理器100可以在操作S210中从随机种子生成器200接收随机种子RS,并且可以在操作S220中通过基于接收的随机种子RS对第一算法执行N次(其中,N是自然数)反馈替换操作来生成第一数据D1。本文中,反馈替换操作可以表示将算法的结果值再替换给该算法的操作。例如,当基于随机种子RS对第一算法执行两次反馈替换操作时,后处理器100可以通过将用随机种子RS替换给第一算法而获得的结果值再次替换给第一算法来生成第一数据D1。换句话说,执行N次反馈替换操作可以意味着:将随机种子RS替换给第一算法,并且另外将先前替换的结果值再次替换给第一算法达N-1次。
在操作S230中,后处理器100可以通过基于第一数据D1对第二算法执行M次(其中,M是自然数)反馈替换操作来生成随机数RN。在操作S240中,后处理器100可以将所生成的随机数RN输出到外部。
根据本公开的实施例,后处理器100可以通过基于随机种子RS仅对多种算法中的至少一些算法执行反馈替换操作来生成随机数RN。例如,第一算法可以是AES算法,第二算法可以是SHA-256算法。后处理器100可以通过基于随机种子RS对AES算法执行十六次反馈替换操作来生成第一数据D1,并且可以通过将第一数据替换给SHA-256算法一次来生成随机数RN。
如上所述,M和N是自然数。在操作S220中,后处理器基于所接收的随机种子RS对第一算法执行N次反馈替换操作。在操作S230中,基于第一数据D1对第二算法执行M次反馈替换操作。
图5是示出根据本公开的实施例的后处理器100a的框图。因此,将省略上面已经参考图2给出的图5的后处理器100a的描述。
参考图5,后处理器100a可以包括第一算法处理器110a、第二算法处理器120a和第三算法处理器130a。第一算法处理器110a可以通过将从随机种子生成器接收的随机种子RS应用于第一算法来生成第一数据D1。第二算法处理器120a可以通过将从第一算法处理器110a接收的第一数据D1应用于第二算法来生成第二数据D2。第三算法处理器130a可以通过将从第二算法处理器120a接收的第二数据D2应用于第三算法来生成随机数RN。
根据本公开的实施例,第一算法、第二算法和第三算法中的至少两个可以具有不同的偏差属性。根据实施例,第一算法、第二算法和第三算法中的至少两个可以是属于不同类别的加密算法。例如,第一算法可以是非对称密钥加密算法,第二算法可以是散列函数算法,第三算法可以是对称密钥加密算法。根据另一实施例,第一算法、第二算法和第三算法中的至少两个可以是属于同一类别的不同加密算法。
根据实施例,第一算法处理器110a、第二算法处理器120a和第三算法处理器130a中的至少一个可以通过基于输入值对同一算法执行多次反馈替换操作来生成输出值,如上参考图4所述。
图6是示出根据本公开的实施例的后处理器100b的框图。因此,将省略上面已经参考图2给出的图6的后处理器100b的描述。
参考图6,后处理器100b可以包括第一算法处理器110b、第二算法处理器120b和逻辑门130b。第一算法处理器110b可以接收随机种子RS,并且可以通过将接收的随机种子RS应用于第一算法来生成第一数据D1。第二算法处理器120b可以接收随机种子RS,并且可以通过将接收的随机种子RS应用于第二算法来生成第二数据D2。逻辑门130b可以接收第一数据D1和第二数据D2,并且可以通过对接收的第一数据D1和接收的第二数据D2执行逻辑运算来生成随机数RN。逻辑门130b可以包括门器件,例如,与非门(NAND)、或非门(NOR)、或门(OR)、与门(AND)或异或门(XOR)。
根据本公开的实施例,第一算法和第二算法可以具有不同的偏差属性,因此第一数据D1和第二数据D2可以具有不同的偏差。根据实施例,后处理器100b可以经由对具有不同偏差的第一数据D1和第二数据D2的逻辑运算来生成随机数RN,从而增加随机数RN的无偏性。
根据实施例,第一算法处理器110b或第二算法处理器120b可以通过基于输入值对同一算法执行多次反馈替换操作来生成输出值,如上面参考图4所述。
虽然在图6中示出了通过使用两个算法处理器生成随机数RN的实施例,但这仅是实施例,并且本公开还可适用于通过使用两个或更多个算法处理器生成随机数RN的实施例。
图7是示出根据本公开的实施例的后处理器的操作的流程图。
参考图6和图7,在操作S310中,后处理器100b可以接收随机种子RS,并且在操作S320中,后处理器100b可以通过将接收的随机种子RS应用于第一算法来生成第一数据D1。在操作S330中,后处理器100b可以通过将接收的随机种子RS应用于与第一算法不同的第二算法来生成第二数据D2。在操作S340中,后处理器100b可以经由对第一数据D1和第二数据D2的逻辑运算来生成随机数RN。在操作S350中,后处理器100b可以将所生成的随机数RN输出到外部。
图8A是示出根据本公开的实施例的后处理器101b的框图。详细地,图8A是示出图6的后处理器100b的示例的框图。
参考图8A,后处理器101b可以包括对称密钥加密算法处理器111b、散列函数算法处理器121b和异或门(XOR)131b。对称密钥加密算法处理器111b可以接收随机种子RS,并且可以通过将接收的随机种子RS应用于对称密钥加密算法来生成第一数据D1。根据实施例,对称密钥加密算法处理器111b可以从外部源接收密钥,并且可以通过使用密钥生成第一数据D1。散列函数算法处理器121b可以通过将随机种子RS应用于散列函数算法来生成第二数据D2。异或门131b可以经由对第一数据D1和第二数据D2的异或运算来生成随机数RN。
根据实施例,对称密钥加密算法处理器111b可以通过基于所接收的随机种子RS对对称密钥加密算法执行多次反馈替换操作来生成第一数据D1。
图8B是示出根据本公开的实施例的后处理器102b的框图。详细地,图8B是示出图6的后处理器100b的示例的框图。
参考图8B,后处理器102b可以包括对称密钥加密算法处理器112b、散列函数算法处理器122b和与非门(NAND)132b。对称密钥加密算法处理器112b可以接收随机种子RS,并且可以通过将接收的随机种子RS应用于对称密钥加密算法来生成第一数据D1。根据实施例,对称密钥加密算法处理器112b可以从外部源接收密钥,并且可以通过使用密钥生成第一数据D1。散列函数算法处理器122b可以通过将随机种子RS应用于散列函数算法来生成第二数据D2。与非门132b可以经由对第一数据D1和第二数据D2的与非运算来生成随机数RN。
根据实施例,对称密钥加密算法处理器112b可以通过基于所接收的随机种子RS对对称密钥加密算法执行多次反馈替换操作来生成第一数据D1。
图9是示出根据本公开的实施例的后处理器100c的框图。因此,将省略上面已经参考图6给出的图9的后处理器100c的描述。
参考图9,后处理器100c可以包括第一算法处理器110c、第二算法处理器120c、逻辑门130c和第三算法处理器140c。第一算法处理器110c可以接收随机种子RS,并且可以通过将接收的随机种子RS应用于第一算法来生成第一数据D1。第二算法处理器120c可以接收随机种子RS,并且可以通过将接收的随机种子RS应用于第二算法来生成第二数据D2。逻辑门130c可以接收第一数据D1和第二数据D2,并且可以通过对接收的第一数据D1和接收的第二数据D2执行逻辑运算来生成第三数据D3。第三算法处理器140c可以接收第三数据D3,并且可以通过将接收的第三数据应用于第三算法来生成随机数RN。逻辑门130c可以包括门器件,例如,与非门、或非门、或门、与门或异或门。
根据本公开的实施例,第一算法、第二算法和第三算法中的至少两个可以具有不同的偏差属性。根据实施例,第一算法、第二算法和第三算法中的至少两个可以是属于不同类别的加密算法。例如,第一算法可以是非对称密钥加密算法,第二算法可以是散列函数算法,第三算法可以是对称密钥加密算法。根据另一实施例,第一算法、第二算法和第三算法中的至少两个可以是属于同一类别的不同加密算法。
根据实施例,第一算法处理器110c、第二算法处理器120c和第三算法处理器140c中的至少一个可以通过基于输入值对同一算法执行多次反馈替换操作来生成输出值,如上面参考图4所述。
图10是示出根据本公开的实施例的后处理器100d的框图。
参考图10,后处理器100d可以包括第一算法处理器110d、第二算法处理器120d和偏差检查器150d。第一算法处理器110d可以通过将从随机种子生成器接收的随机种子RS应用于第一算法来生成第一数据D1,并且将生成的第一数据D1输出到第二算法处理器120d和偏差检查器150d。第二算法处理器120d可以通过将从第一算法处理器110d接收的第一数据D1应用于第二算法来生成第二数据D2,并将生成的第二数据D2输出到偏差检查器150d。
根据本公开的实施例,第一算法和第二算法可以具有不同的偏差属性,因此第一数据D1和第二数据D2可以具有不同的偏差。偏差检查器150d可以接收具有不同偏差的第一数据D1和第二数据D2,并且可以根据预定的偏差评估方法(例如,D-单项式检验)将第一数据D1和第二数据D2中的一个作为随机数RN输出到外部。根据实施例,偏差检查器150d可以将第一数据D1和第二数据D2之中具有较高无偏性的数据作为随机数RN输出到外部。
图11是示出根据本公开的实施例的后处理器100e的框图。
参考图11,后处理器100e可以包括第一算法处理器110e、第二算法处理器120e和解复用器DEMUX。第一算法处理器110e可以通过将从随机种子生成器接收的随机种子RS应用于第一算法来生成第一数据D1,并且将生成的第一数据D1输出到解复用器DEMUX。解复用器DEMUX可以基于从外部源(例如,应用处理器(AP))接收的选择信号S1,将第一数据D1输出到第二算法处理器120e或外部。第二算法处理器120e可以通过将接收的第一数据D1应用于第二算法来生成第二数据D2,并将生成的第二数据D2输出到外部。
根据实施例,后处理器100e可以基于选择信号S1将第一数据D1作为随机数输出到外部。根据另一实施例,后处理器100e可以基于选择信号S1将第二数据D2作为随机数输出到外部。
图12是示出根据本公开的实施例的随机数生成器100f的框图。因此,将省略上面已经参考图1给出的图12的随机数生成器100f的描述。
参考图12,随机数生成器100f可以包括第一随机种子生成器200f、第二随机种子生成器300f、第一算法处理器110f、第二算法处理器120f和逻辑门130f。第一随机种子生成器200f可以基于从熵源接收的熵信号来生成数字区域的第一随机种子RS1。第二随机种子生成器300f可以基于从熵源接收的熵信号来生成数字区域的第二随机种子RS2。第一随机种子RS1和第二随机种子RS2可以基于相同的熵信号或不同的熵信号而生成,并且可以彼此不同。
第一算法处理器110f可以通过将第一随机种子RS1应用于第一算法来生成第一数据D1。第二算法处理器120f可以通过将第二随机种子RS2应用于第二算法来生成第二数据D2。逻辑门130f可以接收第一数据D1和第二数据D2,并且可以通过对接收的第一数据D1和接收的第二数据D2执行逻辑运算来生成随机数RN。逻辑门130f可以包括门器件,例如,与非门、或非门、或门、与门或异或门。
图13A至图13H是示出根据本公开的实施例的熵源的电路图。
参考图1和图13A至图13H,熵源20可以是反相器INV,其输入端子和输出端子彼此连接,如图13A所示。根据另一实施例,如图13B所示,开关SW可以连接到反相器INV的输入端子和输出端子。响应于从外部源接收的使能信号EN,开关SW可以接通/断开。当开关SW接通时,反相器INV的输入端子和输出端子可以彼此连接。在这种情况下,反相器INV的输出电压可以达到亚稳态电平并且可以持续地保持该亚稳态电平。由于热噪声,反相器INV的输出电压可能在亚稳态电平中随机波动。
参考图13C和图13D,熵源20可以是输入端子和输出端子彼此连接的与非门或者或非门。当使能信号EN(例如,“1”)输入到与非门的输入端子时,因为与非门的输入端子和输出端子彼此连接,所以与非门的输出电压达到亚稳态电平。类似地,当使能信号EN(例如,“0”)输入到或非门的输入端子时,因为或非门的输入端子和输出端子彼此连接,所以或非门的输出电压达到亚稳态电平。
参照图13E,除了反相器INV之外,熵源20还可以包括复用器MUX,并且反相器INV的输出端子可以连接到复用器MUX的第一输入端子。因此,根据应用于复用器MUX的选择信号E,反相器INV的输出端子可以达到亚稳态电平,或者连接到复用器MUX的第二输入端子的信号可以被传输到反相器INV。可以使用与非门和或非门来实现图13E的反相器INV。在这种情况下,与非门和或非门的各个输入端子可以彼此连接。
图13F示出了将阈值电压Vth施加到反相器INV的输入端子的结构。由于阈值电压Vth的热噪声,反相器INV的输出电压可能随机波动。图13G示出了将可变电阻器进一步包括在图13F的结构中并连接到反相器INV的结构,并且反相器INV的阈值电压特性可以由可变电阻器控制。图13H示出了可以通过改变可变电阻器来控制施加到反相器INV的阈值电压Vth的结构。
图14是示出根据本公开的实施例的图1的随机种子生成器200的框图。
参考图1和图14,随机种子生成器200可以包括随机种子收集器210和随机种子存储设备220。随机种子收集器210可以通过对熵信号Ent进行采样来生成数字区域的随机种子RS。随机种子存储设备220可以存储数字区域的随机种子RS,并且可以与时钟信号相对应地将随机种子RS输出到后处理器100。
图15A和图15B是根据本公开的实施例的随机种子生成器201和202的框图。因此,将省略上面已经参考图14给出的图15A和图15B的随机种子生成器201和202的描述。
参考图15A和图15B,随机种子生成器201和202可以分别包括随机种子收集器211和212,并且均可以包括随机种子存储设备221。如图15A所示,随机种子收集器211可以包括彼此串联连接的多个反相器。如图15B所示,随机种子收集器212可以包括彼此串联连接的多个与非门。
随机种子存储设备221可以包括用于存储随机种子的存储元件,例如,D触发器。随机种子存储设备221可以与时钟信号相对应地将随机种子输出到后处理器。
图16是示出根据本公开的实施例的在其中实现安全设备的智能卡700的框图。
在包括图16的本文的图中,电路可以示出为例如“读卡器”、“调整器”、“控制器”、“偏差检查器”、“随机种子生成器”、“随机种子收集器”。如本文描述的发明构思的领域中常见的是,可以根据执行所描述的一个或多个功能的块来描述和说明示例。这些块(在此可以称为读卡器、调整器、控制器、偏差检查器、随机种子生成器和随机种子收集器等)在物理上通过模拟和/或数字电路(例如,逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬连线电路等)来实现,并且可以可选地由固件和/或软件驱动。例如,电路可以实现在一个或多个半导体芯片中、或者诸如印刷电路板等的基板支撑件上。构成块的电路可以由专用硬件或由处理器(例如,一个或多个编程的微处理器和相关联的电路)来实现,或者由用来执行该块的一些功能的专用硬件和用来执行该块的其他功能的处理器的组合来实现。在不脱离本发明构思的范围的情况下,示例的每个块可以物理地分成两个或更多个交互和离散的块。类似地,在不脱离本发明构思的范围的情况下,示例的块可以物理地组合成更复杂的块。
参考图16,智能卡700可以包括根据上述实施例的安全设备。因为智能卡700基本上执行卡持有者的认证,所以需要在读卡器(未示出)和智能卡700之间进行认证。可以根据例如读卡器接收存储在智能卡700中的认证信息并检查智能卡700的合法性的方法来执行该认证。在这种情况下,需要对认证信息进行安全维护,并且因此,需要实现用于对认证信息加密的适当算法和用于算法的安全设备。
半导体芯片500可以包括根据本公开的实施例的安全设备,以便执行上述认证功能。换句话说,在半导体芯片500中包括的随机数生成设备可以通过使用具有不同偏差特性的至少两种算法来生成随机数。
天线800可以执行如下功能:从读卡器接收电力并将接收的电力传输到半导体芯片500,或者发送由半导体芯片500生成的经加密的认证信息。
半导体芯片500可以包括电源电路、时钟生成电路、逻辑电路和数据通信电路。电源电路可以基于从天线800接收的交流(AC)信号生成直流(DC)电力。电源电路可以包括:上电复位(POR)电路,其在施加电力时复位预先存储的数据。
时钟生成电路可以将从天线800接收的AC信号转换为时钟信号,并且可以将时钟信号施加到逻辑电路。逻辑电路可以包括控制器、存储器和安全设备。控制器可以是或可以包括处理器,并且处理器可以包括专用集成电路(ASIC)。安全设备生成数字随机数RN。在上述实施例中已经示出了安全设备的配置,因此将省略其详细描述。控制器可以被配置为基于由安全设备生成的数字随机数RN来对认证信息加密。存储器存储认证信息、数字随机数RN和加密的认证信息。
数据通信电路可以处理从读卡器和天线800接收的信息,并将处理后的信息发送到逻辑电路,或者处理由逻辑电路生成的经加密的认证信息并将处理后的经加密的认证信息发送到天线800和读卡器。
尽管已经参照本公开的实施例具体示出和描述了本公开,但是应当理解,在不脱离所附权利要求的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。
Claims (20)
1.一种随机数生成器,包括:
随机种子生成器,被配置为:接收熵信号,并通过使用所述熵信号生成数字区域的随机种子;以及
后处理器,被配置为:通过使用第一算法和第二算法来从所述随机种子生成随机数,
其中,偏差属性表示结果值的无偏性,并且所述第一算法的偏差属性不同于所述第二算法的偏差属性。
2.根据权利要求1所述的随机数生成器,其中,所述后处理器通过将所述随机种子应用于所述第一算法来生成第一数据,并且通过将所述第一数据应用于所述第二算法来生成所述随机数。
3.根据权利要求2所述的随机数生成器,其中,所述后处理器通过基于所述随机种子对所述第一算法执行N次反馈替换操作来生成所述第一数据,并且通过基于所述第一数据对所述第二算法执行M次反馈替换操作来生成所述随机数,其中,M和N为自然数。
4.根据权利要求3所述的随机数生成器,其中,所述第一算法包括对称密钥加密算法,并且所述第二算法包括散列函数算法。
5.根据权利要求4所述的随机数生成器,其中,
所述第一算法包括高级加密标准“AES”算法,并且所述第二算法包括安全散列算法“SHA”256,以及
所述后处理器通过基于所述随机种子对所述第一算法执行十六次反馈替换操作来生成所述第一数据,并且通过基于所述第一数据对所述第二算法执行一次反馈替换操作来生成所述随机数。
6.根据权利要求2所述的随机数生成器,其中,所述第一算法是散列函数算法,并且所述第二算法包括对称密钥加密算法。
7.根据权利要求1所述的随机数生成器,其中,所述后处理器通过将所述随机种子应用于所述第一算法来生成第一数据,通过将所述随机种子应用于所述第二算法来生成第二数据,并且通过使用所述第一数据和所述第二数据来生成所述随机数。
8.根据权利要求7所述的随机数生成器,其中,
所述后处理器包括逻辑门,所述逻辑门被配置为:经由对所述第一数据和所述第二数据的逻辑运算来生成所述随机数,以及
所述逻辑门包括异或门、或门、与门、或非门和与非门之一。
9.根据权利要求7所述的随机数生成器,其中,
所述后处理器通过基于所述随机种子对所述第一算法执行N次反馈替换操作来生成所述第一数据,并且通过基于所述随机种子对所述第二算法执行M次反馈替换操作来生成所述第二数据,其中,M和N为自然数,以及
所述第一算法包括对称密钥加密算法,并且所述第二算法包括散列函数算法。
10.根据权利要求1所述的随机数生成器,还包括:
第一随机种子生成器,被配置为:接收第一熵信号,并通过使用所述第一熵信号生成第一随机种子;以及
第二随机种子生成器,被配置为:接收第二熵信号,并通过使用所述第二熵信号生成第二随机种子,
其中,所述后处理器通过将所述第一随机种子应用于所述第一算法来生成第一数据,通过将所述第二随机种子应用于所述第二算法来生成第二数据,并且通过使用所述第一数据和所述第二数据来生成所述随机数。
11.根据权利要求1所述的随机数生成器,其中,所述后处理器被配置为:通过将所述随机种子应用于所述第一算法来生成第一数据,通过将所述第一数据应用于所述第二算法来生成第二数据,并且通过将所述第二数据应用于第三算法来生成所述随机数。
12.根据权利要求1所述的随机数生成器,其中,所述随机种子生成器包括:
随机种子收集器,被配置为:通过对从熵源接收的熵信号进行采样来生成随机种子;以及
随机种子存储设备,被配置为存储所述随机种子。
13.一种安全设备,包括:
熵源,被配置为:通过使用随机性来生成熵信号;
随机种子生成器,被配置为:接收所述熵信号,并通过使用所述熵信号生成数字随机种子;以及
后处理器,被配置为:通过使用第一算法和第二算法从所述数字随机种子生成随机数,
其中,所述第一算法包括对称密钥加密算法,并且所述第二算法包括散列函数算法。
14.根据权利要求13所述的安全设备,其中,所述后处理器包括:
第一算法处理器,被配置为:通过基于所述数字随机种子对所述第一算法执行N次反馈替换操作来生成第一数据,其中,N为自然数;以及
第二算法处理器,被配置为:通过基于所述第一数据对所述第二算法执行M次反馈替换操作来生成所述随机数,其中,M为自然数。
15.根据权利要求14所述的安全设备,其中,
所述第一算法包括高级加密标准“AES”算法,并且所述第二算法包括安全散列算法“SHA”256,以及
所述第一算法处理器通过基于所述数字随机种子对所述第一算法执行十六次反馈替换操作来生成所述第一数据,并且所述第二算法处理器通过基于所述第一数据对所述第二算法执行一次反馈替换操作来生成所述随机数。
16.根据权利要求13所述的安全设备,其中,所述后处理器包括:
第一算法处理器,被配置为:通过将所述数字随机种子应用于所述第一算法来生成第一数据;
第二算法处理器,被配置为:通过将所述数字随机种子应用于所述第二算法来生成第二数据;以及
逻辑门,被配置为:通过使用所述第一数据和所述第二数据来生成所述随机数。
17.一种由随机数生成器执行的随机数生成方法,所述随机数生成器包括随机种子生成器和后处理器,所述随机数生成方法包括:
从熵源接收熵信号,其中,由所述随机种子生成器执行该接收;
通过使用所述熵信号来生成数字区域的随机种子,其中,由所述随机种子生成器执行该生成;以及
通过使用第一算法和第二算法从所述随机种子生成随机数,其中,由所述后处理器执行该生成,
其中,偏差属性表示结果值的无偏性,并且所述第一算法的偏差属性不同于所述第二算法的偏差属性。
18.根据权利要求17所述的随机数生成方法,其中,所述随机数的生成包括:
由所述后处理器通过基于所述随机种子对所述第一算法执行N次反馈替换操作来生成第一数据,其中,N为自然数;以及
由所述后处理器通过基于所述第一数据对所述第二算法执行M次反馈替换操作来生成所述随机数,其中,M为自然数。
19.根据权利要求17所述的随机数生成方法,其中,所述第一算法包括对称密钥加密算法,并且所述第二算法包括散列函数算法。
20.根据权利要求17所述的随机数生成方法,其中,所述随机数的生成包括:
通过将所述随机种子应用于所述第一算法来生成第一数据,其中,由所述后处理器执行该生成;
通过将所述随机种子应用于所述第二算法来生成第二数据,其中,由所述后处理器执行该生成;以及
经由对所述第一数据和所述第二数据的逻辑运算生成所述随机数,其中,由所述后处理器执行该生成。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0148331 | 2017-11-08 | ||
KR20170148331 | 2017-11-08 | ||
KR1020180091295A KR102628008B1 (ko) | 2017-11-08 | 2018-08-06 | 적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치 |
KR10-2018-0091295 | 2018-08-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109756327A true CN109756327A (zh) | 2019-05-14 |
CN109756327B CN109756327B (zh) | 2023-09-29 |
Family
ID=66328617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811327930.2A Active CN109756327B (zh) | 2017-11-08 | 2018-11-08 | 随机数生成器以及包括随机数生成器的安全设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11036472B2 (zh) |
CN (1) | CN109756327B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027238A (zh) * | 2016-06-30 | 2016-10-12 | 中国电子科技集团公司第五十四研究所 | 一种适用于无线通信系统的真随机数发生器 |
CN106775583A (zh) * | 2016-11-18 | 2017-05-31 | 杭州电子科技大学 | 一种高速真随机数的产生方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745569A (en) | 1996-01-17 | 1998-04-28 | The Dice Company | Method for stega-cipher protection of computer code |
AUPO850597A0 (en) * | 1997-08-11 | 1997-09-04 | Silverbrook Research Pty Ltd | Image processing method and apparatus (art01a) |
US6393447B1 (en) * | 1998-10-22 | 2002-05-21 | Lucent Technologies Inc. | Method and apparatus for extracting unbiased random bits from a potentially biased source of randomness |
US7007050B2 (en) | 2001-05-17 | 2006-02-28 | Nokia Corporation | Method and apparatus for improved pseudo-random number generation |
US8001054B1 (en) | 2001-07-10 | 2011-08-16 | American Express Travel Related Services Company, Inc. | System and method for generating an unpredictable number using a seeded algorithm |
US20040086117A1 (en) | 2002-06-06 | 2004-05-06 | Petersen Mette Vesterager | Methods for improving unpredictability of output of pseudo-random number generators |
US20040162864A1 (en) | 2002-07-08 | 2004-08-19 | Globespan Virata Inc. | System and method for generating pseudo-random numbers |
US7206797B2 (en) * | 2003-04-14 | 2007-04-17 | M-Systems Flash Disk Pioneers Ltd. | Random number slip and swap generators |
US20050177561A1 (en) * | 2004-02-06 | 2005-08-11 | Kumaresan Ramanathan | Learning search algorithm for indexing the web that converges to near perfect results for search queries |
US7940932B2 (en) * | 2004-04-08 | 2011-05-10 | Texas Instruments Incorporated | Methods, apparatus, and systems for securing SIM (subscriber identity module) personalization and other data on a first processor and secure communication of the SIM data to a second processor |
EP2041644A1 (en) | 2006-06-20 | 2009-04-01 | Nxp B.V. | Random number generator system, method for generating random numbers |
US20110075840A1 (en) * | 2009-09-30 | 2011-03-31 | Zayas Fernando A | Method and system for generating random numbers in a storage device |
US9189201B2 (en) | 2011-09-20 | 2015-11-17 | Qualcomm Incorporated | Entropy source with magneto-resistive element for random number generator |
US10019235B2 (en) * | 2011-09-30 | 2018-07-10 | Los Alamos National Security, Llc | Quantum random number generators |
US20160028544A1 (en) * | 2012-11-15 | 2016-01-28 | Elwha Llc | Random number generator functions in memory |
US9350550B2 (en) * | 2013-09-10 | 2016-05-24 | M2M And Iot Technologies, Llc | Power management and security for wireless modules in “machine-to-machine” communications |
US9727310B2 (en) | 2015-03-31 | 2017-08-08 | Toshiba Corporation | Entropy source for random number generator |
-
2018
- 2018-11-07 US US16/182,897 patent/US11036472B2/en active Active
- 2018-11-08 CN CN201811327930.2A patent/CN109756327B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027238A (zh) * | 2016-06-30 | 2016-10-12 | 中国电子科技集团公司第五十四研究所 | 一种适用于无线通信系统的真随机数发生器 |
CN106775583A (zh) * | 2016-11-18 | 2017-05-31 | 杭州电子科技大学 | 一种高速真随机数的产生方法 |
Also Published As
Publication number | Publication date |
---|---|
US11036472B2 (en) | 2021-06-15 |
US20190138275A1 (en) | 2019-05-09 |
CN109756327B (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110995642B (zh) | 使用预共享密钥提供安全连接 | |
US10740495B2 (en) | Host/battery with public/private busses, public memory, processor, and private memory | |
US8516269B1 (en) | Hardware device to physical structure binding and authentication | |
KR101727130B1 (ko) | 암호화 키를 획득하기 위한 디바이스 및 방법 | |
Güneysu et al. | Cryptanalysis with COPACOBANA | |
US8848905B1 (en) | Deterrence of device counterfeiting, cloning, and subversion by substitution using hardware fingerprinting | |
Yin et al. | Temperature-aware cooperative ring oscillator PUF | |
US8782396B2 (en) | Authentication with physical unclonable functions | |
TWI467944B (zh) | 提供加密通訊的方法、nfc通訊裝置、及用於加密通訊的系統 | |
US11533169B2 (en) | Method for role-based data transmission using physically unclonable function (PUF)-based keys | |
US20160006570A1 (en) | Generating a key derived from a cryptographic key using a physically unclonable function | |
EP2544400A2 (en) | PUF based Cryptographic communication system and cryptographic communication method | |
US20180167205A1 (en) | Communication apparatus and cryptographic processing system | |
JP2019109680A (ja) | デバイス、セキュアエレメント、プログラム、情報処理方法及び情報処理システム | |
CN103686711B (zh) | 网络连接方法和电子设备 | |
Chatterjee et al. | Machine learning assisted PUF calibration for trustworthy proof of sensor data in IoT | |
CN109756327A (zh) | 随机数生成器以及包括随机数生成器的安全设备 | |
US11593488B2 (en) | Systems and methods for a cryptographic agile bootloader for upgradable secure environment | |
KR102628008B1 (ko) | 적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치 | |
US20180367304A1 (en) | Secure, Real-Time-Based Data Transfer | |
Kumar et al. | Challenge-response generation using RO-PUF with reduced hardware | |
JP2018042081A (ja) | データ送受信方法およびセンシングシステム | |
Arjona et al. | Using physical unclonable functions for internet-of-thing security cameras | |
JPWO2020044666A1 (ja) | 証明書生成方法、証明書生成装置およびコンピュータプログラム | |
Degada | Designing Novel Hardware Security Primitives for Smart Computing Devices |
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 |