随机数生成器和流密码制造技术

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

【技术实现步骤摘要】
【国外来华专利技术】随机数生成器和流密码
本专利技术涉及生成随机数序列,并且涉及借助于随机数序列利用流密码(stream cipher)对数据序列进行加密或者解密。
技术介绍
随机数生成对许多密码学算法而言是重要要素。例如,需要随机数来产生现时 (nonce)、密钥(包括会话密钥)等等。同样可能需要随机数来控制密码学算法自身。需要特 别大数量的随机数的一种类型的密码学算法是所谓的流密码。在流密码中,明文的流是通 过将其与随机数的流相组合而加密的;两个流典型地被异或在一起。优选的是不使关于明 文流的统计学假设发生,这意味着随机数的流对于攻击必须特别有弹性(resilient);尤其 是因为它的很大的量对于攻击者而言都是可得到的。要理解的是,当提到生成随机数时,并 非意味着真随机数,而是意味着伪随机数。 随机数也在密码学领域之外被使用。例如,随机数在统计学中得以使用。仿真也可 能使用随机数来对真实世界事件的不可预测性建模。然而,在密码学领域中置于随机数上 的需求不同于那个领域之外的那些需求。在密码学中,安全性拥有压倒一切的重要性。密 码学和统计学两者都偏好所生成的随机数与真随机数是难以分辨的。然而,通向这的途径 是不同的。在统计学和相关的领域,没有相关的统计测试可以检测出两个流之间的区别就 足够了。然而,在密码学中,必须假设的是,攻击者愿意在调查被推测的随机数中投入显著 的计算资源。例如,攻击者可能对从过去的值预测未来的值感兴趣。 将在密码学中使用的随机数的流可以优选地是快速生成但仅需要少量资源的;t匕 方说小的智能卡或者RFID芯片。与此同时,它必须相对于愿意投入不成比例的计算量的攻 击者是安全的。这些相互矛盾的需求已经导致了许多提出的设计。 例如,一种类型的随机数生成器是所谓的线性移位寄存器。线性移位寄存器产生 比特序列。序列中的下一比特通过推算序列中所选择的先前比特的固定组合而被计算出 来。线性移位寄存器具有长周期、相对好的统计属性并且是在使用少量资源的情况下很快 的。但是,它们在面对密码学攻击时是不安全的:可以使用所谓的Berlekamp-Massey算法 来攻击流。 JamesEGentle的书的章节:在:RandomNumberGenerationandMonteCarlos Methods(SecondEdition),' 中的ChapterI.SimulatingRandomNumbersfroma UniformDistribution,2005 年I月I日(2005-01-01),Springer,纽约,XP055082923, ISBN:978-0-38-700178-4,第1-56页公开了若干现有技术的解决方案。它在第46页的I. 8 节中描述了随机数生成经常可以通过将一个以上的生成器相组合而得以改进,并且被组合 的生成器可以是任何类型的。它还描述了一种使用线性同余生成器和两个移位寄存器生成 器的组合生成器。 改进来自于取得两个独立生成的线性移位寄存序列并且以某种非线性方式将它 们组合。这种方法的示例是所谓的收缩(shrinking)生成器或者交替步进(alternating St印)生成器。这种思想在于,具有两个独立线性移位寄存器会使得必须被确定以攻击序列 的参数数量加倍;而且两个不相关的参数集必须从它们的作用在其中被混合的单个流中以 某种方式推导出来。 的确,它证实了:两个由线性移位寄存器生成的独立序列的组合确实增加了密码 学攻击的难度。然而,尽管如此,这样的攻击仍然是可能的,虽然它们需要从更大量的随机 数入手来研究。因此,仍然存在对于改进的随机数生成器的需要。
技术实现思路
将有利的是具有一种改进的随机数生成器,尤其是供密码学算法所用。本专利技术由 独立权利要求限定。从属权利要求限定有利的实施例。 提供了用于生成随机数序列的电子随机数生成设备。电子随机数生成设备包括电 子参数存储装置、电子函数求值设备和输出。电子参数存储装置被配置成存储多个函数并 且为多个函数中的每个函数存储相关联的模数(modulus)。不是所有的模数都相等。 电子函数求值(evaluation)设备被配置成生成随机数的内部序列。电子函数求 值设备被配置成通过以下方式生成随机数的内部序列中的下一个数,即:为多个函数中的 每个函数,针对该随机数的内部序列中先前生成的数按与正求值的函数相关联的模数取模 来对该函数求值,从而获得多个求值结果,并且将组合函数应用到该多个求值结果,以获得 该内部序列中的下一个数。 输出被配置成根据该内部序列中的所生成的下一个数,生成随机数序列的下一个 数。 本专利技术人洞悉到,从两个独立的序列生成随机数序列不一定是优点。与其说使问 题复杂化,倒不如说独立性也可能帮助了攻击者。实际上,对于组合的线性移位寄存器的攻 击试图将流彼此隔离,从而分开地攻击它们。典型地,这通过对一个流作出某种假设(猜 想),并且通过针对另一个流进行推算来验证那些猜想而完成。例如,在T.Johansson发 表于ASIACRYPT1998:342-356 的论文'ReducedComplexityCorrelationAttackson TwoClock-ControlledGenerators中描述了对于交替步进生成器的攻击。建议等待含有 数量较少的一的、长度为M的分段,并且作出假设:仅有一半的零来自于第一线性移位寄存 器。随后假设:所有的一和剩余的零均来自于第二线性移位寄存器。 由本专利技术人提出的随机数生成器克服了这个固有的缺陷。随机数的内部序列(即, 对用于生成随机数序列的电子设备而言是内部的)是通过将组合函数应用到多个求值结果 而生成的。多个求值结果不是独立地获得的,而是,它们每个都取决于相同的内部序列。对 于内部随机序列的较大参数状态和独立贡献是通过从一些函数获得多个求值结果而达到 的,所述函数通过不同模数进行求值。从数学上说,这意味着多个求值结果是从数学上不相 容的结构获得的。例如,对于模数是质数的情况,这些数学结构是所谓的域(field),在一 个域与另一个域之间的加法和乘法之间不存在关系。当模数不(全)是质数时,相似的观测 结果仍适用,在这种情况下,作为结果的结构可能被表征为环(ring)。 优选地,对多个函数的求值共享至少一个先前值作为共享的输入。再次地,多个求 值结果不是独立地获得的,而是,它们每个都取决于相同的内部序列,而且取决于该序列中 的共享值。在这种情况下,先前值的获得可以为所有函数立即完成。例如,函数求值设备可 以被配置用于获得随机数的内部序列中的先前生成的数,该所获得的数可以在所有函数求 值中使用。可替换地,每个求值单独地获得先前生成的数。 借助于这些步骤,本专利技术人确保对于随机性的贡献来自于多个源,每个源都随其 带有添加复杂度的参数,而与此同时,避免生成多个完全独立的序列,其可能被攻击者利用 来简化攻击。换言之,独立性不是从独立生成的序列获得的,而是通过不相容的下层数学结 构获得的。 在优选的实施例中,随机数序列被使用在诸如流密码的密码学算法中。 存储某个函数可通过存储函数的系数来完成。例如,可以定义覆盖许本文档来自技高网
...

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

【技术特征摘要】
【国外来华专利技术】2013.02.28 EP 13157133.31. 一种用于生成随机数序列的电子随机数生成设备(100),所述电子随机数生成设备 包括: -电子参数存储装置(110),其被配置成存储多个函数,并且为所述多个函数中的每个 函数存储相关联的模数,不是所有的模数都相等,以及 -电子函数求值设备(120),被配置成生成随机数的内部序列,所述电子函数求值设备 (120)被配置成通过以下方式生成该随机数的内部序列中的下一个数 一对于所述多个函数中的每个函数,针对该随机数的内部序列的先前生成值按与正求 值的函数相关联的模数取模来对该函数求值,从而获得多个求值结果,并且 一将组合函数应用到该多个求值结果,从而获得该内部序列中的下一个数,以及 -输出(140),其被配置成根据该内部序列中的所生成的下一个数,生成该随机数序列 的下一个数。2. 如权利要求1中的用于生成随机数序列的电子随机数生成设备,其中所述多个函数 中的函数是多项式。3. 如权利要求2中的用于生成随机数序列的电子随机数生成设备,其中所述多个多项 式的至少一个具有2次或者更高次。4. 如前述权利要求中任一项的用于生成随机数序列的电子随机数生成设备,其中所述 函数的至少一个是具有若干变量的多元函数,所述函数求值设备被配置成获得与变量数量 相同数量的、该随机数的内部序列中的先前生成的数,并且至少针对该多个所获得的先前 生成的数来对该多元函数求值。5. 如前述权利要求中任一项的用于生成随机数序列的电子随机数生成设备,其中所述 组合函数是整数加法。6. 如前述权利要求中任一项的用于生成随机数序列的电子随机数生成设备,其中所述 输出被配置成通过从该内部序列中的所生成的下一个数选择若干(b)个比特,生成随机数 序列中的下一个数。7. 如前述权利要求中任一项的用于生成随机数序列的电子随机数生成设备,其中所述 函数求值设备被配置成将测试函数应用到随机数的内部序列中的下一个数,从而确定输出 是否被允许访问该随机数的内部序列中的下一个数,并且其中 -假如所述测试函数确定允许访问,则所述输出根据该内部序列中的所生成的下一个 数,生...

【专利技术属性】
技术研发人员:O加西亚莫乔恩SS库马LMGM托休泽恩
申请(专利权)人:皇家飞利浦有限公司
类型:发明
国别省市:荷兰;NL

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1