密码随机数生成器正在危及你的比特币私钥安全

  密码随机数生成器正在危及你的比特币私钥安全!比特币用户很喜欢讨论“非对称加密”、“椭圆曲线”、“量子计算机”这类高深莫测的话题,然后再以一种非常莫名其妙的方式把币弄丢,比如说:“随机”。

  几天前,火星人 @Ryan_XxOo 在微博上爆出的 brainwallet.org 网站用户丢币事件,就是因为随机函数的问题。

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

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

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

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

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

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

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

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

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

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

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

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

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

  最后再说说,如果在安卓手机上使用比太钱包,应如何安全的生成比特币私钥:

  1、如果您使用比太冷钱包,应保证手机断网,而且永久断网;

  2、您可以放心的使用比太钱包生成任意数量的比特币私钥;

  3、如果您特别在意“真”随机,担心熵池不够,那么在手机开机后,随便干点儿事儿吧,打打游戏、看看视频、刷刷微博、聊聊微信,然后再去生成比特币私钥,您所能获得的随机性,没准儿比很多硬件随机数生成器还要“真”得多;

免责声明: 文章源于会员发布,不作为任何投资建议

如有侵权请联系我们删除,本文链接:https://www.sws100.com/qukuai/147593.html

(0)
句子百科句子百科
上一篇 2022年 12月 26日
下一篇 2022年 12月 26日

相关推荐

  • HyperBC保障数字资产安全问题 为商家提供100%的保险金

    近期,针对市场中频繁发生资产被盗事件,HyperBC认为,如何保障数字资产安全保护与流通是加密资产托管服务商所面临最大的课题。HyperBC应用了当前行业领先的MPC安全多方计算、TEE可信环境、多重签名MultiSig 和其他安全技术降低单点风险,确定资金在流转过程中的环境安全,并为使用HyperBC托管服务的商家提供100%的保险金,商家在使用平台过程中…

    2022年 11月 28日
  • 比特币充币多久到账?解析比特币充币到账时间

      看到这个问题,相信很多投资者都不太了解,甚至有部分投资者连比特币充币是什么都不知道,其实比特币充币也称为比特币充值,是指从比特币钱包,把比特币提到比特币交易平台的过程,了解完比特币充币的含义之后,回归正题,比特币充币多久到账呢?下面句子百科小编就来给大家解析一下比特币充币到账时间,希望通过本文介绍,投资者对于比特币充币有一定的认知。   这个要看情况,如…

    区块链 2023年 1月 5日
  • FⅰL币在未来几年 – π币还有希望么

      关于FⅰL币在未来几年和π币还有希望么的问题,很多小伙伴都是不知道,接下来和句子百科小编往下看FⅰL币在未来几年的具体解答吧。   如果我们从长期价值来考虑的话,FIL币确实会有一定的投资价值,但是也不知道FIL币以后能到什么程度。   虚拟货币本身就无迹可寻,同时也被资本控制,这就意味着虚拟货币对散户投资人非常不友好。然后可能会通过各种技术面来判断虚拟…

    区块链 2022年 11月 3日
  • 正规数字货币交易时间(数字货币交易合法吗)

    正规数字货币交易时间的重要性 在数字货币交易中,选择合适的交易时间是非常关键的。正规数字货币交易时间指的是各大数字货币交易平台官方公布的交易时间,在这个时间段内进行买卖交易可以保障交易的有效性,同时也能够降低交易的风险。本篇文章将从四个方面来分析介绍正规数字货币交易时间的重要性。 一、数字货币市场24小时交易特点 数字货币市场的交易时间没有传统金融市场的限制…

    区块链 2023年 4月 22日
  • BTCs现在有人收吗(BTCs这种币现在有人收吗)

    欧易对您的资产持有 1:1 的储备金,定期发布储备金证明 欧易12月最新活动入口:https://zc.oke4.cn/AA333 btcs有谁收 客户端老板收。 BTCS是一个开源的股东式区块链投票客户端,让用户根据货币所有权的百分比对投票权重进行投票,像股东在公司投票一样。 中本聪币不需要邀请人吗 不需要,中本聪是一款专注于线上手机的软件,让广大用户可以…

    2022年 12月 17日

联系我们

在线咨询: QQ交谈

邮件:k37759@foxmail.com

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

关注微信