社区
数据结构与算法
帖子详情
求一安全,好的伪随机数产生算法?
kacy16
2009-07-10 02:03:28
小弟我现在正在做一伪随机数生成的软件,希望生成的一系列随机数尽量的随机,均匀性好,安全性也高.
自己也从网上查找了一些资料,可惜没有找到一些好的资料.
所以烦请各位对这有研究的兄弟们介绍一些各种产生伪随机数的算法,最后有对一些这些算法的评论和对比.至于大家常用的
线性同余法就不用介绍了,感觉它的安全性不够好。
...全文
51
8
打赏
收藏
求一安全,好的伪随机数产生算法?
小弟我现在正在做一伪随机数生成的软件,希望生成的一系列随机数尽量的随机,均匀性好,安全性也高. 自己也从网上查找了一些资料,可惜没有找到一些好的资料. 所以烦请各位对这有研究的兄弟们介绍一些各种产生伪随机数的算法,最后有对一些这些算法的评论和对比.至于大家常用的 线性同余法就不用介绍了,感觉它的安全性不够好。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
showjim
2009-07-15
打赏
举报
回复
[Quote=引用 6 楼 kacy16 的回复:]
谢谢 lasttimes 和 Yi_mii 的意见.
现在也估计用线性同余法了。
求余的大质数和 乘法中的数,这两个数值大家有没有什么好的推荐?谢谢!
[/Quote]
线性同余,本就不安全,连这两个系数都公开了,就没有安全可言了.
Yi_mii
2009-07-14
打赏
举报
回复
关键是找到个大质数用来求余
kacy16
2009-07-14
打赏
举报
回复
谢谢 lasttimes 和 Yi_mii 的意见.
现在也估计用线性同余法了。
求余的
大质数
和 乘法中的
数
,这两个数值大家有没有什么好的推荐?谢谢!
lasttimes
2009-07-13
打赏
举报
回复
该次所产生的随机数是以上一次的随机数作为种子的,不太安全.
但你一般用的时候会求余然后用吧。
别人根据你的求余后的数是无法推算出当前种子的。
其实是很安全的。
kacy16
2009-07-12
打赏
举报
回复
谢谢sunzerui,C里面的库函数 rand()之类的其实采用的线性同余法,该次所产生的随机数是以上一次的随机数作为种子的,不太安全.
sunzerui
2009-07-11
打赏
举报
回复
用算法实现?为什么不用函数实现呢?
kacy16
2009-07-10
打赏
举报
回复
没人回答,只能自己顶一下。
一个生成
伪随机
数
的超级
算法
【转】
什么叫
伪随机
数
? 真正意义上的随机
数
(或者随机事件)在某次
产生
过程中是按照实验过程中表现的分布概率随机
产生
的,其结果是不可预测的,是不可见的。而计算机中的随机函
数
是按照一定
算法
模拟
产生
的,其结果是确定的,是可见的。我们可以这样认为这个可预见的结果其出现的概率是100%。所以用计算机随机函
数
所
产生
的“随机
数
”并不随机,是
伪随机
数
。 最近浏览“程序员论坛”时发现不少好帖,增长了不少知识
伪随机
数
C语言编程
在程序设计中,有时会用到随机
数
。本文介绍在 Linux 编程环境下,如何生成
伪随机
数
。 什么是
伪随机
数
伪随机
数
是通过一个确定性的
算法
计算出来的“似乎”是随机的
数
序,因此
伪随机
数
实际上并不随机。在计算
伪随机
数
时,假如初始值不变的话,那么
伪随机
数
的
数
序也不变。
伪随机
数
的优点 要
产生
真正的随机
数
,必须使用专门的设备,比如热噪信号、量子力学效应、放射性元素的衰退辐射,或使用无法预测的现...
伪随机
数
生成
伪随机
数
是通过一定的确定性
算法
生成的看似随机的
数
序列,虽然它们在表现形式上具有类似随机
数
的无序性和不可预测性,但实际上是按照固定的规则和初始状态(种子值)经过计算
产生
的,所以只要知道了种子值以及所采用的
算法
,就能重现相同的“随机”
数
序列。函
数
生成指定
数
量的
伪随机
数
,然后打印输出这些
伪随机
数
,最后记得释放动态分配的内存以避免内存泄漏。请注意,虽然
伪随机
数
在很多情况下能够满足对随机性的需求,但在一些对随机性要求极高、涉及
安全
关键的场景(如高级别密码学应用等),还是需要使用基于物理随机源的真正随机
数
生成方法。
伪随机
数
的
产生
和流密码
能够应用到大量密码函
数
的一种功能是随机或
伪随机
数
的
产生
。对这个功能的要求是
产生
的
数
据流必须不能预测。流密码是对称密码
算法
,从明文输入流逐位或逐字节
产生
密文输出。使用最为广泛的此类密码是RC4。一个重要的密码函
数
是具有强密码学意义的
伪随机
数
发生器。
伪随机
数
发生器(PRNG)在许多密码和
安全
应用中有使用。
伪随机
数
发生器(PRNG)真随机
数
发生器(TRNG)在网络
安全
的各种应用里,随机
数
在加密
算法
中扮演...
伪随机
数
和真随机
数
伪随机
数
是通过确定性
算法
生成的
数
列,看起来像是随机的,但实际上是根据初始值(种子)经过
数
学运算得到的。尽管
伪随机
数
生成
算法
的输出序列在某些方面表现得像随机
数
,但在理论上是可预测的。总结来说,
伪随机
数
是通过
算法
生成的,表现得像随机
数
,但实际上是可预测的。在大多
数
情况下,
伪随机
数
已经足够满足需求,但在需要高度随机性和
安全
性的场景中,真随机
数
更为合适。由于真随机
数
是从物理事件中获取的,所以在一些需要高度随机性和
安全
性的应用中,如密码学中的加密密钥生成,需要使用真随机
数
来避免
伪随机
数
可能存在的可预测性问题。
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章