伪随机数

比特币用户很喜欢讨论“非对称加密”、“椭圆曲线”、“量子计算机”这类高深莫测的话题,然后再以一种非常莫名其妙的方式把币弄丢,比如说:“随机”。

伪随机数

历史上多起各品牌的钱包用户丢币事件,都是因为随机函数存在问题。

随机很重要,对于比特币这种密码学电子货币来说,尤其重要。可惜社区内对于随机的讨论并不多,导致很多人缺乏正确的认识,因此,我们今天就和大家聊聊随机。

说到随机,有两个必须要搞清楚的概念:“真随机数生成器”(TRNG)和伪随机数生成器(PRNG)。

大部分计算机程序和语言中的随机函数,都是伪随机数生成器,它们都是由确定的算法,通过一个“种子”(比如“时间”),来产生“看起来随机”的结果。

毫无疑问,任何人只要知道算法和种子,或者之前已经产生了的随机数,都可能获得接下来随机数序列的信息。因为它们的可预测性,在密码学上并不安全,所以我们称其为“伪随机”。这种随机数,用来让游戏里的小人跑跑路没多大问题,如果用来生成比特币私钥,那可就太不安全了。

再说说真随机数生成器,中文维基中,将“硬件随机数生成器”(HRNG)等同于真随机数生成器,这其实并不十分准确,严格意义上的真随机可能仅存在于量子力学之中,我们当前所想要的(或者所能要的),并不是这种随机。

我们其实想要一种不可预测的、统计意义上的、密码学安全的随机数,只要能做到这一点的随机数生成器,都可以称其为真随机数生成器。这种真随机,并不一定非得是特殊设计的硬件,Linux操作系统内核中的随机数生成器(/dev/random),维护了一个熵池(搜集硬件噪声,如:键盘、鼠标操作、网络信号强度变化等),使得它能够提供最大可能的随机数据熵,因此同样是高品质的真随机数生成器。

不过/dev/random是阻塞的,也就是说,如果熵池空了,对于/dev/random的读操作将被挂起,直到收集到足够的环境噪声为止。

因此,在开发程序时,我们应使用/dev/urandom,作为/dev/random的一个副本,它不会阻塞,但其输出的熵可能会小于/dev/random。

好了,在说了这么多之后,在我们开发比特币应用时,应该使用何种随机数生成器来生成私钥呢?

答案很简单:urandom。永远只用urandom。

不要使用任何第三方的随机数解决方案,哪怕是一些高级的安全库,所提供的声称“非常安全”的随机函数。因为它们都是用户态的密码学随机数生成器,而urandom是内核态的随机数生成器,内核有权访问裸设备的熵,内核可以确保,不在应用程序间,共享相同的状态。

历史上,无数次随机数失败案例,大多出现在用户态的随机数生成器,而且,用户态的随机数生成器几乎总是要依赖于,内核态的随机数生成器(如果不依赖,那风险则更大),除了没准儿能简化您的某些开发工作,丝毫看不出任何额外的好处,反而增加了因引入第三方代码,所可能导致的潜在安全风险。

因此,开发者在需要密码学安全的随机数时,应使用urandom。

最后,有小朋友问,你们的BITHD硬件钱包生成的是真随机数吗?

这里回答一下:当然是啦~

BITHD的芯片是有硬件随机数发生器的,它会通过获取物理噪声源来生成真随机数,这个是不可预测,不可探测的,是真正的随机源。

免责声明:钛世界所有文字、图片等资料均来自互联网,不代表本站赞同其观点,内容仅代表作者本人意见,若因此产生任何纠纷作者本人负责,本站亦不为其版权负责! 如有问题,请联系我们

(0)
上一篇 2023年3月2日 下午11:51
下一篇 2023年3月2日 下午11:56

相关推荐

  • 任天堂官网账号注册(任天堂账号注册)

    随着玩Switch的玩家越来越多,玩家不满足于实体卡带游戏,大量的游戏都是以数字版的形式存在,玩家若想要下载,就需要登陆Switch eShop进行购买。但是登陆eshop需要Sw…

    2023年2月22日
    048
  • 键盘按键错乱,外置键盘按键错乱

    键盘按键错乱怎么修复呢?现在我来教大家吧! 材料/工具 电脑 方法 1首先打开此电脑。 2点击“打开设置”。 3选择键盘。 4点击“硬件”。 5再点击“属性”。 6点击“驱动程序”…

    2023年3月29日
    018
  • 农村信用社安全控件下载安装官方,农村信用社网银安装插件

    中国邮政储蓄银行网上银行在使用的过程中无法登录怎么办呢?请看下方讲解 方法 1将原来安装的所有的关于邮政储蓄的网银助手、控件之类的全部删除掉。 2用“360搜索”进入中国邮政储蓄网…

    2023年4月30日
    06
  • 360隐私(360隐私空间密码忘记了怎么办)

    案情简介 2010年10月14日,腾讯科技(深圳)有限公司、深圳市腾讯计算机系统有限公司起诉北京奇虎科技有限公司、奇智软件(北京)有限公司、北京三际无限网络科技有限公司共同实施了不…

    2023年3月4日
    0102
  • 电脑自动安装软件怎么办,电脑自动安装软件怎么办

    不知道大家有没有遇到过这样的情况,不知不觉中电脑就安装了一些软件。其实这些自动安装的软件是下载需要的软件时捆绑的垃圾软件,大家可以在电脑中设置一些内容,这样就可以组织自动安装软件了…

    2023年3月17日
    025
  • 网盘解析(克隆窝百度网盘解析)

    导语:中国个人云盘行业从一开始以免费基础性的网盘服务吸引用户、培育市场,到2016年的关停潮之后,便开始积极尝试商业模式探索,会员付费和存储空间扩容成为行业主要盈利模式之一。截止2…

    2023年4月2日
    029
  • 游戏修复(wegame游戏修复)

    本月早些时候,有大量用户反馈,称在Win11 22H2系统下,使用NVIDIA显卡会出现游戏性能下降、帧率不稳的问题,CPU占用率也异常偏低,有的甚至不到5%。 微软方面称这是因为…

    2023年2月21日
    044
  • oppo翻盖手机(oppo翻盖手机壳设置唤醒)

    根据目前曝光的信息来看,@OPPO 将于年底前发布包括内折叠迭代版本命名Find N2(内部代号:白天鹅)、翻盖版本命名Find N Flip(内部代号:蜻蜓)两款折叠屏新机的概率…

    2023年3月5日
    043
  • win10系统下载专业版,

    微软在发布了Win10正式版,并且开启了Win8.1的升级通道。Win10正式版拥有全新的Microsoft Edge浏览器,交互性更强,更具人性化的语音助手Cortana小娜,内…

    2023年3月29日
    015
  • 三星平板电脑(三星平板电脑刷机操作流程)

    转眼间,2022年即将来到尾声,无论是想要购买第一台平板或者是升级成新平板,也许你不熟悉平板,或者对众多选择感到犹豫,毕竟购买平板的价格不菲,你一定想要找到最适合自己的款式。那么这…

    2023年3月5日
    037