提供真随机数的指令制造技术

技术编号:21207909 阅读:49 留言:0更新日期:2019-05-25 03:44
执行被配置为执行多个功能的指令。基于与指令相关联的功能代码具有选定值,检查指令的一个或多个输入以确定要执行多个功能中的哪一个或哪几个功能。基于该一个或多个输入中的第一输入具有第一值,执行提供原始熵的功能,其中,提供原始熵包括存储多个原始随机数。此外,基于该一个或多个输入中的第二输入具有第二值,提供提供调节熵的功能,其中,提供调节熵包括存储多个调节随机数。

Instructions to Provide True Random Numbers

Execute instructions configured to perform multiple functions. Based on the selected value of the function code associated with the instruction, one or more inputs of the instruction are checked to determine which or which functions of the multiple functions are to be performed. Based on the fact that the first input of one or more inputs has a first value, the function of providing the original entropy is performed, in which providing the original entropy includes storing a plurality of original random numbers. In addition, based on the second input of one or more inputs having a second value, the function of providing adjustment entropy is provided, in which the provision of adjustment entropy includes storing a plurality of adjustment random numbers.

【技术实现步骤摘要】
【国外来华专利技术】提供真随机数的指令
技术介绍
一个或多个方面一般涉及计算环境内的处理,尤其涉及与生成真随机数相关联的处理。计算机应用程序将随机数用于各种功能,包括数据加密密钥的生成、复杂现象的仿真、从较大数据集中选择样本、游戏等。为了生成随机数,使用随机数发生器(RNG)。随机数发生器是一种计算设备或物理设备,其被设计为生成一系列数字或符号,这些数字或符号最好通过随机机会进行合理预测。随机数可以是伪随机数或真随机数。使用伪随机数发生器(PRNG)生成伪随机数,PRNG也称为确定性随机比特发生器(DRBG)。伪随机数发生器是用于生成数字序列的算法,所述数字序列的属性近似于随机数序列的属性。PRNG生成的序列不是真正随机的,因为它完全由相对较小的一组初始值确定,称为PRNG的种子,其可能包括真随机值。使用硬件随机数发生器生成真随机数,硬件随机数发生器也称为真随机数发生器(TRNG)。真随机数发生器是一种从物理过程而不是计算机程序生成随机数的设备。例如,真随机数发生器可以基于放射性同位素衰变的量子效应、大气无线电噪声、环形振荡器的干扰等。
技术实现思路
通过提供用于促进计算环境中的处理的计算机程序产品,克服了现有技术的缺点并提供了额外的优点。该计算机程序产品包括存储介质,该存储介质可由处理电路读取并存储用于由处理电路执行以执行方法的指令。该方法包括,例如,获得要执行的指令,该指令被配置为执行多个功能。执行该指令,并且该执行包括基于与指令相关联的功能代码具有选定值,检查指令的一个或多个输入以确定要执行多个功能中的哪个或哪几个功能。基于该一个或多个输入中的第一输入具有第一值,执行提供原始熵的功能,其中,提供原始熵包括存储多个原始随机数。基于该一个或多个输入中的第二输入具有第二值,执行另一提供调节熵的功能,其中,提供调节熵包括存储多个调节随机数。使用可以提供原始熵和/或调节熵的一个指令。使用指令生成真随机数,并且这些随机数便于计算环境内的处理,例如高度安全的数据加密处理和/或其它处理。作为示例,该多个原始随机数包括程序指定数量的原始随机数,并且该多个调节随机数包括程序指定数量的调节随机数。在一个实施例中,功能代码设置在与指令相关联的寄存器中,并且该一个或多个输入设置在由指令指示的一个或多个寄存器中。作为一个示例,该一个或多个输入包括至少一个长度值。例如,该一个或多个输入包括第一长度值和第二长度值,并且检查包括检查第一长度值和第二长度值。基于第一长度值具有第一值,存储多个原始随机数;并且,基于第二长度值具有第二值,存储多个调节随机数。作为示例,第一值是大于零的值,第二值是大于零的值。在进一步的实施例中,基于功能代码具有另一选定值,提供原始-调节比率。原始-调节比率指示例如用于生成调节熵的相应数量的字节的原始熵的字节数。该提供包括,例如,在参数块的一个位置中存储原始熵的字节数的计数,以及在该参数块的另一个位置中存储调节熵的字节数的计数。可以使用一个指令来提供原始熵,调节熵和/或原始-调节比率。本文还描述并要求保护与一个或多个方面有关的方法和系统。此外,还描述并且可能在此要求保护与一个或多个方面有关的服务。通过本文描述的技术实现了额外的特征和优点。在此详细描述了其它实施例和方面,并且这些实施例和方面被认为是所要求保护的方面的一部分。附图说明现在将仅通过示例并参考以下附图来描述本专利技术的实施例:图1A描绘了结合和使用本专利技术的一个或多个实施例的计算环境的一个示例;图1B描绘了根据本专利技术的实施例的图1A中的处理器的进一步细节;图2A描绘了结合和使用本专利技术的一个或多个实施例的计算环境的另一示例;图2B描绘了根据本专利技术的实施例的图2A中的存储器的进一步细节;图3A描绘了根据本专利技术的实施例的执行随机数操作指令的格式的一个示例;图3B描绘了根据本专利技术的一个实施例的由图3A中的执行随机数操作指令的一个或多个实施例使用的通用寄存器,通用寄存器0(GR0)的内容的一个示例;图3C描绘了根据本专利技术的一个实施例的由图3A中的执行随机数操作指令使用的另一通用寄存器,通用寄存器1(GR1)的内容的一个示例;图3D描绘了根据本专利技术的一个实施例的由图3A中的执行随机数操作指令在一个或多个实施例中使用的寄存器R1的内容的一个示例;图3E描绘了根据本专利技术的一个实施例的由图3A中的执行随机数操作指令在一个或多个实施例中使用的寄存器R1+1的内容的一个示例;图3F描绘了根据本专利技术的一个实施例的由图3A中的执行随机数操作指令在一个或多个实施例中使用的寄存器R2的内容的一个示例;图3G描绘了根据本专利技术的一个实施例的由图3A中的执行随机数操作指令在一个或多个实施例中使用的寄存器R2+1的内容的一个示例;图3H描绘了根据本专利技术的一个实施例的由图3A中的执行随机数操作指令使用的参数块的格式的一个示例;图4描绘了根据本专利技术的实施例的与执行随机数操作相关联的处理的一个示例;图5A描绘了根据本专利技术的实施例的与执行随机数操作指令的真随机数发生器功能相关联的处理的一个示例;图5B描绘了根据本专利技术的实施例的与执行随机数操作指令的真随机数发生器功能相关联的处理的另一示例;以及图6A-6B描绘了根据本专利技术的实施例的与执行被配置为执行多个功能的指令相关联的处理的一个示例。具体实施方式根据一个或多个实施例,提供了真随机数。真随机数例如可以在高度安全的数据加密处理以及其它处理中使用。作为一个示例,根据本专利技术的实施例,提供了生成真随机数的指令(例如,体系结构机器指令)。指令可以生成原始熵,其直接来自噪声源;调节熵,其是经由伪随机数发生器处理的原始熵;或两者。另外,在一个实施例中,该指令还提供原始-调节比率,其指示原始-调节输出的比率。更进一步地,该指令可以提供一个或多个其它功能。存在许多变化。美国国家标准与技术研究院(NIST)的DRAFT特刊800-90B,RecommendationfortheEntropySourcesUsedforRandomBitGeneration(用于随机比特生成的熵源的建议书)描述了用于TRNG的熵源模型,其包括(a)噪声源(和其数字化),(b)可选条件,和(c)健康检查。噪声源可包括上面列出的任何机制;例如,放射性同位素衰变、大气无线电噪声、环形振荡器的干扰等。调节可用于减少噪声源中的任何潜在偏差或增加其熵率。健康检查确保噪声源和熵源继续在预期参数内运行。根据NIST建议书的至少一个实施例,提供了一种指令,该指令在此称为执行随机数操作指令,其生成原始熵和/或调节熵,并且能够提供原始-调节输出的比率。参考图1A描述结合和使用本专利技术的一个或多个实施例的计算环境的一个示例。在一个示例中,计算环境基于由纽约阿蒙克的国际商业机器公司提供的z/体系结构。在2015年3月的IBM公开号为SA22-7832-10的“z/ArchitecturePrinciplesofOperation(z/体系结构的工作原理)”,中描述了z/体系结构的一个实施例,其全部内容通过引用合并于此。Z/ARCHITECTURE是美国纽约阿蒙克的国际商业机器公司的注册商标。在另一个示例中,计算环境基于由纽约阿蒙克的国际商业机器公司提供的Power体系结构。在2015年4月9日的国际商业机器公司的“PowerIS本文档来自技高网...

【技术保护点】
1.一种用于促进计算环境中的处理的计算机程序产品,所述计算机程序产品包括:计算机可读存储介质,其可由处理电路读取并存储用于由所述处理电路执行的指令,所述处理电路用于执行方法,所述方法包括:获得要执行的指令,所述指令被配置为执行多个功能;以及执行所述指令,所述执行包括:基于与所述指令相关联的功能代码具有选定值,检查所述指令的一个或多个输入以确定要执行所述多个功能中的哪一个或哪几个功能;基于所述一个或多个输入中的第一输入具有第一值,执行提供原始熵的功能,其中,所述提供原始熵包括存储多个原始随机数;以及基于所述一个或多个输入中的第二输入具有第二值,执行另一提供调节熵的功能,其中,所述提供调节熵包括存储多个调节随机数。

【技术特征摘要】
【国外来华专利技术】2016.09.30 US 15/281,1591.一种用于促进计算环境中的处理的计算机程序产品,所述计算机程序产品包括:计算机可读存储介质,其可由处理电路读取并存储用于由所述处理电路执行的指令,所述处理电路用于执行方法,所述方法包括:获得要执行的指令,所述指令被配置为执行多个功能;以及执行所述指令,所述执行包括:基于与所述指令相关联的功能代码具有选定值,检查所述指令的一个或多个输入以确定要执行所述多个功能中的哪一个或哪几个功能;基于所述一个或多个输入中的第一输入具有第一值,执行提供原始熵的功能,其中,所述提供原始熵包括存储多个原始随机数;以及基于所述一个或多个输入中的第二输入具有第二值,执行另一提供调节熵的功能,其中,所述提供调节熵包括存储多个调节随机数。2.如权利要求1所述的计算机程序产品,其中,所述多个原始随机数包括程序指定数量的原始随机数。3.如权利要求1所述的计算机程序产品,其中,所述多个调节随机数包括程序指定数量的调节随机数。4.如权利要求1所述的计算机程序产品,其中,所述功能代码设置在与所述指令相关联的寄存器中,并且所述一个或多个输入设置在由所述指令指示的一个或多个寄存器中。5.如权利要求1所述的计算机程序产品,其中,所述一个或多个输入包括至少一个长度值。6.如权利要求1所述的计算机程序产品,其中,所述一个或多个输入包括第一长度值和第二长度值,并且其中,所述检查包括检查所述第一长度值和所述第二长度值,其中,基于所述第一长度值具有所述第一值,存储所述多个原始随机数,并且其中,基于所述第二长度值具有所述第二值,存储所述多个调节随机数。7.如权利要求6所述的计算机程序产品,其中,所述第一值是大于零的值,并且所述第二值是大于零的值。8.如权利要求1所述的计算机程序产品,其中,基于所述功能代码具有另一选定值,提供原始-调节比率。9.如权利要求8所述的计算机程序产品,其中,所述原始-调节比率指示用于生成调节熵的相应数量的字节的原始熵的字节数。10.如权利要求9所述的计算机程序产品,其中,所述提供原始-调节比率包括:在参数块的一个位置存储原始熵的字节数的计数,以及在所述参数块的另一个位置存储调节熵的字节数的计数。11.一种用于促进计算环境中的处理的计算机系统,所述计算机系统包括:存储器;以及处理器,其与所述存储器通信,其中,所述计算机系统被配置为执行方法,所述方法包括:获得要执行的指令,所述指令被配置为执行多个功能;以及执行所述指令,所述执行包括:基于与所述指令相关联的功能代码具有选定值,检查所述指令的一个或多个输入以确定要执行所述多个功能中的哪一个或哪几个功能;基于所述一个或多个输...

【专利技术属性】
技术研发人员:D·格雷纳T·斯莱格尔C·佐林B·纳兹T·维谢格拉迪
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国,US

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

1