現在我們比較常用的交易簽名,
是將交易拿去跑 Hash, 再用私鑰加密,
到時交易廣播出來後,
用公鑰解密,
再與你實際廣播出來的交易做比對,
也就是比的是 hash,
不過這部分我就不太懂了, 為什麼要先跑一次 Hash?
不能直接加密交易就好?
我想到的原因有2,一是固定簽名長度,
二是增加隨機性?
懂得的前輩請指點一下,感謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.7.7 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1658806385.A.E4B.html
推 Ayukawayen: 通常是因為非對稱加密法的效率較差,所以明文盡量短點 07/26 11:59
→ Ayukawayen: 另外RSA簽章和你講的流程差不多,但BTC和ETH用的都是 07/26 12:00
→ Ayukawayen: 橢圓曲線加密法,所以簽章是用DSA,DSA的輸入有範圍限 07/26 12:01
→ Ayukawayen: 制,所以反正過程中一定會有取Hash的步驟。 07/26 12:03
→ Ayukawayen: (DSA會做mod運算,所以會變成一個有限循環群) 07/26 12:06
→ overdoingism: 感謝解惑 07/26 22:42
推 deangood01: 通常我們將那個MAC message authentication code, 用 07/27 02:41
→ deangood01: 來驗證integrity 就像封包有crc來檢驗是否傳輸有錯誤 07/27 02:41
→ deangood01: Mac ,是確認其他部分未經竄改 最後加上簽章 07/27 02:41