正如提到的这里(比特币的分裂键虚名地址)那样,ECCDSA-密钥可以合并,以便两个私钥S=S_1+S_2的和产生一个公钥,即相应的公钥P=P_1+P_2之和。因此,给定密钥对,构造所有为该公钥P_n \equiv n\cdot P \pmod N整数倍数的公钥是非常简单的。这是否意味着有一个具有公钥1的骨架密钥可以派生所有密钥?或者至少可以用来破解非常“合成”的公钥的“低数字”?当然,由于获取任何给定公钥的秘密密钥是不可行的,这可能是纯粹的理论,但一个比单个特定目标更值得投资的密钥……
发布于 2020-07-04 16:01:25
ECCDSA-密钥可以合并,使得两个私钥
S=S_1+S_2的和产生一个公钥,它是相应的公钥P=P_1+P_2之和。
这是正确的,但是它并不意味着您认为它意味着什么;这两个方程中的+运算符是两个不同的操作。
第一种是简单加法(模椭圆曲线群的阶数)。第二种是椭圆曲线加法,它完全不是模数加法。
因此,给定密钥对,构造所有为该公钥
P_n \equiv n\cdot P \pmod N整数倍数的公钥是非常简单的。
不,我们当然可以计算P_n = n \cdot P,其中\cdot是椭圆曲线乘法,也就是加在一起的点P的n副本的缩写,但是P_n的实际值是“不可预测的”,也就是说,如果有目标点Q,就很难找到一个n (或者更确切地说,我们希望这是一个困难的问题;如果不是,所有椭圆曲线密码都会崩溃)。
这是否意味着有一个具有公钥
1的骨架密钥可以派生所有密钥?
不,或者至少,我们希望不是。如果存在一个椭圆曲线点1,而求解Q = n \cdot 1是一个简单的问题,那么至少可以解决时间中的一个非平凡部分(在“它几乎不存在”的意义上不容易),那么,所有椭圆曲线密码都会崩溃(并且我们不需要知道对应于1的私钥)。
当然,由于获取任何给定公钥的秘密密钥是不可行的,这可能是纯粹的理论,但一个比单个特定目标更值得投资的密钥……
实际上,可以证明,“给定这么多的公钥,查找一个公钥(我们不关心哪个公钥)”的问题不再困难(即,只需添加k工作努力),那么问题就“给定此公钥,查找私钥”。
https://crypto.stackexchange.com/questions/81695
复制相似问题