Skip to content

回复:盗取比特币 ​

原始发布页

打开来源页面
查看 1 个交叉存档

引用 knightmb 于 2010 年 7 月 25 日 07:44:02 PM 的发言

如果我发现公钥 123456 会生成哈希 ABCD 并且 公钥 654321 也会生成哈希 ABCD 我仍然没有私钥。

但按你的说法,我只需要公钥 654321,就可以冒充公钥 123456 来花费新币。

你仍然必须用公钥 654321 对其签名。你需要用一个自己知道对应私钥的公钥找到碰撞。

当你认领一笔比特币地址交易时,你要提供与哈希匹配的公钥,然后必须用该密钥对其签名。

Red 的意思是,很容易快速生成不安全的公钥;找到碰撞后,你可以破解这些公钥并找出私钥。

他指出,如果要求公钥必须是安全的,也就是必须付出大量工作才能找到那些素数,那么其强度就会提高到超过单独使用哈希函数的程度。试图暴力破解的人每尝试一次,都必须花时间生成一个密钥。

英文原文 ​

展开英文原文

Quote from: knightmb on July 25, 2010, 07:44:02 PM

If I figure out that Public Key 123456 generates Hash ABCD and Public Key 654321 also generates Hash ABCD I'm still left without the Private Key.

But from what you are saying, all I need is Public Key 654321 and I can spend coin pretending to be Public Key 123456.

You would still have to sign it with public key 654321. You need to find a collision using a public key for which you know the private key.

When you claim a Bitcoin Address transaction, you give your public key that matches the hash, then you must sign it with that key.

Red's point is that it's easy to quickly generate insecure public keys which you could break and find the private key after you find a collision.

He points out that if the public key was required to be a secure one, one which must have required significant work to find the prime numbers, that would increase the strength above that of the hash function alone. Someone trying to brute force would have to take time generating a key for each attempt.

为历史保存,为中文读者整理。每篇档案均附来源与英文原文。