作者wahaha99 (此方不可長)
標題Re: [閒聊] 私鑰可以自己生成嗎?冷錢包生成原理是?
時間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啊,
一般雜湊都是固定常度的
: 如果我自己選一個夠大的數當私鑰,再導入熱錢包推出公鑰地址,是不是就也不需要冷錢
: 包了?
本來就不一定需要冷錢包,
冷錢包是離線簽名工具, 好用而已。
--
※ 發信站: 批踢踢實業坊(ptt-site.org.tw), 來自: 36.226.164.141 (臺灣)
※ 文章網址: https://ptt-site.org.tw/DigiCurrency/M.1669103111.A.716
※ 編輯: wahaha99 (36.226.164.141 臺灣), 11/22/2022 15:47:16
推 GaussQQ: k 是私鑰沒錯,通常可以亂數選取。但是所謂的隨機亂數選 11/23 15:24
→ GaussQQ: 取是有學問的…. 11/23 15:24
→ GaussQQ: 若是兩個私鑰都是均勻隨機選取,要發生碰撞的機率很低。 11/23 15:27
→ GaussQQ: 可以參考 birthday attack。然後隨機選取的範圍嚴格講不 11/23 15:27
→ GaussQQ: 是[0,2^256)。目前使用的 ecdsa 橢圓曲線 order比這個值 11/23 15:27
推 OREOMZA: 覺得包養網EY嗎 11/23 15:27 → GaussQQ: 小一點,因此應該是取[0,secp256k1 的 order)。使用前者 11/23 15:27
→ GaussQQ: 會造成某些值的私鑰出現的機率比較高,但是兩者整體的統 11/23 15:27
→ GaussQQ: 計誤差不高就是 11/23 15:27
噓 deangood01: k 是私鑰 沒有說發送兩次就不安全 11/24 19:52
→ deangood01: 公私鑰基礎KPI的假設是 有些問題 函數很好計算y=f(x) 11/24 19:53
推 punjab: 包養網站葉配啦 11/24 19:53 → deangood01: 但是反函數 x=f'(y) 不存在或是需要花指數時間來驗證 11/24 19:54
→ deangood01: RSA利用質因數分解很困難的特性 橢圓曲線目前也沒有 11/24 19:55
→ deangood01: 快速有效的回推算法 11/24 19:55
→ deangood01: Hashing 跟signature也是不同東西 11/24 19:56
→ deangood01: Hashing 是利用公開的雜湊函數ex SHA256來對資料驗證 11/24 19:58
推 sashare: 記者收了包養網多少啦 11/24 19:58 → deangood01: 不同資料有不同雜湊 除非碰撞 簽名是利用私鑰 驗明 11/24 19:58
→ deangood01: 發送者,大眾可以用公鑰進行驗證 11/24 19:59
→ deangood01: 同一筆資料 你想簽十次 或簽十比不同資料都是安全的 11/24 20:00
→ deangood01: 可以閱讀一下非對證加密,公私鑰簽章等等 11/24 20:01
噓 deangood01: 不太懂可以在說啥 基本上你可以在Eth看到一個錢包 交 11/26 18:10
推 sijiex: 包養真亂 11/26 18:10 → deangood01: 易幾百幾千次都是輕鬆平常 也不會因此被駭 11/26 18:10
→ deangood01: 你可能要提供相關報道才能討論 11/26 18:11
推 deangood01: 推回來 11/26 18:16
→ deangood01: 我猜你說的k跟私鑰k0沒有關係 是一個完全隨機數,用 11/26 18:16
→ deangood01: 於簽名的 11/26 18:16
推 VLADINA: 演藝圈一堆包養好嗎 11/26 18:16