問題與解答

比特幣公鑰和256位ECDSA的安全性是128位是甚麼意思?

文字大小

256 位 ECDSA 以及比特幣密鑰的安全性是 128 位,這意味著甚麼?我的意思是,如果我在橢圓曲線上有大約 2^256 個可能的點(因此可能是公鑰),因此也有私鑰,那麼是否需要大約 2^256 次計算才能找到公鑰(或者如果提前獲得密鑰,則需要稍微少一些)?由此看來,安全性大約是 256 位?

如果窮舉搜索是確定給定公鑰的私鑰的唯一方法,那麼您是對的。然而事實並非如此。 現有的算法可以通過大約 √n 次操作來完成此操作(如果曲線上的點數為 n)。它們也很實用(除了需要大量的計算之外):例如,它們不需要太多內存。具體來說,Pollard 的 rho 或袋鼠算法的變體可以是用於求解橢圓曲線上的離散對數。

如果安全性是 128 位,那麼為甚麼我們還要有 512 位種子呢?我的意思是,為甚麼不是 128 位,因為額外的位並不能提高安全性?

保守安全。種子的熵小於 128 位肯定會對安全性產生不利影響,而超過 256 位則不太可能有幫助。 BIP32 是現在幾乎普遍用於密鑰派生的標準,它使用 256 位密鑰 + 256 位附加「鏈碼」作為主密鑰。回想起來,這可能有些過頭了(免責聲明:我是 BIP32 的作者,我當然對密碼學瞭解不多)那時和現在一樣),但它也相對便宜,因為人類很少觀察到主鑰匙。 雖然單個密鑰的安全性確實永遠不會超過 2128,但對於種子來說卻並非如此。擁有更多熵的種子確實意味著,即使有一台可以執行 2128 次計算的機器,也無法僅計算錢包中的所有密鑰。這是使主密鑰和種子變得更大的直覺,但是再說一遍,這太過分了。

繼續探索數據目錄搜尋