- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在网上查了很久,没有找到确切的答案。我想知道英特尔 rdrand 指令生成的随机数的质量。与 IDQ's 相比如何例如卡?是真随机还是伪随机?
谢谢
最佳答案
RdRand 由 RNG 馈送,该 RNG 包含馈送的熵源和播种 AES-CTR-DRBG 的 AES-CBC-MAC 熵提取器。 DRBG 的重新播种速度约为每秒 100 万次(情况各不相同,较慢的芯片上较慢,较快的芯片上较快)。因此 DRBG 的输出是随机种子 PRNG。如果你读得很慢(低于 100 万次/秒),你可以预期 DRBG 每次都会重新播种,因此渐近线是一个全熵 RNG。如果您的读取速度超过了 CPU 允许的速度,DRNG 硬件的最高输出为每个种子 511 DRBG 128 位。密码学预测阻力为 O(2^128)。
RdSeed 提供 NIST SP800-90C XOR 结构变体,其中每个值都包含一个新鲜种子。 TRNG 术语没有明确定义,但 RdSeed 可能接近人们认为的 TRNG 含义。它的性能低于 RdRand,因为速度是熵提取器输出速率的函数,而不是 DRBG 输出速率的函数。
因此,在询问“质量是什么”时,您需要指定最小熵或计算范围。两者在统计上与统一没有区别,但 RdRand 还保证 O(2^128) 密码学预测阻力(您需要做多少工作才能可靠地预测下一个状态),该阻力仅适用于重新播种之间(因此在大约 1us 的时间内) ,当先前的状态被新的熵数据覆盖时。 RdSeed 提供了更强的最小熵保证,使输出接近均匀。实际效果是您可以安全地连接 RdSeed 值以生成更大的键和 IV。例如。 512 位 key 提供 O(2^512) 安全性。 RdRand 足以满足 O(2^128) 安全性的所有需求。如果您想从 RdRand 提供高于 O(2^128) 安全性的加密系统,请阅读 Intel 的 SDG,其中解释了如何使用适当的加密算法安全地做到这一点。
关于random - intel的RdRand是TRNG还是PRNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27653736/
今天我想:好吧,即使对 NIST SP 800-90A 的 RDRAND 实现存在很大怀疑。 ,它仍然是伪随机数生成器(PRNG)的硬件实现,对于非敏感应用程序来说必须足够好。所以我想在我的游戏中使用
我正在看H.J. Lu的PATCH: Update x86 rdrand intrinsics 。我不知道是否应该使用 _rdrand_u64、_rdrand64_step,或者是否还有其他函数。似乎
最近的英特尔芯片(Ivy Bridge 及更高版本)具有生成(伪)随机位的指令。 RDSEED输出从芯片上传感器收集的熵生成的“真实”随机位。 RDRAND输出由真随机数生成器播种的伪随机数生成器生成
我正在使用 Intel Ivy Bridge CPU 并想在 C# 中使用 RDRAND 操作码 ( https://software.intel.com/en-us/articles/intel-d
我看到英特尔似乎包含了一个新的汇编函数来获取从硬件获得的真实随机数。指令的名称是 RdRand,但在 Internet 上似乎只有少量细节可以访问:http://en.wikipedia.org/wi
英特尔 C++ 编译器和/或 GCC 是否支持以下 Intel intrinsics ,就像 MSVC 自 2012/2013 年以来所做的那样? #include // for the foll
我有这个函数(RDRand - 由 David Heffernan 编写)在 32 位中接缝工作正常,但在 64 位中失败: function TryRdRand(out Value: Cardina
我想在 Windows 上利用英特尔的 RDRAND 功能并生成真正的随机数(因为 Python 的随机模块不是那么随机)。 Python 中有没有可以访问此功能的 API? 我尝试安装下面评论中提到
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
这是我的代码: #include int main(){ BIGNUM *bne = NULL; unsigned long e = RSA_F4; RSA *r = NUL
我看到英特尔似乎包含了一个新的汇编函数来获取从硬件中获取的真实随机数。该指令的名称是 RdRand,但在 Internet 上似乎只能找到少量详细信息:http://en.wikipedia.org/
我正在尝试使用 Intel 的 RDRAND 指令。根据Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 2
我正在 Visual Studio 2008 IDE 中处理一个 C++ 项目,我需要在其中使用英特尔的新 RDRAND操作说明。我进行了快速搜索,MSDN 建议使用 _rdrand64_step i
有一个英特尔 DRNG 库允许您使用基于处理器的晶体熵效应的随机数生成器。 库本身及其使用说明:https://software.intel.com/en-us/articles/intel-digi
我是一名优秀的程序员,十分优秀!