真随机数和伪随机数的区别—撰文|Cobo金库大掌柜掌柜最近一直有强调安全芯片的重要性,今天就正儿八经的盘一盘安全芯片到底在保护什么。对数字货币原理稍有了解的人,可能都听说过“非对称加密”、“哈希算法”之类的加密学名词,但并不是所有人都知道,这些加密算法背后最重要的核心——随机数。大家“随机”选择一把私钥,就可以通过私钥用密码学计算出地址,有了地址就能收取数字货币,私钥就能支配这个地址上的数字货币。所以,谁拥有私钥,谁就拥有对应地址在链上的资产。那么,私钥会不会有一天耗尽?要解答这个问题,先要看看私钥到底有多少“把”。理论上来说,私钥总共有大约2的256次方的可能性。这个数大约是1后面跟了77个零。与之对比,目前可见的宇宙,总共的原子数大概是1后面跟了80个零。私钥的可能性有这么多,看来是不会被耗尽了。可是,会不会碰巧两个人选到同一把私钥?从而A转到对应地址的钱,被B转走了?这就引出了私钥随机性的重要性,也就是随机数的重要性。系统都是先得到随机数,然后从随机数再推导出私钥。
目前,林林总总的数字货币钱包,在随机数生成这件事上,逃不出两种方案——伪随机数生成器和真随机数生成器。伪随机数生成器在维基百科上有一个更令人担忧的名字,确定性随机数生成器。为什么随机数还会有“确定性”这一说呢?因为伪随机数都来自于“随机种子”,而随机种子是由计算机自带的计数器或者其它数字逻辑产生。这些计数器或者数字逻辑是有一定概率分布的。所以,在一定程度上,伪随机数是可预测的。与之相对的,真随机数是由安全芯片通过物理方式生成的,其随机性是不可预测的。来自维基百科的定义:真随机数生成器是一种通过物理过程而不是计算机程序来生成随机数的设备。这样的设备通常是基于一些能生成低等级、统计学随机的“噪声”信号的微观现象,如热力学噪声、光电效应和量子现象等。这些物理过程在理论上是完全不可预测的,并且已经得到了实验的证实。由此,我们得到了安全芯片的核心保护对象:私钥的真随机性。安全芯片可以生成真随机数,随机性大于非安全芯片生成的伪随机数。我们前面有反复提到的一个词组——“物理方式生成”。有些同学可能会问,能用“掷骰子”这种“物理”方法吗?答案是可以的。基于以上,在选购数字货币硬件钱包时,仍有两个知识点需要普及:除了要关注是否有安全芯片以外,还要关注安全芯片是否得到了相关机构的认证。常见的认证体系有两套:FIPS和AIS。安全芯片的固件代码是否开源,也是要考察的点。目前已知的硬件钱包中,只有Cobo金库和ColdCard开源了安全芯片固件代码。Coldcard的安全芯片固件代码甚至支持用户自行烧录,适合比较硬核的玩家,但是同时也放大了供应链攻击的可能性。出于供应链攻击等方面的考虑,Cobo金库暂不支持用户自行烧录安全芯片固件。总结,选择硬件钱包时,建议如下:应用安全芯片且安全芯片得到相关机构的认证且安全芯片固件开源下篇文章会讲安全芯片可以抵御哪些物理攻击,请持续关注呀!参考链接:https://en.wikipedia.org/https://en.wikipedia.org/https://en.wikipedia.org/https://github.com/
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。