TWI822693B - 產生臨界值保管庫之電腦施行方法 - Google Patents

產生臨界值保管庫之電腦施行方法 Download PDF

Info

Publication number
TWI822693B
TWI822693B TW107128337A TW107128337A TWI822693B TW I822693 B TWI822693 B TW I822693B TW 107128337 A TW107128337 A TW 107128337A TW 107128337 A TW107128337 A TW 107128337A TW I822693 B TWI822693 B TW I822693B
Authority
TW
Taiwan
Prior art keywords
share
node
key
nodes
polynomial function
Prior art date
Application number
TW107128337A
Other languages
English (en)
Other versions
TW201921888A (zh
Inventor
克瑞格 S. 萊特
Original Assignee
安地卡及巴布達商區塊鏈控股有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB1713064.2A external-priority patent/GB201713064D0/en
Priority claimed from GBGB1714660.6A external-priority patent/GB201714660D0/en
Priority claimed from PCT/IB2018/055604 external-priority patent/WO2019034951A1/en
Application filed by 安地卡及巴布達商區塊鏈控股有限公司 filed Critical 安地卡及巴布達商區塊鏈控股有限公司
Publication of TW201921888A publication Critical patent/TW201921888A/zh
Application granted granted Critical
Publication of TWI822693B publication Critical patent/TWI822693B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Saccharide Compounds (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一種方法及裝置用於依賴於個別選定之多項式函數而安全地且私下產生一臨界值保管庫位址及分散之個別密鑰份額,而不揭露該等密鑰份額且不重建構私用密鑰。經由產生對應於該臨界值保管庫位址之一數位簽章,可使用儲存於該臨界值保管庫位址處之一數位資產作為至一交易之一輸入。描述用於合作地產生該數位簽章而不重建構該私用密鑰或揭露個別密鑰份額之方法及裝置。描述用於再新分散之私用密鑰份額的方法及裝置。

Description

產生臨界值保管庫之電腦施行方法
發明領域
本申請案大體上係關於資料及基於電腦之資源的安全性。更特定而言,本申請案係關於橢圓曲線密碼學、橢圓曲線數位簽章演算法(ECDSA)應用及臨界密碼學。舉例而言,本申請案描述用於在任何節點或第三方不具有自身產生私用密鑰之能力的情況下安全地及秘密合作地產生公用-私用密鑰對的實例處理程序,同時使得臨界數目個節點能夠產生順應ECDSA要求之數位簽章。
發明背景
在此文件中,使用術語「區塊鏈」來包括所有形式的基於電腦之電子分散式總帳。此等總帳包括基於共識之區塊鏈及交易鏈技術、許可及未許可總帳、共用總帳及其變化。區塊鏈技術之最廣泛已知之應用係比特幣總帳,但已提議並開發出其他區塊鏈施行。雖然可僅出於方便及說明之目的而在本文中提及比特幣,但應注意,本發明不限於與比特幣區塊鏈一起使用,且替代區塊鏈施行及協定處於 本申請案之範圍內。
區塊鏈係同級間電子總帳,其施行為由區塊組成的基於電腦之非集中式系統,該等區塊又由交易組成。各交易為一資料結構,該資料結構編碼區塊鏈系統中之位址之間的數位資產之控制的傳送,且包括至少一個輸入及至少一個輸出。各區塊含有先前區塊之散列,使得該等區塊變為鏈接在一起以產生自一開始就已寫入至區塊鏈之所有異動的永久性不可變更之記錄。
非集中化之概念係區塊鏈系統之基礎。非集中式系統提供如下優點:不同於分散式或集中式系統,其不存在單點失敗。因此,其供應等級增強之安全性及彈性。藉由使用諸如橢圓曲線密碼學及ECDSA之已知密碼編譯技術來進一步增強此安全性。
對區塊鏈系統中之數位資產(其可表示貨幣、硬資產、軟資產、運算資源或任何其他事物或服務)的所有權及控制係經由公用-私用密鑰對來控制。未用交易輸出(UXTO)位址類似於公用密鑰,且對分配至彼UXTO位址之資產的控制係藉由使用對應私用密鑰來表明。為藉由使用UXTO作為輸入將數位資產傳送至另一交易,該輸入必須藉由對應私用密鑰來進行數位簽章。因此,對私用密鑰之安全性及秘密性的控制係區塊鏈之安全性及可靠性的基礎。
因此,需要一種進一步增強此類系統之安全性的解決方案。本申請案提供此優點連同其其他優點。
發明概要
本申請案提供如隨附申請專利範圍中所定義之方法及系統。
根據本申請案之態樣,提供一種安全地產生一臨界值保管庫之電腦施行方法,其中該臨界值保管庫具有一公用密鑰位址、一私用密鑰及一臨界值k,多個節點中之各節點具有一各別第一秘密及一各別k-1次多項式函數,其中彼節點之各別第一秘密設定為該多項式函數之自由項,該等節點包括具有一第一多項式函數之一第一節點。藉由該第一節點執行之該方法包括:對於該等多個節點中之各其他節點,將該第一多項式函數中之一變數設定為與彼其他節點相關聯之一值,得出該多項式函數針對彼值之一各別結果,以及將該各別結果安全地傳達至彼其他節點。該方法進一步包括:自至少臨界數目個其他節點接收各別第二秘密,其中該等各別第二秘密中之各者係彼其他節點之各別多項式函數針對與該第一節點相關聯之一第一值的一結果;將該等各別結果中之各者的一橢圓曲線點倍積傳達至該等其他節點;自至少該臨界數目個該等其他節點接收由該等其他節點與該等節點中之任一者共用的該等各別第二秘密之橢圓曲線點倍積;基於自該等其他節點接收之該等各別第二秘密的一總和形成及儲存該私用密鑰之一第一私用密鑰份額;以及基於該等各別第二秘密之所接收之橢圓曲線點倍積的一總和且使用多項式內插來判定 對應於該私用密鑰之該公用密鑰。
在一些施行中,各各別多項式函數係由其各別節點獨立地選擇,且各各別多項式函數具有係數之一不同集合。該等多項式可具有以下形式:
Figure 107128337-A0202-12-0004-1
在一些施行中,該方法包括將該第一多項式函數之各係數的一橢圓曲線點倍積傳達至該等其他節點。該方法可進一步包括自至少該臨界數目個其他節點接收其各別多項式函數之各係數的一橢圓曲線點倍積。該方法可又進一步包括驗證自該等其他節點接收之該等各別第二秘密。
可自以下形式之總和之判定獲得該第一私用密鑰份額:
Figure 107128337-A0202-12-0004-2
其中f i 係第i節點之該多項式函數,n係一橢圓曲線之一整數階,x係該多項式函數中之該變數,a t 係該多項式函數之係數之該集合且t係一索引。
在一些施行中,該方法包括經由與該等其他節點合作地參與一聯合零秘密份額之一無分發者秘密分散來修改該第一私用密鑰份額,由此該第一節點接收一第一零秘密份額且藉由添加該第一零秘密份額來修改該第一私用密鑰份額以形成及儲存一經修改之第一私用密鑰份額。
判定該公用密鑰之步驟可包含藉助於自該等各別第二秘密之該等所接收之橢圓曲線點倍積的多個已知值判定該多項式函數之係數來判定該多項式函數。
判定該多項式函數之步驟可包含執行一錯誤校正演算法。
判定該多項式函數之該步驟可包含執行一伯利坎普-韋爾奇(Berlekamp-Welch)解碼演算法。
判定該多項式函數之該步驟可包含:定義一錯誤定位多項式函數及一第二多項式函數,其中該第二多項式函數係該多項式函數與該錯誤定位多項式函數之一乘積;自該等各別第二秘密之該等所接收之橢圓曲線點倍積的多個已知值判定該第二多項式函數及該錯誤定位多項式函數之係數;以及自該第二多項式函數及該錯誤偵測多項式函數判定該多項式函數。
在另一態樣中,本申請案揭示一種安全地產生用於與一臨界值保管庫有關之一訊息之一數位簽章的電腦施行方法,其中該臨界值保管庫具有一公用密鑰位址、一私用密鑰及一臨界值,多個節點中之各節點具有一各別私用密鑰份額、暫時密鑰份額、乘法遮罩份額、第一加法遮罩份額及第二加法遮罩份額。藉由該等多個節點中之一第一節點執行的該方法包括:自藉由乘法密鑰份額及第一加法密鑰份額遮罩之該暫時密鑰份額以及該乘法密鑰份額之一橢圓曲線點倍積產生及共用一雙重遮罩密鑰份額;自至少臨界數目個其他節點接收其各別雙重遮罩密鑰份額及 其乘法密鑰份額之各別橢圓曲線點倍積(ECPM);使用該等雙重遮罩份額上之多項式內插及該等乘法密鑰份額之該ECPM上的多項式內插來判定一第一簽章分量;以及基於由該第二加法遮罩份額遮罩之該訊息、該私用密鑰份額、該第一簽章分量、該暫時密鑰份額判定及揭露一第二簽章分量份額。第二簽章分量可自至少該臨界數目個該等節點之該等各別第二簽章分量份額獲得。
在一些施行中,該方法包括使用無分發者秘密分散以產生該第一節點之私用密鑰份額、暫時密鑰份額及乘法遮罩份額。該方法可進一步包括使用聯合零秘密份額以產生該第一節點之第一加法遮罩份額及第二加法遮罩份額。在一些施行中,產生該雙重掩飾密鑰份額包括判定:
Figure 107128337-A0202-12-0006-126
其中
Figure 107128337-A0202-12-0006-127
係該雙重掩飾密鑰份額,D k(i)係該第一節點之暫時密鑰份額,α i 係該第一節點之乘法遮罩份額,β i 係該第一節點之第一加法遮罩份額,且n係一橢圓曲線之一整數階。
在一些施行中,該等雙重遮罩密鑰份額上之該多項式內插產生一經乘法遮罩暫時密鑰,該等乘法遮罩份額之該ECPM上的該多項式內插產生一乘法遮罩之一ECPM,且判定該第一簽章分量包括判定該乘法遮罩之該ECPM與該經乘法遮罩暫時密鑰之一逆的一乘積。
在一些施行中,判定該第二簽章分量份額s i 包括判定: s i =D k(i)(e+d A(i) r)+c i modn
其中D k(i)係該第一節點之暫時密鑰份額,e係該訊息之一散列,d A(i)係該第一節點之私用密鑰份額,r係該第一簽章分量,c i 係該第二加法遮罩份額且n係一橢圓曲線之一整數階。
在又一施行中,該方法包括經由至少該臨界數目個該等節點之該等第二簽章分量份額上的多項式內插來判定該第二簽章分量。在一些情況下,該方法包括將該第一簽章分量及該第二簽章分量添加至含有該訊息之一交易及將該交易提交至一區塊鏈網路。
在另一態樣中,本申請案揭示一種用於多方運算之電腦施行方法,該方法包含:在多個第一節點當中分散多個秘密之份額,其中各該秘密係一各別多項式函數之一自由項,且各該份額係與該第一節點相關聯之該多項式函數的一各別值,使得該秘密可藉助於臨界數目個該等份額之多項式內插來存取且不可在不存在該臨界數目個份額之情況下存取;在一第二節點處自多個該等第一節點中之各者接收一運算秘密之一各別份額,其中各該第一節點藉由對分配至該等節點之各別多個該等秘密之份額進行至少一個預定運算來計算該運算秘密之其份額;以及在該第二節點處藉助於該運算秘密之至少臨界數目個該等份額的多項式內插來判定該運算秘密。
此提供以下優點:使得能夠進行一運算,而 無需該等第一節點能夠判定個別秘密或該運算秘密。
各各別多項式函數可具有以下形式:
Figure 107128337-A0202-12-0008-3
其中f i 係第i節點之該多項式函數,n係一橢圓曲線之一整數階,x係該多項式函數中之變數,a t 係該多項式函數之係數之集合且t係一索引。
該方法可進一步包含將多個該等多項式函數之各係數的一橢圓曲線點倍積傳達至多個節點。
該方法可進一步包含將與該等多個該等節點中之各者相關聯的至少一個該多項式函數之一值的一橢圓曲線點倍積傳達至多個節點。
該方法可進一步包含證實與至少一個該節點相關聯之至少一個該多項式函數之一值的一橢圓曲線點倍積與該多項式函數之係數之橢圓曲線點倍積的一總和之間的一致性。
此提供以下優點:使得不真誠的參與者能夠被更迅速地識別且被排除對該多項式內插作貢獻。
判定該運算秘密之一份額可包括判定:μi=xi.yi mod n
其中x i 係一第一秘密之一份額,y i 係一第二秘密之一份額且n係一橢圓曲線之一整數階。
判定該運算秘密之一份額可包括判定:xi+yi mod n
其中x i 係一第一秘密之一份額,y i 係一第二秘密之一份額且n係一橢圓曲線之一整數階。
判定該運算秘密之一份額可包括判定:xi -1 mod n
其中xi -1係一第一秘密之一份額的以n為模數之一倒數,且n係一橢圓曲線之一整數階。
該方法可進一步包含藉由添加一零秘密之一份額來提供該運算秘密之一經修改份額,其中該零秘密係一多項式函數之等於零的一自由項使得該運算秘密可藉助於臨界數目個該經修改之多項式內插來存取且不可在不存在該臨界數目個份額之情況下存取。
此提供向處理程序進一步添加安全性的優點。
判定該運算秘密之步驟可包含藉助於自該運算秘密之該等份額的多個已知值判定對應於該運算秘密之該等份額的一多項式函數之係數來判定該多項式函數。
判定該多項式函數之步驟可包含執行一錯誤校正演算法。
判定該多項式函數之該步驟可包含執行一Berlekamp-Welch解碼演算法。
判定該多項式函數之該步驟可包含:定義一錯誤定位多項式函數及一第二多項式函數,其中該第二多項式函數係與該運算秘密之該等份額相關聯的該多項式函數與該錯誤定位多項式函數之一乘積;自該運 算秘密之該等份額的多個已知值判定該第二多項式函數及該錯誤定位多項式函數之係數;以及自該第二多項式函數及該錯誤偵測多項式函數判定與該運算秘密之該等份額相關聯的該多項式函數。
在另一態樣中,本申請案揭示一種在多個點當中分散一公用-私用密鑰密碼學系統之一私用密鑰之份額的電腦施行方法,其中各該節點具有一各別第一秘密、一各別第一多項式函數及一私用密鑰之一各別第一份額,彼節點之各別第一秘密設定為該各別第一多項式函數之自由項,其中該私用密鑰係該等第一秘密之總和且係一第二多項式函數之自由項,其中該私用密鑰可藉助於至少臨界數目個該等第一份額之多項式內插存取且不可由少於該臨界數目個該等第一份額存取,該等節點包括一第一節點,藉由該第一節點執行之該方法包含:選擇一各別第三多項式函數,其具有設定為其各別自由項之零;對於該等多個節點中之各其他節點,將該第三多項式函數中之一變數設定為與彼其他節點相關聯之一值,判定該第三多項式函數針對彼值之一各別結果,以及將該各別結果安全地傳達至彼其他節點;自各其他節點接收一各別第二秘密之一各別份額,其中該份額係彼其他節點之各別第三多項式函數針對與該第一節點相關聯之一第一值的一結果;以及形成一儲存該私用密鑰之一各別第二份額,其中該第 二份額係該各別第一份額之總和及該等第二秘密之所接收之份額的總和。
此提供以下優點:使得能夠更新該私用密鑰之該等份額,而不必要更新私用密鑰自身,藉此使得能夠移除惡意或無回應的參與者。
該方法可進一步包含將該等各別結果中之各者的一橢圓曲線點倍積傳達至該等其他節點;以及將與該第一節點相關聯之該第三多項式函數之係數的橢圓曲線點倍積傳達至該等其他節點。
該方法可進一步包含自各其他節點接收與彼節點相關聯之該結果的一橢圓曲線點倍積;以及自各其他節點接收與彼節點相關聯之該第三多項式函數之該等係數的橢圓曲線點倍積。
此提供以下優點:使得能夠更容易識別惡意或無回應的參與者。
該方法可進一步包含檢查相關聯於至少一個其他節點之該結果與相關聯於彼其他節點之該第三多項式函數的該等係數的一致性。
該方法可進一步包含基於一訊息及該私用密鑰之該第二份額而產生一數位簽章之一份額。
該方法可進一步包含自至少臨界數目個節點接收基於一訊息及該私用密鑰之各別第二份額的一數位簽章之各別份額;以及藉助於該數位簽章之至少臨界數目個該等份額的多項 式內插而產生一數位簽章。
根據本申請案之另一態樣,提供一種用於進行如上文所定義之方法的電腦施行系統。
本申請案之此等及其他態樣將自本文中所描述之實施例顯而易見且參考本文中所描述之實施例進行闡明。
70‧‧‧Berlekamp-Welch解碼器
72‧‧‧編碼器
74‧‧‧傳輸器
76‧‧‧接收器
100‧‧‧區塊鏈
102‧‧‧區塊
104‧‧‧交易
106‧‧‧輸出
110、800‧‧‧節點
200‧‧‧使用臨界值保管庫接收及傳送數位資產之一個實例方法
202、204、206、208、302、304、306、308、402、404、406、408、410、412、414‧‧‧操作
300‧‧‧用於產生臨界值保管庫位址之一個實例方法
400‧‧‧對與臨界值保管庫有關之訊息進行數位簽章的一個實例方法
802‧‧‧處理器
804‧‧‧記憶體
806‧‧‧網路介面
808‧‧‧處理器可執行區塊鏈應用程式
901、902、903、904、905、906、907、908‧‧‧步驟
現將僅藉助於實例且參看隨附圖式而描述本申請案之實施例,在隨附圖式中:圖1說明實例橢圓曲線數位簽章處理程序之部分;圖2說明實例橢圓曲線數位簽章處理程序之另一部分;圖3說明藉助於實例方法分散的份額之重建構階層架構;圖4圖解性地展示與臨界值保管庫之施行有關的份額之實例分散;圖5以流程圖形式展示使用臨界值保管庫接收及分散數位資產之一個實例方法;圖6以流程圖形式展示產生臨界值保管庫之實例方法;圖7以流程圖形式展示自臨界值保管庫產生用於分散資產之數位簽章的實例方法;圖8展示區塊鏈節點之實例方塊圖;圖9以流程圖形式展示使用本發明之臨界值保管庫進 行多方運算的實例方法;以及圖10展示用於在體現本發明之方法中進行多項式內插的Berlekamp-Welch解碼器。
較佳實施例之詳細說明
綜述
本發明提供一種新穎且發明性技術,其可用以增強需要受到保護以免於未授權存取之電腦系統及資源的安全性。以下描述提供與包括比特幣之密碼貨幣相關系統有關的施行、使用狀況及說明。然而,值得注意的係,本發明具有更廣泛適用性且可用以使其他類型之系統及基於電腦之資源安全,且本發明不限於此。
本發明之實施例藉由允許添加基於群組之臨界密碼學結合在無分發者(dealer)之情況下進行部署的能力來提供改良之安全性。實施例亦支援訊息之非互動式簽章且提供將私用密鑰分成可分散至個人及群組之多個份額。此外,本發明提供一種解決方案,其建立分散式密鑰產生系統,該系統移除對任何集中式控制清單的必要性,從而最小化任何詐欺或攻擊威脅。在將用於DSA之基於臨界值的解決方案應用於ECDSA時,本發明提供減輕任何單點失敗之完全分散式簽章系統。
當關於比特幣或替代者使用時,其可結合涉及CLTV及多重簽章電子錢包之擷取方案,以無限可擴展且安全之方式部署密碼貨幣。藉由使用基於群組及環之系 統,本發明可用以施行針對所發佈交易之盲簽章。
本申請案揭示一種與比特幣完全相容之基於臨界值的無分發者私用密鑰分散系統。該系統基於群組簽章方案來建置,該群組簽章方案不同於部署於比特幣電子錢包內之傳統的個別簽章系統。在部署後,該系統既可擴展又穩固以耐受錯誤及惡意對手。該系統支援有分發者系統及無分發者系統兩者且以無限靈活之分散組合來部署。
個別方可充當單個參與者或組合地充當分發者以出於安全性及可恢復性而跨越機器分散其所保護密鑰切片中之切片,或以群組形式用於角色及存取控制清單之基於投票臨界值的部署。
不存在對可劃分切片至何程度之深度的限制。需要針對相異部署來衡量此複雜度問題。以此方式,由於可使用此方法向外部參與者隱藏簽章及交易之記錄,該等外部參與者皆具有待在甚至來自群組內之彼等參與者之後續論文中呈現的擴充,因此本發明之實施例將一定程度之匿名性及似真否認性引入至比特幣交易中,從而提高對使用者之假名保護的標準。
易蔔拉欣(Ibrahim)等人[2003年]開發出初始的穩固臨界ECDSA方案。以下協定係何內容形成由格納羅(Gennaro)等人[1996年]引入之臨界DSS之橢圓曲線形式的進一步擴展。
Figure 107128337-A0202-12-0014-6
Figure 107128337-A0202-12-0015-7
使用群組數學允許建立可證實秘密共用方案(VSS),其擴展Shamir[1979年]在秘密隱藏方面之工作及來自RSA及DSA方案之費爾德曼(Feldman)[1987]及彼得森(Pedersen)[1992年]之工作,使得其可用於基於ECC及ECDSA之簽章系統內,諸如比特幣[布利茨(Koblitz),1998年]。本發明之實施例耐受惡意對手、停機且針對竊聽係穩固的。
本發明開始於呈現一種允許ECDSA簽章之協作簽章的方法,其中無任何一方知曉私用密鑰。此外,其允許更新及再新私用密鑰對而不必要改變私用密鑰。此係顯著的技術優點。
現有的解決方案皆需要受信任方。利用本發明亦允許喬姆(Chaum)[1983年]之工作自集中式系統擴展成發佈電子票據之真正分散式方式,該等電子票據可直接在比特幣區塊鏈上結算,從而使得對替代區塊鏈或側鏈之要求作廢。
關於上文所提及之產生器點G,比特幣使用 secp256k1。此定義用於比特幣中之ECDSA曲線的參數,且可參考用於高效密碼學之標準(SEC)(Certicom Research,http://www.secg.org/sec2-v2.pdf)。
信任問題
所有現有系統皆需要某一等級的信任。直至此時,比特幣皆需要使用與世隔絕之安全系統來保護私用密鑰,此已證明為難以實現。應注意,可交換或儲存比特幣之系統需要集中式授權之信任。本發明改變此要求,完全分散及非集中化比特幣內之密鑰產生及訊息簽章處理程序,而不改變協定之核心要求中的任一者。可施行本文中所提到之方法而不修改比特幣協定,且事實上,無法經由對經簽章訊息之分析判定此處理程序是否已部署。
在建立用於比特幣之分散式簽章方案時,本發明允許一組人員或系統以使任何個體皆不能夠獨立地產生簽章之方式安全地持有密鑰。當擴展時,此方案亦允許份額中之各者以及比特幣私用密鑰自身之安全恢復。群組產生簽章與自現有協定產生之簽章無法區分。因而,簽章證實仍如同其經由單人簽章者使用標準交易來進行。
實現此信任增加,此係因為秘密密鑰由一組n個參與者或m組參與者共用。交易之簽章需要臨界數目個參與者,且滿足最小臨界值之參與者或參與者群組的任何聯盟可執行簽章操作。重要地,此協定可同步地或作為分批處理程序進行,其中個人或群組可嘗試建立參與者之聯盟。
背景工作
Shamir[1979年]首先引入允許對密鑰之分散式管理的基於分發者之秘密共用方案。與此方案相關聯之問題來自信任無法被證實之分發者的必要性。此形式之方案與本發明完全相容且可用於經由本文中所提到之處理程序產生的個別密鑰切片的群組分散。
聯合隨機秘密共用(JRSS)[Pedersen,1992年]
此程序之所陳述目標係產生一種方法,其中一組參與者可共同地共用一秘密而任何參與者皆不知曉該秘密。各參與者選擇隨機值作為其本端秘密且隨群組分散使用Shamir之秘密共用方案(SSSS)導出的值。各參與者接著添加自包括其自身之參與者接收的所有份額。此總和係聯合隨機秘密份額。由單一誠實參與者供應之隨機性足以維持組合秘密值之機密性。即使所有(n-1)個其他參與者有意地選擇非隨機秘密值,此狀態仍保持為真)。
聯合零秘密共用(JZSS)[Ben-Or,1988年]
JZSS類似於JRSS,其中差異在於作為對隨機值之替代,各參與者共用0。使用此技術產生之份額輔助移除JRSS演算法中之任何潛在的弱點。
德施默得(Desmedt)[1987年]引入群組定向密碼學之概念。此處理程序允許參與者以僅允許參與者之選定子集解密訊息的方式將訊息發送至一組人員。在系統中,若發送者必須使用公用密鑰知曉成員,則該等成員據稱為已知的,且若存在用於群組之獨立於該等成員而持 有的單一公用密鑰,則該群組係匿名的。本發明整合兩種方法且允許已知且匿名之發送者及簽章者同時存在於群組內。
本發明
對於具有大階質數之任何橢圓曲線(CURVE)以及定義於質數域Z p 上之n階基點G
Figure 107128337-A0202-12-0018-123
CURVE(Z p ),可建立系統,其允許將ECC私用密鑰安全分散成多個密鑰份額以及允許其使用而任何參與者皆不能夠自少於臨界值個份額重新產生原始私用密鑰。
對於未知整數d A ,其中1
Figure 107128337-A0202-12-0018-124
d A
Figure 107128337-A0202-12-0018-125
(n-1),已知在給定Q A =d A ×G之情況下極難以計算d A [卡普爾(Kapoor),2008年]。
本發明之基礎技術係使用臨界密碼學之應用來導出。在此系統中,ECDSA私用密鑰僅作為潛在密鑰存在且從不需要在任何系統上重新產生。以可擴展且允許引入群組簽章格式及個人方簽章格式兩者之方式將此等多個份額中之各者分散至多個參與者[p (i)]。因此,簽章處理程序不同於部署於比特幣內之處理程序。在此處理程序中,協調參與者p (c)建立交易以及經分散至群組之訊息簽章。各參與者可藉由運算部分簽章或傳遞部分簽章來對其私用密鑰份額之使用進行投票。
實際上,傳遞將等效於不投票。若協調參與者p (c)已接收到最少臨界數目個部分簽章,則其將整理回應且組合此等回應以形成完整簽章。
協調參與者p (c)可接受不投票且基於來自另一方之空值進行計算,或可試圖遊說該方且說服其對訊息進行簽章。協定可藉由集合協調者施行,或任何個人或群組可形成此角色且向待簽章之臨界群組提議交易。本發明擴展Ibrahim等人[2003年]之工作,提供完全分散式ECDSA私用密鑰產生演算法。本申請案亦呈現供與比特幣一起使用之分散式密鑰重新共用演算法及分散式ECDSA簽章演算法。密鑰重新共用演算法可用以使當前存在之有利於新密鑰之所有私用密鑰份額失效或用於將私用密鑰份額重新分配至新的參與者。此協定不僅擴展至共用ECDSA私用密鑰,而且擴展至私用密鑰份額。此擴展之結果意謂可建構份額且作為群組處理程序對其進行投票。
本發明移除受信任第三方存在之所有要求。因此,有可能針對比特幣建立新的覆疊及電子錢包,其與現有協定完全相容且又移除任何剩餘的單點失敗,同時亦允許較大的可擴展性。本發明亦可擴展以允許引入盲簽章。
由於本發明不需要將私用密鑰載入至記憶體中,因此本發明不僅移除對受信任第三方之需要而且進一步移除廣泛範圍之常見攻擊。協定可擴展以允許根據使用狀況、經濟情境及風險要求來決定份額之所需數目及份額之分散。
本發明減輕所有旁通道攻擊且因此減輕任 何快取記憶體時序攻擊。此系統採取Gennaro等人[1996年]之工作且將其自DSS擴展使得其可成功地用於任何基於ECDSA之應用中。
ECDSA
比特幣使用基於secp256k1曲線之ECDSA。ECDSA在2003年[NIST]由NIST首次標準化,使用橢圓曲線密碼學(ECC)改變基於迪菲-赫爾曼(Diffie-Hellman)之密鑰交換的要求。由於相較於其他公用/私用密鑰系統,密鑰大小及處理功率減小,因此建立ECC尤其重要。尚未發現用於ECDLP之次指數時間演算法。ECDLP已知難處理且係指橢圓曲線離散對數問題[約翰遜(Johnson),2001年]。
貫穿本申請案所使用之參數記載於上文所提供之表1中。
安全性考慮因素
該系統受到ECDSA之安全性限制,其係比特幣內之當前限制。目前,若可安全地部署私用密鑰,則ECDSA保持安全。本發明將旁通道攻擊及記憶體揭示攻擊減輕至臨界值,要求在密鑰重設(rekeying)事件之前已破解臨界數目個參與者。另外,任何未破解臨界值大多數將能夠識別以少於臨界值破解之參與者。
停機問題
服務中斷係可由嘗試建立針對參與者之阻斷服務攻擊之惡意對手進行的一種形式之攻擊。此攻擊將 需要參與者接收其將花費處理時間分析之無效簽章或通過隨後將被丟棄之泛溢網路訊息。
要求使用ECC或基於簽密之ECC對至參與者之訊息進行加密減輕此攻擊向量。在攻擊者可發送無效的部分簽章訊息之前,其將需要已破解參與者,使得此形式之攻擊不再有必要。
隨機性
演算法2提供即使(n-1)個參與者未能選擇隨機值亦引入足夠隨機性之情境。對此協定之可能添加係引入經設計以僅用於將隨機值引入至簽章及密鑰重設處理程序之群組預言機(oracle)。在此可選情境中,可使用同一協定產生密鑰切片中之各者。舉例而言,若存在n個中之m個主要切片要求,則亦可使用n'個中之m'個臨界條件產生及管理基礎密鑰切片中之各者。
使用此系統之參與者將能夠添加除將隨機性注入至協定中外不進行任何操作之外部預言機。具有m'個密鑰切片(其中m'<n-1)之使用者可選擇基於其持有之密鑰切片來重新建立及處理其簽章解決方案,或可引入除用於引入隨機性外不必要的外部預言機。
各切片可同樣地經分裂以實現穩固性及安全性。可分散密鑰切片使得使用者在諸如行動電話或智慧卡之外部裝置及運行於電腦上之軟體程式上具有切片,使得其需要源之組合來產生部分簽章。
重要的係,產生獨特的隨機暫時密鑰D k ,或 將有可能使用資訊來重新產生私用密鑰d A
公用簽章
使用此協定之交易簽章的主要目的係實現對比特幣交易之分散式簽章。尚未向區塊鏈公佈之任何交易可由參與者私下維護。因此,若協調參與者p (c)在任何場合未能夠達到所需投票等級以對交易成功地進行簽章,則沒有必要建立新的比特幣交易。若密鑰切片自身對臨界值係安全的,則任何已結算交易之所有權保持安全。
若系統經良好部署,則破解至多(k-1)個參與者之能力使系統對低於臨界值之攻擊係安全的。當結合週期性密鑰重設協定(演算法2)時,本發明之實施例可經受住旁通道攻擊及記憶體揭示。
本發明之方法及施行
由於本發明之實施例基於階層式導出使用ECC對需要在參與者之間發送的秘密資訊進行加密[懷特(Wright),2016年],因此既有可能又可取的係將所有訊息整理至發送至所有使用者之單一封包中,使得在必要時可對潛在地被破解或敵對參與者進行驗證。
簽章產生由協調參與者p (c)提出。在預設情況下,任何密鑰切片可充當協調參與者且要求歸結為協定之個人施行。下文記載所使用之演算法,且稍後部分提供關於其部署之細節。
演算法1 密鑰產生
域參數(CURVE、基數n,產生器G)
輸入:NA
輸出:公用密鑰Q A
私用密鑰份額d A(1),d A(2),..., d A(j)
對於來自(j)個參與者之臨界值k個切片,建構與參與者(i)及指定為參與者(h)之(j-1)個參與者相關聯的所建構密鑰片段d A(i),該等(j-1)個參與者係參與者(i)與之交換秘密以對密鑰(及因此對比特幣交易)進行簽章的其他方。
●在該方案中,j係參與者之總數,其中k
Figure 107128337-A0202-12-0023-119
j且因此h=j-1
●因此,存在(k,j)臨界值共用方案。
演算法1之方法如下:
1)(j)個中之各參與者p (i)與所有其他參與者交換ECC公用密鑰(或在此施行中,比特幣位址),其中1
Figure 107128337-A0202-12-0023-120
i
Figure 107128337-A0202-12-0023-121
j。此位址係群組識別位址且不需要用於任何其他目的。
應注意,此係根據國際專利申請案WO 2017/145016之處理程序基於參與者中之各者之間的共用值而導出的位址及密鑰。
2)各參與者p (i)以對所有其他方秘密之方式選擇具有隨機係數之次數為(k-1)的多項式f i (x)。
此函數受限於呈參與者之秘密
Figure 107128337-A0202-12-0023-122
之形式的選定為多項式自由項的第一秘密值。此值不共用。使用所導出之私用密鑰計算此值,如WO 2017/145016中所揭示。
f i (h)定義為由參與者p (i)針對點(x=h)處之值選擇的函數f (x)之結果,且用於參與者p (i)之基礎等式定位為函數:
Figure 107128337-A0202-12-0024-8
在此等式中,a 0係各參與者p (i)之秘密且不共用。
因此,各參與者p (i)具有秘密地保持之函數f i (x),其表達為具有定義為參與者之秘密之自由項
Figure 107128337-A0202-12-0024-116
的(k-1)次多項式,使得:
Figure 107128337-A0202-12-0024-9
3)各參與者p (i)首先使用P (h)之公用密鑰對參與者P (h)(
Figure 107128337-A0202-12-0024-59
h={1,...,(i-1),(i+1),...,j})之份額f i (h)進行加密(如揭示於如上文所提到之WO 2017/145016中)且交換用於P (h)之值以解密。
應注意,對於質數p之階數為n的任何基點G
Figure 107128337-A0202-12-0024-117
E(Z p ),
Figure 107128337-A0202-12-0024-142
。在比特幣之狀況下,值係:
橢圓曲線等式:y 2=x 3+7
質數模數:2256-232-29-28-27-26-24-1=FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F基點=04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8階數=FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141
因而,對於可表示為(b,b 1,b 2,...)之任何整數集合B:{b i
Figure 107128337-A0202-12-0025-60
Z n },若bG=[b 1 G+b 2 G+...]mod p,則b=[b 1+b 2+...]mod n。另外,若bG=[b 1 b 2...]G mod p,則b=[b 1 b 2...]mod n
給定Z n 係域且拉格朗日內插模數n可在選定為ECC私用密鑰之值上有效地作用,存在得出Shamir之秘密共用方案SSSS[5]可在Z n 上施行之結論的條件。
4)各參與者P (i)將以下值廣播至所有參與者。
a)
Figure 107128337-A0202-12-0025-139
b)f i (h)G
Figure 107128337-A0202-12-0025-140
與以上等式中之變數h相關聯的值可係參與者P (h)之位置使得若參與者P (h)表示方案中之第三參與者,則h=3或同樣地可表示由參與者用作整數之ECC公用密鑰的值。使用狀況及情境對於任一施行皆存在。在後一施行中,值h={1,...,j}將由映射至個別參與者所利用之公用密鑰之值的陣列替換。
5)各參與者P (hi)證實所接收份額與自各其他參與者接收之彼等份額的一致性。
亦即:
Figure 107128337-A0202-12-0025-10
f i (h)G與參與者之份額一致。
6)各參與者P (hi)驗證由彼參與者(P (hi))所擁有且被接收之份額與其他所接收份額一致:
Figure 107128337-A0202-12-0025-115
實際上,此步驟由對份額fi(h)之橢圓曲線加密版本(亦即,fi(h)G)進行操作組成,若對fi(h)之未加密版本進行該操作,則將恢復秘密值a0 (i)以恢復G a0 (i)。因此,在Shamir秘密共用方案之狀況下,係數bh表示自秘密之對應份額恢復秘密所必要的拉格朗日內插係數。若此不一致,則參與者拒絕協定且再次開始。
7)參與者p (i)現將其份額d A(i)計算為:
Figure 107128337-A0202-12-0026-112
其中
Figure 107128337-A0202-12-0026-13
係自各參與者P (hi)接收之各別第二秘 密值a0中的第二份額 且其中SHARE(p (i))
Figure 107128337-A0202-12-0026-63
Z n d A(j)
其中Q A =Exp-Interpolate(f 1,…,f j )
Figure 107128337-A0202-12-0026-138
且其中運算Exp-Interpolate()定義為自橢圓曲線加密份額恢復橢圓曲線加密秘密之運算。可如下更詳細地定義此運算。
若{ω1,…,ω j }(j
Figure 107128337-A0202-12-0026-113
(2k-1))係至多(k-1)個值為空值且剩餘值具有G×α i 形式的集合且各α i 存在於某(k-1)次多項式H(.)上,則θ=G×H(0)。
此值可藉由
Figure 107128337-A0202-12-0026-114
運算,其中V係(k)-正確ω i 之子集,且另外,λ i 表示所得拉格朗日內插係數。多項式可藉由使用Berlekamp-Welch解碼器運算。
傳回(d A(i),Q A )
其中d A(i)係第三秘密值之第三份額。
參與者p (i)現將該份額用於計算簽章。此角色可由任何參與者或由在收集簽章之處理程序中充當協調者的一方p (c)擔當。該參與者p (c)可改變且在每次嘗試收集足夠份額以對交易進行簽章時不需要為同一方。
因此,已產生私用密鑰份額d A(i)
Figure 107128337-A0202-12-0027-65
,而不知曉其他參與者之份額。
演算法2 更新私用密鑰
輸入:參與者P i 的私用密鑰d A 之份額,表示為d A(i)
輸出:參與者P i 之新私用密鑰份額d A(i)
演算法2可用以既更新私用密鑰又將隨機性添加至協定中。
在使用[Wright,2016年]之格式的密鑰之情況下,此處理程序可導致重新計算階層式子密鑰而無需重建構或甚至計算私用密鑰之存在。以此方式,有可能建構在經正確部署時將移除如過去已發生之任何大規模詐欺或資料庫竊取的比特幣位址及私用密鑰切片之階層架構。
1)各參與者選擇次數為(k-1)之隨機多項式,該多項式將零作為其自由項。此類似於演算法1,但參與者必須驗證所有其他參與者之選定秘密係零。
應注意:
Figure 107128337-A0202-12-0027-137
,其中0係橢圓曲線上之無窮遠處的點。
使用此等式,所有作用中參與者驗證函數:
Figure 107128337-A0202-12-0027-111
參見Feldman(1987年)作為類比。
產生零份額:z i
Figure 107128337-A0202-12-0028-67
2)d A(i) '=d A(i)+z i
3)傳回: d A(i) '
此演算法之結果係與原始私用密鑰相關聯之新密鑰份額。此演算法之變化使得能夠增加第一演算法之隨機性或參與重新共用練習,其產生新密鑰切片而不需要改變可能的比特幣位址。以此方式,本發明允許群組附加地遮罩私用密鑰份額而不更改基礎的私用密鑰。此處理程序可用以最小化與個別密鑰份額之持續使用及部署相關聯的任何潛在密鑰洩漏而不改變基礎的比特幣位址及私用密鑰。
演算法3 簽章產生
域參數:CURVE、基數n、產生器G
輸入:待簽章之訊息e=H(m)
私用密鑰份額d A(i)
Figure 107128337-A0202-12-0028-70
輸出:簽章 對於e=H(m),(r,s)
Figure 107128337-A0202-12-0028-69
A)分散式密鑰產生
1)使用演算法1產生暫時密鑰份額:D k(i)
Figure 107128337-A0202-12-0028-71
2)使用演算法1產生遮罩份額:α i Z n
3)藉由演算法2產生遮罩份額:β i ,c i
Figure 107128337-A0202-12-0028-72
藉由使用次數為2(k-1)之多項式執行演算法2兩次。
在此等協定中產生之份額表示為
Figure 107128337-A0202-12-0029-15
Figure 107128337-A0202-12-0029-16
。此等用作附加遮罩。多項式必須具有 次數2(k-1),此係因為被遮罩之數涉及次數為(k-1)之兩個多項式的乘積。此使恢復秘密所需之份額的所需數目加倍。
份額β及c接著由參與者保持秘密。
B)簽章產生
4)e=H(m)驗證訊息m之散列
5)廣播
Figure 107128337-A0202-12-0029-99
且ω i =G×α i
6)
Figure 107128337-A0202-12-0029-132
Figure 107128337-A0202-12-0029-133
其中運算
Figure 107128337-A0202-12-0029-136
定義為自份額恢復秘密之運算。可如下更詳細地定義此運算。
其中{
Figure 107128337-A0202-12-0029-105
,...,
Figure 107128337-A0202-12-0029-106
}(j
Figure 107128337-A0202-12-0029-107
(2k-1))形成集合,使得至多(k-1)個係空值且所有殘餘值駐留於(k-1)次多項式F(.)上,則μ=F(0)。
7)θ=Exp-Interpolate1,...,ω n )
Figure 107128337-A0202-12-0029-134
8)計算(R x ,R y ),其中r x,y =(R x ,R y )=θ×μ -1
Figure 107128337-A0202-12-0029-135
9)r=r x =R x mod n
r=0,則再次開始(亦即,自初始分散)
10)廣播s i =D k(i)(e+d A(i) r)+c i modn
11)S=Interpolate(s i ,...,s n )mod n
s=0,則自開始(A.1)重新進行演算法3。
12)傳回(r,s)
13)在比特幣中,藉由(r,s)對重建構交易以形成標準交易。
圖10展示用以獲得表示數位訊息之部分簽章之多項式函數的習知Berlekamp-Welch解碼器70的新穎用途。
在Berlekamp-Welch演算法習知用於校正所傳輸資料中之錯誤時,在編碼器72處將訊息m分成一系列k個位元組,且將各位元組c0、c1、......ck-1編碼為整數模數p。該訊息接著由多項式函數表示:
Figure 107128337-A0202-12-0030-17
接著針對數個已知x值判定多項式函數m(x)之值以產生一系列(x,y)對,該等對接著由傳輸器74傳輸至接收器76。
在接收器76處接收之資料M(亦即,所接收之訊息)包含對應於表示原始訊息之多項式函數上之點的對(a1、b1、......an、bn)
Figure 107128337-A0202-12-0030-18
若假定所傳輸(x,y)對中之一些在傳輸期間 已損毀,則錯誤定位多項式函數可定義如下:在P(ai)≠bi時,E(ai)=0;否則,E(ai)≠0
若乘積多項式函數Q(ai)定義為Q(ai)=biEi(ai)
則對於各所接收之(ai,bi)對,不管bi值是否已損毀
Q(ai)=biEi(ai)=P(ai)Ei(ai),此係因為在P(ai)≠bi時,E(ai)=0
對於(a i ,b i )之n個已知值,由於E(a i )係次數為e之多項式函數且P(a i )係次數為(k-1)之多項式函數,則Q(a i )係次數為(e+k-1)之多項式函數。(a i ,b i )之已知值因此表達為線性系統:
Figure 107128337-A0202-12-0031-19
線性系統含有2e+k-1個未知項(e來自E(x)且e+k-1來自Q(x)),作為其結果,若n
Figure 107128337-A0202-12-0031-98
2e+k-1,則可判定Q(a i )E(a i )之係數。若可判定Q(a i )E(a i ),則有可能判定P(a i )以恢復原始訊息m(x)。
因此可見,Berlekamp-Welch解碼器70接收表示多項式函數上之點的對作為輸入,且輸出多項式函數。因此,解碼器70可用作對本發明中之拉格朗日內插的替換以自藉由彼多項式函數表示之臨界數目個份額判定多項式函數。
模型-臨界ECDSA(T.ECDSA)
根據本發明之實施例,允許指明為參與者之 n個群組或個人的系統。各參加者可係作為唯一參與者之個人,或群組或個人及群組之組合。可使用通常導出之公用密鑰計算對照身分來映射參與者p (i)或可將參與者p (i)保留為假名實體,其中參與者之公用密鑰僅用於此協定而不映射回至個人。
本發明引入專用廣播通道,從而允許將其他參與者辨識為有效參加者以及方案之成員,同時允許群組內之成員保持未被識別。當訊息係自參與者p (i)廣播時,群組內之成員將該訊息辨識為來自經授權方,而未必能夠識別與密鑰相關聯之終端使用者或個人。若此系統得到保證,則亦有可能將密鑰之身分鏈接至個人。
處理程序流程概述如下:
在圖1中:
步驟1)
參見圖1
步驟2)Pc將原始交易發送至群組。若此驗證(亦即,原始交易匹配待簽章之散列),則參與者藉由對其進行簽章來投票。
步驟3)若是,則各參與者傳回部分簽章之交易。
參見圖2
步驟4)若接收臨界值個部分簽章之交易,則Pc(或任何其他參與者)重建構整個簽章。
步驟5)Pc將交易作為經簽章比特幣交易而廣播。
訊息簽章之計算可藉由並不改變之個人或 經由臨時廣播方起始。協定協調者之角色可藉由任何參與者或藉由在收集簽章之處理程序中充當協調者的一方p (c)來擔當。
密鑰產生
修改之ECDSA密鑰產生演算法用以製作完全分散之簽章方案。在此方案中,私用密鑰由分散式群組使用隱藏的隨機秘密之組合共同地選擇。
臨界密鑰導出演算法給定於演算法1中。
演算法可擴展且演算法之各步驟可由每個參與者在無分發者之情況下同步地執行,或以群組或個人或分發者執行。此施行與當前比特幣協定完全相容。任何簽章者皆將向外部觀察者或證實者呈現為如同其係以標準方式簽章。因此,無法分辨密鑰已經以標準格式抑或使用本發明之增強型協定產生。
簽章產生
臨界簽章產生之概念描述於[Shamir,1979年]中。演算法3與在[Feldman,1987年]中報告之程序有關,該程序係基於以DH為基礎之系統且已修改以允許ECDSA。
本發明擴展此處理程序使得其與比特幣交易處理及簽章兩者完全相容。此亦擴展至多重簽章交易,其中有可能需要為必要之多個簽章中之各者分散密鑰。
重新共用私用密鑰
此處理程序可擴展以引入完全分散式密鑰 重新共用方案。在當前參與者執行一輪演算法2以將所得零份額添加至參與者之私用密鑰份額時,此重新分散完成。若一個參與者已引入隨機值,則新份額將任意地分散。
此處理程序允許私用密鑰份額之附加遮罩,而不更改實際私用密鑰。
臨界ECDSA簽章導出
使用與可見於遵循在[Shamir,1979年]中研發之方案的[Feldman,1987年]中之臨界DSS簽章產生協定相關的構想來導出臨界ECDSA簽章建立系統。
證實
本發明允許在將任何值傳送至已知比特幣位址之前對訊息進行離線簽章及證實。多方中之各者可使用在演算法1中所提到之處理程序獨立地計算及驗證位址。因此,所有參與者皆可意識到在需要為比特幣位址提供資金(fund)之任何練習之前其份額有效。對於此處理程序,儘管證實方案係可能的,但其係不必要的。選擇發送無效簽章切片之任何臨界參與者實際上皆對否定進行投票。亦即,不對訊息進行簽章且因此不完成比特幣中之交易的投票係由無動作實現。影響係如同其根本不對訊息進行簽章。
演算法2提供一種方法,其中參與者可使其份額一致性得到證實。若已維持臨界值個非惡意參與者,則有可能在密鑰重設時排除任何已知的惡意參與者。因此,可更新密鑰切片而不將新有切片分配至已知的惡意參 與者,從而允許以亦考慮重新分配切片之方式再新密鑰。
在信任特別稀缺且惡意對手預期為常態之環境中,有可能進一步增強證實處理程序之穩固性,從而提高在完成安全的多方運算時抵禦
Figure 107128337-A0202-12-0035-96
被動及
Figure 107128337-A0202-12-0035-97
主動對手[Ben-Or,1989年;Rabin,1988年]的能力。
可使用額外處理程序增強系統之穩固性:
1.令D a 係次數為(k-1)之多項式A(x)上的在j個參與者當中共用的秘密。
2.參與者p (i)單獨地具有D a 之份額D a(i),且D a(i) G
Figure 107128337-A0202-12-0035-73
(i
Figure 107128337-A0202-12-0035-74
0,...,j)可用於群組。
3.所有參與者接下來使用演算法2共用秘密b使得各參與者p (i)具有在次數為(k-1)之多項式上的D b 之新隱藏份額D b(i)
應注意,
Figure 107128337-A0202-12-0035-20
,其中
Figure 107128337-A0202-12-0035-21
係自參與者p (hi)提 交至參與者p (i)之子份額。
4.該等參與者使用演算法2使得各參與者p (i)具有在自由項等於零之次數為(2k-1)的多項式上的新隱藏份額Z(i)
5.各參與者p (i)向群組公佈D a(i)
Figure 107128337-A0202-12-0035-129
G
Figure 107128337-A0202-12-0035-130
(h
Figure 107128337-A0202-12-0035-131
0,...,j)及D a(i) D b(i) G
6.各參與者p (hi)皆可證實D a(i)
Figure 107128337-A0202-12-0035-75
G之有效性,此係因為其具有
Figure 107128337-A0202-12-0035-76
D a(i) G
7.又,參與者p (i)可進一步證實
Figure 107128337-A0202-12-0035-23
任何參與者皆可判定其他參與者是否對此系統起惡意作用。
分散式密鑰產生
有可能經由此方案以安全方式完成分散式自治公司(DAC)及分散式自治社會組織(DASO)兩者之施行。已展示,任何k個成員可經由識別方案(包括經由藉由憑證授權機構進行簽章及公佈之數位憑證)表示此群組,且任何k個成員可代表組織建構數位簽章。此系統擴展至在無任何區分特徵之情況下證實的比特幣交易之簽章且提供值之傳送。此等鑑認方案證明為安全的。
方法及施行
由於協定基於國際專利申請案WO 2017/145016中所揭示之技術使用ECC對需要在參與者之間發送的秘密資訊進行加密,因此既有可能又可取的係將所有訊息整理至發送至所有使用者之單一封包中,使得在必要時可對潛在地被破解或敵對參與者進行驗證。
簽章產生由協調參與者p (c)提出。在預設情況下,任何密鑰切片可充當協調參與者且要求歸結為協定之個人施行。在由p (c)建立有效的原始交易時,使用加密通道將交易及交易之訊息散列廣播至所有參與者p (ic)
A.產生暫時密鑰份額D k(i)
參與者使用演算法1藉由次數為(k-1)之多項式產生均勻地分散於
Figure 107128337-A0202-12-0036-95
中的暫時密鑰D k ,該演算法產生份額
Figure 107128337-A0202-12-0036-24
D k 之份額維持於由各個別地持有的秘密中。
B.產生遮罩份額α i
各參與者使用演算法1藉由次數為(k-1)之多項式產生均勻地分散於
Figure 107128337-A0202-12-0037-77
中的隨機值α i 以產生份額
Figure 107128337-A0202-12-0037-26
。此等用以用乘法遮罩D k(i)
α i 之份額係秘密且由對應參與者維持。
C.產生遮罩份額β i ,c i
使用次數為2(k-1)之多項式執行演算法2兩次。
將在此等協定中產生之份額表示為
Figure 107128337-A0202-12-0037-58
Figure 107128337-A0202-12-0037-57
。此等用作附加遮 罩。多項式必須具有次數2(k-1),此係因為被遮罩之數涉及次數為(k-1)之兩個多項式的乘積。此使恢復秘密所需之份額的所需數目加倍。
份額β及c由參與者保持秘密。
D.運算訊息m之摘要:e=H(m)
對照自p (c)獲得之交易的所接收散列檢查此值。
E.廣播υ i =D k(i)α i i mod n且ω i =G×α i
參與者P i 廣播υ i =D k(i)α i i mod n且ω i =G×α i
若未自P i 接收到回應,則將所使用之值設定為空值
應注意:
Figure 107128337-A0202-12-0037-28
F.運算 μ=Interpolate1,…,υ j )mod n
Interpolate()[2]:
其中{υ1,…,υ n }(j
Figure 107128337-A0202-12-0038-78
(2k-1))形成集合,使得至多(k-1)個係空值且所有殘餘值駐留於(k-1)次多項式F(.)上,則μ=F(0)。
可使用普通多項式內插運算多項式。函式「Interpolate()」係Berlekamp-Welch內插[2]且定義為用於BCH及裡德-所羅門(Reed-Solomon)碼之錯誤校正演算法。此更詳細地描述於http://mathworld.wolfram.com/LagrangeInterpolatingPolynomial.html處且亦描述於觀測微積分:一篇關於數值數學之論文(The Calculus of Observations:A Treatise on Numerical Mathematics)(第4版,紐約多佛,第28至30頁,1967年)中的§17的Whittaker,E.T.及Robinson,G.之「Lagrange's Formula of Interpolation.」處,且描述於https://jeremykun.com/2015/09/07/welch-berlekamp/處
G.運算θ=Exp-Interpolate1,…,ω j )
Exp-Interpolate()[10]:
若{ω1,…,ω j }(j
Figure 107128337-A0202-12-0038-79
(2k-1))係至多(k-1)個值為空值且剩餘值具有G×α i 形式的集合且各α i 存在於某(k-1)次多項式H(.)上,則θ=G×H(0)。
此值可藉由
Figure 107128337-A0202-12-0038-94
運算,其中V係(k)-正確ω i 值之子集,且另外,λ i 表示所得拉格朗日內插係數。多項式可藉由使用Berlekamp-Welch解碼器運算。
H.運算(R x ,R y )=θ×μ -1
I.指派 r=R x mod qr=0,則轉至步驟A。
各參與者p (i)在步驟J中運算其切片r i 。協調者p (c)在其已接收到臨界數目個回應之情況下可使用此等值重建構s。
J.廣播 s i =D k(i)(e+D A(i) r)+c i mod n
若回應並非向P i 請求/自其接收,則將所使用之值設定為空值
應注意,
Figure 107128337-A0202-12-0039-128
k(m+D A r)mod n。
K.計算 s=Interpolate(s 1 ,...,s n )mod n
s=0,則轉至步驟I。
其中函式Interpolate()如上文所定義。
各參與者p (i)在步驟J中運算其切片s i 。協調者p (c)在其已接收到臨界數目個s i 回應之情況下可使用此等值重建構s。
L.傳回(r,s)
M.替換原始交易之簽章區段且將此廣播至網路。
分發者對切片之分散
經由引入群組份額,可使上文所描述之實施例更靈活。以此方式,可在一分發者、多個分發者、不含分發者之群組或在階層架構深度之任何層級中的以上各者 之任何可能組合之間分裂份額之分配。
藉由用使用同一演算法導出之值替換值d A 及其對應密鑰切片d A(i),可建立投票之階層架構。舉例而言,可建立同時整合自以下各者導出之份額的方案:
1)基於分發者之分散
2)多個分發者
3)無分發者
因此,可擴展該方案且可使其併有任何商業結構或組織系統。
切片之分配亦可擴展。部署不均勻分配處理程序允許添加對份額之加權。在圖3中所顯示之方案中,有可能建立具有五個頂層成員之假想組織。然而,此並不需要設定具有n=5個相等加權份額之值。在此假想組織中,有可能如下設定用於頂層方案之投票結構:
Figure 107128337-A0202-12-0040-39
此處,已設定n=100。如所提到,此係可反映任何組織結構之任意值。圖3中之組織允許否決情境(D 1),且經由引入多層分配,允許可想像到之任何投票結構。
在多層級階層式結構中常常遺漏的係,儘管已分配秘密之切片,但不需要均勻地分散此等切片且另外,子群組之所有權不需要反映其他層級之所有權。在圖3中,存在看起來強大的區塊,其控制臨界值之75%中的份額總數之45%。若接著考慮較低層級之份額分配,則情境變得複雜得多。有可能與持有表中多個層級及位置中之投票份額的個人建立交叉所有權。
表3中之分散定義為(持有份額、臨界值、分配{n})。
自上表(3)可見,參與者P1及P2各自控制投票,但與參與者P4之聯盟向P1或P2提供足夠的投票區塊,只要P1或P2不否決投票即可。
因為在本發明中不存在對投票格式之施行及結構的限制,所以此可用以建立可想像到之任何組織階層架構以及確保安全的備份及恢復方法。
結果係有可能具有指派至較高層級簽章份 額之否決能力及投票權。在本實例中,S中之份額的所有權可在
Figure 107128337-A0202-12-0042-81
D 1A D 2A 處持有。
安全的多方運算
藉由n個參與者p (1),...,p (i),...,p (n)進行之安全多方函數運算係基於需要評估函數F(x 1,...,x i ,...,x n )之問題,涉及由p (i)提供之需要機密地維護的秘密值x (i)使得p (ji)或外部方無法獲得對x (i)之任何瞭解。因此,目標係保持各參與者之值的機密性,同時能夠保證計算之準確度。
在此情境下,受信任的第三方T收集來自各個參與者p (i:1...n)之所有值x (i:1...n)且返回計算。此設計僅在有可能隱含地信任T之理想化世界中工作。在存在T可係惡意、欺詐的或被破解之任何可能性的情況下,使用受信任的第三方變得不太可行。此情境反映現有的選舉,其中參與者係投票者且受信任的第三方由政府擔任。
已證明[巴依蘭(Bar-Ilan),1989年],可使用受信任的第三方以安全方式運算的任何值亦可在無受信任方之情況下計算,同時維持個人秘密x (i)之安全性。在本文中所呈現之協定對私密運算係安全的且甚至在破解參與者之非臨界組合可合作之情況下亦提供安全運算。
簡單的乘法
在存在分散於n個參與者p (i:1...n)當中之兩個秘密值x及y的情況下,有可能運算乘積xy,同時維持兩個輸入變數x及y之秘密性以及確保由參與者p (i)維持之個人秘密x (i:1...n)y (i:1...n)保留機密性。
在此方案中,x及y各自使用次數為(k-1)之多項式而在參與者之臨界群組之間共用。各參與者p (i)可將其在x之次數為(k-1)的多項式上之份額x (i:1...n)與在y之次數為(k-1)的多項式中的y (i:1...n)相乘。
引入演算法2,傳回參與者p (i)之份額z (i),次數為(2k-1)之多項式。藉由此值,各參與者p (i)計算值x (i) y (i)+z (i)
x (i) y (i)+z (i)之傳回值表示在次數為(2k-1)之多項式上的x.y之計算的有效份額。對臨界數目個份額起作用之任何參與者或協調者可在未獲得對個人份額之任何瞭解的情況下使用由各參與者持有之傳回值以計算x.y之真值。
簡單的加法
在存在分散於n個參與者p (i:1...n)當中之兩個秘密值x及y的情況下,有可能運算和x+y,同時維持兩個輸入變數x及y之秘密性以及確保由參與者p (i)維持之個人秘密x (i:1...n)y (i:1...n)保留機密性。
按照簡單乘法之處理程序,各參與者p (i)計算值x (i)+y (i)+z (i)z (i)之計算並不必要,但將另一程度之隨機性及機密性添加至處理程序。
x (i)+y (i)+z (i)之傳回值表示在次數為(2k-1)之多項式上的x+y之計算的有效份額。對臨界數目個份額起作用之任何參與者或協調者可在未獲得對個人份額之任何瞭解的情況下使用由各參與者持有之傳回值以計算x+y之真值。
若參與者敵意較小,則此可簡化x (i)+y (i)加法而無額外步驟。
逆或倒數
對於作為x (i:1...j)機密地分散於j個參與者之間的分散式秘密值x mod n,有可能產生與x -1 mod n之值相關聯的多項式之份額,同時不揭露可揭示值x (i)xx -1之任何資訊[Gennaro,1996年]。再次,各參與者p (i)維持由次數為(k-1)之多項式上之x (i)表示的值x之份額。
使用演算法1,各參與者產生次數為(k-1)之多項式上的未知秘密x.y之份額x (i)。各參與者接著運行演算法2以計算次數為(2k-1)之多項式上的零秘密之(k-1)。各參與者(2k-1)執行計算以運算值x (i) y (i)+z (i)
使用上文所呈現之 Interpolate ()常式,各參與者可自μ i 之所收集值計算值μ=x (i) y (i)+z (i),傳回值μ。各參與者可接著計算值μ -1 mod n
此等值足夠使得任何參與者p (i)可使用ζ i =γ i μ -1運算次數為(2k-1)之多項式上的相關聯份額
Figure 107128337-A0202-12-0044-93
。Berlekamp-Welch解碼方案[Berlekamp,1968年]提供可用以完成此處理程序之若干方法中之一者。
圖9以流程圖形式展示進行量ζ=x -1 +w之安全多方運算的一個實例方法,其中安全多方運算藉由多個第一節點進行且運算秘密藉由第二節點恢復。最初,在步驟中901中,藉由第二節點在第一節點當中分散秘密xyz 1 的份額x i y i z 1i ,其中xyz 1 係各別多項式函數 之自由項且z 1 係零。
在步驟902中,各第一節點運算各別份額μ i =x i y i +z i 。在步驟903中,藉助於多項式內插,由已接收臨界數目個份額μ i 之節點(其可係第一節點或第二節點中之一或多者)判定乘積μ=xy。在步驟904中,接著在步驟904中判定倒數μ-1 modn=x-1.y-1 mod n。在步驟中905中,接著藉由第二節點在第一節點當中分散秘密w、z2的份額wi、z2i,其中w及z2係多項式函數之各別自由項,z2係零。在步驟906中,各第一節點判定共同秘密之其份額ζi,其中ζi=yi-1+wi+z2i=yi.x-1.y-1+wi+z2i。第二節點接著在步驟907中自第一節點接收臨界數目個份額ζi,且接著在步驟908中進行多項式內插以判定運算秘密ζi=x-1+w mod n,而無個別秘密x、y或w可用於第一節點中之任一者。
指派
以可證實且可證明之方式對交易進行簽章的能力提供如下機會:私下證明所有權且甚至轉交或交換比特幣私用密鑰及相關聯比特幣位址之所有權而無需公開地移動區塊鏈上之任何事物。以此方式,可為比特幣位址提供資金,且可在不留下公用記錄之情況下傳送或售出彼位址之內容。由於此處理程序係臨界系統,因此可安全地實現密鑰切片之指派而無需在區塊鏈上記錄之進一步結算。
以此方式,有可能分離已在區塊鏈上結算之 票據之所有權與交易彼票據之處理程序。
CLTV
可建立比特幣訊息或更一般而言,交易,其中包括CLTV[BIP 65]條目。藉由此添加,甚至在所有密鑰切片之災難性丟失的情況下或在來自實體之多個切片被視為不可信或以不允許藉由最小臨界值安全地重建構簽章之方式丟失的情況下,仍可使交易可恢復。
此在實體正使用第三方服務且需要確保服務無法持有密鑰或拒絕存取密鑰之情況下係進一步可能的。在使用基於時間之安全失敗來建構比特幣交易時,使用者知曉惡意的第三方或被破解之交換站點或銀行無法敲詐其以存取其密鑰。作為最差的情境,對災難性層級之破解將導致基於CLTV條件的交易至預定義位址的基於時間之逆轉。可使用本申請案內所揭示之協定產生預定義位址。因而,有可能建構無法被容易地破解之一系列交易及密鑰。
安全性考慮因素
Benger等人(2014年)供應使用快閃記憶體及重新載入方法恢復ECDSA私用密鑰之一個實例。此發生情形僅係對系統RAM及快取記憶體攻擊之一個實例。此等方法使得需要使用諸如Shamir之SSS[1979年]之程序的程序,此係因為其重建構私用密鑰。此外,在私用密鑰於任何時間重建構之任何情境中,引入對信任之要求。在此情境中,必需依賴於持有私用密鑰之實體的系統及處理程 序。
即使受信任方並非惡意的,仍存在依賴於其處理程序之必要性。如已自許多近期破解可見,對重建構私用密鑰之此依賴會留下攻擊之途徑。
由於對現有ECDSA施行之直接替換以及完全透明且與當前比特幣協定相容兩者,其施行不需要硬分叉或軟分叉,且該施行不可與任何當前交易區分。本發明可將個人視為單獨參與者,從而允許藉由恢復功能對密鑰進行群組簽章。作為實例,可使用四個密鑰切片施行2/2方案,其中線上電子錢包提供者或交換器維護兩個密鑰切片且終端使用者維護兩個切片。交換器及使用者在其密鑰切片上將各自具有2/2處理程序,該等密鑰切片將接著在需要時彼此結合地使用以用於訊息之安全簽章。
臨界值保管庫
上文所描述之處理程序及技術可用以按避免任何節點具有獨立地產生私用密鑰之能力的方式產生公用-私用密鑰對。由各節點個別地持有之私用密鑰份額從不在通訊中曝露且可視需要再新以進一步增強安全性或解決密鑰份額損失。此功能性促進「臨界值保管庫」在區塊鏈網路內之施行。臨界值保管庫係區塊鏈上之位址,可結合該位址記錄數位資產,使得需要持有私用密鑰份額之臨界數目個節點合作以便存取、傳送或以其他方式處理臨界值保管庫中之數位資產。可建立該臨界值保管庫使得必需所有密鑰份額或其子集來對具有臨界值保管庫作為輸入之交 易進行數位簽章。可取決於保管庫之目的及目標而設定臨界值。舉例而言,在主要目標係防範揭示私用密鑰之一些情況下,臨界值可設定為密鑰份額之100%。在主要目標係投票方案之一些情況下,可將密鑰份額之51%或大於51%設定為臨界值。在一個實例中,安全性及防範密鑰份額損失兩者皆可能係目標,在該狀況下,可設定3/5(例如)臨界值,其中主要保管庫擁有者控制密鑰份額之3/5且其中一或多個第三方儲存庫持有密鑰份額之剩餘2/5,藉此允許主要保管庫擁有者與第三方合作以使其在主要保管庫擁有者無法存取其密鑰份額中之一或多者(但並非全部)的情形中使用其密鑰份額。以此方式,在損失主要保管庫擁有者之密鑰份額中之一者的情況下,第三方儲存庫可充當「備用」密鑰份額之監護者。
為藉助於一個實例進行說明,現參看圖4,其圖解性地展示與臨界值保管庫之施行有關的份額之實例分散。在此實例中,說明部分區塊鏈100,其包括區塊102。區塊102部分地由交易構成,包括特徵在於與保管庫位址P相關聯之輸出106的交易104。保管庫位址P公開可用。與保管庫位址相關聯之未用交易輸出(UXTO)接著可用於充當至另一交易之輸入。
對於待用作至另一交易之輸入的UXTO,必須在產生數位簽章時使用對應於保管庫位址之私用密鑰V。在此狀況下,尚未產生且將不產生私用密鑰V。實情為,跨越多個節點110以私用密鑰份額(V1、V2、...、V n ) 之形式持有私用密鑰。彼等密鑰份額可藉由儲存於以下各者中:完整區塊鏈節點(例如,伺服器、個人電腦或其類似者)、電子錢包節點(例如、施行於個人電腦、平板電腦、膝上型電腦、行動裝置或能夠運行區塊鏈電子錢包軟體之任何其他網路連接運算裝置內)、離線記憶體/儲存器(例如,USB棒、記憶卡或其他持續性數位儲存媒體)、線上儲存庫(例如、區塊鏈交換帳戶、銀行業務網路裝置或用於儲存區塊鏈資料之其他遠端第三方操作服務)或任何其他此運算裝置。
在一些實例施行中,各節點可藉由單獨實體操作或控制,使得需要臨界數目個擁有者間的合作以產生與保管庫位址P有關之數位簽章。在一些實例施行中,臨界數目個節點可藉由單一實體控制,但密鑰份額出於密鑰安全性目的而在實體上及邏輯上處於單獨電子裝置中。額外密鑰份額,但並非臨界數目個密鑰份額,儲存於藉由其他實體操作之電子裝置中,該等額外密鑰份額可用以在主要擁有者損失密鑰份額之狀況下充當密鑰恢復服務。在另外其他實例施行中,兩個(或多於兩個)實體可控制足以在數位簽章產生上進行合作的各別密鑰份額,諸如在兩個(或多於兩個)合作夥伴或委託人及共同簽章授權機構(例如,銀行、母公司等)之狀況下。一般熟習此項技術者將瞭解可在各方間分散密鑰份額及設定用於簽章之相關臨界值中反映的邏輯及法律關係之範圍及種類。
現將參看圖5,其以流程圖形式展示使用臨 界值保管庫接收及傳送數位資產之一個實例方法200。在此實例中,多個節點在產生臨界值保管庫位址及在無任何中心分發者或授權機構之情況下秘密地且安全地產生及分散對應密鑰份額時進行合作,藉此確保在產生處理程序期間或在數位簽章處理程序期間無節點可存取任何其他節點之密鑰份額。
在操作202中,節點合作地產生臨界值保管庫位址(例如,公用密鑰),針對該臨界值保管庫位址,個別節點基於由各個別節點秘密地選擇之各別多項式獨立地產生及儲存各別私用密鑰份額。由各節點選擇之多項式具有基於在節點之間同意的臨界值的階數。舉例而言,在j個節點當中,在起始臨界值保管庫產生處理程序時,節點可能已同意設定使用私用密鑰(術語「使用」表示在本申請案中,私用密鑰實際上從不由任何節點重建構)所需之臨界值k個合作節點,其中k
Figure 107128337-A0202-12-0050-92
j。臨界值保管庫位址可由節點中之任一者或各者基於由節點共用之某些多項式值且使用多項式內插而判定。
在操作204中,將交易添加至區塊鏈上之區塊(且經驗證及確認),該區塊將數位資產傳送至臨界值保管庫位址。
作為某未來點,在操作206中,產生交易(更一般而言,可被稱為「訊息」),其提議使用數位資產作為至彼交易之輸入。此所提議交易可由該等節點中之一者或由另一不相關節點產生。在已接收到特徵在於臨界值保管 庫位址作為輸入之訊息的情況下,節點藉由對交易進行簽章來判定是否批准該交易。
假定節點受到指令以批准交易,則在操作208中,至少臨界值k數目個節點合作以產生用於訊息之數位簽章。此合作依賴於使用聯合零秘密共用以在節點當中產生隨機化遮罩份額,該等隨機化遮罩份額用於處理程序中以遮罩所使用之任何密鑰份額,藉此確保無節點接收到任何其他節點之密鑰份額。產生及使用秘密無分發者分散來分散用於數位簽章處理程序中之任何遮罩份額或密鑰份額。數位簽章處理程序包括判定第一簽章分量r及第二簽章分量s。在判定處理程序中,任何暫時密鑰份額或私用密鑰份額在共用之前被遮罩,且任何共用係值共用,其中經遮罩密鑰份額嵌入於另一表達式內,如上文所詳述且如下文進一步所解釋。因此,產生用於訊息之數位簽章而不產生完整的私用密鑰且不揭露由節點中之任一者所持有的任何私用密鑰份額。
現參看圖6,其以流程圖形式展示用於產生臨界值保管庫位址之一個實例方法300。預先設定臨界值k。節點中之各者建立與其他節點中之各者的安全通訊。此可包括判定用於安全資訊交換之共同秘密,如描述於[Wright,2016年]中,但可使用任何其他加密密鑰產生處理程序,其限制條件係各節點可將經加密通訊發送至各其他節點及自各其他節點接收及解密經加密通訊。
方法300開始於節點中之各者p i (i=0至j)具 有其自身的各別第一秘密a 0 (i)。以任何合適的方式獲得或判定第一秘密。
各節點亦選擇其自身的次數為k-1的各別多項式f i (x),其中該多項式之自由項(例如,f i (0))係節點之第一秘密,亦即,係數a 0。各別多項式可各自具有不同係數a t ,但各多項式具有以下形式:
Figure 107128337-A0202-12-0052-42
節點中之各者針對其他節點中之各者判定其多項式的值。在此上下文中,x可設定為與其他節點相關聯之索引hh=1,…,(i-1),(i+1),…,j。換言之,各節點針對所有h(hi)判定f i (h)之值。此等值可被稱為各別「第二秘密」。下文結合「第一節點」i描述方法300之操作,但藉由其他節點中之各者進行相同或類似操作。
如由操作302指示,第一節點i與節點h安全地共用(亦即,經由加密通道)用於彼節點h之第二秘密f i (h)。亦即,第一節點i將值f i (h)發送至各其他節點h。第一節點i接著亦將其已判定之所有第二秘密的橢圓曲線點倍積(ECPM)廣播至所有其他節點。亦即,對於所有h,其向每個其他節點h發送f i (h)×G之值。其亦廣播(亦即,發送至其他節點中之各者)其多項式係數之ECPM a K (i)×G,其中K=0,…,(k-1)。因此,第一節點尚未揭露其多項式係數,而揭露對應於各係數之「公用密鑰」,且通常,尚未揭露經判定之第二秘密,而揭露對應於各經判定之第二秘 密的「公用密鑰」。其僅已與各其他節點機密地共用一個第二秘密。
在操作304中,第一節點i自其他節點中之各節點(或其中之至少k-1個)接收由彼其他節點針對索引i所判定之「第二秘密」。亦即,對於各hi(或j-1個節點中之至少k-1個),第一節點接收值f h (i)。第一節點亦接收由其他節點廣播之ECPM值,亦即,第二秘密之ECPM及各各別多項式之係數的ECPM。
儘管在圖6中未明確地說明,但節點可基於廣播值獨立地證實及驗證自其他節點接收之第二秘密。亦即,各節點可藉由計算其ECPM值及將其與來自彼其他節點之廣播ECPM值比較來判定自節點h獲得之第二秘密有效。
在操作306中,第一節點i將第一私用密鑰份額d A(i)判定為自其他(至少k-1個)節點中之各者接收的各別第二秘密f h (i)之總和且儲存該第一私用密鑰份額。由節點i判定之彼等各別第二秘密的總和可表達為:
Figure 107128337-A0202-12-0053-43
在操作308中,節點中之一或多者(可委託至除第一節點外之節點或可藉由多於一個或所有節點進行)判定臨界值保管庫位址,亦即,對應於私用密鑰d A 之公用密鑰Q A ,對於該私用密鑰,節點各自具有私用密鑰份額d A(i)。公用密鑰係自第二秘密之臨界數目個ECPM的總和 且使用多項式內插而獲得。如上文所描述,此可表達為: Q A =Exp-Interpolate(f 1,…,f j )
Figure 107128337-A0202-12-0054-143
將瞭解,方法300導致在節點處獨立地產生對應於由公用密鑰Q A 給出之臨界值保管庫位址的私用密鑰份額d A(i)
現將參看圖7,其以流程圖形式展示對與臨界值保管庫有關之訊息進行數位簽章的一個實例方法400。方法400用以產生用於訊息m之數位簽章,該訊息可由訊息散列e=H(m)表示。可假設訊息m與所提議之區塊鏈交易有關,臨界值保管庫係該區塊鏈交易之輸入。因此,對於待驗證之交易,將需要確認對應於臨界值保管庫公用密鑰Q A 之私用密鑰之擁有權的數位簽章。當然,節點中無一者具有私用密鑰或能夠產生私用密鑰;其僅持有私用密鑰份額d A(i)。然而,方法400提供用於臨界數目個節點在產生有效數位簽章時合作而不會揭露其私用密鑰份額的機制。
如由操作402所指示,方法400包括使用無分發者秘密分散以針對各節點i產生暫時密鑰份額D k(i)及乘法遮罩份額α i 。舉例而言,節點i已持有使用方法300產生之私用密鑰份額d A(i)。在操作404中,使用聯合零秘密共用(JZSS)(諸如,上文結合演算法2所描述)以產生第一及第二加法遮罩份額β i c i 。第一加法遮罩份額及第二加法遮罩份額不相關。
在操作406中,各節點接著揭露基於由乘法遮罩份額 及第一加法遮罩份額所遮罩之暫時密鑰份額形成的雙重遮罩密鑰份額。在一個實例中,雙重遮罩密鑰份額表達為:
Figure 107128337-A0202-12-0055-88
各節點亦揭露對應於乘法遮罩份額之ECPM的公用乘法遮罩份額,其可表達為:ω i =G×α i
節點中無一者揭露其私用密鑰份額、暫時密鑰份額或遮罩份額。
在操作408中,自所揭露資料判定第一簽章分量r。該判定可藉由節點中之各者獨立地或藉由節點中之一者進行且藉由其他節點共用及/或證實。
橢圓曲線數位簽章演算法(ECDSA)涉及判定隨機值k之逆,其在此實例中係暫時密鑰D k ,亦即,其涉及D k -1。為判定第一簽章分量r,可使用雙重遮罩密鑰份額上之多項式內插來判定經遮罩暫時密鑰μ
Figure 107128337-A0202-12-0055-89
因為加法遮罩係基於聯合零份額,所以其退出內插,留下結果μ=D k αmodn。同樣地,在乘法遮罩份額之ECPM上的指數多項式內插給出:θ=Exp-Interpolate1 ,...,ω n ) θ=G×α
接著藉由計算r x,y =(R x ,R y )=θ×μ -1來獲得第一簽章分量r,其係:
Figure 107128337-A0202-12-0055-90
第一簽章分量rR x modn
在操作410中,各節點(或其中之至少k個)判定第二簽章分量份額s i 。第二簽章分量涉及暫時密鑰、私用密鑰、訊息散列及第一簽章分量。無節點持有暫時密鑰或私用密鑰;其僅具有密鑰份額。因此,各節點將第二簽章分量份額s i 產生為:s i =D k(i)(e+d A(i) r)+c i modn
接著廣播或與其他節點共用此值。應注意,第二加法遮罩份額用以改良在揭露第二簽章分量份額中之安全性。
在操作412中,接著經由多項式內插自第二簽章分量份額獲得第二ECDSA簽章分量ss=Interpolate(s 1 ,...,s j )modn
此處再次,第二加法遮罩份額c i 退出內插,此係因為其源自聯合零份額。然而,其用以將隨機遮罩提供至所揭露之第二簽章分量份額。操作412可藉由節點中之一或多者或藉由委託節點進行。在已產生兩個分量(rs)之情況下,由此產生訊息m之數位簽章而不揭露任何私用密鑰份額或任何暫時密鑰份額。
在操作414中,將數位簽章併入至含有現已被數位簽章之訊息的區塊鏈交易中。可接著將彼交易提交至網路以用於驗證及最終確認。
現將參看圖8,其以方塊圖形式展示節點800之簡化實例。節點800包括處理器802,該處理器可包括一 或多個微處理器、特殊應用積體晶片(ASIC)、微控制器或類似電腦處理裝置。節點800進一步包括:記憶體804,其可包括用以儲存值、變數且在一些情況下儲存處理器可執行程式指令之持續性記憶體及非持續性記憶體;及網路介面806,其用以經由有線或無線網路提供網路連接性。
節點800包括處理器可執行區塊鏈應用程式808,該處理器可執行區塊鏈應用程式含有在經執行時使處理器802進行本文中所描述之功能或操作中之一或多者的處理器可執行指令。
將理解,可使用標準電腦程式設計技術及語言來實現本文中所描述之裝置及處理程序以及施行用於組配節點之所描述方法/處理程序的任何模組、常式、處理程序、執行緒、應用程式或其他軟體組件。本申請案不限於特定處理器、電腦語言、電腦程式設計慣例、資料結構或其他此類施行細節。
結論
本發明形成比特幣藉由引入群組簽章處理程序而設法實現之基礎。結合分散式密鑰產生系統來添加容錯簽章系統移除所有的集中化及信任要求。
此外,引入隱含地非集中式系統允許建立更穩固且彈性的協定。ECDSA[Johnson,2001年]與Shamir之SSS[Shamir,1979年]之間的相容性已允許本發明引入藉由新的可證實秘密共用方案擴展比特幣的系統。此系統遠比由Feldman[Feldman,1987年]或Pedersen [Pedersen,1992年]導出之任何系統高效,而安全性無任何損失。
在本申請案中,已描述擴展比特幣之功能性而不要求改變基礎協定的系統。藉由使用本發明:1.選擇或分散密鑰秘密不再需要受信任的第三方,2.可建立不依賴於第三方信任之分散式銀行業務交換系統,3.各成員或成員群組可獨立地證實所持有之秘密密鑰的份額對應於所公告之比特幣位址及公用密鑰,4.存在協定以再新私用密鑰切片從而減輕竊聽及相關攻擊之影響,且5.交易及訊息之群組簽章不需要受信任的第三方。
由於本發明防止敏感資料出現在記憶體中,因此其完全解決許多現有的安全性風險。
參考文獻
1) Bar-Ilan, J. Beaver, "Non-Cryptographic Fault-Tolerant Computing in a Constant Number of Rounds", Proc. of 8th PODC, pp. 201-209, 1989.
2) Berlekamp, Elwyn R. (1968), Algebraic Coding Theory, McGraw-Hill, New York, NY.
3) Benger, N., van de Pol, J., Smart, N.P., Yarom, Y.: "Ooh Aah... Just a Little Bit": A Small Amount of Side Channel Can Go a Long Way. In: Batina, L., Robshaw, M. (eds.) Cryptographic Hardware and Embedded Systems | CHES 2014, LNCS, vol. 8731, pp. 75-92. Springer (2014)
4) Ben-Or, M., Goldwasser, S., Wigderson, A.: “Completeness theorems for noncryptographic fault-tolerant distributed computation”. In: Proceedings of the Twentieth Annual ACM Symposium on Theory of Computing. pp. 1-10. STOC ’88, ACM, New York, NY, USA (1988)
5) BIP 65 OP_CHECKLOCKTIMEVERIFY https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki
6) Chaum, David (1983). "Blind signatures for untraceable payments" (PDF). Advances in Cryptology Proceedings of Crypto. 82 (3): 199-203.
7) Dawson, E.; Donovan, D. (1994), "The breadth of Shamir's secret-sharing scheme", Computers & Security, 13: Pp. 69-78
8) Desmedt. Yuo (1987). “Society and Group Oriented Cryptography: A New Concept”. In A Conference on the Theory and Applications of Cryptographic Techniques on Advances in Cryptology (CRYPTO '87), Carl Pomerance (Ed.), Springer-Verlag, London, UK, UK, 120-127.
9) Feldman. P. “A practical scheme for non-interactive verifiable secret sharing”. In Proceedings of the 28th IEEE Annual Symposium on Foundations of Computer Science, pages 427-437, 1987.
10) Gennaro, R., Jarecki, S., Krawczyk, H., Rabin, T.: “Robust threshold DSS signatures”. In: Proceedings of the 15th Annual International Conference on Theory and Application of Cryptographic Techniques. pp. 354-371. EUROCRYPT’96, SpringerVerlag, Berlin, Heidelberg (1996)
11) Ibrahim, M., Ali, I., Ibrahim, I., El-sawi, A.: “A robust threshold elliptic curve digital signature providing a new verifiable secret sharing scheme”. In: Circuits and Systems, 2003 IEEE 46th Midwest Symposium on. vol. 1, pp. 276-280 (2003)
12) Johnson, D., Menezes, A., Vanstone, S.: “The elliptic curve digital signature algorithm (ecdsa)”. International Journal of Information Security 1(1), 36-63 (2001)
13) Kapoor, Vivek, Vivek Sonny Abraham, and Ramesh Singh. "Elltptic Curve Cryptography." Ubiquity 2008, no. May (2008): 1-8.
14) Knuth, D. E. (1997), “The Art of Computer Programming, II: Seminumerical Algorithms” (3rd ed.), Addison-Wesley, p. 505.
15) Koblitz, N. "An Elliptic Curve Implementation of the Finite Field Digital Signature Algorithm" in Advances in Cryptology -- Crypto '98. Lecture Notes in Computer Science, vol. 1462, pp. 327-337, 1998, Springer-Verlag.
16) Liu, C. L. (1968), “Introduction to Combinatorial Mathematics”, New York: McGraw-Hill.
17) National Institute of Standards and Technology: FIPS PUB 186-4: “Digital Signature Standard” (DSS) (2003)
18) Pedersen, T.: “Non-interactive and information-theoretic secure verifiable secret sharing”. In: Feigenbaum, J. (ed.) Advances in Cryptology - CRYPTO ’91, LNCS, vol. 576, pp. 129-140. Springer (1992)
19) Rabin T. & Ben-Or. M. (1989) "Verifiable secret sharing and multiparty protocols with honest majority". In Proc. 21st ACM Symposium on Theory of Computing, pages 73--85, 1989.
20) Shamir, Adi (1979), "How to share a secret", Communications of the ACM, 22 (11): Pp. 612-613
21) Wright, C. & Savanah, S. (2016) “Determining a common secret for two Blockchain nodes for the secure exchange of information” International Patent Application Number Application Number: WO 2017/145016.
應注意,上文所提及之實施例說明而非限制本發明,且熟習此項技術者將能夠設計許多替代實施例而不背離本發明之如由所附申請專利範圍定義的範圍。在申請專利範圍中,置放於圓括號中之任何參考符號不應被視為限制申請專利範圍。詞「包含(comprising及comprises)」及其類似者並不排除除任何技術方案或說明書中整體列出之彼等元件或步驟外的元件或步驟之存在。在本說明書中,「包含(comprises及comprising)」意謂「包括或由……組成」。對元件之單數參考並不排除對此類元件之複數參考,且反之亦然。本發明可藉助於包含若干相異元件之硬體且藉助於經合適程式化之電腦施行。在列舉若干構件之裝置技術方案中,此等構件中之若干構件可由硬體之同一 個項目體現。在相互不同之附屬技術方案中敍述某些措施之純粹實情並不指示不能有利地使用此等措施之組合。
100‧‧‧區塊鏈
102‧‧‧區塊
104‧‧‧交易
106‧‧‧輸出
110‧‧‧節點

Claims (20)

  1. 一種安全地產生臨界值保管庫之電腦施行方法,其中該臨界值保管庫具有一公用密鑰位址、一私用密鑰及一臨界值k,多個節點中之各節點具有一個別第一秘密及一個別k-1次多項式函數,其中彼節點之個別第一秘密設定為該多項式函數之自由項,該等節點包括具有一第一多項式函數之一第一節點,由該第一節點執行之該方法包含:對於該等多個節點中之各其他節點,將該第一多項式函數中之一變數設定為與彼其他節點相關聯之一值,得出該多項式函數針對彼值之一個別結果,以及將該個別結果安全地傳達至彼其他節點;自至少一臨界數目個其他節點接收個別第二秘密,其中該等個別第二秘密中之各者係彼其他節點之個別多項式函數針對與該第一節點相關聯之一第一值的一結果;將該等個別結果中之各者的一橢圓曲線點倍積傳達至該等其他節點;自至少該臨界數目個該等其他節點接收由該等其他節點與該等節點中之任一者共享的該等個別第二秘密之橢圓曲線點倍積;基於自該等其他節點接收之該等個別第二秘密的一總和形成及儲存該私用密鑰之一第一私用密鑰份額;基於該等個別第二秘密之所接收之橢圓曲線點倍積的一總和且使用多項式內插來決定對應於該私用密鑰之公 用密鑰;自至少一臨界數目個其他節點接收個別暫時密鑰份額,其中各該暫時密鑰份額包括有一暫時密鑰之一份額,且該暫時密鑰之該份額藉由一個別加法遮罩密鑰份額及一個別乘法遮罩密鑰份額予以遮罩;以及經由與該等其他節點合作地參與一聯合零秘密份額之一無分發者秘密分散來修改該第一私用密鑰份額,藉此,該第一節點接收一第一零秘密份額且藉著添加該第一零秘密份額來修改該第一私用密鑰份額,以形成及儲存一經修改之第一私用密鑰份額。
  2. 如請求項1之方法,其中每個個別多項式函數係由其個別節點獨立地選擇,且其中每個個別多項式函數具有一不同之係數集合。
  3. 如請求項1或2之方法,其中每個個別多項式函數具有以下形式:
    Figure 107128337-A0305-02-0067-1
    其中f i 係第i節點之該多項式函數,n係一橢圓曲線之一整數階,x係該多項式函數中之變數,a t 係該多項式函數之之係數集合,且t係一指數。
  4. 如請求項1或2之方法,其進一步包含將該第一多項式函數之各係數的一橢圓曲線點倍積傳達至該等其他節點。
  5. 如請求項1或2之方法,其進一步包含 自至少該臨界數目個其他節點接收其個別多項式函數之各係數的一橢圓曲線點倍積。
  6. 如請求項1或2之方法,其進一步包含驗證自該等其他節點接收之該等個別第二秘密。
  7. 如請求項1或2之方法,其中形成該第一私用密鑰份額包括決定以下形式之一總和:
    Figure 107128337-A0305-02-0068-2
    其中d A(i)係該第一私用密鑰份額,h係該等其他節點之一指數,f h ()係第h節點之個別多項式函數,n係一橢圓曲線之一整數階且i係與該第一節點相關聯之第一值,且其中各非空f h (i),h=1、…j係該等個別第二秘密中之一者。
  8. 如請求項1或2之方法,其中決定該公用密鑰之步驟包含藉由自該等個別第二秘密之該等所接收之橢圓曲線點倍積的多個已知值決定該多項式函數之數個係數,來決定該多項式函數。
  9. 如請求項8之方法,其中決定該多項式函數之步驟包含執行一錯誤校正演算法。
  10. 如請求項8之方法,其中決定該多項式函數之該步驟包含執行一Berlekamp-Welch解碼演算法。
  11. 如請求項8之方法,其中決定該多項式函數之該步驟包含:定義一錯誤定位多項式函數及一第二多項式函數,其中該第二多項式函數係該多項式函數與該錯誤定位多項式 函數之一乘積;自該等個別第二秘密之該等所接收之橢圓曲線點倍積的多個已知值決定該第二多項式函數及該錯誤定位多項式函數之數個係數;以及自該第二多項式函數及該錯誤偵測多項式函數決定該多項式函數。
  12. 一種安全地為與臨界值保管庫有關之訊息產生數位簽章的電腦施行方法,其中該臨界值保管庫具有一公用密鑰位址、一私用密鑰及一臨界值,多個節點中之各節點具有一個別私用密鑰份額、暫時密鑰份額、乘法遮罩份額、第一加法遮罩份額及第二加法遮罩份額,由該等多個節點中之一第一節點執行的該方法包含:自藉由乘法密鑰份額及藉由第一加法密鑰份額遮罩之該暫時密鑰份額以及該乘法密鑰份額之一橢圓曲線點倍積產生及共享一雙重遮罩密鑰份額;自至少一臨界數目個其他節點接收其個別雙重遮罩密鑰份額及其乘法密鑰份額之個別橢圓曲線點倍積(ECPM);使用該等雙重遮罩密鑰份額上之多項式內插及該等乘法密鑰份額之該ECPM上的多項式內插來決定一第一簽章分量;以及基於由該第二加法遮罩份額所遮罩之該訊息、該私用密鑰份額、該第一簽章分量、該暫時密鑰份額決定及揭露一第二簽章分量份額,藉此,該第二簽章分量即可自至少該臨界數目個該等節點之個別第二簽章分量份額獲得。
  13. 如請求項12之方法,其進一步包含使用無分發者秘密分散來產生該第一節點之私用密鑰份額、暫時密鑰份額及乘法遮罩份額。
  14. 如請求項12或13之方法,其進一步包含使用聯合零秘密份額來產生該第一節點之第一加法遮罩份額及第二加法遮罩份額。
  15. 如請求項12或13之方法,其中產生該雙重遮罩密鑰份額包括計算:
    Figure 107128337-A0305-02-0070-3
    其中
    Figure 107128337-A0305-02-0070-4
    係該雙重遮罩密鑰份額,D k(i)係該第一節點之暫時密鑰份額,α i 係該第一節點之乘法遮罩份額,β i 係該第一節點之第一加法遮罩份額,且n係一橢圓曲線之一整數階。
  16. 如請求項12或13之方法,其中該等雙重遮罩密鑰份額上之該多項式內插產生一經乘法遮罩暫時密鑰,該等乘法遮罩份額之該ECPM上的該多項式內插產生一乘法遮罩之一ECPM,且其中決定該第一簽章分量包括決定該乘法遮罩之該ECPM與該經乘法遮罩暫時密鑰之一逆相的一乘積。
  17. 如請求項12或13之方法,其中決定該第二簽章分量份額s i 包括決定:s i =D k(i)(e+d A(i) r)+c i modn其中D k(i)係該第一節點之暫時密鑰份額,e係該訊息之一散列,d A(i)係該第一節點之私用密鑰份額,r係該第一 簽章分量,c i 係該第二加法遮罩份額,且n係一橢圓曲線之一整數階。
  18. 如請求項12或13之方法,其進一步包含經由至少該臨界數目個該等節點之該等第二簽章分量份額上的多項式內插來決定該第二簽章分量。
  19. 如請求項18之方法,其進一步包含將該第一簽章分量及該第二簽章分量添加至含有該訊息之一交易,及將該交易提交至一區塊鏈網路。
  20. 一種用以參與區塊鏈交易之運算裝置,該運算裝置係多個節點中之一第一節點,該運算裝置包含:一處理器;一記憶體;一網路介面,其用以提供連至該等多個節點中之其他節點的網路連接;以及一區塊鏈應用程式,其含有在由該處理器執行時使該處理器進行如請求項1至19中任一項之方法的電腦可執行指令。
TW107128337A 2017-08-15 2018-08-14 產生臨界值保管庫之電腦施行方法 TWI822693B (zh)

Applications Claiming Priority (18)

Application Number Priority Date Filing Date Title
??PCT/IB2017/054961 2017-08-15
IB2017054961 2017-08-15
GBGB1713064.2A GB201713064D0 (en) 2017-08-15 2017-08-15 Computer-implemented methods and systems
WOPCT/IB2017/054961 2017-08-15
??1713064.2 2017-08-15
GB1713064.2 2017-08-15
WOPCT/IB2017/055497 2017-09-12
??1714660.6 2017-09-12
GBGB1714660.6A GB201714660D0 (en) 2017-08-15 2017-09-12 Computer-implemented methods and systems
IB2017055497 2017-09-12
??PCT/IB2017/055497 2017-09-12
GB1714660.6 2017-09-12
WOPCT/IB2017/057782 2017-12-11
??PCT/IB2017/057782 2017-12-11
IB2017057782 2017-12-11
WOPCT/IB2018/055604 2018-07-26
??PCT/IB2018/055604 2018-07-26
PCT/IB2018/055604 WO2019034951A1 (en) 2017-08-15 2018-07-26 METHOD AND SYSTEM FOR DIGITAL THRESHOLD SIGNATURE

Publications (2)

Publication Number Publication Date
TW201921888A TW201921888A (zh) 2019-06-01
TWI822693B true TWI822693B (zh) 2023-11-21

Family

ID=67702926

Family Applications (2)

Application Number Title Priority Date Filing Date
TW107128337A TWI822693B (zh) 2017-08-15 2018-08-14 產生臨界值保管庫之電腦施行方法
TW112136001A TW202403575A (zh) 2017-08-15 2018-08-14 產生臨界值保管庫之電腦施行方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW112136001A TW202403575A (zh) 2017-08-15 2018-08-14 產生臨界值保管庫之電腦施行方法

Country Status (7)

Country Link
US (2) US11381389B2 (zh)
EP (2) EP3669491B1 (zh)
JP (2) JP7202358B2 (zh)
KR (2) KR102627049B1 (zh)
SG (1) SG11202000808WA (zh)
TW (2) TWI822693B (zh)
WO (1) WO2019034986A1 (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11050745B2 (en) * 2015-08-26 2021-06-29 Nec Corporation Information processing apparatus, authentication method, and recording medium for recording computer program
US10505723B1 (en) * 2017-04-26 2019-12-10 Wells Fargo Bank, N.A. Secret sharing information management and security system
SG11202001591UA (en) 2017-08-30 2020-03-30 Inpher Inc High-precision privacy-preserving real-valued function evaluation
US11481761B2 (en) 2018-06-03 2022-10-25 VVOW Company Limited Peer-to-peer cryptocurrency and crypto asset trading platform
US20220014367A1 (en) * 2018-12-13 2022-01-13 Login Id Inc. Decentralized computing systems and methods for performing actions using stored private data
EP3696670A1 (en) * 2019-02-13 2020-08-19 UVUE Limited Distributed computation system and method of operation thereof
KR20210127168A (ko) * 2019-02-22 2021-10-21 인퍼, 인코포레이티드 모듈러 정수를 사용한 보안 다자간 계산을 위한 산술
US10892891B2 (en) * 2019-03-13 2021-01-12 Digital 14 Llc System, method, and computer program product for zero round trip secure communications based on two noisy secrets
US10951415B2 (en) * 2019-03-13 2021-03-16 Digital 14 Llc System, method, and computer program product for implementing zero round trip secure communications based on noisy secrets with a polynomial secret sharing scheme
US11451406B2 (en) * 2019-04-04 2022-09-20 Moac Blockchain Tech Inc Cross-chain messaging and message validation
US11646877B2 (en) * 2019-05-14 2023-05-09 Samsung Sds Co., Ltd. Apparatus and method for generating secret key, apparatus and method for generating evaluation key
GB2584154A (en) 2019-05-24 2020-11-25 Nchain Holdings Ltd Knowledge proof
US10790990B2 (en) * 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
CN110457936B (zh) * 2019-07-01 2020-08-14 阿里巴巴集团控股有限公司 数据交互方法、装置和电子设备
CN112543103A (zh) * 2019-09-23 2021-03-23 百度在线网络技术(北京)有限公司 账户地址的生成方法和校验方法、装置、设备和介质
CN111064557A (zh) * 2019-12-25 2020-04-24 杭州安司源科技有限公司 一种分布式托管的数字货币门限签名密钥分发方法
CN113129001B (zh) * 2019-12-31 2023-02-17 上海证锘信息科技有限公司 面向区块链跨链和资产托管的抗量子攻击门限签名方法
GB2597123B (en) * 2020-05-14 2023-08-30 Hung Hung Chiu A method for creating a hierarchical threshold signature digital asset wallet
CN113746623B (zh) * 2020-05-28 2023-03-24 华为技术有限公司 一种门限密钥验证方法及相关设备
US11621834B2 (en) * 2020-06-15 2023-04-04 Acronis International Gmbh Systems and methods for preserving data integrity when integrating secure multiparty computation and blockchain technology
GB2597539A (en) * 2020-07-28 2022-02-02 Nchain Holdings Ltd Generating shared private keys
EP3955110A1 (en) 2020-08-12 2022-02-16 UVUE Limited Distributed computing system and method of operation thereof
GB2598112A (en) * 2020-08-18 2022-02-23 Nchain Holdings Ltd Threshold signatures
GB2600684A (en) * 2020-10-28 2022-05-11 Nchain Holdings Ltd Identifying denial-of-service attacks
CN112635010B (zh) * 2020-12-28 2023-07-07 扬州大学 基于双区块链的边缘计算下数据存储与共享方法
CN112906038B (zh) * 2021-03-26 2023-04-07 成都卫士通信息产业股份有限公司 基于sm9密钥的门限化处理方法、装置、设备及存储介质
CN113438070B (zh) * 2021-05-25 2023-07-21 中国科学院计算技术研究所 基于capss的区块链密钥恢复方法及系统
CN113569261B (zh) * 2021-07-30 2024-05-14 华北电力科学研究院有限责任公司 一种电网数据的处理方法、装置、电子设备和存储介质
GB2612309A (en) * 2021-10-26 2023-05-03 Nchain Licensing Ag Threshold signature scheme
GB2612310A (en) * 2021-10-26 2023-05-03 Nchain Licensing Ag Generating shared keys
US11811752B1 (en) * 2022-08-03 2023-11-07 1080 Network, Inc. Systems, methods, and computing platforms for executing credential-less network-based communication exchanges
CN116865957B (zh) * 2023-07-04 2024-02-02 北京邮电大学 一种量子安全多方计算系统
CN116760547B (zh) * 2023-08-21 2023-10-20 湖南湘江树图信息科技创新中心有限公司 分布式私钥管理方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425902A (zh) * 2008-11-12 2009-05-06 电子科技大学 一个具有前向安全的门限数字签名方法与系统
TW201424322A (zh) * 2012-12-04 2014-06-16 Cheng-Chung Lee 驗證由簽章識別符所表示之數位簽章之裝置、系統及方法
US9489522B1 (en) * 2013-03-13 2016-11-08 Hrl Laboratories, Llc Method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ECDSA) based digital signatures with proactive security

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764767A (en) 1996-08-21 1998-06-09 Technion Research And Development Foundation Ltd. System for reconstruction of a secret shared by a plurality of participants
US6363481B1 (en) 1998-08-03 2002-03-26 Nortel Networks Limited Method and apparatus for secure data storage using distributed databases
JP3560860B2 (ja) 1999-07-23 2004-09-02 株式会社東芝 秘密分散システム、装置及び記憶媒体
JP4292835B2 (ja) 2003-03-13 2009-07-08 沖電気工業株式会社 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム
US20110213975A1 (en) 2010-03-01 2011-09-01 Alessandro Sorniotti Secret interest groups in online social networks
US8949688B2 (en) 2011-04-01 2015-02-03 Cleversafe, Inc. Updating error recovery information in a dispersed storage network
KR101574871B1 (ko) 2012-07-06 2015-12-04 엔이씨 유럽 리미티드 키 값 스토리지에 또는 그로부터 데이터를 저장하고 읽기 위한 방법 및 시스템
US9450938B1 (en) 2013-03-13 2016-09-20 Hrl Laboratories, Llc Information secure proactive multiparty computation (PMPC) protocol with linear bandwidth complexity
US9350550B2 (en) * 2013-09-10 2016-05-24 M2M And Iot Technologies, Llc Power management and security for wireless modules in “machine-to-machine” communications
EP3132560A4 (en) 2014-04-17 2017-12-20 Hrl Laboratories, Llc A method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ecdsa) based digital signatures with proactive security
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9589144B2 (en) * 2014-07-28 2017-03-07 Infosec Global Inc. System and method for cryptographic suite management
US9813234B2 (en) 2015-05-11 2017-11-07 The United States of America, as represented by the Secretery of the Air Force Transferable multiparty computation
US9735958B2 (en) 2015-05-19 2017-08-15 Coinbase, Inc. Key ceremony of a security system forming part of a host computer for cryptographic transactions
AU2017223129A1 (en) * 2016-02-23 2018-07-12 nChain Holdings Limited Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
LT3268914T (lt) 2016-02-23 2018-11-12 nChain Holdings Limited Bendros paslapties, skirtos saugiems informacijos mainams, nustatymas ir hierarchiniai determinuoti kriptografiniai raktai
US10046228B2 (en) * 2016-05-02 2018-08-14 Bao Tran Smart device
US20170345011A1 (en) * 2016-05-26 2017-11-30 Hitfin, Inc. System and method executed on a blockchain network
PL3552158T3 (pl) * 2018-11-27 2021-07-26 Advanced New Technologies Co., Ltd. System i sposób ochrony informacji
US10700850B2 (en) * 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425902A (zh) * 2008-11-12 2009-05-06 电子科技大学 一个具有前向安全的门限数字签名方法与系统
TW201424322A (zh) * 2012-12-04 2014-06-16 Cheng-Chung Lee 驗證由簽章識別符所表示之數位簽章之裝置、系統及方法
US9489522B1 (en) * 2013-03-13 2016-11-08 Hrl Laboratories, Llc Method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ECDSA) based digital signatures with proactive security

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
網路文獻 Goldfeder, Steven et al. "Securing Bitcoin wallets via threshold signatures" 2014 https://www.jkroll.com/papers/bitcoin_threshold_signatures.pdf *

Also Published As

Publication number Publication date
US20230013158A1 (en) 2023-01-19
JP2023024683A (ja) 2023-02-16
CN110999207A (zh) 2020-04-10
WO2019034986A1 (en) 2019-02-21
SG11202000808WA (en) 2020-02-27
US20200213099A1 (en) 2020-07-02
KR20240011260A (ko) 2024-01-25
EP4325770A3 (en) 2024-04-24
TW201921888A (zh) 2019-06-01
EP4325770A2 (en) 2024-02-21
JP7202358B2 (ja) 2023-01-11
EP3669491B1 (en) 2024-02-07
KR20200035280A (ko) 2020-04-02
KR102627049B1 (ko) 2024-01-19
JP2020532168A (ja) 2020-11-05
TW202403575A (zh) 2024-01-16
EP3669491A1 (en) 2020-06-24
US11381389B2 (en) 2022-07-05

Similar Documents

Publication Publication Date Title
TWI822693B (zh) 產生臨界值保管庫之電腦施行方法
TWI797147B (zh) 臨界數位簽章方法及系統
JP7316283B2 (ja) デジタル署名されたデータを取得するためのコンピュータにより実施される方法及びシステム
TWI821248B (zh) 用以移轉數位資產支配權之電腦實施方法及系統
CN115885498A (zh) 阈值签名
Aditia et al. Certificate-less public key encryption for secure e-healthcare systems
CN110999207B (zh) 生成阈值库的计算机实现方法
Wright A distribution protocol for dealerless secret distribution