讀書報告(八) 數位簽章 (Digital Signature)

#數位簽章 (Digital Signature) #私鑰(Private Key) - 只可以自己知道而不可以公開的 #公鑰(Public Key) - 公開而所有人都可以見到和知道的


首先產生一組私鑰或 #簽署鑰 SK (Private Key or Signing Key) 經過 #橢圓曲線密碼運算(Elliptic Curve Digital Signature Algorithm) (ECDSA) (需要Base Point, Modulus 及 Order) (Elliptic Curve Operation) 產生公鑰 (Verifying Key VK) - 座標( x,y ) *所以公鑰是由私鑰產生的,雙方存在著數學的關系,好的密碼運算令竊密者無法以公鑰

#還原私鑰,所以構成 #安全有效 的數位簽署。 *利用一對私鑰及公鑰的簽署為 #非對稱數位簽章(Asymmetric Digital Signatures)


簽署過程: 將 #隨機碼 #Nonce + 信息 + SK 經過橢圓曲線密碼運算 (需要Base Point, Modulus 及 Order n) (Elliptic Curve Operation),產生 #數位簽章 - 座標 ( r,s )


核實過程: r + s + 信息 + 公鑰VK 經過橢圓曲線密碼運算 (需要Base Point, Modulus 及 Order n) (Elliptic Curve Operation),產生新座標 (x’,y’) 如果 r = x’ mod n, s = y’ mod n 則為真確


#Bitcoin#Ethereum 利用橢圓曲線密碼運算( #ECDSA)為交易簽署


#比特幣 Bitcoin 的簽署流程 首先產生256bits的私鑰(即64HEX) 我們用ECDSA 去計算出512 bit (x,y 2個座標) 的公鑰,公鑰及私鑰是Key Pair,

所以是非對稱數位簽章。 然後以私鑰簽署交易, 那麼任何擁有公鑰的人都可以確認交易真假,但沒有人能夠由公鑰得悉私鑰,

所以交易非常安全。 Bitcoin 及 Ethereum 的地址是與公鑰及私鑰相連。 * #HEX 為16進制,即每1個16進制位元可記錄4個2進制位元。


#以太幣 Ethereum 的簽署流程 首先產生256bits的私鑰(即64HEX) 我們用ECDSA 去計算出512 bit (x,y 2個座標) 公鑰。 公鑰及私鑰也是是Key Pair, 然後將公鑰以SHA-3 的256 Hush 化成64HEX位元。 同樣地任何擁有公鑰的人都可以確認交易真假。 ETH在公鑰經過Hashing Function 的64HEX位元以

最後的40個HEX字元前面加0x為地址。

#DigitalSignature #EllipticCurveDigitalSignatureAlgorithm #DSA #老9讀書報告

0 views0 comments

Recent Posts

See All