首页 算法 随机数:梅森旋转算法

随机数:梅森旋转算法

两个日本学者研究提出的伪随机数算法,在这个算法当中用到了梅森素数,所以称为梅森旋转算法。 简单介绍一下梅森素数,梅森素数的意思是形如:2^n-1的素数。利用梅森素数的性质可以设计出…

两个日本学者研究提出的伪随机数算法,在这个算法当中用到了梅森素数,所以称为梅森旋转算法。

简单介绍一下梅森素数,梅森素数的意思是形如:2^n-1的素数。利用梅森素数的性质可以设计出周期长度为梅森素数长度的随机数周期。比如目前Python、C++11等语言当中用的随机数计算包都是用的这种算法。目前常用的版本周期是:2^{19937}-1

梅森旋转算法的周期非常非常长,但是仍不是安全的随机数算法,仍然有可能会被黑客破解。只不过和其他算法相比,被破解的概率以及难度增加了许多。

大家可能很好奇,什么样的算法才是安全的呢?其实业内的安全算法其实挺取巧的,一般的常用方法就是利用一个数学界的难题来设计一个算法。比如RSA加密算法,利用的就是大整数因式分解的问题。这样的问题业内除了暴力计算没有好方法,而暴力计算的复杂度非常非常高,根本不可能在有限时间内有解,自然这个就是一个安全的算法了。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: fmchl

没有了

已是最早文章

为您推荐

随机数:LCG算法

冯诺依曼的随机数算法虽然看起来简单,但是非常草率,在很多场合下是显然不能使用的。所以人们又想出了新的算法,是线性同余法。...
随机数:平方取中法

随机数:平方取中法

随机数的平方取中法,这个方法非常简单粗暴,是用来产生四位随机数的。 首先取需要一个随机种子,比如2333,我们把这个随机...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部