Cryptography
數字簽名和數字指紋有什麼區別?
我一直在閱讀 Andreas M. Antonopoulos 的《Mastering Bitcoin》一書,在第 4 章中,比特幣中使用的密碼學分為:密鑰、比特幣地址和數字簽名。我知道密鑰是成對的私有和公共的。
我不明白的部分是寫在哪裡:“收件人的公鑰由它的數字指紋表示,稱為比特幣地址”
在這種情況下,數字指紋到底意味著什麼?它與數字簽名有何不同,它如何代表比特幣地址?
“數字指紋”是引用某些特定數據的唯一標識符。通常,指紋的大小是固定的,它所引用的資訊的大小要大得多。在這種情況下,比特幣地址是 256 位公鑰的 160 位數字指紋,通過兩次散列公鑰創建。
數字簽名和數字指紋之間的區別在於,任何人都可以生成數字指紋,而生成數字簽名則需要密鑰。數字簽名用於證明某一特定數據是由特定方提供或批准的。數字指紋用於確保提供的數據是正確的數據。
當執行典型的比特幣交易時,交易包括數字簽名。但是,僅確保數字簽名有效是不夠的,必須使用正確的密鑰進行簽名。為了確定這一點,用於簽署交易的公鑰的數字指紋會與地址進行核對。如果它們匹配,則公鑰是正確的,這意味著交易是由擁有適當密鑰的人簽署的。