TWI794366B - 用以安全分享密碼材料之系統及方法 - Google Patents
用以安全分享密碼材料之系統及方法 Download PDFInfo
- Publication number
- TWI794366B TWI794366B TW107144802A TW107144802A TWI794366B TW I794366 B TWI794366 B TW I794366B TW 107144802 A TW107144802 A TW 107144802A TW 107144802 A TW107144802 A TW 107144802A TW I794366 B TWI794366 B TW I794366B
- Authority
- TW
- Taiwan
- Prior art keywords
- participants
- smart contract
- computing entity
- polynomials
- computer
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 239000000463 material Substances 0.000 title description 2
- 230000006870 function Effects 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 description 26
- 238000011156 evaluation Methods 0.000 description 18
- 238000004590 computer program Methods 0.000 description 11
- 238000013515 script Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 10
- 230000014509 gene expression Effects 0.000 description 9
- 230000001052 transient effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3026—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3218—Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本文所描述的系統及方法涉及多方各自產生和交換基於一已分享秘密的量(例如,該已分享秘密的冪次)而不暴露該已分享秘密的技術。根據一協定,兩方或更多方可以交換在多項式上產生的橢圓曲線點集合,其可以由兩方或更多方中的每一方使用,以決定一已分享秘密的一冪次。該協定可被利用作為決定用於一智能合約之參數的一部分,該智能合約會被廣播到一區塊鏈網路(例如,比特幣)。基於該協定,一附加方(例如,與該等兩方或更多方不同的一第三方)可以執行一計算任務,諸如執行該智能合約。
Description
發明領域
本發明一般係涉及電腦安全性和驗證,更具體地說,係涉及允許多方(例如,多於兩方)分享一群之元素的技術,其指數或乘法係數取決於一已分享秘密的冪次。量可被分享使得該等多方交換量係基於該已分享秘密(例如,該已分享秘密的冪次)而不用暴露該已分享的秘密。本發明特別適合,但不侷限於,使用在智能合約中,其中該等多方可以是該智能合約的各方,他們商定了用於該智能合約的參數。本發明可以利用密碼學和數學的技術來分享量用以獲得與安全相關的優點。
發明背景
一區塊鏈可以指一種同儕式的電子分類賬,其被實現為一種基於電腦的、去中心化的、分散式的系統,其由區塊組成,而這些區塊又可能是由交易和其他資訊所組成。在一些實例中,一「區塊鏈交易」指的是編碼場值之一結構化集合的一輸入訊息,該場值包含有資料和一條件集合,其中滿足該條件集合是把該場集合寫入到一區塊鏈資料結構的先決條件。例如,對於比特幣,每一個交易係一資料結構,該資料結構編碼在該區塊鏈系統中在參與者之間一數位資產的該控制轉移,並且包括至少一個輸入和至少一個輸出。在一些實施例中,「數位資產」指的是與一使用權相關聯的二進制資料。數位資產的實例包括比特幣、以太幣、和萊特幣。在一些實現方式中,可藉由把一數位資產的至少一部分從一第一實體重新關聯到一第二實體來執行轉移一數位資產的控制。該區塊鏈的每一個區塊可以包含前一個區塊的一雜湊,以使區塊變得被鏈接在一起,以創建自該區塊鏈開始以來所有已寫入到該區塊鏈之交易的一種永久、不可更改的記錄。交易包含嵌入到其輸入和輸出中被稱為腳本的小程式,該等程式指出如何以及由誰可以存取該等交易的該輸出。在比特幣的平台上,這些腳本係使用一種基於堆疊的腳本語言來編寫的。
雖然區塊鏈技術係以加密貨幣實現的使用而被廣為人知,但數位企業家已經開始探索使用比特幣所基礎之該加密安全系統以及可被儲存在區塊鏈上之該資料兩者來實現新的系統。如果區塊鏈可被使用在不侷限於加密貨幣領域的自動化任務和過程,那將是非常有利的。這樣的解決方案將能夠利用區塊鏈的好處(例如,事件的一份永久性防篡改記錄、分散式處理、等等),同時在其應用中更加的多功能。
本發明描述了一或多個基於區塊鏈之電腦程式的技術方面。一基於區塊鏈的電腦程式可以是被記錄在一區塊鏈交易中的一機器可讀取且可執行程式。該基於區塊鏈的電腦程式可包含可以處理輸入的規則以便產生結果,然後可取決於那些結果來致使將被執行的操作。目前研究的一個領域是使用基於區塊鏈的電腦程式來實現「智能合約」。與使用自然語言所編寫的一傳統合約不同,智能合約可以是被編程來自動執行一機器可讀合約或協議條款的電腦程式。
總結
因此,藉由交換可被使用來決定在兩方或多方之間一已分享秘密之冪次的量,提供一種用於在一區塊鏈上多方驗證金鑰記錄的協定係為所欲的。在各種實施例中,可能希望一智能合約的兩方或更多方能夠交換可使用來決定包含一驗證金鑰和一求值金鑰之一共同參考字串的量。在各種實施例中,本文所描述的該等技術允許兩方或更多方在不使用諸如加密之密碼技術的情況下可交換一已分享秘密的冪次,而且不要求該等各方建立交換資料所需要之加密可驗證保證機密性的一通信通道。因此,本發明提供了改善的安全性及驗證解決方案。
這一種改善的解決方案現在已經被設計出。
因此,根據本發明,提供了如在該等所附請求項中所限定的系統及方法。
根據本發明,可提供一種用於一區塊鏈網路之一節點的電腦實現的方法,該電腦實現的方法包含有:在複數位參與者中之一參與者處,決定可用來映射有限場元素的一函數;基於數位參與者數產生在一點集合中求值的多項式;把該等多項式分發給該等複數位參與者的對應參與者;決定該等複數位參與者之每一位參與者的多項式的一總和,其中該總和對應於一秘密的一冪次;以及在該等多位參與者之間並基於該秘密共同地產生一區塊鏈交易。
較佳的是,該點集合係一橢圓曲線點集合。
較佳的是,該多項式總和的該決定係基於一拉格朗日(Lagrange)插值。
如在本文中所描述的一種方法更可包含有至少部分地基於該秘密的該冪次來決定可由該等複數位參與者所決定的一共同參考字串。
如在本文中所描述的一種方法更可包含有從該等複數位參與者之每一位參與者接收多項式的對應值。
較佳的是,在把該等多項式的該等值分發給該等對應的參與者時係利用鏈外通信。鏈外通信可以指未被區塊鏈網路廣播及/或不可由區塊鏈網路驗證的資料通信。
較佳的是,可使用來映射該等有限場元素的該函數作用為一群之一生成元的一係數或指數。
較佳的是,該等複數位參與者恰好是兩位參與者。
決定該秘密可基於在一特定點處求值的該多項式總和,諸如在一特定的橢圓曲線點處。
該特定點可以是一交叉點,諸如每一位參與者之該等多項式的該總和構成了該(主)多項式,其與y-軸的該交叉點係該秘密。
該點集合可排除該交叉點—換句話說,在至少一些情況下,該交叉點不是該點集合的一成員。
在該點集合中求值的該等多項式可至少為2階。
較佳的是,該點集合中之每一個點係一不同的點,使得在該點集合中沒有重複的點。
也希望提供一種系統,其包含有:一處理器;包括有可執行指令的記憶體,當該等可執行指令由該處理器執行時,會致使該系統執行要求保護之該等方法中的任一個。
也希望提供一種非暫時性的電腦可讀取儲存媒體,已在其上儲存有可執行指令,當該等可執行指令由一電腦系統之一或多個處理器來執行時,會致使該系統執行要求保護之該等方法中的任一個。
較佳實施例之詳細說明
圖1圖示出一區塊鏈環境,其中可以實現各種實施例;
本發明描述了一些技術,該等技術可被使用來實現讓多方可安全地分享一群之元素的系統及方法,其指數或乘法係數取決於一已分享秘密的冪次。量可被分享使得該等多方交換基於該已分享秘密的量(例如,該已分享秘密的冪次)而不用暴露該已分享的秘密。因此,在各種實施例中,複數n
位參與者建立一已分享秘密之冪次的表示式(例如,在該乘法的情況中為)。
在一實施例中,使用本文所描述之技術及方法的一協定被一智能合約的雙方使用來分享可由該等各方所使用的量,以決定一已分享秘密的冪次而不用分享該秘密本身並且不會洩露會使另一個計算實體(例如,不是該智能合約一方的一計算實體)可確定該秘密的資訊。在一個實施例中,該協定包含計算一第一參數集合之一智能合約的一第一方,該第一參數集合被發送到該智能合約的一第二方,該第二方計算一第二參數集合並將那些參數提交給該第一方,其中,在交換如以上所述的該等參數時,雙方都能夠計算該相同的共同參考字串,其包含一驗證金鑰。然後,該等各方可商定一交易,其中他們按比例貢獻數位資產給該智能合約,該等數位資產被鎖到一位址(例如,一區塊鏈網路之一工作者節點的位址)並且可以被解鎖(例如,花掉)。在一實施例中,在該智能合約的該等各方之間的鏈外通信被侷限在交換使用來產生該共同參考字串之該等參數,同時確保安全性被維持(例如,該秘密值不會被洩露也不會由對手或非該智能合約之一方的其他計算實體基於該等交換的參數以其他方式來確定)。在一實施例中,該等雙方(或者,在更為一般的情況下,兩方或更多方)採用了分享一已分享秘密之冪次的技術,諸如在本文件之其他地方,例如,結合圖1-7所描述的該方式。
參照圖1,其圖示出一實例計算環境100,其中本發明的各種實施例可被實踐。在本文中所描述的系統及方法可以涉及用於一智能合約之各方的協定用以交換量,該等第一及第二計算實體可以使用該量來計算該相同的共同參考字串。圖1圖示出一計算環境100,其包含有一第一計算實體102和一第二計算實體104,它們交換一參數集合,其讓該等第一計算實體和第二計算實體兩者決定一共同參考字串108。該共同參考字串可由該等各方利用來產生一智能合約110,該智能合約110鎖住該等計算實體之任一或兩者貢獻作為交易輸入的數位資產。該共同參考字串可以包含一求值金鑰112和一驗證金鑰112。該智能合約110可被發佈到一區塊鏈,諸如在圖1中所示的該區塊鏈118。該智能合約110可以由一第三計算實體106來執行,該第三計算實體不是該智能合約106的一方。作為執行該智能合約的一部分或與執行該智能合約相關聯,該第三計算實體(例如,工作者)可至少部分地基於該共同參考字串的該求值金鑰來產生該智能合約之正確執行的證明116。該正確執行的證明116可由任何合適的計算系統(例如,該智能合約的各方或充當一驗證者節點之該區塊鏈網路的一節點)來在計算上做驗證。在一實施例中,該驗證金鑰114由一第四計算實體(例如,驗證者電腦系統)使用來驗證發佈到該區塊鏈網路118的該證明係正確的。
根據至少一個實施例,該第一計算實體102和該第二計算實體104係一智能合約之參與方的電腦系統。一智能合約的各方可以指在執行一智能合約的條款上達成協議(例如,根據透過相關的使用者輸入裝置所提供的使用者輸入)的兩個或更多個計算實體。該第一計算實體102和該第二計算實體104兩者都同意一智能合約並對該智能合約提供交易輸入,使得該智能合約之該等各別的交易輸入會擔保給一鎖住腳本,該鎖住腳本可被解鎖(例如,花掉)作為一工作者節點提供該智能合約的一正確執行證明的結果。在本文中所描述的系統及方法涉及啟用一鎖住腳本來保護該驗證金鑰VK
不被變更,以及檢查一證明π的有效性,從而允許在交易驗證期間中在一區塊鏈上執行一種零知識協定。
在各種實施例中,該第一計算實體102和該第二計算實體104可以商定一智能合約,在一實施例中,係藉由交換一訊息集合,該訊息集合編碼用於該智能合約的參數,諸如被使用來控制該智能合約之該執行的日期、時間、條件、以及動作(例如,數位資產之控制的轉移)。舉例來說,一智能合約(例如,一可執行程式)可確保一方可預防一特定航班的延誤,並且該程式的執行可以包括使用諸如在某一天一特定商業航班之航班資訊的外部資料來判定該特定航班是否被延遲。如果該航班延誤,該程式的一方可能會收到一資產轉移(例如,提供旅行保險以防止延誤的一智能合約)。
在一實施例中,該智能合約110用一高階程式語言被編碼為諸如C、C++、或Java的原始碼。這些僅是說明性的實例,該智能合約可以使用其他合適的程式語言來被編碼。在一實施例中,諸如一編譯器、解譯器、及/或組譯器的軟體可被利用來把該智能合約110轉換為一算術電路,該算術電路由「線路」所組成,該等線路攜帶有來自一場之值並連接到加法和乘法閘。應被注意的是,該算術電路可以指一邏輯電路,該邏輯電路可由包含有由實體線所連接之一系列實體閘(例如,使用電晶體-電晶體邏輯(TTL)積體電路,諸如7400系列閘、正反器、緩衝器、解碼器、多工器、等等)的一實體電路來實現。雖然一智能合約110的該執行係被描述在圖1和其他地方的情境中,但是一智能合約的該使用僅是可被轉換為一算術電路之原始碼的一個非限制性的實例。在一實施例中,一客戶端(例如,該第一計算實體102,不是單獨就是與該第二計算實體104結合)決定原始碼用於執行由一組操作所限定的一任務,其中該任務的執行被委託給一第三計算實體106(被稱為一工作者或證明者)。一般而言,一驗證者可以執行與判定該證明者正確地執行該任務相關聯的任務,諸如藉由驗證由該證明者所產生之一正確執行證明116的該有效性。
一可驗證的計算係允許產生計算之證明的一種技術。在一實施例中,一客戶端利用這一種技術把在一輸入x上對一函數f的求值外包給在此被稱為一證明者的另一計算實體。在某些情況下,該客戶端在計算上受到限制,因此要該客戶端執行該函數的求值係不可行的(例如,該計算使用該客戶端可用計算資源的預期運行時間超過一最大可接受的臨界值),雖然實情未必如此,一般而言,該客戶端可以基於任何合適的標準,諸如計算運行時間、計算成本(例如,分配計算資源來執行該函數求值的財務成本)、等等,對在輸入x上該函數f的求值進行委託。
在一實施例中,一證明者係任何合適的計算實體,諸如在本發明的其他地方被更詳細描述的一區塊鏈節點。在一實施例中,一證明者(例如,一區塊鏈節點)求出該函數f在輸入x上的值,並產生一輸出y以及該輸出y之該正確性的一證明π,其可由諸如上述該客戶端之類的其他計算實體及/或該區塊鏈網路的其他節點來驗證。證明,其也可被稱為論證,可以比該實際的計算被更快地驗證—因此,藉由驗證該證明的正確性而不是在輸入x上重新計算該函數f來判定由該上述證明者所產生之輸出的正確性,可以減少計算開銷(例如,降低功率開銷以及與供電和運行計算資源相關聯的該成本)。在零知識可驗證計算中,該證明者提供一證明給該客戶端指出該證明者知道具有一特定屬性的輸入。
知識之一種零知識證明的一有效變型係zk_SNARK(簡潔非互動式的知識論證)。在一實施例中,所有基於配對的zk-SNARK包括一程序,其中該證明者使用一般的群操作來計算數個群元素並且該驗證者使用數個配對的乘積方程式來檢查該證明。在一實施例中,該線性互動式證明適用於一有限場,並且該證明者和驗證者的訊息包括編碼、參考,或以其他方式包括可用於確定場元素向量的資訊。
在一實施例中,該第一計算實體及/或該第二計算實體藉由交換一訊息集合來商定一智能合約的執行條款,該訊息集合編碼用於執行該智能合約的提議參數,諸如一或多個布林(Boolean)表示式,該等布林表示式編碼一條件集合,該條件集合基於一條件被滿足決定是否及/或如何執行該智能合約以及要執行的一操作集合。在一實施例中,一個計算實體把一參數集合發送給該第二計算實體作為一協定的一部分,並且該第二計算實體判定該等參數對於該智能合約是否可接受。如果該等參數不被接受,則該第二計算實體可以向該第一計算實體提供一不同的參數集合,作為用於執行該智能合約的一第二提議參數集合。該第二計算實體還可以提供一信號指出該第一參數集合係不可接受的,並且該第一計算實體決定要提供一第二參數集合。在任一種情況下,一旦所有的各方都已信令出對該等參數的協議,在一實施例中,任一計算實體可都以產生一鎖住交易其中該等輸出中之一被該程式(例如,一智能合約腳本)鎖住並把它發送給該智能合約的一交易對方。該鎖住交易可以指一種初始化限制條件的交易,在該等限制條件上可驗證一解鎖交易。在一些實例中,一「解鎖交易」指的是一區塊鏈交易其把一先前交易之一UTXO所指出之一數位資產的至少一部分重新關聯(例如,轉移所有權或控制)到與一區塊鏈位址相關聯的一實體。
在一實施例中,該第一計算實體產生一鎖住交易並添加涵蓋部分該工作者費用的一交易輸入。應被注意的是,此時,該鎖住交易尚未生效,因為該等交易輸入的值不等於該鎖住交易之該等交易輸出的值。繼續本實例,當該第二計算實體接收到該鎖住交易時,該第二計算實體驗證該智能合約(例如,驗證該共同參考字串以及用於執行該智能合約的參數)並把一輸入添加到該鎖住交易並解鎖一UTXO以轉移給該發行人商定的數位資產,還包括將支付給該工作者執行該程式(例如,該智能合約)的一費用以及具有給該工作者之該費用值的輸出。在該第一計算實體和該第二計算實體兩者都向該智能合約提供交易輸入的情況下,該智能合約可以由雙方所共同擁有,並且該智能合約的轉移(例如,交換或銷售)可能需要來自雙方的一證明。
該智能合約110可由諸如一區塊鏈網路之一節點的一第三計算實體106來執行。該第三計算實體106可被稱為一工作者或一證明者。在一實施例中,該工作者藉由至少執行涉及計算在一輸入上的一函數值的計算任務來執行該智能合約。在一實施例中,該工作者係該智能合約之該(等)擁有者可把計算任務委託給其之任何合適的電腦系統。在一實施例中,一輸入包括證明該工作者身份的資訊,諸如使用與該工作者相關聯的一私鑰所產生的數位簽名。在一實施例中,該工作者係一電腦系統,該等第一和第二計算實體同意轉移數位資產給它以換取成功地完成一計算任務。在一實施例中,該智能合約該(等)擁有者提供一輸入x和該求值金鑰EK
112給一證明者,該證明者對一計算程序使用一求值模組來計算該輸出y(即,y=f(x),其中該輸入為x且該函數為f)並且使用該求值金鑰EK
產生一正確執行證明116,其在本說明書的其他地方也可被稱為一正確性證明。在一實施例中,該工作者係包含有硬體及/或軟體的一電腦系統,該硬體及/或軟體包括指令,如果該等指令由該電腦系統的一或多個處理器執行,會致使該電腦系統求出一QAP之該內部電路線的該等值並產生該QAP的一輸出y。
在實施例中,一輸出y,即該內部電路線的值(或其一子集合),以及該求值金鑰EK
被使用來產生該正確性證明。該證明π可被儲存在該區塊鏈上並由多方驗證,而不需要該工作者分別地與該等多方互動。以這種方式,一第四計算實體(例如,一驗證者電腦系統)可以使用該公開的驗證金鑰VK
114和該證明π來驗證該經廣播的交易,從而驗證該智能合約。在某些情況下,如果驗證失敗,該智能合約的該(等)擁有者可以收回由該經廣播交易擔保的數位資產。在某些情況下,該智能合約該(等)擁有者可以執行該證明的該驗證。
在一實施例中,根據上面及/或下面所描述的技術,該驗證金鑰114和對應的證明116被產生。因此,一驗證者被給予驗證金鑰VK
和證明π:
使得該驗證者計算複數個橢圓曲線乘法(例如,每一個公開的輸入變數一個)和五對檢查,其中一個包括一額外的配對乘法。
圖2圖示出一計算環境200,其中一第一計算實體202和一第二計算實體204交換量,該等量可被使用來決定在兩方或更多方之間一已分享秘密的冪次。該第一計算實體202和該第二計算實體204可以交換量(如在圖2中所示之該水平箭頭的下方),該等量被使用來計算一相同的共同參考字串。在一實施例中,該第一計算實體和該第二計算實體係一區塊鏈網路的節點,它們係根據圖1所描述的那些節點。根據至少一個實施例,令係場上的一函數、令係對應的算術電路、以及係該對應之大小為m
次數為d
的QAP(二次算術規劃)。再者,令係一雙線性映射,為的一生成元。在一實施例中,加法式表示(而非指數式表示)被選擇。在一實施例中,藉由以下方式來選擇一求值金鑰和一驗證金鑰:選擇隨機的,並設定、(通常:)、以及對應地,來構建該等金鑰:
和
其中,即,該輸入輸出數。在考慮一不對稱配對的一實施例中,該配對映射將被定義為,而係的一生成元,i
=1,2。在這種情況下,該CRS會略有變化,該將會是
其中且。
在一實施例中,對於一工作者被要求要提供一正確性證明的解決方案,可以存在一OP_碼(或等效物)用於驗證針對一驗證金鑰的該正確性證明。
根據至少一個實施例,分享和分發的技巧被圖示在圖2中。作為一實例,結合圖2以下對的情況做很詳細地描述,並且應該被視為是在該智能合約的各方之間分享秘密之冪次的一非限制性實例。此外,值得注意的是,在本文所描述的各種實施例中,一臨界值的該等效物被事先給出並假定該必要的參與者數先要商定。
圖2根據至少一個實施例圖示出在兩位參與者的情況下分享和分發一已分享秘密之冪次的技術。如圖2所示並且根據至少一個實施例,恰好有兩方參與者,它們分享一已分享秘密的冪次(即,的情況)。該等第一和第二計算實體可分別被稱為A和B。在一實施例中,A和B可以交換以下的資訊:A發送給B,並收到作為回應()。以這種方式,兩者都可以計算出
使用拉格朗日(Lagrange)插值(拉格朗日(Lagrange)多項式),可以用和來表達:
並且,藉由延伸,可用來表達(參見WP0559)。雖然該等參與者無法重建,但藉由該等交換的點他們可以重建(特別是)。這對於更高冪次也同樣地正確。作為該多項式公式(多項式定理)的結果:
圖3圖示出一計算環境300,其中一第一計算實體302和一第二計算實體304交換一參數集合,這些參數使得一協定—例如結合圖1所描述的那些—成為零知識。根據各種實施例,一公開的驗證金鑰可以採用以下的形式:
有鑑於本提出解決方案的該安全性係依賴於該參數,,在一些實施例中,暴露該等剩下的()會洩露資訊,該資訊會使該系統不會成為零知識及/或該客戶端不希望其他實體知道該資訊。因此,在一實施例中,使用來產生一驗證金鑰306之該等剩下參數的一些或全部使用結合圖3所描述的技術被分享。
在一實施例中,根據在本發明中其他地方所描述的技術,多項式被交換在該第一計算實體302與該第二計算實體304(它們可分別稱為A和B)之間,諸如結合圖1、2以及4所討論的那些。因此,在一實施例中,該第一計算實體302計算並分享一橢圓曲線點集合給該第二計算實體304,並且該第二計算實體304計算並分享一橢圓曲線點集合給該第一計算實體302。另外,被使用來產生該驗證金鑰306的其他參數可以不用跨越一通信通道以一種明文格式來被揭露,而是使用以下描述的技術來發送。
根據一實施例,令係的一生成元,並且對於,。此外,在一實施例中,被分享,並且其他參數以一種可確保該等參數之該機密性的方式(例如,加密或其他隱藏的技術)來被傳播。值得注意的是,該等參與者中之任一可以,相反地,產生該等參數,並且可以離線或在線(例如,鏈上)把它們傳送給另外一個。關於前者—即,確保該等其他參數的機密性—各種技術可被使用。例如,藉由使用沙米爾(Shamir)秘密分享方案(4S)來分享該等元素(並且可能有,取決於實現方式/協定)及/或使用一種迪菲-赫爾曼(Diffie-Hellman)類似的密碼產生用於。
在一實施例中,該等元素,或它們的某組合的形式為。與的情況一樣,每位參與者產生一多項式,以對其進行求值,並與參與者分享對應的。因此,每位參與者都可以確定,並且特別是,其中可以是、或它們的某個組合,其中該特定的組合可以是基於一協定/約定,諸如一zk_SNARKs協定。
在一實施例中,該參數借助於橢圓曲線點來被分享,而其他參數可藉由純量數值。對於這樣的值,根據至少一個實施例,一種迪菲-赫爾曼(Diffie-Hellman)方案被使用在兩個計算實體之間分享純量參數,而不用分享該等參數本身。因此,在一實施例中,令係一N
個參數的集合。在一實施例中,假設A和B已經商定使用具有模數和生成元的一乘法群,並且該等參加者(A和B)進行以下的該等步驟(雖然該指數表示被使用於此處作為一說明性的實例,但是其他合適的表示也可以被使用):對於每一個,該等第一和第二計算實體分別創建一(私有地)隨機數,並且兩者都導出一(公開的)元素:和。然後該等計算實體進行交換和,並分別計算和(=)。因此,該等參數被設置為。
圖4圖示出一種協定的示意圖400,基於一種雙方共同參考字串(CRS)以及對應的正確性證明(POC)或正確執行的證明。該圖400圖示出一第一計算實體402、一第二計算實體404、以及一第三計算實體106,其中在執行該智能合約時,該第一計算實體402和該第二計算實體404共同對可由該第三計算實體406來解鎖的一智能合約做出貢獻。在一實施例中,該協定至少部分地使用區塊鏈網路來實現。
根據本發明,並且更為詳細地描述(例如,結合圖4),用於兩位參與者A和B的一方案和協定可被利用來產生一已分享的秘密,並且因此產生一已分享的共同參考字串(CRS),其可被使用於驗證一相關電路的該正確執行。在一實施例中,該方案假定資料的一鏈外交換,首先在A與B之間,其次在A+B(或者任一個)與代表A或B之至少一個執行一計算任務的工作者C之間。為了使該工作者C執行該計算任務(例如,一智能合約的執行),A和B兩者都簽署一交易(其可以包含或可以不包含一P2SH型態的贖回腳本),其要求該工作者C提供一正確性證明並證明持有正確的驗證金鑰(VK)以解鎖該資金。
在一些實施例中,用於實現在本發明中所呈現該協定的技術不需要對現有區塊鏈網路做任何的協定改變(例如,可以使用已支援之現有的命令在一基於比特幣之區塊鏈網路上實現)。在一些實施例中,由該比特幣協定所支援之該現有命令集的擴展也在本文被討論—該擴展可以包括新命令(例如,新的OP代碼),其可以具有各種益處,諸如提高智能合約的執行效率、減小該智能合約的大小(這可以減少該區塊鏈網路節點要正常運行所需要的儲存空間量)、等等。在一些實施例中,對該區塊鏈確認一智能交易的成本至少部分地基於該智能合約的大小。
在一實施例中,橢圓曲線點的交換及轉移以及與該共同參考字串有關的其他資料係在鏈外被傳輸。在一實施例中,該驗證金鑰最終還是被廣播或以其他方式經由用於該工作者C和希望要求值其智能合約之雙方(A和B)所執行之工作(例如,一智能合約的執行)之數位資產的交換被提供在鏈上。如本文所述,幾種方案都是有可能的。例如,當準備該鎖住交易時,A和B可以兩者都或非兩者都提供該VK或VK的雜湊。換句話說,在一實施例中,大部分容量密集之工作負載的係在鏈外完成的。
在一實施例中,該協定包括鏈外和鏈上兩者的成分,如在圖4中所示的該虛線所示。鏈外成分可包括在不把資料儲存到一區塊鏈分類帳的情況下所發生之資料及資訊的通信及交換。例如,該協定的一鏈外成分可以包括在一來源與目的地之間的IP封包交換(例如,該第一計算實體402係一來源,其把一第一參數集合發送到一目的地,即該第二計算實體404)。例如,該協定的一鏈上成分可以包括把資料廣播到一區塊鏈分類賬,該區塊鏈分類賬可被提供用於該區塊鏈網路的節點。
在一實施例中,該第一計算實體402至少部分地基於一第一多項式計算一橢圓曲線點集合。該第一計算實體402可以向該第二計算實體404發送資料,其包含有該橢圓曲線點集合中的至少一些。例如,該第一計算實體402可以發送橢圓曲線點的該完整集合。作為一第二實例,該第一計算實體402可以發送該等橢圓曲線點的一子集。
在一些實施例中,發送附加資料時並不要求要維護一已分享秘密s的保密性,但可能需要使該系統成為零知識。例如,、 ,或者其之某種組合也可被計算(如上面結合圖3所述)以產生可被使用作為確定一共同參考字串之一部分的附加參數值。在一實施例中,係一純量值集合。在一實施例中, 指的是一橢圓曲線點集合。
在一實施例中,該第二計算實體404同樣地計算一橢圓曲線點集合,基於可能與該第一計算實體402所使用之多項式不同的一多項式。該第二計算實體404可執行如以上所述的類似操作。例如,該第二計算實體404可以把該已產生之橢圓曲線點的一子集發送給該第一計算實體402。另外,在一實施例中,可選擇的參數諸如,,或者它們的某組合可被交換,其雖然非維持該已分享秘密s之保密性所必需的,但是可被利用來確保該協定係零知識。
在一實施例中,該已交換的量可由該第一計算實體402和該第二計算實體404兩者來計算該相同的共同參考字串。它們可以或可以不向該第三計算實體(例如,工作者)提供該共同參考字串,因為該第三計算實體406稍後必須證明持有該正確的驗證金鑰。由該等第一及第二計算實體兩者對該相同共同參考字串的決定可以在鏈外被執行。
繼續該協定,根據一個實施例,該等第一和第二計算實體商定了一交易,在該交易中它們依比例做出貢獻用於該智能合約的執行。在一實施例中,該等第一和第二計算實體就貢獻比例達成一致,並且每一個提供被擔保給該智能合約的交易輸入,並且可以在執行該智能合約時由該第三計算實體來解鎖。這可能是也可能不是一種付費給腳本雜湊(P2SH)類型的協議,它們兩者都轉移資金到同一位址(C的位址)。該P2SH類型腳本可以包含或可以不包含該驗證金鑰的該等元素或驗證金鑰雜湊值,即,。在一實施例中,該金鑰已被分割成塊。該智能合約可被廣播到一區塊鏈成為在圖4中所示的該第一交易410,其具有由該第一計算實體402所貢獻的一第一交易輸入和由該第二計算實體404所貢獻的一第二交易輸入,其作用為以該等第一和第二計算實體所商定的一比例支付給一工作者的費用。
在一實施例中,該第三計算實體406—也被稱為一工作者—根據在英國專利申請案第1719998.5號及/或英國專利申請案第1720768.9號的該等協定在一第二交易410中解鎖該等資金—而且該第三計算實體406解鎖用於工作的該等資金(該電路的正確執行)並且這樣子做,證明了它擁有(a)正確的驗證金鑰以及(b)一有效的正確性證明。該驗證可由另一電腦系統(例如,為一驗證者之該區塊鏈的一節點)執行或由作為該智能合約之一方的該等計算實體中的任一/兩者來執行。
圖5根據一實施例展示出程序500的一說明性實例,該程序500係一種用於產生包含有一驗證金鑰及一求值金鑰的一種兩方共同參考字串。該程序500之部分或全部(或在本文中所描述之任何其他的程序,或其之變型及/或組合)可在組配有電腦可執行指令之一或多個電腦系統的控制下被執行,並且可被實現為程式碼(例如,電腦可執行指令、一或多個電腦程式、或一或多個應用程式)由硬體、軟體、或其之組合在一或多個處理器上集體地執行。該程式碼可被儲存在一電腦可讀取儲存媒體上,例如,儲存成一種電腦程式的形式,該電腦程式包含有可由一或多個處理器執行之複數個電腦可讀取指令。該電腦可讀取儲存媒體可以是一種非暫時性的電腦可讀取媒體。在一些實施例中,可使用來執行該程序500之該等電腦可讀取指令中的至少一些不是僅使用暫時性的信號(例如,一傳播中的瞬態電或電磁波傳輸)來儲存。一種非暫時性的電腦可讀取媒體可包括在暫態信號之收發器內部的非暫時性的資料儲存電路(例如,緩衝器、快取、以及佇列)。
在一實施例中,執行該程序500的該系統係一計算實體,其係一智能合約的一方,其執行一程序以至少建立可由該系統及該智能合約的另一方使用來計算一相同的共同參考字串的資訊。結合該程序500所描述的該共同參考字串可以與,例如,結合圖1-4所討論的那些一致。在一實施例中,藉由該等多項式以一秘密求值,該共同參考字串被表示出,表達形式如下:
在一實施例中,502該第一計算實體決定一第一多項式以產生一第一橢圓曲線值集合。在一實施例中,該系統產生橢圓曲線點,型式為:,對於該相關群(例如,橢圓曲線點)的一生成元。除非另有說明,否則在這個程序500中的該等多項式是在一個場上被定義的。因此,令為一個場。因此,在場上的一多項式係由給出並且其中。該橢圓曲線點集合可被表示為。
該第二計算實體,其也是該智能合約的一方,可以為該等相同的輸入點分別地產生一橢圓曲線點集合(例如,產生橢圓曲線點),並把該等已產生點的全部或一些提供給該第一計算實體。該第一計算實體可以506從該第二計算實體接收一第二橢圓曲線點集合,其對應由該第二計算實體所產生之橢圓曲線點的一些或全部,其中該子集可基於在本發明中其他地方(例如,結合圖2和圖6)所描述的技術來決定。
在一實施例中,508該系統基於該等第一和第二橢圓曲線點集合的至少一部分決定一相同的共同參考字串。例如,在交換橢圓曲線點之後,一拉格朗日(Lagrange)插值可被使用來以和來表達。在一實施例中,該智能合約的雙方可以藉由該等交換的點重建冪次(並且特別是,)。對於冪次,如以上所述之該多項式公式可被利用:
在一實施例中,附加參數(例如,純量值及/或橢圓曲線點)被交換在該等第一與第二計算實體之間,諸如以結合圖3所描述的方式,以及該等參數結合該已分享秘密的一冪次被使用來計算該驗證金鑰及/或求值金鑰。在一實施例中,該等參數是在不依賴於提供機密性之密碼式可驗證保證之加密及/或通信通道的情況下被交換的。
在一實施例中,該等第一和第二計算實體就一交易達成協議,並且510每一個計算實體對該智能合約的一各別交易輸入做出貢獻,其可由正確執行該智能合約的一第三計算實體(例如,工作者)來解鎖。在一實施例中,該等計算實體之任一個提供一比例的工作者費用。可能存在也可能不存在一種P2SH類型協議,其中兩者都對相同的位址(例如,工作者的位址)做出貢獻。在一實施例中,該P2SH腳本包括該驗證金鑰的元素或該驗證金鑰的雜湊值。一工作者(例如,第三計算實體)可藉由提供一計算上可驗證的認證來解鎖(例如,解鎖)該等貢獻,該計算上可驗證的認證指出該工作者具有正確的驗證並且藉由,例如,使用結合在英國專利申請案第1719998.5號及/或英國專利申請案第1720768.9號中所描述的技術來提供一有效的正確性證明。
圖6根據至少一個實施例圖示出一種用於在n方(例如,n>2)之間分享一已分享秘密之冪次的程序600的一說明性實例。該程序600之部分或全部(或在本文中所描述之任何其他的程序,或其之變型及/或組合)可在組配有電腦可執行指令之一或多個電腦系統的控制下被執行,並且可被實現為程式碼(例如,電腦可執行指令、一或多個電腦程式、或一或多個應用程式)由硬體、軟體、或其之組合在一或多個處理器上集體地執行。該程式碼可被儲存在一電腦可讀取儲存媒體上,例如,儲存成一種電腦程式的形式,該電腦程式包含有可由一或多個處理器執行之複數個電腦可讀取指令。該電腦可讀取儲存媒體可以是一種非暫時性的電腦可讀取媒體。在一些實施例中,可使用來執行該程序600之該等電腦可讀取指令中的至少一些不是僅使用暫時性的信號(例如,一傳播中的瞬態電或電磁波傳輸)來儲存。一種非暫時性的電腦可讀取媒體可包括在暫態信號之收發器內部的非暫時性的資料儲存電路(例如,緩衝器、快取、以及佇列)。在一實施例中,一臨界值的該等效物被事先給出並假定參與者的該必要數量要先商定。這不同於各種現有技術,諸如在沙米爾(Shamir)秘密分享方案(4S)中所描述的技術,其中一秘密的分享僅能施行在一給定臨界值被達到的限制下。
根據各種實施例,秘密分享適用於一任意數量的參與方。在一實施例中,在本發明中所描述形式的大部分都可適用於多方(n>2)的情境。在一些實施例中,多方系統(n>2)不被要求要隱藏特定的其他參數(例如,以下非橢圓曲線(例如,純量)參數:的一些或所有)。然而,如果那些參數根據該協定都保持為私有的,則不同的方法—諸如結合圖3所描述的那些—可被使用來隱藏諸如的參數。
在一實施例中,所有的參與者都602同意及/或可以使用該函數,其把有限場元素映射到其他的有限場元素。在一實施例中,該等函數作用為群之生成元的係數/指數。為了說明的目的,下文所描述的實施例聚焦於多項式,因為我們感興趣的該等函數可藉由泰勒(Taylor)級數的推廣使用多項式來表示。特別的是,在各種實施例中,參與的各方會用該相同的值來估量該等函數,並且不用在他們自己之間傳遞該值。例如,在1階多項式的情況下,這相當於使用沙米爾(Shamir)秘密分享方案。對於更高階(n>1),該等各方正在處理以下形式的表示式:
因此,本文所描述的技術可被利用來確保所有的參與者都具有相同的。例如,在根據至少一個實施例所描述的一協定中,對於任意的整數冪r
,可藉由公開地分發具有形式的點,該相同的EQ_FSG可以在兩位或更多位參與者之間(即,)被分享,因為,其中係討論中該群(例如,橢圓曲線點的)一生成元。
在一實施例中,每一位參與者能夠604產生多項式,其在一點集合上被求值,其中,並且該等點對所有的各方都可能是已知的。在一實施例中,每一位參與者的該等多項式的總和構成該(主)多項式,其中與y軸的該交點係該秘密,即,,
具有,其中係該參與者數。如以上所述之與y軸的交點可以被稱為一交叉點。
由於該生成元的冪次通常沒被定義,因此可能無法計算的冪次。然而,由於所有參與者都可以藉由該等已交換的來推斷,因此可以藉由檢查該拉格朗日(Lagrange)插值多項式的冪來做為開始(因為該主多項式通常可以藉由拉格朗日(Lagrange)插值(拉格朗日(Lagrange)多項式)來被建構出)。該拉格朗日(Lagrange)插值可被寫為:
其中
並因此
其中
係該多項式係數(多項式定理)。因此,該等多項式可由每一位參與者獨立地計算出。接下來,每一位參與者可以計算:
使得
其,接下來,可被重寫為(使用多項展開):
根據至少一個實施例考慮一實例,其中參與者使用一橢圓曲線,並且其中係在該對應的(乘法)表示式中的一生成元。在兩位參與者的情況下,A和B:A發送給B,並收到作為回應。因此,參與者A可以計算出
同樣地,參與者B可以計算出
在不失一般性的情況下,根據至少一個實施例,可以假設參與者1係提交該等第一橢圓曲線點的參與者。在一實施例中,該協定遵循以下的該等步驟:
1. 參與者1分發給所有的參與者,其中和,並且其中係該參與者數量。
2. 參與者2分發給所有的參與者,其中、以及
3. 參與者3分發給所有的參與者,其中、、以及
4. ....(對於每一位參與者依此類推)
在一實施例中,該程序600包括複數位參與者(例如,多於2位參與者),他們交換具有形式的點集合,其中該等點被每一位參與者使用來計算。然後,該等參與者可以使用,配合使用拉格朗日(Lagrange)插值,來獲得,並且特別是,。在一實施例中,該等點係橢圓曲線點,其中。
因此,本說明書和附圖應被視為是說明性的而非限制性的。然而,將顯而易見的是,在不脫離如在該等請求項中所闡述之本發明範圍的情況下,可以對其進行各種的修改和改變。同樣地,其他的變型也是在本發明的範圍內。因此,儘管該等揭露的技術係易於進行各種修改和結構替換,某些圖示出的實施例已被展示在該等附圖中並且已在上面做出詳細地描述。然而,應被理解的是,本文並無意圖把本發明限制在所揭露之特定形式或多個形式,相反的是,其目的係欲涵蓋落入到本發明範圍內之所有的修改、替代結構以及等同物,如在該等所附請求項中所限定的。
除非另有說明或與上下文相互矛盾,否則術語「集合」(例如,「一項目集合」)或「子集」的使用應被解釋為包含有一或多個成員的一非空集合。此外,除非另有說明或與上下文相互矛盾,否則一對應集合的術語「子集」不一定表示為該對應集合的一真子集,而是該子集和該對應的集合可能是相等的。
連結性語言,諸如「A、B、及C中之至少一個」或「A、B及C中之至少一個」形式的短語,除非另有明確說明或與上下文明顯矛盾,否則將被理解為通常使用在呈現一項目、項目、等等的上下文中,可以是A或B或C,或A及B及C之該集合的任何非空子集。例如,在一具有三個成員之集合的說明性實例中,該連結短語「A、B、及C中之至少一個」和「A、B及C中之至少一個」」指的是以下集合之任一:{A}、{B}、{C}、{A、B}、{A、C}、{B、C}、{A、B、C}。因此,這種連結性語言通常不旨在暗示某些實施例需要至少一A、至少一B以及至少一C,每一個都要存在。此外,除非另有說明或另外從上下文可清楚其意,否則短語「基於」意味著「至少部分地基於」而不是「僅基於」。
除非另有說明或與上下文明顯矛盾,否則所描述之程序的操作可以以任何合適的順序來執行。所描述之程序(或其之變型及/或組合)可在組配有電腦可執行指令之一或多個電腦系統的控制下被執行,並且可被實現為程式碼(例如,電腦可執行指令、一或多個電腦程式、或一或多個應用程式)由硬體或其之組合在一或多個處理器上集體地執行。在一些實施例中,該程式碼可被儲存在一電腦可讀取儲存媒體上,例如,儲存成一種電腦程式的形式,該電腦程式包含有可由一或多個處理器執行之複數個電腦可讀取指令。在一些實施例中,該電腦可讀取儲存媒體係非暫時性的。
在本文中使用任一及所有的實例,或提供示例性語言(例如,「諸如」)僅旨在更好地說明本發明的實施例,除非另外聲明,否則不對本發明的範圍構成限制。在本說明書中的任何語言都不應被解讀為表示任何未要求保護的元素對於本發明的實踐係必要的。
本發明的實施例被描述,其包括本發明人所認知實現本發明的最佳模式。在閱讀前面的描述後,那些實施例的變化對於本領域的普通技術人員來說將變得顯而易見。本發明人期望熟練的技術人員適當地採用這些變化,並且本發明人意圖以非具體描述的其他方式來實踐本發明的實施例。因此,本發明的範圍包括適用法律所允許的在所附請求項之技術主題中所有的修改和等同物。此外,除非另有說明或與上下文明顯矛盾,否則該等以上所描述的要素其所有可能變型的任何組合都被包含在本發明的範圍內。
本文引用之所有的參考文獻,包括出版物、專利申請案、以及專利均藉由引用被併入於本文中,其程度如同每一參考文獻被各別地且被具體地指出要藉由引用被併入並且係以其之整體來被闡述。
應被注意的是,該等上述實施例係說明本發明而不是限制本發明,並且本領域的習知技藝者將能夠設計出許多的替代實施例而不脫離由所附請求項所限定之本發明的範圍。某些措施被敘述在相互不同的從屬請求項中僅為陳述事實,但並不表示這些措施的一種組合無法被使用來獲益。
100、200、300‧‧‧計算環境
102、302、402‧‧‧第一計算實體
104、304、404‧‧‧第二計算實體
106、406‧‧‧第三計算實體
108‧‧‧共同參考字串
110‧‧‧智能合約
112‧‧‧求值金鑰
114、306‧‧‧驗證金鑰
116‧‧‧正確執行的證明
118‧‧‧區塊鏈
400‧‧‧示意圖
408‧‧‧第一交易
410‧‧‧第二交易
500、600‧‧‧程序
502〜510、602〜608‧‧‧方塊
700‧‧‧
702‧‧‧處理器
704‧‧‧匯流排子系統
706‧‧‧儲存區子系統
708‧‧‧記憶體子系統
710‧‧‧檔案儲存子系統
712‧‧‧使用者介面輸入裝置
714‧‧‧使用者介面輸出裝置
716‧‧‧網路介面
718‧‧‧RAM
720‧‧‧ROM
724‧‧‧時鐘
從本文所描述的實施例以及參考其之闡明,本發明的這些和其他方面將是顯而易見的。現在將僅通過示例的方式並參照該等附圖來描述本發明的一實施例,其中:
圖1圖示出一計算環境,其中一智能合約的多方與一第三方商定一協議以執行該智能合約;
圖2圖示出一計算環境,其中一第一計算實體和一第二計算實體交換可被使用來決定在兩方或更多方之間一已分享秘密之冪次的量;
圖3圖示出一計算環境,其中一第一計算實體和一第二計算實體交換使之為零知識的一參數集合;
圖4圖示出基於一兩方共同參考字串(CRS)和對應的正確性證明(POC)或正確執行證明之一協定的一示意圖;
圖5根據一實施例圖示出一種用於產生包含有一驗證金鑰和求值金鑰之一個兩方共同參考字串的程序;
圖6根據至少一個實施例圖示出一種用於在多方之間分享一已分享秘密之冪次的程序;以及
圖7圖示出一計算裝置的一簡化的方塊圖其可被使用來實踐本發明的至少一個實施例。
100‧‧‧計算環境
102‧‧‧第一計算實體
104‧‧‧第二計算實體
106‧‧‧第三計算實體
108‧‧‧共同參考字串
110‧‧‧智能合約
112‧‧‧求值金鑰
114‧‧‧驗證金鑰
116‧‧‧正確執行的證明
118‧‧‧區塊鏈
Claims (15)
- 一種電腦實施的方法,其包含有:在多個參與者中之各者處:決定一可用於映射有限場元素的函數;產生在一點集合中求值的多項式,該等多項式之數量係基於參與者之數量;把該等多項式分發給該等多個參與者中之對應的參與者;以及決定該等多個參與者中每一個參與者之多項式的一總和,其中該總和對應到一秘密的一冪次;以及在該等多個參與者之間並基於該秘密,共同地產生一區塊鏈交易。
- 如請求項1之方法,其中該點集合係一橢圓曲線點集合。
- 如請求項1之方法,其中決定多項式的該總和係基於一拉格朗日(Lagrange)插值。
- 如請求項1之方法,其更包含有至少部分地基於該秘密的該冪次,決定可由該等多個參與者來決定的一共同參考字串。
- 如請求項1之方法,其更包含有從該等多個參與者中每一個參與者接收多項式之對應的值。
- 如請求項1之方法,其中鏈外通信被利用在把該等多項式的該等值分發給該等對應參與者。
- 如請求項1之方法,其中可使用來映射該 等有限場元素的該函數作用為一群組之一生成元的一係數或指數。
- 如請求項1之方法,其中該等多個參與者正好是兩個參與者。
- 如請求項1之方法,其中該秘密係基於在一特定點處被求值之多項式的該總和來決定。
- 如請求項9之方法,其中該特定點係一交叉點。
- 如請求項1之方法,其中該點集合排除交叉點。
- 如請求項1之方法,其中在該點集合中求值的該等多項式至少為2階。
- 如請求項1之方法,其中該點集合中的每一個點係一不同的點。
- 一種系統,其包含有:一處理器;以及包括有可執行指令的記憶體,作為該等可執行指令由該處理器執行的一結果,會致使該系統執行如請求項1至13中任一項之電腦實施的方法。
- 一種儲存有可執行指令之非暫時性電腦可讀儲存媒體,作為該等可執行指令由一電腦系統之一處理器執行的一結果,會致使該電腦系統至少執行如請求項1至13中任一項之電腦實施的方法。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB1720768.9A GB201720768D0 (en) | 2017-12-13 | 2017-12-13 | Computer-implemented system and method |
GB1720768.9 | 2017-12-13 | ||
??1720768.9 | 2017-12-13 | ||
GBGB1813770.3A GB201813770D0 (en) | 2018-08-23 | 2018-08-23 | Computer-Implemented system and method |
??1813770.3 | 2018-08-23 | ||
GB1813770.3 | 2018-08-23 | ||
??1813772.9 | 2018-08-23 | ||
GBGB1813772.9A GB201813772D0 (en) | 2018-08-23 | 2018-08-23 | Computer-Implemented system and method |
GB1813772.9 | 2018-08-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201928755A TW201928755A (zh) | 2019-07-16 |
TWI794366B true TWI794366B (zh) | 2023-03-01 |
Family
ID=65013743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107144802A TWI794366B (zh) | 2017-12-13 | 2018-12-12 | 用以安全分享密碼材料之系統及方法 |
Country Status (9)
Country | Link |
---|---|
US (6) | US11683164B2 (zh) |
EP (3) | EP3725028A1 (zh) |
JP (4) | JP7453911B2 (zh) |
KR (2) | KR20200096248A (zh) |
CN (4) | CN118449685A (zh) |
SG (2) | SG11202005567QA (zh) |
TW (1) | TWI794366B (zh) |
WO (2) | WO2019116187A1 (zh) |
ZA (2) | ZA202004255B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2018320435B9 (en) * | 2017-08-22 | 2021-06-17 | Nippon Telegraph And Telephone Corporation | Agreement system, agreement apparatus, program, and recording medium |
GB201805633D0 (en) * | 2018-04-05 | 2018-05-23 | Nchain Holdings Ltd | Computer implemented method and system |
WO2021013813A1 (en) * | 2019-07-24 | 2021-01-28 | Koninklijke Philips N.V. | Summarizing a genomic data entry |
CN110535916B (zh) * | 2019-08-09 | 2022-04-15 | 江苏科技大学 | 一种基于区块链的供应保障管理方法 |
CN111427958A (zh) * | 2020-03-26 | 2020-07-17 | 北京链化未来科技有限公司 | 基于区块链的去中心化数据数据共享方法 |
TWI790450B (zh) * | 2020-06-15 | 2023-01-21 | 台灣灣谷科技股份有限公司 | 智能合約上鏈方法及其系統 |
WO2022006361A1 (en) * | 2020-06-30 | 2022-01-06 | Interdigital Patent Holdings, Inc. | Methods, architectures, apparatuses and systems directed to messaging through blockchain networks |
US11991284B1 (en) * | 2020-07-02 | 2024-05-21 | Steven Ali Ghabel | Blockchain-based authentication system and method |
KR102346880B1 (ko) | 2020-09-01 | 2022-01-03 | 김바올 | 블록체인에 기반한 성인인증정보 관리 방법 및 장치 |
CN112653550A (zh) * | 2020-10-11 | 2021-04-13 | 黑龙江头雁科技有限公司 | 一种基于BlockChain的多项密钥管理方法 |
JP2022158677A (ja) | 2021-04-02 | 2022-10-17 | 株式会社野村総合研究所 | マルチパーティ計算で行われるゼロ知識証明のための装置およびシステム |
US20220337424A1 (en) * | 2021-04-16 | 2022-10-20 | Portable Data Corp | Apparatuses And Methods For Facilitating Cryptographically Mediated Organizations And Tokens And Related Interactions |
WO2023055582A1 (en) * | 2021-09-30 | 2023-04-06 | Visa International Service Association | Round optimal oblivious transfers from isogenies |
KR20230077838A (ko) | 2021-11-26 | 2023-06-02 | (주) 이노트리 | 다자간 계약의 개인정보 보호를 위한 온라인 전자 계약 플랫폼 시스템 |
US12086630B2 (en) * | 2022-04-07 | 2024-09-10 | Piamond Corp. | Method and system for generating and managing smart contract |
GB2627757A (en) * | 2023-02-28 | 2024-09-04 | Nchain Licensing Ag | Verification of scalar multiplication of elliptic curve points in script |
GB2627758A (en) * | 2023-02-28 | 2024-09-04 | Nchain Licensing Ag | Verification of scalar multiplication of elliptic curve points in script |
Family Cites Families (138)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4667290A (en) | 1984-09-10 | 1987-05-19 | 501 Philon, Inc. | Compilers using a universal intermediate language |
JPH03126133A (ja) | 1989-10-11 | 1991-05-29 | Matsushita Electric Ind Co Ltd | コンパイラ処理方法 |
US5499191A (en) | 1992-06-15 | 1996-03-12 | Minc Incorporated | Multi-level logic optimization in programmable logic devices |
US5297150A (en) | 1992-06-17 | 1994-03-22 | International Business Machines Corporation | Rule-based method for testing of programming segments |
US6064928A (en) | 1997-04-24 | 2000-05-16 | Automation Systems Laboratory, Inc. | Mechanical sensor diagnostic method and system |
US5920830A (en) | 1997-07-09 | 1999-07-06 | General Electric Company | Methods and apparatus for generating test vectors and validating ASIC designs |
US6161180A (en) | 1997-08-29 | 2000-12-12 | International Business Machines Corporation | Authentication for secure devices with limited cryptography |
US6519754B1 (en) | 1999-05-17 | 2003-02-11 | Synplicity, Inc. | Methods and apparatuses for designing integrated circuits |
US7181017B1 (en) * | 2001-03-23 | 2007-02-20 | David Felsher | System and method for secure three-party communications |
EP1283422A1 (en) | 2001-08-07 | 2003-02-12 | Lucent Technologies Inc. | Testbench for the validation of a device under test |
US7209555B2 (en) | 2001-10-25 | 2007-04-24 | Matsushita Electric Industrial Co., Ltd. | Elliptic curve converting device, elliptic curve converting method, elliptic curve utilization device and elliptic curve generating device |
US7085701B2 (en) | 2002-01-02 | 2006-08-01 | International Business Machines Corporation | Size reduction techniques for vital compliant VHDL simulation models |
ATE314763T1 (de) * | 2002-03-13 | 2006-01-15 | Koninkl Philips Electronics Nv | Mehrbenutzerschlüsselerzeugung auf polynombasis und authentisierungsverfahren uns system |
US7281017B2 (en) | 2002-06-21 | 2007-10-09 | Sumisho Computer Systems Corporation | Views for software atomization |
US7657748B2 (en) * | 2002-08-28 | 2010-02-02 | Ntt Docomo, Inc. | Certificate-based encryption and public key infrastructure |
US6983456B2 (en) | 2002-10-31 | 2006-01-03 | Src Computers, Inc. | Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms |
US20050004899A1 (en) | 2003-04-29 | 2005-01-06 | Adrian Baldwin | Auditing method and service |
US20060149962A1 (en) * | 2003-07-11 | 2006-07-06 | Ingrian Networks, Inc. | Network attached encryption |
US7059517B2 (en) * | 2003-12-31 | 2006-06-13 | Hewlett-Packard Development Company, L.P. | On-line PIN verification using polynomials |
US7664957B2 (en) * | 2004-05-20 | 2010-02-16 | Ntt Docomo, Inc. | Digital signatures including identity-based aggregate signatures |
US7590236B1 (en) * | 2004-06-04 | 2009-09-15 | Voltage Security, Inc. | Identity-based-encryption system |
US20160004820A1 (en) | 2005-02-01 | 2016-01-07 | Newsilike Media Group, Inc. | Security facility for maintaining health care data pools |
US8200700B2 (en) | 2005-02-01 | 2012-06-12 | Newsilike Media Group, Inc | Systems and methods for use of structured and unstructured distributed data |
US8874477B2 (en) * | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
TW200725415A (en) | 2005-12-30 | 2007-07-01 | Tatung Co Ltd | Method for automatically translating high level programming language into hardware description language |
US8850411B2 (en) | 2006-06-21 | 2014-09-30 | Element Cxi, Llc | Compiler system, method and software for a resilient integrated circuit architecture |
US7926040B2 (en) | 2006-09-06 | 2011-04-12 | International Business Machines Corporation | Method and system for timing code execution in a korn shell script |
US20100067686A1 (en) * | 2006-10-30 | 2010-03-18 | Kazuhiro Minematsu | Shared key block cipher apparatus, its method, its program and recording medium |
FR2918525A1 (fr) * | 2007-07-06 | 2009-01-09 | France Telecom | Procede asymetrique de chiffrement ou de verification de signature. |
WO2009064122A1 (en) | 2007-11-18 | 2009-05-22 | Lg Electronics Inc. | Methods of joint coding in mobile communication system |
US8923510B2 (en) * | 2007-12-28 | 2014-12-30 | Intel Corporation | Method and apparatus for efficiently implementing the advanced encryption standard |
JP2010096787A (ja) * | 2008-10-14 | 2010-04-30 | Tokyo Metropolitan Univ | 秘密情報分散装置、秘密情報分散プログラム、秘密情報分散方法、秘密情報復元装置、秘密情報復元プログラム、秘密情報復元方法、及び秘密情報分散復元システム |
US8336036B2 (en) | 2008-11-21 | 2012-12-18 | Korea University Industrial & Academic Collaboration Foundation | System and method for translating high programming level languages code into hardware description language code |
US8639931B2 (en) * | 2008-12-16 | 2014-01-28 | Certicom Corp. | Acceleration of key agreement protocols |
US8165287B2 (en) * | 2008-12-30 | 2012-04-24 | King Fahd University Of Petroleum & Minerals | Cryptographic hash functions using elliptic polynomial cryptography |
US8189771B2 (en) * | 2009-01-12 | 2012-05-29 | King Fahd University Of Petroleum & Minerals | Hash functions with elliptic polynomial hopping |
FR2947404B1 (fr) | 2009-06-30 | 2011-12-16 | Sagem Securite | Cryptographie par parametrisation sur une courbe elliptique |
JP5159752B2 (ja) | 2009-12-03 | 2013-03-13 | セイコープレシジョン株式会社 | 通信データの検証装置及びそのコンピュータプログラム |
US8189775B2 (en) * | 2010-02-18 | 2012-05-29 | King Fahd University Of Petroleum & Minerals | Method of performing cipher block chaining using elliptic polynomial cryptography |
US8910014B2 (en) * | 2010-04-27 | 2014-12-09 | Nec Corporation | Coding device, error-correction code configuration method, and program thereof |
US10515567B2 (en) * | 2010-06-01 | 2019-12-24 | Ternarylogic Llc | Cryptographic machines with N-state lab-transformed switching devices |
US20120002811A1 (en) * | 2010-06-30 | 2012-01-05 | The University Of Bristol | Secure outsourced computation |
US8972746B2 (en) * | 2010-12-17 | 2015-03-03 | Intel Corporation | Technique for supporting multiple secure enclaves |
EP2721766A4 (en) * | 2011-03-18 | 2015-01-28 | Certicom Corp | SECURE FINANCIAL TRANSACTIONS |
US9569771B2 (en) * | 2011-04-29 | 2017-02-14 | Stephen Lesavich | Method and system for storage and retrieval of blockchain blocks using galois fields |
EP2705479A4 (en) | 2011-05-03 | 2014-12-24 | Panther Payments Llc | METHOD AND SYSTEM FOR FACILITATING PERSON-TO-PERSON PAYMENTS |
US8607129B2 (en) * | 2011-07-01 | 2013-12-10 | Intel Corporation | Efficient and scalable cyclic redundancy check circuit using Galois-field arithmetic |
JP5697153B2 (ja) | 2011-08-04 | 2015-04-08 | キヤノンマーケティングジャパン株式会社 | 情報処理システム、携帯端末、制御方法、及びプログラム |
US8745376B2 (en) | 2011-10-14 | 2014-06-03 | Certicom Corp. | Verifying implicit certificates and digital signatures |
US20150379510A1 (en) | 2012-07-10 | 2015-12-31 | Stanley Benjamin Smith | Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain. |
CN104854814A (zh) * | 2012-12-21 | 2015-08-19 | 皇家飞利浦有限公司 | 密钥共享网络设备及其配置 |
US8683193B1 (en) | 2013-03-01 | 2014-03-25 | Robert Hansen | Strict communications transport security |
EP2989742B1 (en) * | 2013-04-24 | 2018-08-29 | NEC Corporation | Method and system for enforcing access control policies on data |
US20140321644A1 (en) | 2013-04-29 | 2014-10-30 | Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of National Defence | Method and system for calculations on encrypted data |
US11127001B2 (en) | 2013-05-09 | 2021-09-21 | Wayne Fueling Systems Llc | Systems and methods for secure communication |
US9553982B2 (en) | 2013-07-06 | 2017-01-24 | Newvoicemedia, Ltd. | System and methods for tamper proof interaction recording and timestamping |
EP2860905A1 (en) * | 2013-10-09 | 2015-04-15 | Thomson Licensing | Method for ciphering a message via a keyed homomorphic encryption function, corresponding electronic device and computer program product |
US9026978B1 (en) | 2013-10-24 | 2015-05-05 | Cadence Design Systems, Inc. | Reverse interface logic model for optimizing physical hierarchy under full chip constraint |
JP6095584B2 (ja) | 2014-01-15 | 2017-03-15 | 日本電信電話株式会社 | マルチパーティ計算システム、秘匿計算装置、マルチパーティ計算方法及びプログラム |
FR3018378A1 (fr) | 2014-03-12 | 2015-09-11 | Enrico Maim | Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses |
US10320781B2 (en) | 2016-12-08 | 2019-06-11 | Sensoriant, Inc. | System and methods for sharing and trading user data and preferences between computer programs and other entities while preserving user privacy |
US9645794B2 (en) | 2014-09-23 | 2017-05-09 | Texas Instruments Incorporated | Homogeneous atomic pattern for double, add, and subtract operations for digital authentication using elliptic curve cryptography |
US10025926B2 (en) | 2014-11-19 | 2018-07-17 | The Mitre Corporation | Side-channel leakage evaluator and analysis kit |
US20160162897A1 (en) | 2014-12-03 | 2016-06-09 | The Filing Cabinet, LLC | System and method for user authentication using crypto-currency transactions as access tokens |
CN104580240A (zh) | 2015-01-22 | 2015-04-29 | 杭州安存网络科技有限公司 | 聊天证据固定方法及装置 |
EP3259871B1 (en) | 2015-02-20 | 2020-09-16 | Telefonaktiebolaget LM Ericsson (publ) | Method of providing a hash value for a piece of data, electronic device and computer program |
EP3767878A1 (en) | 2015-03-27 | 2021-01-20 | Black Gold Coin, Inc. | A system and a method for personal identification and verification |
WO2016155804A1 (en) | 2015-03-31 | 2016-10-06 | Nec Europe Ltd. | Method for verifying information |
JP2017004044A (ja) | 2015-06-04 | 2017-01-05 | 富士通株式会社 | ライセンス管理プログラム、ライセンス管理方法、およびライセンス管理システム |
CN106293892B (zh) | 2015-06-26 | 2019-03-19 | 阿里巴巴集团控股有限公司 | 分布式流计算系统、方法和装置 |
US10936720B2 (en) | 2015-07-10 | 2021-03-02 | Nec Corporation | Method and system for reliable computation of a program |
US10339523B2 (en) * | 2015-07-14 | 2019-07-02 | Fmr Llc | Point-to-point transaction guidance apparatuses, methods and systems |
US11488147B2 (en) * | 2015-07-14 | 2022-11-01 | Fmr Llc | Computationally efficient transfer processing and auditing apparatuses, methods and systems |
US20170048209A1 (en) * | 2015-07-14 | 2017-02-16 | Fmr Llc | Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
US20170091756A1 (en) * | 2015-07-14 | 2017-03-30 | Fmr Llc | Point-to-Point Transaction Guidance Apparatuses, Methods and Systems |
US10366204B2 (en) | 2015-08-03 | 2019-07-30 | Change Healthcare Holdings, Llc | System and method for decentralized autonomous healthcare economy platform |
DE102015114215A1 (de) | 2015-08-27 | 2017-03-02 | Rwe Ag | Versorgungssystem und verfahren zum betreiben eines versorgungssystems |
WO2017079652A1 (en) | 2015-11-05 | 2017-05-11 | Pulsifer Allen | Cryptographic transactions system |
US10269012B2 (en) * | 2015-11-06 | 2019-04-23 | Swfl, Inc. | Systems and methods for secure and private communications |
US10048952B2 (en) | 2015-11-11 | 2018-08-14 | Oracle International Corporation | Compiler optimized data model evaluation |
FR3043811B1 (fr) | 2015-11-16 | 2017-11-10 | Morpho | Procede d'identification d'une entite |
US20170140408A1 (en) | 2015-11-16 | 2017-05-18 | Bank Of America Corporation | Transparent self-managing rewards program using blockchain and smart contracts |
EP3378087B1 (en) * | 2015-11-16 | 2021-12-01 | Cavendish Kinetics, Inc. | Naturally closed mems switch for esd protection |
US9992028B2 (en) * | 2015-11-26 | 2018-06-05 | International Business Machines Corporation | System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger |
US11423498B2 (en) | 2015-12-16 | 2022-08-23 | International Business Machines Corporation | Multimedia content player with digital rights management while maintaining privacy of users |
JP2017111591A (ja) | 2015-12-16 | 2017-06-22 | 株式会社ソシオネクスト | 設計方法、設計プログラム及び設計装置 |
US9715373B2 (en) | 2015-12-18 | 2017-07-25 | International Business Machines Corporation | Dynamic recompilation techniques for machine learning programs |
US10044696B2 (en) | 2015-12-22 | 2018-08-07 | Mcafee, Llc | Simplified sensor integrity |
US9483596B1 (en) | 2016-01-08 | 2016-11-01 | International Business Machines Corporation | Multi power synthesis in digital circuit design |
US9960920B2 (en) | 2016-01-26 | 2018-05-01 | Stampery Inc. | Systems and methods for certification of data units and/or certification verification |
US10108812B2 (en) * | 2016-01-28 | 2018-10-23 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
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 |
US10387988B2 (en) | 2016-02-26 | 2019-08-20 | Google Llc | Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform |
WO2017148527A1 (en) | 2016-03-03 | 2017-09-08 | Nec Europe Ltd. | Method for managing data in a network of nodes |
US20200327498A1 (en) * | 2016-03-21 | 2020-10-15 | National Ict Australia Limited | Business Process Execution on a Blockchain Platform |
US11017387B2 (en) | 2016-03-24 | 2021-05-25 | International Business Machines Corporation | Cryptographically assured zero-knowledge cloud services for elemental transactions |
US11017388B2 (en) | 2016-03-25 | 2021-05-25 | International Business Machines Corporation | Cryptographically assured zero-knowledge cloud service for composable atomic transactions |
US10839096B2 (en) | 2016-03-28 | 2020-11-17 | International Business Machines Corporation | Cryptographically provable zero-knowledge content distribution network |
AU2017240796A1 (en) | 2016-03-31 | 2018-10-25 | Clause, Inc. | System and method for creating and executing data-driven legal contracts |
EP3440823B1 (en) | 2016-04-05 | 2020-09-02 | Zamna Technologies Limited | Method and system for managing personal information within independent computer systems and digital networks |
US10545739B2 (en) | 2016-04-05 | 2020-01-28 | International Business Machines Corporation | LLVM-based system C compiler for architecture synthesis |
KR102415260B1 (ko) | 2016-04-11 | 2022-06-30 | 엔체인 홀딩스 리미티드 | 블록체인에서 안전한 피어-투-피어 통신을 위한 방법 |
US10333705B2 (en) * | 2016-04-30 | 2019-06-25 | Civic Technologies, Inc. | Methods and apparatus for providing attestation of information using a centralized or distributed ledger |
US10046228B2 (en) | 2016-05-02 | 2018-08-14 | Bao Tran | Smart device |
EP3452929B1 (en) | 2016-05-06 | 2020-04-01 | Innogy Innovation GmbH | System for evaluating telemetry data |
US20170337319A1 (en) | 2016-05-20 | 2017-11-23 | Ecole polytechnique fédérale de Lausanne (EPFL) | System and Method for Optimization of Digital Circuits with Timing and Behavior Co-Designed by Introduction and Exploitation of False Paths |
US9967088B2 (en) * | 2016-05-23 | 2018-05-08 | Accenture Global Solutions Limited | Rewritable blockchain |
US20170344988A1 (en) * | 2016-05-24 | 2017-11-30 | Ubs Ag | System and method for facilitating blockchain-based validation |
CN107438002B (zh) | 2016-05-27 | 2022-02-11 | 索尼公司 | 基于区块链的系统以及系统中的电子设备和方法 |
FR3052286B1 (fr) | 2016-06-06 | 2018-06-15 | Morpho | Procede de verification d'un droit d'acces d'un individu |
US10447478B2 (en) | 2016-06-06 | 2019-10-15 | Microsoft Technology Licensing, Llc | Cryptographic applications for a blockchain system |
KR101795696B1 (ko) | 2016-07-14 | 2017-11-09 | 주식회사 코인플러그 | 메신저 서비스를 통하여 송수신되는 데이터에 대한 기록 및 검증 서비스를 제공하는 방법, 및 이를 이용한 서버 |
US20180018738A1 (en) | 2016-07-14 | 2018-01-18 | Digital Asset Holdings | Digital asset platform |
US10417217B2 (en) | 2016-08-05 | 2019-09-17 | Chicago Mercantile Exchange Inc. | Systems and methods for blockchain rule synchronization |
WO2018058105A1 (en) * | 2016-09-26 | 2018-03-29 | Shapeshift Ag | System and method of managing trustless asset portfolios |
CN106506146A (zh) | 2016-10-26 | 2017-03-15 | 北京瑞卓喜投科技发展有限公司 | 基于区块链技术的交易信息校验方法、装置及系统 |
CN106534317B (zh) | 2016-11-17 | 2019-09-03 | 杭州云象网络技术有限公司 | 一种基于区块链技术的灾备云存储系统构建方法 |
CN106559211B (zh) * | 2016-11-22 | 2019-12-13 | 中国电子科技集团公司第三十研究所 | 一种区块链中隐私保护智能合约方法 |
CN110383751B (zh) | 2017-01-06 | 2023-05-09 | 皇家飞利浦有限公司 | 关于证实的数据的pinocchio/trinocchio |
EP3566389B1 (en) | 2017-01-06 | 2021-08-18 | Koninklijke Philips N.V. | Distributed privacy-preserving verifiable computation |
CN106846666B (zh) * | 2017-01-18 | 2019-05-07 | 北京云知科技有限公司 | 一种基于区块链的存取款方法 |
US10880089B2 (en) | 2017-03-15 | 2020-12-29 | NuID, Inc. | Methods and systems for universal storage and access to user-owned credentials for trans-institutional digital authentication |
KR101882802B1 (ko) | 2017-04-17 | 2018-07-27 | 주식회사 코인플러그 | Utxo 기반 프로토콜을 이용한 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버 |
US10419209B1 (en) * | 2017-04-26 | 2019-09-17 | Wells Fargo Bank, N.A. | Parallel assurance of blockchain signatures |
CN107274184A (zh) | 2017-05-11 | 2017-10-20 | 上海点融信息科技有限责任公司 | 基于零知识证明的区块链数据处理 |
CN107040545B (zh) | 2017-05-26 | 2019-05-31 | 中国人民解放军信息工程大学 | 工程文件全生命周期安全保护方法 |
CN107179932A (zh) | 2017-05-26 | 2017-09-19 | 福建师范大学 | 基于fpga高层次综合指令的优化方法及其系统 |
CN107425967B (zh) * | 2017-06-15 | 2019-08-27 | 武汉理工大学 | 一种理论安全的灵活多秘密共享方法 |
CN107426234A (zh) | 2017-08-08 | 2017-12-01 | 武汉协鑫新能源电力设计有限公司 | 一种基于区块链技术的绿色电力认证机制 |
US10268829B2 (en) | 2017-08-11 | 2019-04-23 | Dragonchain, Inc. | Security systems and methods based on cryptographic utility token inventory tenure |
US10135607B1 (en) | 2017-08-11 | 2018-11-20 | Dragonchain, Inc. | Distributed ledger interaction systems and methods |
US10333710B2 (en) | 2017-09-12 | 2019-06-25 | Qed-It Systems Ltd. | Method and system for determining desired size of private randomness using Tsallis entropy |
US10521616B2 (en) | 2017-11-08 | 2019-12-31 | Analog Devices, Inc. | Remote re-enrollment of physical unclonable functions |
CN108009441B (zh) * | 2017-11-23 | 2023-05-30 | 创新先进技术有限公司 | 资源转移和资金转移的方法和装置 |
US10949511B2 (en) * | 2017-11-30 | 2021-03-16 | Bank Of America Corporation | Multicomputer processing for data authentication using a blockchain approach |
US20190180276A1 (en) * | 2017-12-07 | 2019-06-13 | Bank Of America Corporation | Automated Event Processing Computing Platform for Handling and Enriching Blockchain Data |
FR3075534B1 (fr) | 2017-12-14 | 2020-01-10 | CopSonic | Dispositif de stockage de cles numeriques pour signer des transactions sur une chaine de blocs |
FR3098947B1 (fr) * | 2019-07-19 | 2021-09-10 | Idemia Identity & Security France | Procédé de traitement d’une transaction émise depuis une entité de preuve |
-
2018
- 2018-12-07 SG SG11202005567QA patent/SG11202005567QA/en unknown
- 2018-12-07 KR KR1020207017958A patent/KR20200096248A/ko not_active Application Discontinuation
- 2018-12-07 EP EP18833516.0A patent/EP3725028A1/en active Pending
- 2018-12-07 JP JP2020531060A patent/JP7453911B2/ja active Active
- 2018-12-07 US US16/772,132 patent/US11683164B2/en active Active
- 2018-12-07 CN CN202410473675.1A patent/CN118449685A/zh active Pending
- 2018-12-07 WO PCT/IB2018/059770 patent/WO2019116187A1/en unknown
- 2018-12-07 CN CN201880080950.6A patent/CN111466095B/zh active Active
- 2018-12-12 CN CN202311311745.5A patent/CN117478315A/zh active Pending
- 2018-12-12 CN CN201880081012.8A patent/CN111466100B/zh active Active
- 2018-12-12 EP EP21202086.1A patent/EP4009577A1/en active Pending
- 2018-12-12 WO PCT/IB2018/059918 patent/WO2019116246A1/en unknown
- 2018-12-12 KR KR1020207017961A patent/KR20200094173A/ko unknown
- 2018-12-12 EP EP18834035.0A patent/EP3725032B1/en active Active
- 2018-12-12 US US16/772,136 patent/US11271729B2/en active Active
- 2018-12-12 TW TW107144802A patent/TWI794366B/zh active
- 2018-12-12 JP JP2020531061A patent/JP7252233B2/ja active Active
- 2018-12-12 SG SG11202005564WA patent/SG11202005564WA/en unknown
-
2020
- 2020-07-10 ZA ZA2020/04255A patent/ZA202004255B/en unknown
- 2020-07-10 ZA ZA2020/04256A patent/ZA202004256B/en unknown
-
2022
- 2022-02-23 US US17/678,926 patent/US11888976B2/en active Active
-
2023
- 2023-03-23 JP JP2023046632A patent/JP2023068139A/ja active Pending
- 2023-05-18 US US18/199,320 patent/US20230370253A1/en active Pending
- 2023-12-13 US US18/539,095 patent/US20240195611A1/en active Pending
-
2024
- 2024-03-08 JP JP2024035452A patent/JP2024063228A/ja active Pending
- 2024-03-19 US US18/610,175 patent/US20240348429A1/en active Pending
Non-Patent Citations (1)
Title |
---|
期刊 Kosba, Ahmed, et al. "Hawk: The blockchain model of cryptography and privacy-preserving smart contracts." 2016 IEEE symposium on security and privacy (SP). IEEE 2016 pages1-31 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI794366B (zh) | 用以安全分享密碼材料之系統及方法 | |
KR102687781B1 (ko) | 증명 검증에 기초하여 오프-체인 데이터를 인증하기 위한 시스템 및 방법 | |
CN111316615B (zh) | 使用调解器计算机系统确保计算机程序正确执行的系统和方法 | |
JP2023179687A (ja) | 分散コンピューティングシステム及び方法 | |
EP3966998B1 (en) | Hash function attacks | |
CN110785782A (zh) | 使用区块链网络的多轮令牌分发系统和方法 | |
CN113875186A (zh) | 知识证明 | |
EP4333368A2 (en) | Knowledge proof | |
CN116349203A (zh) | 识别拒绝服务攻击 | |
Keshavarzkalhori et al. | Federify: a verifiable federated learning scheme based on zksnarks and blockchain | |
US11870914B2 (en) | Digital signatures | |
Gauthier et al. | Topos: A Secure, Trustless, and Decentralized Interoperability Protocol | |
EP4366231A2 (en) | Computer-implemented system and method for controlling processing steps of distributed system | |
Yu et al. | An Efficient Consortium Blockchain Privacy Protection Scheme Based on Group Signatures and Bulletproofs |