CN104380245A - 随机数生成器和流密码 - Google Patents

随机数生成器和流密码 Download PDF

Info

Publication number
CN104380245A
CN104380245A CN201480001595.0A CN201480001595A CN104380245A CN 104380245 A CN104380245 A CN 104380245A CN 201480001595 A CN201480001595 A CN 201480001595A CN 104380245 A CN104380245 A CN 104380245A
Authority
CN
China
Prior art keywords
random number
function
sequence
equipment
electronic
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
CN201480001595.0A
Other languages
English (en)
Other versions
CN104380245B (zh
Inventor
O.加西亚莫乔恩
S.S.库马
L.M.G.M.托休泽恩
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN104380245A publication Critical patent/CN104380245A/zh
Application granted granted Critical
Publication of CN104380245B publication Critical patent/CN104380245B/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/582Pseudo-random number generators
    • G06F7/586Pseudo-random number generators using an integer algorithm, e.g. using linear congruential method
    • 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/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computational Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

用于生成随机数序列的电子随机数生成设备(100),所述电子随机数生成设备包括:电子参数存储装置(110),其被配置成存储多个函数,以及为多个函数中的每个函数存储相关联的模数,不是所有的模数都相等;以及电子函数求值设备(120),其被配置成生成随机数的内部序列,所述函数求值设备被配置成通过如下方式生成随机数的内部序列的下一个数,即,为多个函数中的每个函数,针对随机数的内部序列的先前生成值按与正求值的函数相关联的模数取模来对函数求值,从而获得多个求值结果,并且将组合函数应用到多个求值结果,从而获得内部序列的下一个数;以及输出(140),其被配置成根据所生成的内部序列的下一个数,生成随机数序列的下一个数。

Description

随机数生成器和流密码
技术领域
本发明涉及生成随机数序列,并且涉及借助于随机数序列利用流密码(stream cipher)对数据序列进行加密或者解密。
背景技术
随机数生成对许多密码学算法而言是重要要素。例如,需要随机数来产生现时(nonce)、密钥(包括会话密钥)等等。同样可能需要随机数来控制密码学算法自身。需要特别大数量的随机数的一种类型的密码学算法是所谓的流密码。在流密码中,明文的流是通过将其与随机数的流相组合而加密的;两个流典型地被异或在一起。优选的是不使关于明文流的统计学假设发生,这意味着随机数的流对于攻击必须特别有弹性(resilient);尤其是因为它的很大的量对于攻击者而言都是可得到的。要理解的是,当提到生成随机数时,并非意味着真随机数,而是意味着伪随机数。
随机数也在密码学领域之外被使用。例如,随机数在统计学中得以使用。仿真也可能使用随机数来对真实世界事件的不可预测性建模。然而,在密码学领域中置于随机数上的需求不同于那个领域之外的那些需求。在密码学中,安全性拥有压倒一切的重要性。密码学和统计学两者都偏好所生成的随机数与真随机数是难以分辨的。然而,通向这的途径是不同的。在统计学和相关的领域,没有相关的统计测试可以检测出两个流之间的区别就足够了。然而,在密码学中,必须假设的是,攻击者愿意在调查被推测的随机数中投入显著的计算资源。例如,攻击者可能对从过去的值预测未来的值感兴趣。
将在密码学中使用的随机数的流可以优选地是快速生成但仅需要少量资源的;比方说小的智能卡或者RFID芯片。与此同时,它必须相对于愿意投入不成比例的计算量的攻击者是安全的。这些相互矛盾的需求已经导致了许多提出的设计。
例如,一种类型的随机数生成器是所谓的线性移位寄存器。线性移位寄存器产生比特序列。序列中的下一比特通过推算序列中所选择的先前比特的固定组合而被计算出来。线性移位寄存器具有长周期、相对好的统计属性并且是在使用少量资源的情况下很快的。但是,它们在面对密码学攻击时是不安全的:可以使用所谓的Berlekamp-Massey算法来攻击流。
James E Gentle的书的章节:在:“Random Number Generation and Monte Carlos Methods (Second Edition)”中的“Chapter 1. Simulating Random Numbers from a Uniform Distribution”,2005年1月1日 (2005-01-01),Springer,纽约,XP055082923, ISBN:978-0-38-700178-4, 第1-56页公开了若干现有技术的解决方案。它在第46页的1.8节中描述了随机数生成经常可以通过将一个以上的生成器相组合而得以改进,并且被组合的生成器可以是任何类型的。它还描述了一种使用线性同余生成器和两个移位寄存器生成器的组合生成器。
改进来自于取得两个独立生成的线性移位寄存序列并且以某种非线性方式将它们组合。这种方法的示例是所谓的收缩(shrinking)生成器或者交替步进(alternating step)生成器。这种思想在于,具有两个独立线性移位寄存器会使得必须被确定以攻击序列的参数数量加倍;而且两个不相关的参数集必须从它们的作用在其中被混合的单个流中以某种方式推导出来。
的确,它证实了:两个由线性移位寄存器生成的独立序列的组合确实增加了密码学攻击的难度。然而,尽管如此,这样的攻击仍然是可能的,虽然它们需要从更大量的随机数入手来研究。因此,仍然存在对于改进的随机数生成器的需要。
发明内容
将有利的是具有一种改进的随机数生成器,尤其是供密码学算法所用。本发明由独立权利要求限定。从属权利要求限定有利的实施例。
提供了用于生成随机数序列的电子随机数生成设备。电子随机数生成设备包括电子参数存储装置、电子函数求值设备和输出。电子参数存储装置被配置成存储多个函数并且为多个函数中的每个函数存储相关联的模数(modulus)。不是所有的模数都相等。
电子函数求值(evaluation)设备被配置成生成随机数的内部序列。电子函数求值设备被配置成通过以下方式生成随机数的内部序列中的下一个数,即:为多个函数中的每个函数,针对该随机数的内部序列中先前生成的数按与正求值的函数相关联的模数取模来对该函数求值,从而获得多个求值结果,并且将组合函数应用到该多个求值结果,以获得该内部序列中的下一个数。
输出被配置成根据该内部序列中的所生成的下一个数,生成随机数序列的下一个数。
本发明人洞悉到,从两个独立的序列生成随机数序列不一定是优点。与其说使问题复杂化,倒不如说独立性也可能帮助了攻击者。实际上,对于组合的线性移位寄存器的攻击试图将流彼此隔离,从而分开地攻击它们。典型地,这通过对一个流作出某种假设(“猜想”),并且通过针对另一个流进行推算来验证那些猜想而完成。例如,在T. Johansson发表于ASIACRYPT 1998:342-356的论文:“Reduced Complexity Correlation Attacks on Two Clock-Controlled Generators”中描述了对于交替步进生成器的攻击。建议等待含有数量较少的一的、长度为M的分段,并且作出假设:仅有一半的零来自于第一线性移位寄存器。随后假设:所有的一和剩余的零均来自于第二线性移位寄存器。
由本发明人提出的随机数生成器克服了这个固有的缺陷。随机数的内部序列(即,对用于生成随机数序列的电子设备而言是内部的)是通过将组合函数应用到多个求值结果而生成的。多个求值结果不是独立地获得的,而是,它们每个都取决于相同的内部序列。对于内部随机序列的较大参数状态和独立贡献是通过从一些函数获得多个求值结果而达到的,所述函数通过不同模数进行求值。从数学上说,这意味着多个求值结果是从数学上不相容的结构获得的。例如,对于模数是质数的情况,这些数学结构是所谓的“域(field)”,在一个域与另一个域之间的加法和乘法之间不存在关系。当模数不(全)是质数时,相似的观测结果仍适用,在这种情况下,作为结果的结构可能被表征为环(ring)。
优选地,对多个函数的求值共享至少一个先前值作为共享的输入。再次地,多个求值结果不是独立地获得的,而是,它们每个都取决于相同的内部序列,而且取决于该序列中的共享值。在这种情况下,先前值的获得可以为所有函数立即完成。例如,函数求值设备可以被配置用于获得随机数的内部序列中的先前生成的数,该所获得的数可以在所有函数求值中使用。可替换地,每个求值单独地获得先前生成的数。
借助于这些步骤,本发明人确保对于随机性的贡献来自于多个源,每个源都随其带有添加复杂度的参数,而与此同时,避免生成多个完全独立的序列,其可能被攻击者利用来简化攻击。换言之,独立性不是从独立生成的序列获得的,而是通过不相容的下层数学结构获得的。
在优选的实施例中,随机数序列被使用在诸如流密码的密码学算法中。
存储某个函数可通过存储函数的系数来完成。例如,可以定义覆盖许多不同函数的函数模板;所存储的函数通过从模板中进行选择(比方说通过选择系数),而从许多不同的函数中选择函数。在优选的实施例中,函数的一个或者多个是多项式。
非多项式函数的示例包括所谓的s-box及其级联。s-box是因其高非线性属性而被选取的表。例如,人们可以使用AES的所谓 “SubBytes”步骤,但是代替于使用固定的AES S-box,人们可以使用通过参数从s-box的更大集合中选择的S-box。优选地,s-box阵列与某些扩散函数(diffusing function)相组合,比方说其后跟随有多项式。
在密码学中,当密码学算法的安全性可能链接到某个不同领域中的问题的疑难性时,这被认为是优点。具有这样的链接增加了置于这样的密码系统中的信任度。存在的问题是,如何为给出的密码系统找到这样的问题,或者相反地,一旦识别了疑难问题,如何获得密码系统。增加难度的是,在过去,疑难问题经常在广泛不同的领域中获得,即,数论、晶格理论、离散优化、NP完整性等等。
在最优选的实施例中,多个函数全部都是多项式。实际上,在这种情况下,对于系统的攻击显现出与解决另一个疑难问题有关:特别地,在多项式都是1次的情况下,对于系统的攻击与解决所谓的“隐藏数问题”有关。对于较高次多项式,即,至少一个具有2次或者更高次,对于随机数序列的攻击与所谓的“扩展的隐藏数问题”有关。在优选的实施例中,多个函数全部都是至少2次的多项式。例如,人们可以正好取得两个多项式,每个多项式都是2次的。
相关联的模数不是全部相等的。这确保即便是在组合之后,至少两个数学上不相容的结构也得以保留。使所有的模数都不相等将使不相容结构的数量最大化,因此这是优选的。可替换地,或者甚至更好的是附加地,人们可要求与多个函数相关联的模数是互质的。具有公约数不一定使结构相同,然而,可能存在某些重叠,例如,在由公约数生成的理想数(ideal)上。为了甚至消除这种部分相容性的偶然性,具有互质的模数是优选的。在实践中,这可以通过将模数选为不同的质数而达成。在实施例中,人们可以有具有第一模数的第一多项式和具有第二模数的第二多项式,所述第二模数与所述第一模数不同。
模数的大小与系统的安全性有关。作为示例,商业上的安全系统可以使用128比特长的模数。更长的模数也是可能的,比方说长于或等于128、长于或等于256;或者更短的模数也是可能的,比方说长于或等于64比特。
在优选的实施例中,先前生成的数可以是紧靠地先前生成的数,即,如果顺次的序列已经生成xn-1,xn-2等等,那么下一个生成的数至少可以取决于xn-1
函数可以仅取决于单个先前值,然而这不是必须的,例如,函数可以是多元的,比方说多元多项式,诸如二元多项式。在实施例中,函数的至少一个是具有多个(即,数量大于1)变量的多元函数,函数求值设备被配置成获得与变量数量相同数量的、随机数的内部序列中先前生成的数,并且至少针对该多个所获得的先前生成的数来对该多元函数求值。优选地,在用于多个函数、来自内部序列的被使用的先前值之间存在某些重叠或者甚至完全的重叠。
对于组合函数而言,几种选择是可能的。用于组合函数的优选选择是整数加法,即,在自然数上定义的加法。整数加法把从不同模数获得的不相容性很好地混合。然而,其它选择也是可能的。对于组合函数来说,另一个可能性是异或函数,其被应用到所有函数的求值结果的二进制表示。
输出函数可以简单地将内部序列复制到外部,然而,本发明人已经发现,通过对外部世界屏蔽函数的输出的一部分,安全性甚至被更进一步改进。例如,输出可以被配置成通过从内部序列生成的下一个数选择若干比特(b)(即,选择比特中的某些但不是所有),来生成随机数序列的下一个数。例如,人们可以规定用于取得哪些比特的模式,比方说比特3、5、8、13、21、34、55、89(在这个情况中,b=8)。已经发现有利的是,将值“b”与设计的其它部分(例如,如下文描述的组合函数)相链接。在优选的实施例中,选择b个最低有效比特。
已经发现有利的是,将归约(reduction)步骤也包括到组合函数中,典型地作为组合的最后步骤。例如,组合函数可以包括对组合模数进行模运算。组合被选择,使得与多个函数相关联的多个模数中的至少一个具有以下属性:组合模数减去多个模数中的至少一个模数后是2的幂的倍数,更优选地,虽然有不同的倍数,但是所有的模数都具有这样的差。如果更多比特在电子设备之外是可见的,那么可以选择更大的二的幂。倍数中的乘数相对于系数而言是较小的,例如,小于二的幂。例如,人们可以将二的幂(2^b)取为2^8或者2^16,那么2的幂的倍数可以取为小于2^2b,即分别为2^16或者2^32。
例如,在实施例中,所有的模数mi均满足要求mi=N-2bci,而|ci|<2b,其中N是128比特大奇数,比方说随机数或者质数。值N可以被取为组合模数。这个选择增加了(扩展)隐藏数问题的难度。
降低输出比特的数量将随机数序列与所谓的噪声多项式内插问题相联系。至今已知的是:噪声多项式内插问题仅可能被使用基于晶格的方案、以相当大的计算努力来进行攻击。例如,参见Daniel Bleichenbacher和Phong Q. Nguyen的论文“Noisy Polynomial Interpolation and Noisy Chinese Remaindering”。还没有提出链接到噪声多项式内插问题的随机数生成。
如果偶然地,其它函数碰巧是不同寻常地小或者大的话,则可以说,从个体函数到输出的泄漏是最大的。可以想象,攻击可基于以下假设(猜想):输出的特定串对应于大多数函数的小值,以使得差不多所有贡献都来自于一个函数。虽然目前还不知道这样的攻击,但是它会遵循对于已组合序列的攻击的模式。为了主动挫败这样的企图,在实施例中,使用测试函数,其确定一个函数的贡献是否比其它函数的那些贡献要大得多,并且如果是的话,将阻挡输出去得到这个值。随后执行下一个迭代。在实施例中,函数求值设备被配置成将测试函数应用到随机数的内部序列中的下一个数,从而确定是否允许输出去访问随机数的内部序列中的下一个数,并且其中假如测试函数确定允许访问,则输出根据所生成的内部序列中的下一个数来生成随机数序列的下一个数,否则,函数求值设备生成内部序列中的下一个数,直到测试函数确定允许输出去访问内部序列中的该下一个数。
例如,如果所生成的数小于阈值(例如,在"b"个比特由输出函数输出的情况下是2^b)或者大于阈值(例如,在也使用了模归约的情况下是大于N-2^b),或者两种情况都存在的话,则测试函数可以不允许访问。
本发明另外的方面涉及用于利用流密码对数据序列加密的电子流密码设备,以及用于利用流密码对数据序列解密的电子流密码设备。电子流密码设备包括用于生成随机数序列的电子随机数生成设备、参数生成设备和组合设备。参数生成设备被配置成获得密码学密钥,比方说接收密钥或者生成密钥等等,以及配置电子设备的电子参数存储装置,用于依赖于密码学密钥而生成随机数序列。组合设备被配置用于将由电子设备生成的随机数序列与数据序列相组合,从而分别获得加密或者解密的数据序列,所述电子设备用于依赖于所配置的电子参数存储装置而生成随机数序列。例如,参数生成设备可以将密钥扩展函数应用到密钥,并且从其取得用于函数的系数,比方说多项式、模数和/或内部序列的初始值。组合设备可将数据序列与随机数序列相异或。
例如,在实施例中,参数生成设备被配置成利用根据密码学密钥确定的多个函数来配置用于生成随机数序列的电子设备的电子参数存储装置,所述随机数序列使用根据密码学密钥确定的多个函数而生成。
用于生成随机数序列并且用于加密或者解密的电子设备可以是移动电子设备,比方说移动电话或者机顶盒、或者电脑等等。
本发明的一个方面涉及用于生成随机数序列的方法,包括:存储多个函数,并且为多个函数中的每个函数存储相关联的模数,不是所有的模数都相等;以及生成随机数的内部序列,随机数的内部序列中的下一个数通过以下方式生成,即:对于多个函数中的每个函数,针对将随机数的内部序列中先前生成的数按与正求值的函数相关联的模数取模来对该函数求值,从而获得多个求值结果,并且将组合函数应用到多个求值结果,从而获得内部序列中的下一个数,并且根据所生成的内部序列中的下一个数来生成随机数序列中的下一个数。
按照本发明的方法可以在计算机上作为计算机实现的方法实现、或者在专用硬件中实现、或者在两者的组合中实现。用于按照本发明的方法的可执行代码可以存储在计算机程序产品中。计算机程序产品的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等等。优选地,计算机程序产品包括存储在计算机可读介质中的非瞬时性程序代码装置,其用于当所述程序产品在计算机上执行时完成按照本发明的方法。
在优选的实施例中,计算机程序包括适于当计算机程序在计算机上运行时,执行按照本发明方法的所有步骤的计算机程序代码装置。优选地,计算机程序在计算机可读介质中体现。
附图说明
本发明的这些和其它方面根据下文描述的实施例将是明显的,并且将参考下文描述的实施例进行阐明。在附图中,
图1是图示用于生成随机数序列的电子随机数生成设备的实施例的示意性方框图,
图2是图示用于利用流密码对数据序列进行加密或者解密的电子流密码设备的第一实施例的示意性方框图,
图3是图示用于生成随机数序列的方法的实施例的示意性流程图,
图4是图示用于利用流密码对数据序列进行加密或者解密的电子流密码设备的第二实施例的示意性方框图,
图5是图示照明系统的实施例的示意性方框图。
应该注意的是,在不同图中有相同参考数字的项具有相同的结构特征和相同的功能、或者是相同的信号。在已经解释了这样的项的功能和/或结构的场合,不必在详细描述中对其进行重复解释。
具体实施方式
虽然本发明能有许多不同形式的实施例,但是在附图中示出并且将在本文中详细描述一个或者多个具体实施例,且应理解,本公开内容要被认为是本发明原理的示范,而不打算用来将本发明限制于所示出和描述的具体实施例。
本发明可以与各种各样的参数、函数等等一起使用。在下文中,我们将参考图1和3描述用于生成随机数序列的一般实施例的电子设备。在下文中,我们将给出可被使用的不同参数等等的示例。
图1以示意性方框图示出电子随机数生成设备100。
电子随机数生成设备100包括电子参数存储装置110、电子函数求值设备120、内部序列存储器130和输出140。可选地,电子随机数生成设备100还包括测试函数设备150。
电子随机数生成设备100通过生成随机数的内部序列(简称为内部序列)而运转,所述随机数的内部序列通过基于内部序列中已经生成的值而迭代地生成下一个值来生成。在电子随机数生成设备100外部使用的随机数序列,也被称为外部的随机数序列(简称为外部序列),进而又从内部序列获得。
参数存储装置110包含用于多个函数的表示。例如,参数存储装置110可以包含多个多项式的表示。表示某个函数可以通过列举系数(比方说按照某模板)来完成。假如参数存储装置110包含多项式,则人们可以通过列举其系数来表示它们,比方说以某种固定的顺序对单项式的次数(degree)进行排序。如果使用一元多项式,则系数可以简单地按次数的顺序列举。如果使用多元多项式,则可以对次数强加某种其它的排序,比方说词典式排序。
对于存储在参数存储装置110中的每个函数,也存储与该函数相关联的模数。与函数相关联的模数将稍后当对该函数求值时使用并且确保各函数不会容易地在输出中被分离。模数不全是相等的,优选地,它们是全部不等的。
参数存储装置110可以被实现为电子存储器,比方说闪速存储器、或者磁存储器(比方说硬盘等等)。参数存储装置110可以包括多个离散存储器,其一起组成参数存储装置110。参数存储装置110还可以是临时存储器,比方说RAM。在临时参数存储装置110的情况下,参数存储装置110包含某些手段来在使用前获得参数,比方说通过随机生成或者通过在可选的网络连接(未示出)上获得它们。
函数求值设备120被连接到参数存储装置110,以使得设备120可以从其中获得多个函数的表示,比方说多个多项式。函数求值设备120被配置成使用多个函数来生成随机数的内部序列中的下一个值,且在下文中将被更完全地进行解释。
序列存储器130包含所生成的随机数的内部序列的所有或者一部分。随机数生成设备100被配置成首先生成随机数的内部序列,从该随机数的内部序列推导出用于输出的随机数的外部序列。在较简单的实施例中,外部序列可以被取为与内部序列相同,然而,被发现更安全的是,在输出随机数前,对各种类别的内部序列执行处理。序列存储器130至少大得足以包含随机数的内部序列的先前值,其典型地为紧靠地先前生成的值。假如存储在参数存储装置110中并且由函数求值设备120使用的函数是多元的,则序列存储器130大得足以包含对应数量的先前值。序列存储器130既被用作对于函数求值设备120的输入来生成内部序列中的下一个值,又被用作对于输出140的输入来生成下一个外部值。当生成新值时,序列存储器130被函数求值设备120更新。在序列存储器130的大小被限制于比方说一个值或者少量值的情况下,函数求值设备120将盖写最多迭代以前(most iterations ago)所生成的值。
由于函数求值设备120在先前值上操作,所以序列存储器130需要某种初始化。可以以各种方式为序列存储器130生成开始值。例如,为了创建可再生的随机序列——其在该序列用在比方说流密码中时是令人期望的,可以用固定值初始化序列存储器130。例如,固定值可以存储在参数存储装置110中。例如,全零可能是适当的开始值。假如不需要可再生性,则序列存储器130也可以用真值或者其它噪声值(比方说当前时间)初始化。
输出140根据内部序列确定外部序列。虽然输出140可能不做任何处理,但是优选的是,不输出内部序列。在实施例中,输出140被配置以数量“b”,并且输出140从内部序列中所生成的下一个值的二进制表示中选择b个比特来产生外部序列中的下一个值。例如,输出140可以选择b个最低有效比特。
在图1示出的实施例中,函数求值设备120包括函数求值器和求值结果组合器。函数求值器被配置成对在参数存储装置110中示出的多个函数中的函数求值,并归约按相关联的模数取模的结果。对每个函数重复求值,这由返回的线124指示。多个函数的结果随后由求值结果组合器128进行组合。函数求值设备120可以访问某个存储器,以便临时存储求值的结果。假如组合函数允许部分求值,则那个存储器可以被限制为单个值;否则,那个存储器应该临时存储所有多个求值结果。在实施例中,求值设备120包括多个函数求值器,这有益于并行化,但重要的是,这也允许对不同函数类型的使用,而无需对表示函数的方式(即,函数模板)进行大扩展。
求值结果组合器128可以是整数加法,这是优选的选择。求值结果组合器128也可以是函数求值的二进制表示的异或。求值结果组合器128也可以包括(典型地作为最后的步骤)归约步骤来减少结果。例如,如果随机数生成设备100在固定大小的内部字上操作,比方说128比特,则求值结果组合器128可以简单地将结果截短成固定大小,比方说通过移除最高有效比特。然而,通过使用模归约,到疑难问题的链接可以被加强,正如下文中将进一步解释的。在求值结果组合器128的模归约中使用的模数被称为组合模数(N)。
测试函数设备150是可选但有利的元件。为了避免任何一个输出给出关于多个函数中的一个特定函数的信息,测试函数设备150测试将被外部序列使用的内部序列的值是否不同寻常地小或者大。例如,测试函数设备150可以测试某个数是否低于阈值。例如,测试函数设备150可以测试某个数是否高于阈值。测试函数设备150也可以做这两个测试。阈值可以被设置成使得它们的对数与值的大小的以2为底的对数成比例。上阈值可能与多个模数中的最大模数有关,或者假如其被使用的话,上阈值可能与组合模数有关。
在下文中,给出了若干对于参数的示例性选择,所述参数可以在随机数生成设备100中使用(或者在用于生成如下文描述的随机数序列的方法300中使用)。
第一个示例:外部随机数序列可以被定义为序列:y n ,y n-1 ,…,使得每个元素y n 对应于内部序列的另一个元素x n b个比特,例如,                                               ,从在两个有限域多项式(fg)上且通过整数上的加法进行结果组合的x n 的求值而生成,x n 的求值表示为:。在这个表示法中,表示归约模q。注意x n 可能大于p或者q,因为它是作为在整数上的加法而生成的,由于模运算,所述值可以直接用于后续的y值。随机数生成器可以使用值x 0 作为初始种子来创建不同的序列,比方说随机值。
其它实施例包括下列内容:
1. 序列x n 也可以被构建如下:
使用随机的x 0 x 1 作为初始种子。
2. 多元多项式的使用,例如有两个变量,例如
使用随机的x 0 x 1 作为初始种子。
3. 具有已知初始输入x 0 的多项式的使用,但是其中某随机数据被使用来生成这些多项式的系数。
4. 序列x n 也可以通过使用先前值x n-1 的变换T( ):T(x n-1 )作为输入而构建。例如,T( )可以是x n-1 的x比特已移位的版本,或者进行映射,以使得x n-1 的第i比特在T(x n-1 )中被移动到第j比特。
附加地,对于两个函数而言,所使用的变换可以是不同的。
5. 序列x n 也可以通过按照函数B( )对多项式的输出进行组合而构建,以使得:
注意,在上文的实施例中,B( )是在整数上的加法,但是其它函数也是可能的,诸如异或等等。
在下文中,多给出选择参数的一种方式,因为其对应于特定的疑难数学问题,所以它是特别有利的。
作出关于组合模数(N)的大小,以及在一次迭代中输出的比特数量(b)的选择。在这个示例中,组合模数必须是奇数。组合模数可以例如被随机选择。可能优选的是为N选择质数,从而排除组合模数的不利的因式分解。组合模数和b可以被视为安全性参数,更大的组合模数是更安全的,且输出更少数量的比特是更安全的。同样,作出关于多项式数量l的选择,再次地,更多的多项式更安全。一种可能的选择是N=128、b=8、l=2。接下来,为每个多项式确定用于多项式的模数。
可以选择更大的数b,比方说8、16、32。多项式的数量可以更大,比方说三个。组合模数的大小可以更小,比方说32、64、80比特,或者可以更大,比方说196或者256或者处于这些值之间。
在这个实施例中,所有的模数m i 满足要求m i =N-2 b c i ,有|c i |<2 b ,其中N是组合模数。注意,模数既可以大于组合模数又可以小于组合模数。如果期望具有在中间值上的最大值(即N),那么c i 可以全部被选为正数。c i 可以被如下地选择:
1. 选择随机的小随机数c 1 …c l
2. 设定模数m i =N-2 b c i
3. 测试m i 是否是互质的,如果不是,转往步骤1。
通过将m i 选为不同的质数,可以避免步骤3,虽然这可能需要每个模数测试更多的候选c i 值以便找到质数,但是在另一方面,保证了所有m i 的集合是互质的。这也确保了函数是在域上而不是在环中被求值。
在选择模数之后,利用系统按相关联的模数取模来确定多项式,即多项式i是按模数m i 取模的。可以随机选择系数。我们将假设一元多项式,但是二元多项式也是可能的。多项式可具有相等的或者不同的次数。优选地,多项式的至少一个具有二次或者更高次。
整数加法被用来作为组合函数,,其后跟有模归约,所述模归约按组合模数N取模。由于这个模数如此接近所有其它模数,所以其效果是特别强的。模运算的结果是内部序列中的下一个值。作为输出函数,可以使用模运算的结果的b个最低有效比特。
本实施例和其它实施例已经使用用于NIST Special Publication 800-22“A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications”中规定的随机性的测试套件进行了测试。发现这样生成的随机数序列中的随机属性对于密码学用途是很充分的。
典型地,电子随机数生成设备100包括微处理器(未示出),其执行存储在电子随机数生成设备100中的合适的软件,例如,所述软件可能已经被下载并且存储在相应的存储器中,例如RAM或者闪速存储器(未示出)。
图3在示意性流程图中图示用于生成随机数序列的方法300。所述方法可以与电子随机数生成设备100一同使用,然而这不是必须的。尽管如此,方法300在电子设备上被最好地执行,尤其是作为计算机实现的方法。
在步骤310,获得多个函数,并且为多个函数中的每个函数获得相关联的模数,不是所有的模数都相等。在步骤320,生成随机数的内部序列的初始值。例如,这些初始值可以是从某个其它源获得的噪声值。在初始序列是不可预测的范围内,在这种情况下,所产生的序列将是不可预测的。可替换地,这些初始值可以是确定的值,比方说全0;在这种情况下,序列将是可再生的。对于不知道初始值的攻击者(例如,因为它们对于他被保密)而言,所述序列将与真的随机序列难以分辨。至少任何可区别性都将不足以用来预测序列的未来值。在步骤330,生成随机数的内部序列中的下一个数。这以在步骤332-338中所给出的方式完成。在步骤332,获得随机数的内部序列中先前生成的数。如果序列被标记为x i 而现在正生成的下一个数是x n (更高的下标对应于更新近生成的值),那么使用的数可能是x n-1 ,其也可能是另一个值。注意,在这个流程图中,相同的先前值被使用于所有的函数。这是优选的情况,因为其保证了在函数之间的相依性。在步骤334,针对内部序列的先前获得的生成值(x n-1 )按与正求值的函数相关联的模数取模来对函数求值。假如函数是多项式或者是可能后面跟随有线性函数或者多项式的S-box的组合,则这样的计算对于低资源设备是可能的。这样的函数也可以以自然的方式进行编码,比方说在存储器110中。在步骤336,确定是否存在剩余的函数要求值,并且如果存在的话,流程返回步骤334来对多个函数中的下一个函数求值。在步骤338,多个求值结果通过应用组合函数而被组合。对于许多函数而言,特别是加法和异或等等,步骤338可以整合在步骤336中。在步骤340,根据内部序列中的所生成的下一个数,生成随机数序列的下一个数。
执行方法的许多不同方式是可能的,正如对本领域的技术人员而言将明显的。例如,步骤的顺序可以变化,或者某些步骤可以并行地执行。而且,在步骤之间,可以插入其它方法步骤。插入的步骤可以代表方法的精细化,诸如本文描述的,或者可以与本方法无关。例如,可以至少部分地并行执行步骤310和320或者步骤334。而且,在下一个步骤开始之前,给出的步骤可能还没有完全完成。
按照本发明的方法可以使用软件来执行,所述软件包括用于使处理器系统执行方法300的指令。软件可以仅包括那些由系统的特定子实体所采用的步骤。所述软件可以存储在适当的存储介质中,诸如硬盘、软盘、存储器等等。软件可以作为信号沿着线、或者无线地、或者使用数据网络(例如,互联网)来发送。可以使软件对于下载和/或对于服务器上的远程使用是可用的。
图2图示流密码中的随机序列的使用。
该图显示参数生成设备210。参数生成设备210被配置成取得密码学密钥作为输入并且产生用于在电子随机数生成设备100中使用的参数。注意,参数中的某些可能是固定的,某些可能被生成。典型地,多项式的数量、输出比特的数量和多项式的次数将基于对威胁模型的评估而提前确定。在这个实施例中,参数生成设备210将至少生成多个模数或者多个函数中的一个。优选地,参数生成设备210既生成多个模数又生成多个函数。参数生成设备210可以生成或者不生成函数本身。优选的是,参数生成设备210将生成函数。例如,参数生成设备210可以生成系数序列,以作为多项式系数使用。流密码设备200进一步包括组合设备240,用于组合随机数序列。而且,流密码设备200被配置成比方说从输入中或者从存储装置中或者从生成中获得数据流,并且被配置成进一步处理输出流。数据流可以代表明语(plain)数据流,在这种情况下,输出流是对应的加密数据流。数据流也可以代表加密数据流,在这种情况下,输出流代表明语数据流。通过将输入流与取自电子随机数生成设备100的随机数的序列(流)相组合,从输入流中获得输出流。
在操作中,参数生成设备210接收密码学密钥;比方说对攻击者而言是秘密的128比特或者256比特密钥。参数生成设备210也有可能接收现时或者其它数据。利用接收的数据,参数生成设备210配置电子随机数生成设备100,即配置参数存储装置110。这时,电子随机数生成设备100被配置来产生随机数序列。一旦流密码设备200开始接收输入流220,输入流就被与随机数序列相结合。这可以以各种各样的方式完成,例如,如在流密码本身的领域中已知的方式。特别地,组合设备240可以是异或设备。以这种方式,产生输出流。输出流可以被存储、或者被进一步处理或者被传输等等。
由电子随机数生成设备100使用的序列的初始值可以从密钥中、或者从计数器中获得,或者可以是固定的;它们也可以从存储器110中被获得,例如,由参数生成设备210配置在那里的。
在流密码设备200的实施例中,在伪随机数生成器中使用的多项式的系数从秘密密钥K生成。随后,伪随机生成器通过多项式形成,产生随机序列作为输出。每个随机序列然后同明文进行异或,从而生成密文。解密过程与加密相同,只是输入是密文消息而输出是明文消息。
为了使得对于相同的密钥能有用于不同消息的不同伪随机序列,可以使用现时,并且将其与密文一同交换。现时可以与序列存储器130中的初始值相组合,或者现时可以与作为输入的密钥相组合来生成多项式系数。通过与密钥相组合,可以生成不同的多项式,其进而又生成不同的伪随机序列。一种用来将现时与密钥或者计数器值相组合的方式是将它们异或或者级联。
图4示出了一个不同的替换方案,其使用固定的并且可能是公开的系数用于多项式和模数,但使用秘密密钥来初始化伪随机数生成器。
该过程牵涉到使用秘密密钥K(或者从K推导出的数)作为用于电子随机数生成设备100的初始种子;作为一个示例,比方说使用两个多项式,比方说每个多项式是2次多项式(但是其它选择也是可能的)。
两个多项式的求值的结果被比方说通过简单加法来组合,从而获得R。出自R的n个中的仅b比特被暴露为伪随机序列。为了生成接下来的b个伪随机比特,上一次的结果R被使用来更新下一个输入。
附加的元素“现时”可以用在参数生成设备210中,其确保如果新消息被加密的话,对于相同的密钥K获得的伪随机序列是不同的。这么做的一种方式将是取得密钥K并且将其与现时进行异或。
扩展密钥可以通过对它们进行散列(hash)而完成,比方说在需要多个块的情况下与计数器一起散列。Sha-1和Sha-256是适当的选择。
流密码可适用于尤其是在资源受约束的设备中需要保护通信的产品和服务。这样的资源受约束的系统的示例是照明控制。这样的系统在图5中被图示。图5示出电灯控制器510和电灯520。灯控制器510可以监测和/或控制灯520。灯520可以是比方说灯/LED驱动器组合。灯控制器510和灯520被配置成双向通信。然而,如果仅需要监测或者仅需要控制的话,也可能使用单向通信。灯控制器510和灯520共享共有的秘密密钥K。灯控制器510和灯520两者都包括诸如流密码设备200或者流密码设备400这样的设备。通过使用共享的秘密和可能它们早先已经交换的现时(可能是以明语的),灯控制器510和灯520两者都配置电子随机数生成设备100。如果灯控制器510把消息发送到灯520比方说用于控制,则其被加密为流密码。当在灯520处接收到消息时,所述消息可被使用相同的所生成的随机数序列进行解密。从灯520到灯控制器510的通信相反地运转。
应留意的是,本发明也扩展到计算机程序,特别是在载体上或者载体中的计算机程序,其适于将本发明付诸实践。程序可以具有以下形式:源代码、目标代码、诸如部分编译形式那样的代码中间源和目标代码,或者程序可以具有任何适用于在按照本发明的方法的实现中使用的其它形式。涉及计算机程序产品的实施例包括对应于所阐述方法中的至少一个方法的每一个处理步骤的计算机可执行指令。这些指令可以被细分为子例程和/或被存储在可能被静态或者动态链接的一个或者多个文件中。涉及计算机程序产品的另一个实施例包括对应于所阐述系统和/或产品中的至少一个系统和/或产品的每一个装置的计算机可执行指令。
应该注意的是,上文提到的实施例是对本发明进行举例说明,而不是进行限制,并且本领域技术人员将能够设计许多可替换的实施例。
在权利要求中,放置在圆括号之间的任何参考标记不应被解读为限制所述权利要求。动词“包括”及其词形变化的使用不排除除了那些在权利要求中陈述的元件或者步骤之外的其它元件或者步骤的存在。在元件之前的冠词“一”或者“一个”不排除多个这样的元件的存在。本发明可以通过包括几个明显不同的元件的硬件来实现,并且可以通过适当编程的计算机来实现。在枚举几个装置的设备权利要求中,这些装置中的几个可以由硬件的同一项来体现。在相互不同的从属权利要求中陈述某些措施的单纯事实并不表明这些措施的组合不能被用来获益。
图1、2、4和5中参考数字的列表
100 用于生成随机数序列的电子随机数生成设备
110 电子参数存储装置
120 电子函数求值设备
122 函数求值器
124 控制路径
128 求值结果组合器
130 内部序列存储器
140 输出
150 测试函数设备
200 用于利用流密码对数据序列加密或者解密的电子流密码设备
210 参数生成设备
220 数据流
230 输出流
240 组合设备
400 用于利用流密码对数据序列加密或者解密的电子流密码设备
500 电子照明控制系统
510 电灯控制器
520 电灯

Claims (14)

1. 一种用于生成随机数序列的电子随机数生成设备(100),所述电子随机数生成设备包括:
-   电子参数存储装置(110),其被配置成存储多个函数,并且为所述多个函数中的每个函数存储相关联的模数,不是所有的模数都相等,以及
-   电子函数求值设备(120),被配置成生成随机数的内部序列,所述电子函数求值设备(120)被配置成通过以下方式生成该随机数的内部序列中的下一个数
--     对于所述多个函数中的每个函数,针对该随机数的内部序列的先前生成值按与正求值的函数相关联的模数取模来对该函数求值,从而获得多个求值结果,并且
--     将组合函数应用到该多个求值结果,从而获得该内部序列中的下一个数,以及
-   输出(140),其被配置成根据该内部序列中的所生成的下一个数,生成该随机数序列的下一个数。
2. 如权利要求1中的用于生成随机数序列的电子随机数生成设备,其中所述多个函数中的函数是多项式。
3. 如权利要求2中的用于生成随机数序列的电子随机数生成设备,其中所述多个多项式的至少一个具有2次或者更高次。
4. 如前述权利要求中任一项的用于生成随机数序列的电子随机数生成设备,其中所述函数的至少一个是具有若干变量的多元函数,所述函数求值设备被配置成获得与变量数量相同数量的、该随机数的内部序列中的先前生成的数,并且至少针对该多个所获得的先前生成的数来对该多元函数求值。
5. 如前述权利要求中任一项的用于生成随机数序列的电子随机数生成设备,其中所述组合函数是整数加法。
6. 如前述权利要求中任一项的用于生成随机数序列的电子随机数生成设备,其中所述输出被配置成通过从该内部序列中的所生成的下一个数选择若干(b)个比特,生成随机数序列中的下一个数。
7. 如前述权利要求中任一项的用于生成随机数序列的电子随机数生成设备,其中所述函数求值设备被配置成将测试函数应用到随机数的内部序列中的下一个数,从而确定输出是否被允许访问该随机数的内部序列中的下一个数,并且其中
-   假如所述测试函数确定允许访问,则所述输出根据该内部序列中的所生成的下一个数,生成随机数序列的下一个数,否则所述函数求值设备生成该内部序列中的下一个数,直到所述测试函数确定允许所述输出访问该内部序列中的下一个数。
8. 如前述权利要求中任一项的用于生成随机数序列的电子随机数生成设备,其中所述组合函数包括通过组合模数进行的模运算,与该多个函数相关联的该多个模数的至少一个具有以下属性:组合模数减去该多个模数中的至少一个模数等于2的幂的倍数。
9. 如前述权利要求中任一项的用于生成随机数序列的电子随机数生成设备,其中所述与多个函数相关联的模数是互质的。
10. 一种用于通过流密码对数据序列加密或解密的电子流密码设备(200,400),所述电子流密码设备包括:
-   电子随机数生成设备(100),用于生成如前述权利要求的任一项的随机数序列,
-   参数生成设备(210),被配置成获得密码学密钥,并且用于配置电子设备的电子参数存储装置以用于依赖于所述密码学密钥而生成随机数序列,
-   组合设备(240),用于将由所述电子设备生成的随机数序列与数据序列相组合,从而分别获得加密或者解密的数据序列,其中所述电子设备用于依赖于所配置的电子参数存储装置而生成随机数序列。
11. 一种控制系统(500),包括控制器(510)和受控的设备(520),它们每个都包括如权利要求10中所要求保护的电子流密码设备(200,400)。
12. 一种用于生成随机数序列的方法,所述方法包括:
-   获得多个函数,并且为该多个函数中的每个函数获得相关联的模数,不是所有的模数都相等,并且
-   生成随机数的内部序列,随机数的内部序列中的下一个数通过以下方式生成
--     对于所述多个函数中的每个函数,针对该随机数的内部序列中的先前生成值按与正求值的函数相关联的模数取模来对该函数求值,从而获得多个求值结果,并且
--     将组合函数应用到该多个求值结果,从而获得该内部序列中的下一个数,以及
-   根据该内部序列中的所生成的下一个数,生成该随机数序列的下一个数。
13. 一种计算机程序,包括计算机程序代码装置,其适于当所述计算机程序在计算机上运行时,执行权利要求12的所有步骤。
14. 一种计算机可读介质,其上存储有如权利要求13所要求的计算机程序。
CN201480001595.0A 2013-02-28 2014-02-20 随机数生成器和流密码 Active CN104380245B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP13157133 2013-02-28
EP13157133.3 2013-02-28
PCT/EP2014/053268 WO2014131677A1 (en) 2013-02-28 2014-02-20 Random number generator and stream cipher

Publications (2)

Publication Number Publication Date
CN104380245A true CN104380245A (zh) 2015-02-25
CN104380245B CN104380245B (zh) 2017-10-24

Family

ID=47832933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480001595.0A Active CN104380245B (zh) 2013-02-28 2014-02-20 随机数生成器和流密码

Country Status (7)

Country Link
US (1) US10359996B2 (zh)
EP (1) EP2962185B1 (zh)
JP (1) JP5911654B2 (zh)
CN (1) CN104380245B (zh)
BR (1) BR112014027817A2 (zh)
RU (1) RU2661564C2 (zh)
WO (1) WO2014131677A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107371304A (zh) * 2016-05-11 2017-11-21 福特环球技术公司 受到照明的车辆徽章
CN107534550A (zh) * 2015-04-30 2018-01-02 皇家飞利浦有限公司 用于计算块密码的密码设备
CN107622102A (zh) * 2017-09-11 2018-01-23 平安科技(深圳)有限公司 实体卡号生成方法及终端设备
CN109039601A (zh) * 2018-07-18 2018-12-18 电子科技大学 一种基于后处理的混沌安全密钥分发方法及系统
CN109478999A (zh) * 2016-04-05 2019-03-15 罗之落有限责任公司 用于从在网络上传输并存储在数据存储设施中的数据中移除信息的反式加密方法和设备
CN109543421A (zh) * 2018-12-12 2019-03-29 四川大学华西医院 一种基于多项式数论加密算法的医疗信息保护系统及方法
CN109582830A (zh) * 2018-12-20 2019-04-05 郑州云海信息技术有限公司 一种端口列表的生成方法及装置
CN109661792A (zh) * 2017-06-09 2019-04-19 皇家飞利浦有限公司 计算分组密码的设备和方法
CN111669269A (zh) * 2020-06-08 2020-09-15 晋商博创(北京)科技有限公司 Blk数据加密方法、装置及存储介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10454674B1 (en) * 2009-11-16 2019-10-22 Arm Limited System, method, and device of authenticated encryption of messages
US10686781B1 (en) 2013-12-24 2020-06-16 Affirm Inc. System and method for passwordless logins
FR3049132B1 (fr) * 2016-03-18 2018-03-23 Continental Automotive France Procede pour limiter le bruit radio, notamment dans la bande fm, par interpolation polynomiale
JP6859645B2 (ja) * 2016-09-29 2021-04-14 日本電気株式会社 乱数生成システム、乱数生成装置、乱数生成方法及びプログラム
US10608822B2 (en) * 2017-04-26 2020-03-31 Nxp B.V. Efficient calculation of message authentication codes for related data
GB201713499D0 (en) 2017-08-23 2017-10-04 Nchain Holdings Ltd Computer-implemented system and method
TWI760546B (zh) 2017-08-23 2022-04-11 安地卡及巴布達商區塊鏈控股有限公司 用於高安全性高速資料加密及傳輸的電腦實施系統與方法
EP3493460A1 (en) * 2017-12-01 2019-06-05 Gemalto Sa Cryptography device having secure provision of random number sequences
US11108552B1 (en) * 2018-05-02 2021-08-31 Amazon Technologies, Inc. Data encryption method and system
CN111371547B (zh) * 2020-03-03 2023-01-13 江苏芯盛智能科技有限公司 一种重叠子序列检测方法、系统、设备及计算机存储介质
JP7446923B2 (ja) 2020-06-02 2024-03-11 キオクシア株式会社 半導体装置及び半導体記憶装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044119A1 (en) * 2003-08-21 2005-02-24 Langin-Hooper Jerry Joe Pseudo-random number generator
CN101242265A (zh) * 2008-03-07 2008-08-13 四川虹微技术有限公司 安全系统中流密码、伪随机数产生方法
US20090060180A1 (en) * 2007-08-29 2009-03-05 Red Hat, Inc. Method and an apparatus to generate pseudo random bits for a cryptographic key

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994016509A1 (en) * 1992-12-30 1994-07-21 Telstra Corporation Limited A method and apparatus for generating a cipher stream
RU2163027C2 (ru) 1999-04-13 2001-02-10 Военный университет связи Генератор псевдослучайной последовательности (варианты)
RU2246129C2 (ru) 2003-01-13 2005-02-10 Осмоловский Станислав Антонович Способ генерации случайных чисел
US7263540B1 (en) 2004-03-03 2007-08-28 The United States Of America As Represented By The Director National Security Agency Method of generating multiple random numbers
EP1792252A1 (en) 2004-09-22 2007-06-06 Nokia Corporation Method and apparatus for generating pseudo random numbers
US7860912B1 (en) 2006-12-08 2010-12-28 Nvidia Corporation Random number generator with improved uniformity for networking
WO2010106496A1 (en) 2009-03-19 2010-09-23 Koninklijke Philips Electronics N.V. A method for secure communication in a network, a communication device, a network and a computer program therefor
WO2012072772A1 (en) * 2010-12-02 2012-06-07 Nagravision S.A. System and method to record encrypted content with access conditions
JP2015521003A (ja) * 2012-05-21 2015-07-23 コーニンクレッカ フィリップス エヌ ヴェ 暗号鍵の決定

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044119A1 (en) * 2003-08-21 2005-02-24 Langin-Hooper Jerry Joe Pseudo-random number generator
US20090060180A1 (en) * 2007-08-29 2009-03-05 Red Hat, Inc. Method and an apparatus to generate pseudo random bits for a cryptographic key
CN101242265A (zh) * 2008-03-07 2008-08-13 四川虹微技术有限公司 安全系统中流密码、伪随机数产生方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107534550A (zh) * 2015-04-30 2018-01-02 皇家飞利浦有限公司 用于计算块密码的密码设备
CN107534550B (zh) * 2015-04-30 2020-09-11 皇家飞利浦有限公司 密码设备、密码方法、计算设备和计算机可读存储介质
CN109478999A (zh) * 2016-04-05 2019-03-15 罗之落有限责任公司 用于从在网络上传输并存储在数据存储设施中的数据中移除信息的反式加密方法和设备
CN107371304A (zh) * 2016-05-11 2017-11-21 福特环球技术公司 受到照明的车辆徽章
CN109661792A (zh) * 2017-06-09 2019-04-19 皇家飞利浦有限公司 计算分组密码的设备和方法
CN109661792B (zh) * 2017-06-09 2020-03-10 皇家飞利浦有限公司 计算分组密码的设备和方法
CN107622102A (zh) * 2017-09-11 2018-01-23 平安科技(深圳)有限公司 实体卡号生成方法及终端设备
CN107622102B (zh) * 2017-09-11 2019-04-19 平安科技(深圳)有限公司 实体卡号生成方法及终端设备
CN109039601A (zh) * 2018-07-18 2018-12-18 电子科技大学 一种基于后处理的混沌安全密钥分发方法及系统
CN109039601B (zh) * 2018-07-18 2021-03-19 电子科技大学 一种基于后处理的混沌安全密钥分发方法及系统
CN109543421A (zh) * 2018-12-12 2019-03-29 四川大学华西医院 一种基于多项式数论加密算法的医疗信息保护系统及方法
CN109582830A (zh) * 2018-12-20 2019-04-05 郑州云海信息技术有限公司 一种端口列表的生成方法及装置
CN111669269A (zh) * 2020-06-08 2020-09-15 晋商博创(北京)科技有限公司 Blk数据加密方法、装置及存储介质
CN111669269B (zh) * 2020-06-08 2023-08-15 晋商博创(北京)科技有限公司 Blk数据加密方法、装置及存储介质

Also Published As

Publication number Publication date
BR112014027817A2 (pt) 2017-06-27
US10359996B2 (en) 2019-07-23
EP2962185A1 (en) 2016-01-06
JP5911654B2 (ja) 2016-04-27
EP2962185B1 (en) 2016-11-16
JP2016505887A (ja) 2016-02-25
RU2014151365A (ru) 2016-07-10
CN104380245B (zh) 2017-10-24
WO2014131677A1 (en) 2014-09-04
US20150358154A1 (en) 2015-12-10
RU2661564C2 (ru) 2018-07-19

Similar Documents

Publication Publication Date Title
CN104380245A (zh) 随机数生成器和流密码
JP6517438B2 (ja) ターゲットブロック暗号を計算する暗号デバイス
KR20170139067A (ko) 콤팩트 소스 코드로부터의 암호화 함수 파라미터의 생성
CN102263636B (zh) 一种融合神经网络与混沌映射的流密码密钥控制方法
EP3732822B1 (en) Whitebox computation of keyed message authentication codes
CN105024803A (zh) 白箱实现中的行为指纹
CN101911009B (zh) 用于以签名方案进行非对称加密的对策方法和设备
Coron et al. Side-channel masking with pseudo-random generator
Hell et al. An AEAD variant of the grain stream cipher
CA2983166A1 (en) Generating cryptographic function parameters based on an observed astronomical event
Tomb Automated verification of real-world cryptographic implementations
CN105359455A (zh) 电子签名系统
EP3078154B1 (en) A computing device for iterative application of table networks
Anghelescu Encryption algorithm using programmable cellular automata
Yang et al. PLCrypto: A symmetric cryptographic library for programmable logic controllers
Butler et al. How to simulate it in isabelle: Towards formal proof for secure multi-party computation
Al-Muhammed et al. Encryption technique based on fuzzy neural network hiding module and effective distortion method
Zhao et al. Design of Improved DES Algorithm Based on Double Plaintext
JP7383949B2 (ja) 情報処理装置及びプログラム
JP6881588B2 (ja) 秘密計算装置、秘密計算方法、プログラム、および記録媒体
Kuznetsov et al. Generation of Pseudo-random Sequences of the Maximum Period Using Elliptic Curves Transformations
Chervyakov et al. Researches of Algorithm of PRNG on the Basis of Bilinear Pairing on Points of an Elliptic Curve with Use of a Neural Network
Zimmermann Cryptanalysis using reconfigurable hardware clusters for high-performance computing
Klein et al. The Blum-Blum-Shub generator and related ciphers
Hina et al. Chaotic pseudorandom sequences and the security of cryptosystems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant