- 2
- 0
- 约4.88千字
- 约 5页
- 2017-08-14 发布于安徽
- 举报
从Linux内核中获取真随机数内核随机数产生器Linux内核实现了一个随机数产生器,从理论上说这个随机数产生器产生的是真随机数。与标准C库中的rand(),srand()产生的伪随机数不同,尽管伪随机数带有一定的随机特征,但这些数字序列并非统计意义上的随机数。也就是说它们是可重现的--只要每次使用相同的seed值,就能得到相同的伪随机数列。通常通过使用time()的返回值来改变seed,以此得到不同的伪随机数序列,但time()返回值的结果并不是不确定的(可预测),也就是这里仍然缺少一个不确定的噪声源。对于需要真随机数的程序,都不能允许使用伪随机数。
?
为了获得真正意义上的随机数,需要一个外部的噪声源。Linux内核找到了一个完美的噪声源产生者--就是使用计算机的人。我们在使用计算机时敲击键盘的时间间隔,移动鼠标的距离与间隔,特定中断的时间间隔等等,这些对于计算机来讲都是属于非确定的和不可预测的。虽然计算机本身的行为完全由编程所控制,但人对外设硬件的操作具有很大的不确定性,而这些不确定性可以通过驱动程序中注册的中断处理例程(ISR)获取。内核根据这些非确定性的设备事件维护着一个熵池,池中的数据是完全随机的。在信息学中,熵被用来表征一个符号或系统的不确定性,熵越大,表明系统所含有用信息量越少,不确定度越大。当有新的设备事件到来,内核会估计新加入的数据的随机性,当我们从熵池中取出数据
您可能关注的文档
最近下载
- 《城市轨道交通 数据分类分级指南》.pdf VIP
- 国内外压裂新技术.pptx VIP
- LNG气化站安全检查表(气站).docx VIP
- 2026年党群部笔试题目及答案.docx VIP
- 《电气机械制图》课件——项目五 绘制与识读零件图.pptx
- CN119595896A 基于超顺磁纳米粒子交流磁化响应的全液相大肠杆菌免疫分析方法、系统、装置、介质 (沈阳工业大学).docx VIP
- 银行劳务外包服务投标方案.doc
- 2025年甘肃省甘南藏族自治州卓尼县小升初总复习数学精选精练含解析.doc VIP
- 2025年公安辅警招聘知识考试题(含答案).docx VIP
- 广东省广州市广大附中教育集团2022-2023学年九年级上学期自主招生数学试题(答案).docx VIP
原创力文档

文档评论(0)