首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ethersjs安全生成私钥的方法

使用ethersjs安全生成私钥的方法
EN

Ethereum用户
提问于 2021-06-04 19:34:24
回答 2查看 1.4K关注 0票数 2

我目前使用ethers.Wallet.createRandom()生成私钥,方法是在ReactiveNative0.64应用程序中提取带有.privateKey的ethersjs 5.3.0。安全生成私钥的其他方法是什么?不知怎么的,ethers.Wallet.createRandom()在我的应用程序中非常慢,我正在寻找另一种方法来安全地为eth钱包生成私钥。

EN

回答 2

Ethereum用户

回答已采纳

发布于 2021-06-14 08:52:16

我在RN中遇到了许多人在产生随机性的同时也面临着性能问题。如果为PRNG编写本机实现是解决方案,那么应该已经有一些专家在这方面工作了。如果没有,请重新检查RNG进程。实际上是在尝试编写PRNG实现之前。

朴素随机数

由于我们通常的计算机是非常确定的,所以很难产生不可预测的随机性。一种产生伪随机性的方法是利用设备的env值.但是,这方面的缺陷是,某些env值比其他值更频繁。例如,如果你使用的是温度,那么它很可能在25摄氏度左右。

因此,这为攻击者(通过应用程序二进制的一些反向工程学习了随机数生成算法)提供了一个机会,首先对那些键进行武力平衡检查,这些键比所有密钥都更有可能出现。

改进了随机数

的一致性

每个可能的随机数的一致概率意味着随机数是安全的(即攻击者不能有一些更有可能首先尝试的值)。

您可以使用香农熵来分析度量,以了解从单个度量中获得多少熵,这可以帮助您了解需要多少度量才能获得所需的熵。因为这是一件严肃的事情,如果你对此不满意,我建议你咨询一位有经验的密码专家来帮助你。

作为非均匀的随机源,您可以使用外部值,如声音,网络摄像头.如果您使用的是CPU和/或RAM数据,那么最好让用户开始随意地使用系统,比如到处移动鼠标。

免责声明:我只是一个M.Tech密码学的学生,RNGs的安全性让我非常感兴趣。但很明显,我还是这个话题的初学者。

票数 2
EN

Ethereum用户

发布于 2021-06-05 09:42:47

您想要生成私钥的频率是多少?

对我来说,最好的安全方法是离线的,有很好的随机性来源(卡片,骰子),或者在离线计算机上使用randomness的BIP39。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/101342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档