Re: [閒聊] 私鑰可以自己生成嗎?冷錢包生成原理是?

看板DigiCurrency作者 (此方不可長)時間1年前 (2022/11/22 15:45), 1年前編輯推噓0(2221)
留言25則, 2人參與, 1年前最新討論串2/2 (看更多)
※ 引述《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.cc), 來自: 36.226.164.141 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1669103111.A.716.html ※ 編輯: wahaha99 (36.226.164.141 臺灣), 11/22/2022 15:47:16

11/23 15:24, 1年前 , 1F
k 是私鑰沒錯,通常可以亂數選取。但是所謂的隨機亂數選
11/23 15:24, 1F

11/23 15:24, 1年前 , 2F
取是有學問的….
11/23 15:24, 2F

11/23 15:27, 1年前 , 3F
若是兩個私鑰都是均勻隨機選取,要發生碰撞的機率很低。
11/23 15:27, 3F

11/23 15:27, 1年前 , 4F
可以參考 birthday attack。然後隨機選取的範圍嚴格講不
11/23 15:27, 4F

11/23 15:27, 1年前 , 5F
是[0,2^256)。目前使用的 ecdsa 橢圓曲線 order比這個值
11/23 15:27, 5F

11/23 15:27, 1年前 , 6F
小一點,因此應該是取[0,secp256k1 的 order)。使用前者
11/23 15:27, 6F

11/23 15:27, 1年前 , 7F
會造成某些值的私鑰出現的機率比較高,但是兩者整體的統
11/23 15:27, 7F

11/23 15:27, 1年前 , 8F
計誤差不高就是
11/23 15:27, 8F

11/24 19:52, 1年前 , 9F
k 是私鑰 沒有說發送兩次就不安全
11/24 19:52, 9F
https://juejin.cn/post/7051032728266866701 然后需要定义一对公私钥,根据上面的定义 P = k ×G,其中, k 是一个随机整数,对应为私钥 k0,PP 表示椭圆曲线上的一个点, 对应为公钥 P0。

11/24 19:53, 1年前 , 10F
公私鑰基礎KPI的假設是 有些問題 函數很好計算y=f(x)
11/24 19:53, 10F

11/24 19:54, 1年前 , 11F
但是反函數 x=f'(y) 不存在或是需要花指數時間來驗證
11/24 19:54, 11F

11/24 19:55, 1年前 , 12F
RSA利用質因數分解很困難的特性 橢圓曲線目前也沒有
11/24 19:55, 12F

11/24 19:55, 1年前 , 13F
快速有效的回推算法
11/24 19:55, 13F

11/24 19:56, 1年前 , 14F
Hashing 跟signature也是不同東西
11/24 19:56, 14F

11/24 19:58, 1年前 , 15F
Hashing 是利用公開的雜湊函數ex SHA256來對資料驗證
11/24 19:58, 15F

11/24 19:58, 1年前 , 16F
不同資料有不同雜湊 除非碰撞 簽名是利用私鑰 驗明
11/24 19:58, 16F

11/24 19:59, 1年前 , 17F
發送者,大眾可以用公鑰進行驗證
11/24 19:59, 17F

11/24 20:00, 1年前 , 18F
同一筆資料 你想簽十次 或簽十比不同資料都是安全的
11/24 20:00, 18F

11/24 20:01, 1年前 , 19F
可以閱讀一下非對證加密,公私鑰簽章等等
11/24 20:01, 19F
我對橢圓簽名確實沒有搞得很懂, 我只知道如果這裡不用隨機數(不重複值), 會被破解。PS3就是這樣被搞過。 ETH鍊上也有人專門在嗅嘆這種錯誤的簽名、然後把對方的錢吃掉。 ※ 編輯: wahaha99 (36.226.177.106 臺灣), 11/25/2022 04:53:03

11/26 18:10, 1年前 , 20F
不太懂可以在說啥 基本上你可以在Eth看到一個錢包 交
11/26 18:10, 20F

11/26 18:10, 1年前 , 21F
易幾百幾千次都是輕鬆平常 也不會因此被駭
11/26 18:10, 21F

11/26 18:11, 1年前 , 22F
你可能要提供相關報道才能討論
11/26 18:11, 22F

11/26 18:16, 1年前 , 23F
推回來
11/26 18:16, 23F

11/26 18:16, 1年前 , 24F
我猜你說的k跟私鑰k0沒有關係 是一個完全隨機數,用
11/26 18:16, 24F

11/26 18:16, 1年前 , 25F
於簽名的
11/26 18:16, 25F
文章代碼(AID): #1ZV7u7SM (DigiCurrency)
文章代碼(AID): #1ZV7u7SM (DigiCurrency)