Re: [Coin] 私钥可以自己生成吗?冷钱包生成原理是?

楼主: wahaha99 (此方不可长)   2022-11-22 15:45:08
※ 引述《Priapus5566 (希腊生殖大神)》之铭言:
: 想问一个可能有点基本的问题
: 基本上币圈常用的链,如果自己理解没有错误
: 应该都是用椭圆曲线函数来加密
: 其中关于公私钥的产生公式:
: K = k * G
: 大K是公钥,小k是自己选择的私钥,G是生成点
k应该不是自己选择的私钥,
k应该是一个随机整数, 会对应到私钥k0
: G照理说应该是一个已知,大家公认的常数
: 小k是2^256以内随机选一个自然数
: 那是不是代表,我可以自己任意选一个数字,再把他推导成公钥?
: 这样k选太小的话,公钥是不是很容易算出来,对应到的私钥都很不安全?比如k小于一万
因为k是对应到私钥k0, 不是直接使用,
所以应该没问题....吧?
要注意的是每次发送的k不能取同值,
那就真的很危险, 两次发送就能推导回私钥。
所以现行实务的k都是用你要签名的资料拿去跑杂凑,
这样一来签名内容一样, 公钥就会一样,
而又避开了k取同值的问题。
我对椭圆签名也不甚理解,
以上只是粗浅的看过资料, 有错请指正。
: 以内的公私钥对基本上都算得出来,大家都知道,人人都可以存钱提款,是这样吗?
: 那冷热钱包商选择私钥有什么特别的原理吗?
: 要怎么知道冷钱包商不会藏后门,自己偷留一份私钥,或者私钥可能和别人的一样?如果
: 都是随机乱数,有没有可能乱数的私钥和另一家钱包商提供的私钥一模一样?(虽然机率
: 可能只有1/(2^256))
确实有可能,
所以钱包的密钥生成, 最好是找完全符合BIP39的,
然后在外部生成后, 再手动输入进去。
当然也有的钱包会强调他用的是硬件真随机数产生器,
要用哪个就看你个人了。
: 印象中SHA-256是有可能找到collision的,只是目前暂时还没有人找到而已
在空间内任何杂凑都可能collision啊,
一般杂凑都是固定常度的
: 如果我自己选一个够大的数当私钥,再导入热钱包推出公钥地址,是不是就也不需要冷钱
: 包了?
本来就不一定需要冷钱包,
冷钱包是离线签名工具, 好用而已。
作者: GaussQQ (亮)   2022-11-23 15:24:00
k 是私钥没错,通常可以乱数选取。但是所谓的随机乱数选取是有学问的….若是两个私钥都是均匀随机选取,要发生碰撞的机率很低。可以参考 birthday attack。然后随机选取的范围严格讲不是[0,2^256)。目前使用的 ecdsa 椭圆曲线 order比这个值小一点,因此应该是取[0,secp256k1 的 order)。使用前者会造成某些值的私钥出现的机率比较高,但是两者整体的统计误差不高就是
作者: deangood01 (跨斯欧鹅)   2022-11-24 19:52:00
k 是私钥 没有说发送两次就不安全公私钥基础KPI的假设是 有些问题 函数很好计算y=f(x)但是反函数 x=f'(y) 不存在或是需要花指数时间来验证RSA利用质因子分解很困难的特性 椭圆曲线目前也没有快速有效的回推算法Hashing 跟signature也是不同东西Hashing 是利用公开的杂凑函数ex SHA256来对资料验证不同资料有不同杂凑 除非碰撞 签名是利用私钥 验明发送者,大众可以用公钥进行验证同一笔资料 你想签十次 或签十比不同资料都是安全的可以阅读一下非对证加密,公私钥签章等等

Links booklink

Contact Us: admin [ a t ] ucptt.com