【发布时间】:2011-03-21 18:26:47
【问题描述】:
你好,
哪种算法实现了 Solaris 的开发/随机? taht Yarrow-160 或 Yarrow-256 还是算法与 Linux 中的相同?有文档/链接吗?我已经看了很多,但我找不到它。提前致谢。
【问题讨论】:
-
什么版本的 Solaris?
标签: random solaris numbers generator
你好,
哪种算法实现了 Solaris 的开发/随机? taht Yarrow-160 或 Yarrow-256 还是算法与 Linux 中的相同?有文档/链接吗?我已经看了很多,但我找不到它。提前致谢。
【问题讨论】:
标签: random solaris numbers generator
也许 OpenSolaris 源代码,特别是 /src/uts/common/crypto/io/swrand.c,有一些线索:
/*
* Software based random number provider for the Kernel Cryptographic
* Framework (KCF). This provider periodically collects unpredictable input
* from external sources and processes it into a pool of entropy (randomness)
* in order to satisfy requests for random bits from kCF. It implements
* software-based mixing, extraction, and generation algorithms.
*
* A history note: The software-based algorithms in this file used to be
* part of the /dev/random driver.
*/
略读该文件:PRNG 在启动时使用高分辨率时间进行初始化,当前 TOD 和物理内存状态和值是通过重复的 SHA1 散列和额外的熵池混合(在 yarrow 规范中的“搅动”)生成的。 SHA1 是 160 位的。
也与该文件相关:
#define MINEXTRACTBITS 160 /* Min entropy level for extraction */
从简要分析来看,Solaris 的 /dev/random 看起来像是 Yarrow-160 实现。
【讨论】: