数字随机生成器(随机数生成器)

乍看之下,电子游戏、**和密码学似乎没有任何关系,但实际上,它们都使用“随机数”,没有随机数,现代人的生活就无法构建。这篇文章将解释计算机如何产生这样的随机数。生成随机数比你想象的难多了!例如,如果您想在编程中使用随机数,请使用Ruby中的“rand”或Python中的“...

乍看之下,电子游戏、**和密码学似乎没有任何关系,但实际上,它们都使用“随机数”,没有随机数,现代人的生活就无法构建。这篇文章将解释计算机如何产生这样的随机数。

生成随机数比你想象的难多了!

例如,如果您想在编程中使用随机数,请使用Ruby中的“rand”或Python中的“random()”等方法。此时产生的是通过计算得到的伪随机数,而不是完全随机数。

首先,计算机是“输入数据,输出数据”的逻辑机器。为了让计算机生成随机数,它需要数据作为随机数的来源。这个随机数的来源是什么数据,取决于随机数生成器。有两种主要类型的随机数发生器。

一个叫做“伪随机数发生器(PRNG)”。要使用此PRNG生成数字,您需要两个特定的数字,即“种子值”和“随机数生成算法”。PRNG的随机数生成算法包括'平方抽取法','线性同余法','线性移位寄存器'还有'梅森图斯特'。

PRNG不能生成完美的随机数,但它可以快速、廉价地生成看似随机的数字。另外,如果准备了特定的种子值,就可以获得重现性,所以测试操作也是个大问题。这就是为什么PRNG经常被用于游戏和编程语言中的随机方法。

但是,由于PRNG产生的数字的随机性取决于种子值,所以仍然存在一个漏洞,即如果种子值泄露,则可以预测数字的产生。其实卡巴斯基实验室(一种安全软件)就有一个密码管理器的例子,在获取种子值上有问题,让随机生成的密码可以预测。

另一种是“固有随机数生成器(TRNG)”随机生成数据作为随机数源。TRNG的特点是用熵代替种子值,种子值是一个特定的数,可以生成更完美的随机数。因此,TRNG被用于数字**领域,如***、洗牌和轮盘赌。

问题是如何用熵作为随机数来源的数据,这就要求组成计算机的部件是随机的。TRNG利用记忆易失性和光电效应等量子现象,将物理噪音转化为数字1和0,从而产生高度随机的数字。

另一方面,TRNG的缺点是生成数字需要时间。另外,作为随机数来源的数据需要熵,所以空空闲或新服务器无法像活动服务器那样随机创建数据。

由于PRNG和TRNG有各自的弱点,它们可以毫无问题地用于视频游戏或**,但不能用于要求高安全性和高速度的密码学。

为此,设计了加密伪随机数发生器,实现了PRNG的速度和TRNG的安全性。

CSPRNG是一个生成器,它从“高质量的熵源创建种子值,并将它们输入到算法中,以生成高度安全的随机数”。简而言之,CSPRNG是一种“利用TRNG产生PRNG种子价值”的机制。/Dev/random用于类Unix操作系统,Linux使用这个CSPRNG。

下次,当你玩视频游戏,随机播放音乐或在编程中拨打随机号码时,也许你可以想一想计算机中发生了什么。

本文来自吃鸡只用平底锅投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/508462.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 04-17
下一篇 04-17

相关推荐

  • 公章上的数字是什么

    下面将介绍,关于【公章上的数字是什么】问题回答概况: 公章上的数字是防伪码,共13位,前四位是区号编码,一般和营业执照前四位对应,第五、六、七位是具有刻公章资质的公司编号,每个公司的编号都不一样,后六位是刻章公司的序列号。公章的防伪码虽然可以用来防伪,但是不

    2023-07-28 23:45:01
    337 0
  • 剑与远征涌潮林地攻略 涌潮林地数字路线图

    宝剑远征涌潮林地攻略涌潮林地,就像破落的市场,是一个必须杀两次的画面。其实就是第二个火焰祭坛开不开的问题。操作难度很低,唯一的难度就是最后一天惩罚boss。线路图第一张杀死禁魔boss的路线图14步之后基本就打开了***oss的路。就去第二步灭火。然后把能杀的都杀了,最后

    2023-07-26 12:40:01
    563 0
  • easypoi导出word换行 easypoi导出数字类型

    如果遇到poi阅读,比如{name}无法整体识别,可以使用word的域操作。如果你不知道域的用法,你可以这样做。先写在文本文档里,比如{name},再***到word里。不要在word中一个一个地输入,否则poi可能会认不出您是一个整体XWPFDocument对象是apache提供的第三方jar,可以操作wor

    2023-07-25 10:28:01
    338 0
  • 什么是数字营销行业,市场营销和数字营销区别

    数字营销是利用数字传播渠道推广产品和服务的实践,以便以及时、相关、定制和具有成本效益的方式与消费者进行沟通。数字营销包括互联网营销(网络营销)中的许多技术和实践。数字营销的范围更加广泛,包括很多其他不需要互联网的传播渠道。因此,数字营销领域涵盖了一整套元素,

    2023-07-24 19:07:02
    692 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信