随机数关乎比特币私钥安全新时代
随机数关乎比特币私钥安全
比特币用户很喜欢讨论“非对称加密”、“椭圆曲线”、“量子计算机”这类高深莫测的话题,然后再以一种非常莫名其妙的方式把币弄丢,比如说:“随机”。
之前曾爆出的 站用户丢币事件,就是因为随机函数的问题。
随机很重要,对于比特币这种密码学电子货币来说,尤其重要。
说到随机,有两个必须要搞清楚的概念:“真随机数生成器”(TRNG)和伪随机数生成器(PRNG)。
大部分计算机程序和语言中的随机函数,的确是伪随机数生成器,它们都是由确定的算法,通过一个“种子”(比如“时间”),来产生“看起来随机”的结果。
毫无疑问,任何人只要知道算法和种子,或者之前已经产生了的随机数,都可能获得接下来随机数序列的信息。因为它们的可预测性,在密码学上并不安全,所以我们称其为“伪随机”
。这种随机数,用来让游戏里的小人跑跑路没多大问题,如果用来生成比特币私钥,那可就太不安全了。
再说说真随机数生成器,中文维基中将“硬件随机数生成器”(HRNG)等同于真随机数 生成器,这其实并不十分准确,严格意义上的真随机可能仅存在于量子力学之中,我们当前所想要的(或者所能要的),并不是这种随机。
我们其实想要一种不可预测的、统计意义上的、密码学安全的随机数,只要能做到这一点的随机数生成器,都可以称其为真随机数生成器。这种真随机,并不一定非得是特殊设计的硬件,Linux操作系统内核中的随机数生成器(/dev/random),维护了一个熵池(搜集硬件噪声,如:键盘、鼠标操作、络信号强度变化等),使得它能够提供最大可能的随机数其他人则围上来拳打脚踢。据熵,因此同样是高品质的真随机数生成器。
不过/dev/random是阻塞的,也就是说,如果熵池空了,对于/dev/random的读操作将被挂起,直到收集到足够的环境噪声为止。
因此,在开发程序时,我们应使用/dev/urandom,作为/dev/random的一个副本,它不会阻塞,但其输出的熵可能会小于/dev/random。
在开发比特币应用时,应该使用何种随机数生成器来生成私钥呢?
答案很简单:urandom。永远只用urandom。
不要使用任何第三方的随机数解决方案,哪怕是一些高级的安全库,所提供的声称“非常安全”的随机函数。因为它们都是用户态的密码学随机数生成器,而urandom是内核态的随机数生成器,内核有权访问裸设备的熵,内核可以确保,不在应用程序间,共享相同的状态。
历史上,无数次随机数失败案例,大多出现在用户态的随机数生成器,而且,用户态的随机数生成器几乎总是要依赖于,内核态的随机数生成器(如果不依赖,那风险则更大),除了没准儿能简化您的某些开发工作,丝毫看不出任何额外的好处,反而增加了因引入第三方代码,所可能导致的潜在安全风险。
因此,开发者在需要密码还是在不停地闪着00∶00的时间(暗示盖茨连录像机的时间都不会调)。学安全的随机数时,应使用urandom。
随机数字随机数字生成器比特币私钥多少位随机数函数比特币私钥生成比特币私钥在哪生成随机数字生成器随机数表随机数生成器 比特币私钥破解随机数生成器随机数表的读数规则随机数公式随机数表法
月经不调的原因是什么
免费问医生
治疗甲沟炎灰指甲价格
急性肝炎可以吃什么食物好
- 上一页:乐山千亿光伏产业规划残局深度新时代
- 下一页:美国数字钱包NFC智能手机支付新时代
-
盈盈同在,气象万千。
其他用户" 漳州纤日常生活 "注目我 由此可知 读 先贤之外以陋室为品,一间...
2024-12-16
-
凯特生母被发现,同一款西装有不同颜色!
从名人与潮流博主脖子去追寻脱下搭车启发,对于不少人来说是极其快速且才...
2024-10-12
-
瑞典 贵丰/Gryphon Ethos(思潮) 新款旗舰CD机
当您第一眼看到贵丰/Gryphon Ethos(时代精神)时一定会被其出色的外观设计所...
2024-07-23
-
吴彦祖近照曝光,妻女妻女参加首映礼,女儿打耳洞染红发好有个性
近来,陈彦祖携妻子Lisa和妹妹陈斐然参加《东北部世界》第四季首映式。陈...
2024-07-04
-
Ulster霍尔大学优质课程推荐 BSc Nursing Science (Top-up) & MS
弗莱明所大学(Ulster University)位于苏格兰波斯尼亚和黑塞哥维那尔兰东南部贝...
2024-06-22
-
一美演技爆表的片子——《分裂》(上)
陌生人似乎地拉低上衣,想盖住盲目性感的丝袜,一美注意到却怒了 (你来...
2024-05-31