Hash

可以將 SHA256 雜湊用作 ECDSA 私鑰嗎?

  • May 9, 2012

是否可以通過使用其 SHA256 雜湊將密碼片語直接映射到比特幣私鑰?我記得在某處讀到並非所有 256 位值都是有效的 ECDSA 私鑰。如果是這樣,我如何確保生成的雜湊是有效的,或者是否有其他一些將密碼片語映射到私鑰的規範方法?

雖然這個問題不是完全重複的,但答案基本上是,所以我將引用Pieter Wuille的這個答案

在進行橢圓曲線加密時,通常情況下,私鑰只是一個隨機數。在secp256k1的情況下,通過使用比特幣的橢圓曲線,它必須是1和115792089210356248762697446949407573529996955224135760342422259061068512044368(或以十六進制的數,1和FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551之間。

該私鑰通過與曲線的基點執行 EC 點乘法轉換為公鑰。結果是一個 (x,y) 座標對,它構成了公鑰。

最後,RIPEMD160(SHA256(pubkey)),其中 pubkey 是這些座標的序列化,被計算並在 base58 中編碼,以及校驗和。這成為地址。

所以簡短的回答是肯定的,只要生成的雜湊小於或等於 FFFFFFFF00000000FFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551 任何 SHA256 雜湊都是可接受的私鑰。

至於將密碼片語映射到私鑰的規範方法,我不相信有一個 - 畢竟,這個功能沒有內置到 Satoshi 客戶端中(至少還沒有),所以根據定義,它不能是一個規範方法。我能想到的最接近的事情是 Casascius 物理比特幣使用的迷你私鑰格式,它可以很容易地與密碼一起使用。事實上,Casascius 的比特幣地址實用程序通常是那些希望通過記憶密碼而不是隨機輸入來製作“心理錢包”的人的首選應用程序。

引用自:https://bitcoin.stackexchange.com/questions/3609