Entropy(熵)
PRNG(伪随机生成器)
RNG(随机数生成器)
有两种方法可以从熵池中获取内核随机数。
一种是通过内核导出的随机数接口,另一种是通过特殊的设备文件/dev/random和/dev/urandom。
前面一种是给程序员大哥们用的,咱这样的菜鸟暂时是搞不懂了。
第二种方式,/dev/random & /dev/urandom
这两个特殊设备都是字符型设备。我们可以在用户空间通过read系统调用读这两个设备文件以此获取随机数。
这两个设备文件的区别在于:如果内核熵池的估计值为0时,也就是熵池不足的时候,/dev/random将被阻塞,而/dev/urandom不会有这个限制,它继续使用软件算法继续生成随机数,当然这时候的随机数算是伪随机数了。
有时候,我们在生成密钥的时候,需要用到随机数,如果熵池不足的时候,它会要我们敲键盘,晃鼠标什么的,是不是觉得特sha叉。可以通过下面这条命令,用urandom给内核熵池喂大量的随机数。。。
rngd -r /dev/urandom
嗯,至于这种方式的随机性强度够不够,那恐怕得算法师来解答了。。。
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24701 人正在系统学习中 相关资源:android实现手机摇晃摆动效果_android开发-Android代码类资源…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!