ECDSA R、S、Z、K 計算工具

R / S / Z / K 計算工具 - Bitcoin ECDSA R、S、Z、K 分析器

使用已知的 R、S、Z、K 數值分析 Bitcoin ECDSA 簽章資料,並依照 secp256k1 的數學關係進行計算。所有計算均使用 JavaScript BigInt 在瀏覽器本機執行。

計算結果(Hex)
計算結果會顯示在這裡...
所有計算都使用 JavaScript 的 BigInt 在瀏覽器本機直接執行。輸入資料不會傳送至伺服器。
教育用途資料集

Bitcoin ECDSA 簽章範例資料

本範例資料集用於學習 secp256k1 與 ECDSA 簽章資料, 展示題目編號、ECDSA 簽章中的 R、S、Z、K 數值、 公開金鑰、私鑰與 Nonce 之間的數學關係。

欄位說明: R 與 S 是 ECDSA 簽章中的兩個主要組成部分, Z 代表簽章過程使用的訊息雜湊值。 Pubkey 代表公開金鑰, Private Key 代表範例資料集中提供的私鑰數值, Nonce 則代表簽章過程中使用的暫時性 Nonce。
No. R Value S Value Z Value Pubkey Private Key K Value(Secret Nonce)
1 5546e2ea6259151ce2bc9040efd94f8019cc08c5524ca18a77f26dcd74deb10a 3e94a32386348f863f6ec148077eb3ebddfd4c0333c5b2030187f6b8686fe98d 339207a21f02059dcc8bfc47f62c9ec289f3c3037bdc24c8fee9174280f182a2 0230210c23b1a047bc9bdbb13448e67deddc108946de6de639bcc75d47c0216b1b 1A838B13505B26867 68592d1aa72720ae7333beb3bd9d6a8e69c0567fb91720318c6289d48227c05d
2 36729851ae5082e0d70786af455cd47fa29162c459f73c1041f2663c783842be 39ecf6abb2c43d62bce1d9cf77d3bbabb5ccad0f87399990f6ba2a568236330c fb3fbd8f0f59ee460024db999b97f475d9cc8cdbce21b3ee749810cd266b2c31 0290e6900a58d33393bc1097b5aed31f2e4e7cbd3e5466af958665bc0121248483 349B84B6431A6C4EF1 79577177c7a329a48d26bcf81b5db9e88b458bf8e76665f3a9ff4ab4f0cad08e
3 1a35a0409ba510b8055ab7767a06952783f3ec175c7f089cbad402a682b0852d 3ee9d3f06eeadc7ccae821ac4d9f16c0df1ac5e977c9d1bceac968ed9f05bcc4 f88b9f85f645b62635765fc550ae8d29ec28737bff088baa33d34719fce25447 03726b574f193e374686d8e12bc6e4142adeb06770e0a2856f5e4ad89f66044755 4C5CE114686A1336E07 123503c481722a0b4161fc681b8c786425664c102101a649d665ca788da72e7f
4 8317c7f43d629fbe025e8e05dbbe6946d5a490115fd2718b282b693ff5809d40 2a7c06856091c28f49f1dd3a5bf405cc6c5743eb7aa0b66c150336b48215b2d4 42b44688c7e5aa10eff0ec27922238d4f3e4cda094bb7a61bea7849caa7b39d9 037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc EA1A5C66DCC11B5AD180 93c7e4ce32301e1676eeef686e851d3b84a0174f7e9f0c523df966c96a24e886
5 0d0272274f0778f4242d4ada44d4c9ca1959238336c4754111da12adaf71a427 766b5813b8f194a228331282914238b30fe7ca34afad27eecb01e602ae5ea4e7 4b0269284f3a12c5a0fe6fd247d116e777470de4d5762a2c6318273cc0a2e8a0 0329c4574a4fd8c810b7e42a4b398882b381bcd85e40c6883712912d167c83e73a 11720C4F018D51B8CEBBA8 18fbd62747eb6a108af69ae775878af10075590fc534036710c2cb6121a24710
6 089214e780b1be83aca76593293e871159eb392090135759dc110667bfd72e36 73eb3423c444d9248d682de9670a1c48343e3554bd3eda0da070a8cd3f2ff7cc b79f283cae2b07b53adb9773dde9b93edf91a99b9fdda83ba9c7f4e50d7c5c11 035c38bd9ae4b10e8a250857006f3cfd98ab15a6196d9f4dfd25bc7ecc77d788d5 2CE00BB2136A445C71E85BF 0640c641a09b8b28b721f3c861916de8eb1fab230ad5fa33dd0e03739b4936c9
7 df359e57f5e14b8dccf09daf6ec634f48cfc105658e0fc1bf53926af5494498a 392816fdecd0122f306b96b68a863f338abb0e874657adf22bb685b2e38826ce 6c44185598b9fd22ac7c8bd8349f5a5894c4e02da9bbd672fd59cd67ce2cfb8f 02967a5905d6f3b420959a02789f96ab4c3223a2c4d2762f817b7895c5bc88a045 527A792B183C7F64A0E8B1F4 b3591ed9fac56c96f20f13646c6d4a4371c1c34db9126ee203d9ecb823c46930
8 537b3babb66402cc0cbe8b4856e0172c087bd98ddfb43e293219c8cccf6c7fdc 4fb4d9eecf4c6cd0efb567612993a085cfbeca1163633047e6dd0c4059b06d0c 1ced6233a635419d1b20077c0e114510b00c3510baf322b1a236dccca3c13c82 03d2063d40402f030d4cc71331468827aa41a8a09bd6fd801ba77fb64f8e67e617 AF55FC59C335C8EC67ED24826 1ac46997d73e24a7167fa8b9825927cb59d23528c69328ce71de3087a8c79c1f
9 1e8ad3749c24db4ae05de85ee2ec33277688630f97f8ce4f883fa36c6e193d3a 2f66ac26be1b44df871473a42c5e8e2cbc703465e415b064dc4854b1d8b3c99f 9c4c95b28b34558365fbcc4168debafa430c0238a27d9185d4cea23f69cddb18 03bcf7ce887ffca5e62c9cabbdb7ffa71dc183c52c04ff4ee5ee82e0c55c39d77b 16F14FC2054CD87EE6396B33DF3 0129543698812c5d61918bddd6b24712b0d757aecba20a21c7971a3b652142af
10 2ce84174d77df3974453ed9ea7075a94adc333068e2b82427cf3bf685a99b860 3329eb238537ec29814802e5d19f1a34a25faac8092d41b431f10bbfa05717ed 0573b73c3fe704730cee74e1878253b2cbd253650d10dcd2a418b98e8c04ae17 0309976ba5570966bf889196b7fdf5a0f9a1e9ab340556ec29f8bb60599616167d 35C0D7234DF7DEB0F20CF7062444 caf9bf64e2440011a0c52746068da91cb7f9b1e20b0a4ac0816babbb85c4bcba
11 988f9aeafa9acd319281e757deffeb3e52160baf1096b73bababd55deb31f3f2 10c209729f42f3b531116c5650df090cbe934bd5a4fc556d60f143227b54c69a 016cc9c96952b3460a847c7a831cc695ffe9289a41d5ded5aa9cb6ff3ab67f6b 0248d313b0398d4923cdca73b8cfa6532b91b96703902fc8b32fd438a3b7cd7f55 60F4D11574F5DEEE49961D9609AC6 9dd8dc8f8073f11e60ac3dd7a371313c847366b5dff74f46c9fac279eb3a2fea
R ECDSA 簽章的組成元素之一
S ECDSA 簽章的組成元素之一
Z 訊息或交易雜湊值
Pubkey 公開金鑰
Nonce 簽章過程使用的暫時性 Nonce
教育用途說明: 本表格提供 secp256k1 與 ECDSA 資料結構的示範, 用於學習 Bitcoin 數位簽章、R、S、Z、K 以及 Nonce 之間的數學關係。 真實環境中的私鑰與 Nonce 都屬於高度敏感的密碼學資料, 不應公開或放入實際使用中的錢包資料。
Bitcoin 密碼學

Bitcoin ECDSA 簽章中的 R、S、Z、K 是什麼?

本文完整介紹 Bitcoin ECDSA 數位簽章中的 R、S、Z、K 四個重要數值,說明 secp256k1、訊息雜湊、Nonce 與私鑰 之間的關係,以及弱 Nonce 可能帶來的密碼學安全風險。

為什麼 Bitcoin 交易需要數位簽章?

Bitcoin 不使用傳統的使用者名稱與密碼來授權交易。 相反地,Bitcoin 使用密碼學數位簽章來證明交易是否 由持有相應私鑰的一方授權。

當使用者要花費由私鑰控制的 Bitcoin 時, 交易會使用橢圓曲線數位簽章演算法 Elliptic Curve Digital Signature Algorithm, 簡稱 ECDSA,產生數位簽章。

Bitcoin 歷史上廣泛使用 secp256k1 橢圓曲線進行 ECDSA 簽章。理解 R、S、Z、K, 有助於研究 Bitcoin 簽章格式與 Nonce 安全性。

私鑰 秘密簽章金鑰
Z 訊息雜湊值
K 暫時性秘密 Nonce
R,S ECDSA 簽章數值

Bitcoin ECDSA 的 4 個重要數值

R

ECDSA 簽章值 R

R 是 ECDSA 數位簽章中的重要組成元素之一。 它與簽章時使用的暫時性 Nonce K 以及橢圓曲線運算 有直接的數學關係。

S

ECDSA 簽章值 S

S 是 ECDSA 簽章中的另一個主要元素。 它與訊息雜湊 Z、私鑰以及 Nonce K 共同參與 ECDSA 簽章方程式的計算。

Z

訊息雜湊 Z

Z 代表 ECDSA 簽章過程所使用的訊息雜湊值。 在 Bitcoin 中,它會根據對應的簽章雜湊規則, 從交易資料計算而來。

K

暫時性 Nonce K

K 是每次簽章使用的秘密暫時性 Nonce。 它不是設計成公開資訊的數值,因此必須以安全方式產生 並避免重複使用或遭到洩漏。

R、S、Z、K 之間有什麼關係?

ECDSA 簽章的基本數學關係可以概念化表示如下:

s = k^-1(z + r*d) mod n

其中 d 代表私鑰, n 代表橢圓曲線群的階。 R、S、Z 與 K 並不是彼此獨立的隨機數值, 而是透過 ECDSA 簽章方程式產生數學關係。

在已知特定條件的研究或測試環境中, 上述方程式也可以進一步重新整理。

d = (s*k - z) * r^-1 mod n
重要說明: 這個公式展示 ECDSA 私鑰、Nonce 與簽章參數之間的數學關係。 如果研究環境中已知正確的 K 與有效簽章, 就可以透過方程式進行數學驗證。 在正常的 Bitcoin 簽章流程中,K 應該保持秘密, 並且必須使用安全方式產生。

K 會公開在 Bitcoin 交易中嗎?

一般情況下,不會。

Bitcoin 的 ECDSA 簽章會公開必要的簽章資料, 但暫時性 Nonce K 本身不是交易中公開的秘密數值。 這也是為什麼 Nonce 的安全性在 ECDSA 實作中非常重要。

可以將幾個主要數值的公開程度簡單整理如下:

數值 通常可以確認嗎? 主要作用
R 可以 ECDSA 簽章組成元素
S 可以 ECDSA 簽章組成元素
Z 可由交易資料推導 交易簽章使用的訊息雜湊
K 不應公開 秘密暫時性 Nonce
D 不應公開 秘密簽章私鑰

為什麼弱 Nonce K 會造成安全風險?

在 ECDSA 中,Nonce K 的安全產生方式非常重要。 不只是要讓 K 難以預測,也需要避免不同簽章之間 意外使用相同的 K,並避免產生具有可利用統計偏差的 Nonce。

如果實作無法正確產生或保護 K, 不同簽章之間可能出現原本不應存在的數學關係。 在符合特定條件的情況下,這些關係可能造成私鑰相關資訊洩漏。

重要安全觀念:

私鑰不需要直接出現在 Bitcoin 區塊鏈上才可能面臨風險。 如果簽章系統的 Nonce 產生機制存在嚴重弱點, 某些情況下可能從公開簽章資料中發現額外的數學資訊。 因此,安全的 Nonce 產生與管理是 ECDSA 實作的重要部分。

Nonce 重複使用:ECDSA 常見的安全問題

ECDSA 最著名的安全問題之一,是相同的 Nonce K 被錯誤地重複用於不同訊息的簽章。

假設兩筆不同訊息使用相同 K 產生簽章, 可以得到兩個具有相同 R 的 ECDSA 方程式:

s1 = k^-1(z1 + r*d) mod n
s2 = k^-1(z2 + r*d) mod n

因為兩個方程式使用相同的 K, 兩筆簽章之間會產生特殊的數學關係。 在滿足相應條件時,可以透過方程式差異分析 Nonce, 並進一步研究其對私鑰安全性的影響。

因此,在 Bitcoin 與其他使用 ECDSA 的系統中, 決定性 Nonce 或經過適當設計的密碼學安全亂數來源 都是非常重要的安全措施。

Nonce 產生失敗的其他原因

Nonce 重複使用並不是唯一的問題。 ECDSA 實作中還可能存在其他造成 Nonce 安全性下降的因素。

  • Nonce 重複使用: 不同簽章錯誤地使用相同的 K。
  • 可預測的 Nonce: K 使用可被外部推測的資訊來源產生。
  • 亂數品質不足: 亂數產生器沒有提供足夠的熵。
  • Nonce 偏差: K 的部分位元出現統計偏差,或缺乏足夠的隨機性。
  • 實作錯誤: Nonce 產生、資料序列化或模運算處理存在程式錯誤。
  • 側通道資訊洩漏: 時間差異、功耗、電磁輻射或其他實作層面的 側通道可能洩漏與 Nonce 有關的資訊。

只知道 R、S、Z 可以取得私鑰嗎?

在正常的 ECDSA 安全假設下,只知道 R、S、Z 並不足以直接取得私鑰。

ECDSA 的安全性建立在橢圓曲線離散對數問題的計算困難度上。 在正確實作且 Nonce 安全的情況下, 公開簽章資料不應該讓外部使用者直接計算出私鑰。

但如果取得了與 K 有關的額外資訊,情況可能有所不同。 例如 Nonce 重複使用、Nonce 可預測或特定的偏差, 都可能產生正常安全簽章不應該存在的數學關係。

重要觀念:

R、S 通常屬於公開簽章資料,Z 則可以依照 Bitcoin 的簽章雜湊規則從交易資料推導。 K 則應保持秘密且不可預測。 ECDSA 的安全性除了依賴私鑰保護,也高度依賴 正確的 Nonce 產生與管理方式。

為什麼 Bitcoin 簽章系統適合密碼學研究?

Bitcoin 的交易資料可以在公開區塊鏈上進行驗證, 因此它提供了一個非常特殊的密碼學研究環境。

研究人員可以分析歷史交易與簽章資料, 依照正確的交易序列化方式計算訊息雜湊, 檢查簽章組成元素,並研究簽章資料之間是否存在 不符合安全 Nonce 產生預期的數學關係。

不過,發現簽章之間存在某種數學關係, 並不代表一定可以取得私鑰。 實際分析時仍必須正確處理簽章格式、 交易序列化方式、SIGHASH 類型、 簽章編碼方式以及相關數學條件。

用流程圖理解 Bitcoin ECDSA 安全性

Private Key (d) | v ECDSA 簽章處理 | +-------------------+ | | v v Nonce (K) Message Hash (Z) | | +---------+---------+ | v ECDSA Equation | v Signature (R, S) 正常情況: R + S + Z -> 不應直接揭露私鑰 d 弱 Nonce 情況: K 重複 / 可預測 / 存在偏差 | v 額外數學資訊 | v 可能造成私鑰安全風險

Bitcoin 錢包開發者如何保護 Nonce K?

安全的錢包實作應將 Nonce 產生視為重要的密碼學處理流程, 並避免自行設計未經驗證的簽章機制。

  • 使用經過充分審查與廣泛使用的密碼學函式庫。
  • 使用安全亂數來源,或正確實作的決定性 Nonce 產生方式。
  • 避免在不同訊息之間重複使用 ECDSA Nonce。
  • 除非具有充分的密碼學工程理由, 否則不要自行從零實作橢圓曲線運算。
  • 保護私鑰與暫時性秘密資料, 避免資料進入日誌、除錯輸出或其他非預期的公開位置。
  • 使用已建立的密碼學測試向量驗證實作結果。

總結:理解 Bitcoin ECDSA 的 R、S、Z、K

R、S、Z、K 是理解 Bitcoin ECDSA 簽章機制時非常重要的四個概念。 R 與 S 是簽章的主要組成元素,Z 是簽章流程使用的訊息雜湊值, 而 K 則是簽章時使用的秘密暫時性 Nonce。

R 與 S 構成 ECDSA 簽章, Z 代表訊息雜湊, K 則必須保持秘密、不可預測, 並且不能在不安全的情況下重複使用。

Bitcoin ECDSA 的安全性並不只是保護私鑰這麼簡單。 簽章流程中的暫時性秘密資料同樣具有嚴格的安全要求。 Nonce 產生器、亂數品質、實作細節與側通道防護, 都可能影響整體簽章安全性。

簡單來說: 安全產生的 Nonce 能維持 ECDSA 簽章應有的安全特性。 如果 Nonce 產生或管理方式存在問題, 原本公開且安全的簽章資料可能出現額外的數學關係, 進而形成潛在的私鑰安全風險。