TWI637619B - Device for hiding/reverting information of nodes in blockchain and method thereof - Google Patents

Device for hiding/reverting information of nodes in blockchain and method thereof Download PDF

Info

Publication number
TWI637619B
TWI637619B TW106104971A TW106104971A TWI637619B TW I637619 B TWI637619 B TW I637619B TW 106104971 A TW106104971 A TW 106104971A TW 106104971 A TW106104971 A TW 106104971A TW I637619 B TWI637619 B TW I637619B
Authority
TW
Taiwan
Prior art keywords
key
transaction
module
encryption
data
Prior art date
Application number
TW106104971A
Other languages
Chinese (zh)
Other versions
TW201832514A (en
Inventor
黃介宏
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
Application filed by 捷碼數位科技股份有限公司 filed Critical 捷碼數位科技股份有限公司
Priority to TW106104971A priority Critical patent/TWI637619B/en
Publication of TW201832514A publication Critical patent/TW201832514A/en
Application granted granted Critical
Publication of TWI637619B publication Critical patent/TWI637619B/en

Links

Abstract

一種隱藏還原區塊鏈交易中交易方資訊之裝置及其方法,其透過發送端使用接收端之公開金鑰加密隨機金鑰而產生加密金鑰後,依據加密金鑰產生組合金鑰,並發布包含組合金鑰與加密資料的區塊鏈交易至區塊鏈網路中,接收端在由區塊鏈網路中取得區塊鏈交易後,使用公開金鑰對組合金鑰運算以取得加密金鑰,並使用與公開金鑰對應之私密金鑰解密加密金鑰以得到隨機金鑰之技術手段,可以在區塊鏈中隱藏交易相關節點,並達成資料隱密需求的技術功效。An apparatus and method for concealing transaction party information in a blockchain transaction, which generates a combination key by using a public key of a receiving end to encrypt a random key, and generates a combined key according to the encryption key, and issues The blockchain transaction including the combined key and the encrypted data is sent to the blockchain network, and after receiving the blockchain transaction in the blockchain network, the receiving end uses the public key to calculate the combined key to obtain the encryption gold. The key, and using the private key corresponding to the public key to decrypt the encryption key to obtain the random key, can hide the transaction-related nodes in the blockchain and achieve the technical effect of the data secret requirement.

Description

隱藏還原區塊鏈交易中交易方資訊之裝置及其方法Device and method for hiding transaction party information in restored blockchain transaction

一種區塊鏈交易裝置及其方法,特別係指一種隱藏還原區塊鏈交易中交易方資訊之裝置及其方法。A blockchain transaction device and method thereof, in particular, a device and method for concealing information of a transaction party in a blockchain transaction.

區塊鏈(blockchain)是一種分散式資料庫,起源自比特幣。區塊鏈是一串使用密碼學方法相關聯產生的資料區塊,每一個資料區塊中包含了若干次交易之交易內容,以及驗證資料區塊之有效性(防偽)和生成下一個資料區塊的資料。A blockchain is a decentralized database that originates from bitcoin. A blockchain is a string of data blocks generated by cryptography. Each data block contains the transaction content of several transactions, and the validity of the verification data block (anti-counterfeiting) and the generation of the next data area. Block of information.

區塊鏈是大多是公開的,區塊鏈網路中的各個節點都可以取得區塊鏈中的任何資料。為了增加交易的隱密性,目前有些區塊鏈的資料區塊中記錄了與此交易相關之節點的識別資料,資料區塊中的交易內容只被允許與此交易相關的節點可以取得,與此交易無關的其他節點則無法取得交易內容。Blockchains are mostly public, and any node in the blockchain network can obtain any data in the blockchain. In order to increase the confidentiality of the transaction, the identification data of the node related to the transaction is recorded in the data block of some blockchains, and the transaction content in the data block is only allowed to be obtained by the node related to the transaction, and Other nodes not related to this transaction cannot obtain the transaction content.

然而,僅隱藏交易內容並不足夠,與此交易無關的其他節點雖然無法取得交易內容,但仍然可以透過資料區塊中所記錄的識別資料判斷出與資料區塊中之交易內容相關的節點。However, it is not enough to hide only the transaction content. Other nodes not related to this transaction can still obtain the transaction content, but can still determine the node related to the transaction content in the data block through the identification data recorded in the data block.

綜上所述,可知先前技術中長期以來一直存在透過區塊鏈的交易無法隱藏交易相關節點的問題,因此有必要提出改進的技術手段,來解決此一問題。In summary, it can be seen that in the prior art, the transaction through the blockchain has not been able to hide the transaction-related nodes for a long time, so it is necessary to propose an improved technical means to solve this problem.

有鑒於先前技術存在透過區塊鏈的交易無法隱藏交易相關節點的問題,本發明遂揭露一種隱藏還原區塊鏈交易中交易方資訊之裝置及其方法,其中:In view of the prior art, there is a problem that a transaction through a blockchain cannot hide a transaction-related node, and the present invention discloses an apparatus and method for concealing information of a transaction party in a blockchain transaction, wherein:

本發明所揭露之隱藏區塊鏈交易中交易方資訊之裝置,至少包含:金鑰產生模組,用以產生隨機金鑰;資料加密模組,用以使用隨機金鑰對交易資料加密以產生加密資料;金鑰加密模組,用以使用各公開金鑰分別加密隨機金鑰以產生各加密金鑰,其中公開金鑰對應接收端,且接收端對應加密金鑰;金鑰組合模組,用以依據加密金鑰產生組合金鑰;區塊發布模組,用以產生包含組合金鑰及加密資料之區塊鏈交易,並發布區塊鏈交易至區塊鏈網路。The device for hiding transaction party information in the hidden blockchain transaction disclosed by the present invention comprises at least: a key generation module for generating a random key; and a data encryption module for encrypting the transaction data by using a random key to generate Encrypted data; a key encryption module, configured to encrypt each random key by using each public key to generate each encryption key, wherein the public key corresponds to the receiving end, and the receiving end corresponds to the encryption key; the key combination module, The method is used to generate a combined key according to the encryption key; the block issuing module is configured to generate a blockchain transaction including the combined key and the encrypted data, and issue the blockchain transaction to the blockchain network.

本發明所揭露之還原區塊鏈交易中交易方資訊之裝置,至少包含:區塊接收模組,用以透過區塊鏈網路取得區塊鏈交易,區塊鏈交易包含組合金鑰及加密資料;金鑰拆解模組,用以使用公開金鑰對組合金鑰運算以取得加密金鑰;金鑰解密模組,用以使用與公開金鑰對應之私密金鑰解密加密金鑰以得到隨機金鑰;資料解密模組,用以使用隨機金鑰解密加密資料以取得交易資料。The device for reducing transaction party information in the blockchain transaction disclosed by the present invention comprises at least a block receiving module for obtaining a blockchain transaction through a blockchain network, and the blockchain transaction includes a combination key and encryption. Data; a key disassembly module for computing a combined key using a public key to obtain an encryption key; and a key decryption module for decrypting the encryption key using a private key corresponding to the public key to obtain A random key; a data decryption module for decrypting encrypted data using a random key to obtain transaction data.

本發明所揭露之隱藏還原區塊鏈交易中交易方資訊之方法,其步驟至少包括:發送端產生隨機金鑰;發送端使用隨機金鑰對交易資料加密以產生加密資料;發送端使用各公開金鑰分別加密隨機金鑰以產生各加密金鑰,其中公開金鑰對應接收端,且接收端對應加密金鑰;發送端依據加密金鑰產生組合金鑰;發送端產生包含組合金鑰及加密資料之區塊鏈交易,並發布區塊鏈交易至區塊鏈網路;接收端透過區塊鏈網路取得區塊鏈交易;接收端使用相對應之公開金鑰對組合金鑰運算以取得相對應之加密金鑰;接收端使用與相對應之公開金鑰對應之私密金鑰解密相對應之加密金鑰以得到隨機金鑰;接收端使用隨機金鑰解密加密資料以取得交易資料。The method for hiding transaction party information in the reduction blockchain transaction disclosed by the present invention comprises the following steps: at least the sender generates a random key; the sender uses the random key to encrypt the transaction data to generate the encrypted data; and the sender uses each disclosure. The key encrypts the random key to generate each encryption key, wherein the public key corresponds to the receiving end, and the receiving end corresponds to the encryption key; the transmitting end generates the combined key according to the encryption key; the transmitting end generates the combined key and the encryption Blockchain transaction of data, and release blockchain transaction to blockchain network; receiver receives blockchain transaction through blockchain network; receiver uses corresponding public key to calculate key combination to obtain Corresponding encryption key; the receiving end decrypts the corresponding encryption key by using the private key corresponding to the corresponding public key to obtain the random key; the receiving end uses the random key to decrypt the encrypted data to obtain the transaction data.

本發明所揭露之裝置與方法如上,與先前技術之間的差異在於本發明透過發送端使用接收端之公開金鑰加密隨機金鑰而產生加密金鑰後,依據加密金鑰產生組合金鑰,並發布包含組合金鑰與加密資料的區塊鏈交易至區塊鏈網路中,接收端在取得區塊鏈交易後,使用公開金鑰對組合金鑰運算以取得加密金鑰,並使用與公開金鑰對應之私密金鑰解密加密金鑰以得到隨機金鑰,藉以解決先前技術所存在的問題,並可以達成資料隱密需求的技術功效。The apparatus and method disclosed in the present invention are as above, and the difference from the prior art is that the present invention generates a combined key according to the encryption key after the encryption key is generated by using the public key of the receiving end to encrypt the random key. And releasing the blockchain transaction including the combined key and the encrypted data into the blockchain network, and after receiving the blockchain transaction, the receiving end uses the public key to calculate the combined key to obtain the encryption key, and uses and The private key corresponding to the public key decrypts the encryption key to obtain a random key, so as to solve the problems existing in the prior art, and can achieve the technical effect of the data secret requirement.

以下將配合圖式及實施例來詳細說明本發明之特徵與實施方式,內容足以使任何熟習相關技藝者能夠輕易地充分理解本發明解決技術問題所應用的技術手段並據以實施,藉此實現本發明可達成的功效。The features and embodiments of the present invention will be described in detail below with reference to the drawings and embodiments, which are sufficient to enable those skilled in the art to fully understand the technical means to which the present invention solves the technical problems, and The achievable effects of the present invention.

本發明可以使用區塊鏈(blackchain)交易中之交易方的公開金鑰(public key)加密(encrypt)隨機金鑰以產生加密金鑰,當區塊鏈網路中的節點(node)接收到區塊鏈交易時,可以使用該節點自身的私密金鑰(private key)解密加密金鑰,若節點為交易方,則節點便可以在解密後取得隨機金鑰,並可以使用隨機金鑰解密區塊鏈交易中的交易資料以進行交易,而若節點不是交易方,則節點便無法解密出正確的隨機金鑰,亦無法以解密產生的錯誤金鑰成功解密交易資料。The present invention can encrypt a random key using a public key of a transaction party in a blackchain transaction to generate an encryption key, which is received by a node in the blockchain network. In the blockchain transaction, the node's own private key can be used to decrypt the encryption key. If the node is a transaction party, the node can obtain the random key after decryption, and can use the random key to decrypt the area. The transaction data in the blockchain transaction is used for trading, and if the node is not the transaction party, the node cannot decrypt the correct random key, and the transaction data cannot be successfully decrypted by the error key generated by the decryption.

其中,本發明所提之隨機金鑰為發送端在需要發布區塊鏈交易時隨機產生,通常是由任意數量之文字、數字、及/或符號任意排列而成之具有特定長度的字串,但本發明並不以此為限。The random key proposed by the present invention is randomly generated by the sending end when the blockchain transaction needs to be released, and is usually a string of a specific length arbitrarily arranged by any number of characters, numbers, and/or symbols. However, the invention is not limited thereto.

以下先以「第1圖」本發明所提之隱藏區塊鏈交易中交易方資訊之裝置之元件示意圖及「第2圖」本發明所提之還原區塊鏈交易中交易方資訊之裝置之元件示意圖來說明本發明的系統運作。如「第1圖」與「第2圖」所示,本發明之系統含有交易的發送端100以及交易的接收端200。The following is a schematic diagram of the components of the apparatus for concealing the information of the parties in the blockchain transaction and the "second diagram" of the present invention, which is the apparatus for reducing the information of the transaction party in the blockchain transaction. A schematic diagram of the components to illustrate the operation of the system of the present invention. As shown in "Fig. 1" and "Fig. 2", the system of the present invention includes a transmitting end 100 of a transaction and a receiving end 200 of a transaction.

其中,本發明所提之發送端100與接收端200為一種計算設備。本發明所提之計算設備可以包含但不限於一個或多個處理器、記憶體模組、以及連接不同元件(包括記憶體模組和處理器)的匯流排等。The transmitting end 100 and the receiving end 200 of the present invention are a computing device. The computing device of the present invention may include, but is not limited to, one or more processors, memory modules, and bus bars that connect different components, including memory modules and processors.

本發明所提之計算設備的處理器與匯流排耦接。處理器包含暫存器(Register)組或暫存器空間,暫存器組或暫存器空間可以完全的在處理晶片上,或可替代地完全或部分在處理晶片外並經由專用電氣連接及/或經由匯流排直接耦接至處理器。處理器可為處理單元、微處理器或任何合適的處理元件。本發明所提之計算設備也可以是多處理器設備,因此計算設備也可以包含一個或多個另外的處理器,這些處理器都相同或類似,且透過匯流排耦接與通訊。The processor of the computing device of the present invention is coupled to the bus bar. The processor includes a register group or a scratchpad space, and the register bank or scratchpad space may be entirely on the processing wafer, or alternatively wholly or partially outside the processing wafer and via a dedicated electrical connection and / or directly coupled to the processor via the bus. The processor can be a processing unit, a microprocessor, or any suitable processing element. The computing device of the present invention may also be a multi-processor device, and thus the computing device may also include one or more additional processors that are identical or similar and that are coupled and communicated through the bus.

計算設備的處理器被耦接至晶片組。晶片組是由一個或多個積體電路(IC)組成,包含記憶體控制器以及週邊輸出入(I/O)控制器。晶片組通常提供了輸出入和記憶體管理功能、以及提供多個通用及/或專用暫存器、計時器等,其中,上述之通用及/或專用暫存器與計時器可以讓耦接至晶片組的一個或多個處理器存取或使用。另外,記憶體控制器以及週邊輸出入控制器可以包含在一個積體電路內,也可以使用兩個或更多的積體電路實現。A processor of the computing device is coupled to the chip set. A chipset consists of one or more integrated circuits (ICs) that contain a memory controller and a peripheral input/output (I/O) controller. The chipset typically provides input and memory management functions, as well as providing a plurality of general purpose and/or dedicated registers, timers, etc., wherein the general purpose and/or dedicated registers and timers are coupled to One or more processors of the chipset access or use. In addition, the memory controller and the peripheral input/output controller may be included in one integrated circuit, or may be implemented using two or more integrated circuits.

處理器可以透過記憶體控制器存取記憶體模組和大容量儲存區中的資料,例如,記憶體控制器可以存取包含快取記憶體、或硬碟機中的資料。上述之記憶體模組包含任何類型的揮發性記憶體(volatile memory)及/或非揮發性(non-volatile memory, NVRAM)記憶體,例如靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、快閃記憶體(Flash)、唯讀記憶體(ROM)等。上述之大容量儲存區可以包含任何類型的儲存裝置,例如,硬碟機、光碟、磁帶機、隨身碟(快閃記憶體)、固態硬碟(Solid State Disk, SSD)、或任何其他儲存裝置等。The processor can access the memory module and the data in the large-capacity storage area through the memory controller. For example, the memory controller can access the data contained in the cache memory or the hard disk drive. The above memory module includes any type of volatile memory and/or non-volatile memory (NVRAM) memory, such as static random access memory (SRAM), dynamic random access. Memory (DRAM), flash memory (Flash), read-only memory (ROM), etc. The mass storage area described above may include any type of storage device, such as a hard disk drive, a compact disc, a tape drive, a flash drive (flash memory), a solid state disk (SSD), or any other storage device. Wait.

處理器也可以透過週邊輸出入控制器經由週邊輸出入匯流排與週邊輸出入設備、無線通訊介面,有線通訊介面、以及GPS接收器等週邊設備或介面通訊。週邊輸出入設備可以是任何類型的輸出入設備,例如鍵盤、滑鼠、軌跡球、觸控板、搖桿、顯示器、印表機等。無線通訊介面可以包含支援Wi-Fi等無線網路、藍牙、紅外線、近場通訊(NFC)、行動通訊網路或其他無線資料傳輸協定的介面。有線通訊介面可例如為乙太網路設備、非同步傳輸模式(ATM)設備、DSL數據機、纜線(Cable)數據機等。處理器可以週期性地輪詢(polling)各種週邊設備與介面,使得計算設備能夠進行資料的輸入與輸出,也能夠與具有上述描述之元件的另一個計算設備進行通訊。The processor can also communicate with peripheral devices or interfaces such as a peripheral device such as a peripheral device, a wireless communication interface, a wired communication interface, and a GPS receiver through a peripheral output/input controller via a peripheral output/input bus. The peripheral output device can be any type of input and output device, such as a keyboard, a mouse, a trackball, a trackpad, a joystick, a display, a printer, and the like. The wireless communication interface can include an interface that supports wireless networks such as Wi-Fi, Bluetooth, infrared, near field communication (NFC), mobile communication networks, or other wireless data transfer protocols. The wired communication interface can be, for example, an Ethernet device, an asynchronous transfer mode (ATM) device, a DSL modem, a cable modem, or the like. The processor can periodically poll various peripheral devices and interfaces to enable the computing device to perform input and output of data, as well as to communicate with another computing device having the elements described above.

計算設備的匯流排可以包含一種或多個類型,例如包含資料匯流排(data bus)、位址匯流排(address bus)、控制匯流排(control bus)、擴充功能匯流排(expansion bus)、及/或局域匯流排(local bus)等類型的匯流排。計算設備的匯流排包括但不限於並列的工業標準架構(ISA)匯流排、週邊元件互連(PCI)匯流排、視頻電子標準協會(VESA)局域匯流排、以及串列的通用序列匯流排(USB)、快速週邊元件互連(PCI-E)匯流排等。The busbar of the computing device can include one or more types, such as a data bus, an address bus, a control bus, an expansion bus, and / or a bus such as a local bus. Busbars for computing devices include, but are not limited to, side-by-side industry standard architecture (ISA) busses, peripheral component interconnect (PCI) busses, video electronic standards associations (VESA) local busses, and tandem universal sequence busses (USB), Fast Peripheral Component Interconnect (PCI-E) bus, etc.

也就是說,發送端100與接收端200可以是具有資料運算與資料傳輸之能力的裝置或設備,包含但不限於電腦、手機、平板、手錶、電視、數位相機、多媒體撥放器、導航裝置、車用電腦、隨身聽、電腦辭典、電子書閱讀器、電視遊樂器、掌上型遊樂器等。That is, the transmitting end 100 and the receiving end 200 may be devices or devices having the capability of data computing and data transmission, including but not limited to computers, mobile phones, tablets, watches, televisions, digital cameras, multimedia players, navigation devices. , car computers, walkmans, computer dictionaries, e-book readers, TV game instruments, handheld game instruments.

發送端100及/或接收端200可以透過有線網路或無線網路連接到區塊鏈網路400,但本發明並不以此為限。其中,區塊鏈網路400可以是公開區塊鏈網路或私有區塊鏈網路,本發明亦沒有特別的限制。The transmitting end 100 and/or the receiving end 200 can be connected to the blockchain network 400 through a wired network or a wireless network, but the invention is not limited thereto. The blockchain network 400 may be a public blockchain network or a private blockchain network, and the present invention is also not particularly limited.

發送端100負責發布區塊鏈交易。發送端100所發送的區塊鏈交易包含經過加密的交易資料以及組合後的加密金鑰,在部分的實施例中,區塊鏈交易中還可以包含雜湊訊息鑑別碼(keyed-Hash Message Authentication Code, HMAC)。其中,發送端100更可以包含金鑰產生模組110、資料加密模組120、金鑰加密模組130、金鑰組合模組150、區塊發布模組190、以及可附加的訊息產生模組170。The sender 100 is responsible for issuing blockchain transactions. The blockchain transaction sent by the sender 100 includes the encrypted transaction data and the combined encryption key. In some embodiments, the blockchain transaction may also include a hashed message authentication code (keyed-Hash Message Authentication Code). , HMAC). The sending end 100 further includes a key generating module 110, a data encryption module 120, a key encryption module 130, a key combination module 150, a block publishing module 190, and an attachable message generating module. 170.

金鑰產生模組110負責產生隨機金鑰。The key generation module 110 is responsible for generating a random key.

資料加密模組120負責使用金鑰產生模組110所產生的隨機金鑰對交易資料加密以產生加密資料。The data encryption module 120 is responsible for encrypting the transaction data using the random key generated by the key generation module 110 to generate encrypted data.

金鑰加密模組130負責使用分別與各個接收端200對應的公開金鑰加密金鑰產生模組110所產生的隨機金鑰,藉以產生分別與各個接收端200對應的加密金鑰。也就是說,金鑰加密模組130可以產生與交易方(接收端200)之數量相同的多個加密金鑰,其中,每一個接收端200都對應一個不同的公開金鑰,也都對應一個不同的加密金鑰,且對應至同一個接收端200的公開金鑰與加密金鑰亦相對應。The key encryption module 130 is responsible for generating the encryption keys corresponding to the respective receiving ends 200 by using the random keys generated by the public key encryption key generation module 110 corresponding to the respective receiving ends 200. That is, the key encryption module 130 can generate a plurality of encryption keys that are the same as the number of the transaction parties (receivers 200), wherein each of the receiving ends 200 corresponds to a different public key, and one of them corresponds to one. Different encryption keys, and the public key corresponding to the same receiving end 200 also corresponds to the encryption key.

金鑰組合模組150負責依據金鑰加密模組130所產生的加密金鑰產生組合金鑰。一般而言,組合金鑰並非只是單純地將加密金鑰合併,而是可以對加密金鑰進行特定的運算,使得非交易方無法由組合金鑰推論出加密金鑰。The key combination module 150 is responsible for generating a combined key according to the encryption key generated by the key encryption module 130. In general, the combination key does not simply combine the encryption keys, but can perform a specific operation on the encryption key, so that the non-transaction party cannot infer the encryption key from the combination key.

例如,金鑰組合模組150可以使用接收端200的公開金鑰透過中國餘數定理(Chinese Remainder Theorem, CRT)結合所有的加密金鑰,藉以產生組合金鑰。更詳細的說,一個RSA的公開金鑰包含指數(exponent)與模數(modulus),也就是說,一組RSA的公開金鑰K1、K2、…、Km包含一組指數E1、E2、…、Em以及一組相對應的模數M1、M2、…、Mm。金鑰組合模組150可以使用一組接收端200的公開金鑰K1、K2、…、Km,透過RSA對與各個接收端200對應的加密金鑰D1、D2、…、Dm分別加密後,產生一組加密結果C1、C2、…、Cm,其中,Ci = Di Eimod Mi(i = 1~m),之後,金鑰組合模組150可以依據中國餘數定理找到組合金鑰 X = Ci mod Ni,且X mod Ni = Ci(i = 1~m)。 For example, the key combination module 150 can use the public key of the receiving end 200 to combine all the encryption keys through the Chinese Remainder Theorem (CRT) to generate a combined key. In more detail, an RSA public key contains an exponent and a modulus, that is, a set of RSA public keys K1, K2, ..., Km contains a set of indices E1, E2, ... , Em and a set of corresponding modules M1, M2, ..., Mm. The key combination module 150 can use a set of public keys K1, K2, ..., Km of the receiving end 200 to encrypt the encryption keys D1, D2, ..., Dm corresponding to the respective receiving ends 200 through the RSA, respectively. A set of encryption results C1, C2, ..., Cm, where Ci = Di Ei mod Mi (i = 1~m), after which the key combination module 150 can find the combined key X = Ci mod Ni according to the Chinese remainder theorem And X mod Ni = Ci(i = 1~m).

訊息產生模組170可以使用金鑰產生模組110所產生的隨機金鑰對資料加密模組120所產生的加密資料進行雜湊運算,藉以產生雜湊訊息鑑別碼。The message generating module 170 may perform a hash operation on the encrypted data generated by the data encryption module 120 by using the random key generated by the key generation module 110 to generate a hash message authentication code.

區塊發布模組190負責產生區塊鏈交易,並負責將所產生的區塊鏈交易發布至區塊鏈網路400中。區塊發布模組190所產生的區塊鏈交易可以包含金鑰組合模組150所產生的組合金鑰以及資料加密模組120所產生的加密資料,另外,區塊鏈交易也可以包含訊息產生模組170所產生的雜湊訊息鑑別碼,但本發明並不以上述為限。其中,區塊發布模組190可以直接或間接的將所產生的區塊鏈交易發布至區塊鏈網路400中。The block issue module 190 is responsible for generating blockchain transactions and is responsible for publishing the generated blockchain transactions to the blockchain network 400. The blockchain transaction generated by the block issuing module 190 may include the combined key generated by the key combination module 150 and the encrypted data generated by the data encryption module 120. In addition, the blockchain transaction may also include message generation. The hash message authentication code generated by the module 170 is not limited to the above. The block publishing module 190 can directly or indirectly publish the generated blockchain transaction to the blockchain network 400.

接收端200在是正確的交易方時,負責依據發送端100所發布之區塊鏈交易中的交易資料完成交易。其中,接收端200更可以包含區塊接收模組210、金鑰拆解模組220、金鑰解密模組230、資料解密模組250、以及可附加的訊息驗證模組240。When the receiving end 200 is the correct party, it is responsible for completing the transaction according to the transaction data in the blockchain transaction issued by the sender 100. The receiving end 200 further includes a block receiving module 210, a key disassembling module 220, a key decryption module 230, a data decryption module 250, and an attachable message verification module 240.

區塊接收模組210負責透過區塊鏈網路400取得發送端100所發布的區塊鏈交易,也就是取得區塊鏈上的特定區塊。The block receiving module 210 is responsible for obtaining the blockchain transaction issued by the transmitting end 100 through the blockchain network 400, that is, acquiring a specific block on the blockchain.

金鑰拆解模組220負責使用與接收端200對應之公開金鑰對區塊接收模組210所接收到之區塊鏈交易中的組合金鑰運算,藉以取得與接收端200對應的加密金鑰。The key disassembly module 220 is responsible for calculating the combination key in the blockchain transaction received by the block receiving module 210 by using the public key corresponding to the receiving end 200, thereby obtaining the encryption gold corresponding to the receiving end 200. key.

例如,金鑰拆解模組220可以使用中國餘數定理由組合金鑰中拆解出加密金鑰。更詳細的說,金鑰拆解模組220可以取得與接收端200相對應的公開金鑰中的模數,並計算組合金鑰對模數的餘數,以及使用與接收端200相對應(也就是與上述公開金鑰相對應)的私密金鑰解密計算出的餘數,即可以得到與接收端200對應的加密金鑰。For example, the key disassembly module 220 can use the Chinese remainder to determine the combination key to disassemble the encryption key. In more detail, the key disassembly module 220 can obtain the modulus in the public key corresponding to the receiving end 200, calculate the remainder of the combined key pair modulus, and use the corresponding to the receiving end 200 (also That is, the remainder calculated by decrypting the private key corresponding to the public key described above, that is, the encryption key corresponding to the receiving end 200 can be obtained.

金鑰解密模組230負責使用與接收端200對應之公開金鑰相對應的私密金鑰解密金鑰拆解模組220所取得之與接收端200對應的加密金鑰,藉以得到隨機金鑰。The key decryption module 230 is responsible for decrypting the encryption key corresponding to the receiving end 200 obtained by the key disassembly module 220 using the private key corresponding to the public key corresponding to the receiving end 200, thereby obtaining a random key.

訊息驗證模組240可以使用金鑰解密模組230取得之隨機金鑰對區塊接收模組210所接收到之區塊鏈交易中的加密資料進行雜湊運算,藉以產生驗證資料,並可以判斷包含於區塊鏈交易中之雜湊訊息鑑別碼是否與所產生之驗證資料相符。The message verification module 240 can perform a hash operation on the encrypted data in the blockchain transaction received by the block receiving module 210 by using the random key obtained by the key decryption module 230, thereby generating verification data, and can determine the inclusion Whether the hash message authentication code in the blockchain transaction matches the generated verification data.

資料解密模組250負責使用金鑰解密模組230取得之隨機金鑰解密區塊接收模組210所接收到之區塊鏈交易中的加密資料,藉以取得交易資料,使得接收端200可以依據交易資料執行交易作業以完成交易。The data decryption module 250 is responsible for using the random key obtained by the key decryption module 230 to decrypt the encrypted data in the blockchain transaction received by the block receiving module 210, so as to obtain the transaction data, so that the receiving end 200 can be based on the transaction. The data performs a trading job to complete the transaction.

當接收端200中包含訊息驗證模組240時,資料解密模組250可以在訊息驗證模組240判斷區塊鏈交易中之雜湊訊息鑑別碼與訊息驗證模組產生之驗證資料相符時,才使用金鑰解密模組230取得之隨機金鑰解密區塊接收模組210所接收到之區塊鏈交易中的加密資料。When the message authentication module 240 is included in the receiving end 200, the data decryption module 250 can use the message verification module 240 to determine that the hash message authentication code in the blockchain transaction matches the verification data generated by the message verification module. The random key obtained by the key decryption module 230 decrypts the encrypted data in the blockchain transaction received by the block receiving module 210.

接著以一個實施例來解說本發明的運作系統與方法,並請參照「第3A圖」本發明所提之隱藏還原區塊鏈交易中交易方資訊之方法流程圖。Next, an operation system and method of the present invention will be described with reference to an embodiment, and reference is made to the flowchart of the method for hiding transaction party information in the reduction blockchain transaction proposed by the present invention in "3A".

當發送端100需要透過區塊鏈網路400發送交易資料給接收端200時,發送端100的金鑰產生模組110可以產生隨機金鑰(步驟301),且發送端100的資料加密模組120可以使用金鑰產生模組110所產生的隨機金鑰對欲發送給交易方的交易資料加密,藉以在執行加密作業後產生相對應的加密資料(步驟310)。在本實施例中,假設交易方包含特定的接收端200a以及接收端200b。When the sending end 100 needs to send the transaction data to the receiving end 200 through the blockchain network 400, the key generating module 110 of the transmitting end 100 can generate a random key (step 301), and the data encryption module of the transmitting end 100 120 may encrypt the transaction data to be sent to the transaction party using the random key generated by the key generation module 110, thereby generating corresponding encrypted data after performing the encryption operation (step 310). In this embodiment, it is assumed that the transaction party includes a specific receiving end 200a and a receiving end 200b.

同樣在發送端100的金鑰產生模組110產生隨機金鑰(步驟301)後,發送端100的金鑰加密模組130可以使用與交易方對應之公開金鑰加密金鑰產生模組110所產生的隨機金鑰,藉以在執行加密作業後產生分別與各個交易方對應的加密金鑰(步驟320)。在本實施例中,金鑰加密模組130至少會使用與接收端200a對應的公開金鑰加密隨機金鑰而產生與接收端200a對應的加密金鑰,以及使用與接收端200b對應的公開金鑰加密隨機金鑰而產生與接收端200b對應的加密金鑰。Similarly, after the key generation module 110 of the transmitting end 100 generates the random key (step 301), the key encryption module 130 of the transmitting end 100 can use the public key encryption key generation module 110 corresponding to the transaction party. The generated random key is used to generate an encryption key corresponding to each transaction party after performing the encryption operation (step 320). In this embodiment, the key encryption module 130 generates the encryption key corresponding to the receiving end 200a using at least the public key encrypted random key corresponding to the receiving end 200a, and uses the public gold corresponding to the receiving end 200b. The key encrypts the random key to generate an encryption key corresponding to the receiving end 200b.

在發送端100的金鑰加密模組130產生與接收端200對應的加密金鑰後,發送端100的金鑰組合模組150可以依據金鑰加密模組130所產生的各個加密金鑰產生組合金鑰(步驟330)。After the key encryption module 130 of the transmitting end 100 generates the encryption key corresponding to the receiving end 200, the key combination module 150 of the transmitting end 100 can generate a combination according to each encryption key generated by the key encryption module 130. Key (step 330).

在發送端100的資料加密模組120產生加密資料以及發送端100的金鑰組合模組150產生組合金鑰後,發送端100的區塊發布模組190可以產生包含金鑰組合模組150所產生的組合金鑰以及資料加密模組120所產生之加密資料的區塊鏈交易,並可以將所產生的區塊鏈交易發布到區塊鏈網路400中(步驟340),使得區塊鏈網路400上的所有節點都可以取得被發布的區塊鏈交易。After the data encryption module 120 of the transmitting end 100 generates the encrypted data and the key combination module 150 of the transmitting end 100 generates the combined key, the block issuing module 190 of the transmitting end 100 can generate the key containing module 150. The generated combination key and the blockchain transaction of the encrypted data generated by the data encryption module 120, and the generated blockchain transaction can be released into the blockchain network 400 (step 340), so that the blockchain All nodes on the network 400 can obtain the published blockchain transaction.

如此,接收端200的區塊接收模組210可以透過區塊鏈網路400取得被發送端100發布到區塊鏈網路400中的區塊鏈交易(步驟350),並由所取得之區塊鏈交易中讀取出組合金鑰與加密資料。In this way, the block receiving module 210 of the receiving end 200 can obtain the blockchain transaction issued by the sending end 100 to the blockchain network 400 through the blockchain network 400 (step 350), and the obtained zone is obtained. The combined key and encrypted data are read in the blockchain transaction.

接著,接收端200的金鑰拆解模組220可以使用與接收端200對應的公開金鑰對接收端200之區塊接收模組210所讀取的組合金鑰進行運算,藉以在運算後取得與接收端200相對應的加密金鑰(步驟360)。也就是說,在本實施例中,接收端200a可以使用與接收端200a對應的公開金鑰對組合金鑰進行運算而取得與接收端200a相對應的加密金鑰,相同的,接收端200b也可以使用與接收端200b對應的公開金鑰對組合金鑰進行運算而取得與接收端200b相對應的加密金鑰,其中,對應接收端200a的加密金鑰與對應接收端200b的加密金鑰不同。Then, the key disassembly module 220 of the receiving end 200 can calculate the combined key read by the block receiving module 210 of the receiving end 200 by using the public key corresponding to the receiving end 200, thereby obtaining the obtained key after the operation. An encryption key corresponding to the receiving end 200 (step 360). That is, in the present embodiment, the receiving end 200a can use the public key corresponding to the receiving end 200a to calculate the combined key to obtain the encryption key corresponding to the receiving end 200a. Similarly, the receiving end 200b also The encryption key corresponding to the receiving end 200b may be obtained by calculating the combined key using the public key corresponding to the receiving end 200b, wherein the encryption key corresponding to the receiving end 200a is different from the encryption key of the corresponding receiving end 200b. .

在接收端200的金鑰拆解模組220取得與接收端200相對應的加密金鑰後,接收端200的金鑰解密模組230可以使用與接收端200對應(也與金鑰拆解模組220用來對組合金鑰進行運算之公開金鑰對應)的私密金鑰解密金鑰拆解模組220所取得的加密金鑰,藉以在解密後取得隨機金鑰(步驟370)。也就是說,在本實施例中,接收端200a可以使用與接收端200a對應的私密金鑰對與接收端200a對應的加密金鑰進行運算而取得隨機金鑰,相同的,接收端200b也可以使用與接收端200b對應的私密金鑰對與接收端200b相對應的加密金鑰進行運算而取得隨機金鑰。After the key disassembly module 220 of the receiving end 200 obtains the encryption key corresponding to the receiving end 200, the key decryption module 230 of the receiving end 200 can use the corresponding to the receiving end 200 (also with the key disassembly module). The private key of the group 220 for the public key corresponding to the combined key decrypts the encryption key obtained by the key disassembly module 220, so that the random key is obtained after decryption (step 370). In other words, in the embodiment, the receiving end 200a can use the private key corresponding to the receiving end 200a to calculate the encryption key corresponding to the receiving end 200a to obtain a random key. Similarly, the receiving end 200b can also The encryption key corresponding to the receiving end 200b is operated using the private key corresponding to the receiving end 200b to obtain a random key.

在接收端200的金鑰解密模組230取得隨機金鑰後,接收端200的資料解密模組250可以使用金鑰解密模組230所取得的隨機金鑰解密接收端200之區塊接收模組210由區塊鏈交易中所讀出的加密資料,並在解密作業後取得交易資料(步驟390),如此,接收端200便可以使用資料解密模組250所取得的交易資料進行交易作業完成交易。同時,由於發送端100所發送之區塊鏈交易中以組合金鑰取代交易方之接收端200的加密金鑰,交易方之接收端200使用與接收端200相對應的公開金鑰對組合金鑰運算後只能夠取得與接收端200對應的加密金鑰,因此,即使是交易方的接收端200也無法由組合金鑰判斷出其他的交易方。After the key decryption module 230 of the receiving end 200 obtains the random key, the data decryption module 250 of the receiving end 200 can use the random key obtained by the key decryption module 230 to decrypt the block receiving module of the receiving end 200. 210: The encrypted data read by the blockchain transaction, and the transaction data is obtained after the decryption operation (step 390), so that the receiving end 200 can use the transaction data obtained by the data decryption module 250 to complete the transaction. . At the same time, since the encryption key of the receiving end 200 of the transaction party is replaced by the combined key in the blockchain transaction sent by the transmitting end 100, the receiving end 200 of the transaction party uses the public key pair corresponding to the receiving end 200. Only the encryption key corresponding to the receiving end 200 can be obtained after the key operation. Therefore, even the receiving end 200 of the transaction party cannot determine other parties by the combination key.

另外,在發送端100將所產生的區塊鏈交易發布到區塊鏈網路400中後,若有不屬於交易方的接收端201嘗試存取發送端100所發布的區塊鏈交易,則接收端201的區塊接收模組210可以透過區塊鏈網路400取得被發送端100發布到區塊鏈網路400中的區塊鏈交易(步驟350),並由所取得之區塊鏈交易中讀取出組合金鑰與加密資料。In addition, after the transmitting end 100 issues the generated blockchain transaction to the blockchain network 400, if the receiving end 201 that does not belong to the transaction party attempts to access the blockchain transaction issued by the transmitting end 100, then The block receiving module 210 of the receiving end 201 can obtain the blockchain transaction issued by the sending end 100 to the blockchain network 400 through the blockchain network 400 (step 350), and the obtained blockchain is obtained. The combined key and encrypted data are read in the transaction.

接著,接收端201的金鑰拆解模組220可以使用與接收端201對應的公開金鑰對接收端201之區塊接收模組210所讀取的組合金鑰進行運算,藉以取得與接收端201相對應的加密金鑰(步驟360)。但在本實施例中,由於接收端201並非交易方,所以發送端100並沒有使用與接收端201對應的公開金鑰產生與接收端201相對應的加密金鑰,也沒有使用與接收端201相對應的加密金鑰產生區塊接收模組210所讀取之組合金鑰,因此,即使接收端201使用與接收端201對應的公開金鑰對組合金鑰進行運算後所取得的運算結果並非正確的加密金鑰。Then, the key disassembly module 220 of the receiving end 201 can use the public key corresponding to the receiving end 201 to calculate the combined key read by the block receiving module 210 of the receiving end 201, thereby obtaining and receiving the combined key. 201 corresponds to the encryption key (step 360). However, in this embodiment, since the receiving end 201 is not a transaction party, the transmitting end 100 does not use the public key corresponding to the receiving end 201 to generate an encryption key corresponding to the receiving end 201, and does not use or receive the terminal 201. The corresponding encryption key generation block receives the combination key read by the module 210. Therefore, even if the receiving end 201 performs the operation on the combination key using the public key corresponding to the receiving end 201, the operation result obtained is not The correct encryption key.

在接收端201的金鑰拆解模組220取得不正確的加密金鑰後,接收端201的金鑰解密模組230可以使用與接收端201對應的私密金鑰解密金鑰拆解模組220所取得之不正確的加密金鑰,藉以在解密後取得隨機金鑰(步驟370)。在本實施例中,由於金鑰拆解模組220所取得的加密金鑰並不是正確的加密金鑰,因此,金鑰解密模組230即使使用與接收端201對應的私密金鑰對金鑰拆解模組220所取得之加密金鑰進行運算而產生的運算結果也不會是正確的隨機金鑰。After the key decryption module 220 of the receiving end 201 obtains the incorrect encryption key, the key decryption module 230 of the receiving end 201 can use the private key decryption key decryption module 220 corresponding to the receiving end 201. The incorrect encryption key obtained is used to obtain a random key after decryption (step 370). In this embodiment, since the encryption key obtained by the key disassembly module 220 is not the correct encryption key, the key decryption module 230 uses the private key pair key corresponding to the receiving end 201. The calculation result generated by the operation of the encryption key obtained by the disassembly module 220 is not a correct random key.

在接收端201的金鑰解密模組230取得不正確的隨機金鑰後,接收端201的資料解密模組250可以使用金鑰解密模組230所取得的隨機金鑰解密接收端201之區塊接收模組210由區塊鏈交易中所讀出的加密資料,並在解密作業後取得交易資料(步驟390)。在本實施例中,由於金鑰解密模組230所取得的隨機金鑰並不是正確的隨機金鑰,因此,資料解密模組250並無法成功的使用金鑰解密模組230所取得之不正確的隨機金鑰將區塊接收模組210所讀出的加密資料解密為交易資料。After the key decryption module 230 of the receiving end 201 obtains the incorrect random key, the data decryption module 250 of the receiving end 201 can decrypt the block of the receiving end 201 by using the random key obtained by the key decryption module 230. The receiving module 210 acquires the encrypted data from the blockchain transaction and obtains the transaction data after the decryption operation (step 390). In this embodiment, since the random key obtained by the key decryption module 230 is not a correct random key, the data decryption module 250 cannot successfully use the key decryption module 230 to obtain an incorrect one. The random key decrypts the encrypted data read by the block receiving module 210 into transaction data.

如此,由於發送端100所發送之區塊鏈交易中的加密資料經過加密,即使非交易方的接收端201取得區塊鏈交易中的資料,也無法成功解密,同時,發送端100所發送之區塊鏈交易中以組合金鑰取代交易方之接收端200的加密金鑰,且只有確實是交易方之接收端200使用與接收端200相對應的公開金鑰對組合金鑰運算後可以取得正確的加密金鑰,故非交易方的接收端201也無法由組合金鑰取得加密金鑰來判斷交易方。In this way, since the encrypted data in the blockchain transaction sent by the transmitting end 100 is encrypted, even if the receiving end 201 of the non-transaction party obtains the data in the blockchain transaction, the decryption cannot be successfully decrypted, and at the same time, the transmitting end 100 transmits the data. In the blockchain transaction, the encryption key of the receiving end 200 of the transaction party is replaced by the combination key, and only the receiving end 200 of the transaction party can use the public key corresponding to the receiving end 200 to calculate the combined key. The correct encryption key, so the receiving end 201 of the non-transaction party cannot obtain the encryption key from the combination key to judge the transaction party.

上述的實施例中,在發送端100的金鑰加密模組130使用與交易方(接收端200)對應之公開金鑰加密金鑰產生模組110所產生的隨機金鑰以產生分別與各個交易方對應的加密金鑰(步驟320)及發送端100的金鑰組合模組150依據金鑰加密模組130所產生的各個加密金鑰產生組合金鑰(步驟330)後,發送端100的訊息產生模組170可以使用隨機金鑰對發送端100之資料加密模組120所產生的加密資料進行雜湊運算以產生雜湊訊息鑑別碼,並在產生區塊鏈交易時,產生包含組合金鑰、加密資料、及雜湊訊息鑑別碼的區塊鏈交易。In the above embodiment, the key encryption module 130 at the transmitting end 100 uses the public key generated by the public key encryption key generation module 110 corresponding to the transaction party (receiving end 200) to generate a separate transaction and each transaction. The corresponding encryption key (step 320) and the key combination module 150 of the transmitting end 100 generate a combined key according to each encryption key generated by the key encryption module 130 (step 330), and the message of the transmitting end 100 The generating module 170 may perform a hash operation on the encrypted data generated by the data encryption module 120 of the transmitting end 100 by using a random key to generate a hash message authentication code, and generate a combined key and encryption when generating a blockchain transaction. Blockchain transactions for data and hash message authentication codes.

而後,如「第3B圖」之流程所示,在接收端200的金鑰解密模組230使用與接收端200對應的私密金鑰解密接收端200之金鑰拆解模組220所取得的加密金鑰以取得隨機金鑰(步驟370)後,接收端200的訊息驗證模組240可以使用金鑰拆解模組220所取得的隨機金鑰對接收端200之區塊接收模組210由區塊鏈交易中讀出之加密資料進行雜湊運算以產生驗證資料(步驟381),並判斷區塊接收模組210由區塊鏈交易中讀出之雜湊訊息鑑別碼與所產生之驗證資料是否相符(步驟385)。若不相符,則接收端200的資料解密模組250可以丟棄區塊接收模組210由區塊鏈交易中讀出的加密資料,也就是不解密加密資料。Then, as shown in the flow of "FIG. 3B", the key decryption module 230 at the receiving end 200 decrypts the encryption obtained by the key disassembly module 220 of the receiving terminal 200 using the private key corresponding to the receiving end 200. After the key is obtained to obtain the random key (step 370), the message verification module 240 of the receiving end 200 can use the random key obtained by the key disassembly module 220 to block the receiving module 210 of the receiving end 200. The encrypted data read in the blockchain transaction is hashed to generate verification data (step 381), and it is determined whether the block receiving module 210 matches the generated authentication information by the hash message authentication code read in the blockchain transaction. (Step 385). If not, the data decryption module 250 of the receiving end 200 can discard the encrypted data read by the block receiving module 210 from the blockchain transaction, that is, the encrypted data is not decrypted.

而若接收端200的訊息驗證模組240判斷接收端200之區塊接收模組210由區塊鏈交易中讀出之雜湊訊息鑑別碼與所產生之驗證資料相符,則接收端200的資料解密模組250可以使用接收端200之金鑰解密模組230所取得的隨機金鑰解密區塊接收模組210由區塊鏈交易中所讀出的加密資料,並在解密作業後取得交易資料(步驟390)。If the message verification module 240 of the receiving end 200 determines that the block receiving module 210 of the receiving end 200 matches the generated authentication data by the block message transaction, the data of the receiving end 200 is decrypted. The module 250 can use the random key obtained by the key decryption module 230 of the receiving end 200 to decrypt the encrypted data read by the block receiving module 210 from the blockchain transaction, and obtain the transaction data after the decryption operation ( Step 390).

相似的,在非交易方之接收端201的金鑰解密模組230使用與接收端201對應的私密金鑰解密不正確的加密金鑰以取得不正確的隨機金鑰(步驟370)後,接收端201的訊息驗證模組240可以使用不正確的隨機金鑰對接收端201之區塊接收模組210所讀出之加密資料進行雜湊運算以產生驗證資料,並判斷區塊接收模組210所讀出之雜湊訊息鑑別碼與所產生之驗證資料是否相符。在本實施例中,由於金鑰解密模組230所取得的隨機金鑰並不是正確的隨機金鑰,因此,訊息驗證模組240即使使用非正確的隨機金鑰對區塊接收模組210所讀出之加密資料進行運算而產生的驗證資料不會與區塊接收模組210所讀出之雜湊訊息鑑別碼相同,故接收端201的資料解密模組250可以不解密加密資料,也無法成功的解密加密資料。Similarly, the key decryption module 230 at the receiving end 201 of the non-transaction party decrypts the incorrect encryption key using the private key corresponding to the receiving end 201 to obtain an incorrect random key (step 370), and then receives The message verification module 240 of the terminal 201 can perform a hash operation on the encrypted data read by the block receiving module 210 of the receiving end 201 by using an incorrect random key to generate verification data, and determine the block receiving module 210. The read hash message authentication code matches the generated verification data. In this embodiment, since the random key obtained by the key decryption module 230 is not the correct random key, the message verification module 240 uses the incorrect random key pair block receiving module 210. The verification data generated by the operation of the read encrypted data is not the same as the hash information authentication code read by the block receiving module 210. Therefore, the data decryption module 250 of the receiving end 201 can not succeed in decrypting the encrypted data. Decrypted encrypted data.

綜上所述,可知本發明與先前技術之間的差異在於具有發送端使用接收端之公開金鑰加密隨機金鑰而產生加密金鑰後,依據加密金鑰產生組合金鑰,並發布包含組合金鑰與加密資料的區塊鏈交易至區塊鏈網路中,接收端在由區塊鏈網路中取得區塊鏈交易後,使用公開金鑰對組合金鑰運算以取得加密金鑰,並使用與公開金鑰對應之私密金鑰解密加密金鑰以得到隨機金鑰,以及使用隨機金鑰解密加密資料以取得交易資料之技術手段,藉由此一技術手段可以解決先前技術所存在透過區塊鏈的交易無法隱藏交易相關節點的問題,進而達成資料隱密需求的技術功效。In summary, it can be seen that the difference between the present invention and the prior art is that after the transmitting end uses the public key of the receiving end to encrypt the random key to generate the encryption key, the combined key is generated according to the encryption key, and the combined combination is released. The blockchain of the key and the encrypted data is traded to the blockchain network, and after receiving the blockchain transaction by the blockchain network, the receiving end uses the public key to calculate the combined key to obtain the encryption key. And using the private key corresponding to the public key to decrypt the encryption key to obtain the random key, and using the random key to decrypt the encrypted data to obtain the transaction data, the technical means can solve the prior art The blockchain transaction cannot hide the problem of trading related nodes, and thus achieve the technical effect of data privacy requirements.

再者,本發明之隱藏還原區塊鏈交易中交易方資訊之方法,可實現於硬體、軟體或硬體與軟體之組合中,亦可在電腦系統中以集中方式實現或以不同元件散佈於若干互連之電腦系統的分散方式實現。Furthermore, the method for concealing the information of the transaction party in the blockchain transaction of the present invention can be implemented in hardware, software or a combination of hardware and software, or can be implemented in a centralized manner in a computer system or distributed by different components. Implemented in a decentralized manner with several interconnected computer systems.

雖然本發明所揭露之實施方式如上,惟所述之內容並非用以直接限定本發明之專利保護範圍。任何本發明所屬技術領域中具有通常知識者,在不脫離本發明所揭露之精神和範圍的前提下,對本發明之實施的形式上及細節上作些許之更動潤飾,均屬於本發明之專利保護範圍。本發明之專利保護範圍,仍須以所附之申請專利範圍所界定者為準。While the embodiments of the present invention have been described above, the above description is not intended to limit the scope of the invention. Any modification of the form and details of the practice of the present invention, which is a matter of ordinary skill in the art to which the present invention pertains, is a patent protection of the present invention. range. The scope of the invention is to be determined by the scope of the appended claims.

100 發送端 110 金鑰產生模組 120 資料加密模組 130 金鑰加密模組 150 金鑰組合模組 170 訊息產生模組 190 區塊發布模組 200 接收端 200a、200b 接收端 201 接收端 210 區塊接收模組 220 金鑰拆解模組 230 金鑰解密模組 240 訊息驗證模組 250 資料解密模組 400 區塊鏈網路 步驟301 發送端產生隨機金鑰 步驟310 發送端使用隨機金鑰對交易資料加密以產生加密資料 步驟320 發送端使用各公開金鑰加密隨機金鑰產生各加密金鑰 步驟330 發送端依據各加密金鑰產生組合金鑰 步驟340 發送端產生包含組合金鑰及加密資料之區塊鏈交易,並發布區塊鏈交易至區塊鏈網路 步驟350 接收端透過區塊鏈網路取得區塊鏈交易 步驟360 接收端使用相對應之公開金鑰對組合金鑰運算以取得相對應之加密金鑰 步驟370 接收端使用相對應之私密金鑰解密相對應之加密金鑰以得到隨機金鑰 步驟381 接收端使用隨機金鑰對加密資料進行雜湊運算以產生驗證資料 步驟385 接收端判斷雜湊訊息鑑別碼與驗證資料是否相符 步驟390 接收端使用隨機金鑰解密加密資料以取得交易資料100 sender 110 key generation module 120 data encryption module 130 key encryption module 150 key combination module 170 message generation module 190 block release module 200 receiving end 200a, 200b receiving end 201 receiving end 210 area Block receiving module 220 key disassembly module 230 key decryption module 240 message verification module 250 data decryption module 400 blockchain network step 301 sender generates random key step 310 sender uses random key pair Transaction data encryption to generate encrypted data. Step 320: The sender uses each public key to encrypt the random key to generate each encryption key. Step 330 The sender generates a combined key according to each encryption key. Step 340 The sender generates the combined key and the encrypted data. Blockchain trading, Release Blockchain Transaction to Blockchain Network Step 350 Receiver Obtains Blockchain Transaction Through Blockchain Network Step 360 The receiver uses the corresponding public key to calculate the combined key to obtain the corresponding encryption key. Step 370: The receiving end decrypts the corresponding encryption key by using the corresponding private key to obtain the random key. Step 381 The receiving end performs a hash operation on the encrypted data by using the random key to generate the verification data. Step 385. The receiving end determines the hash message authentication code. Whether it matches the verification data Step 390 The receiving end decrypts the encrypted data using the random key to obtain the transaction data.

第1圖為本發明所提之隱藏區塊鏈交易中交易方資訊之裝置之元件示意圖。 第2圖為本發明所提之還原區塊鏈交易中交易方資訊之裝置之元件示意圖。 第3A圖為本發明所提之隱藏還原區塊鏈交易中交易方資訊之方法流程圖。 第3B圖為本發明所提之隱藏還原區塊鏈交易中交易方資訊之附加方法流程圖。1 is a schematic diagram of components of a device for hiding party information in a hidden blockchain transaction according to the present invention. Figure 2 is a schematic diagram showing the components of the apparatus for reducing transaction information in a blockchain transaction proposed by the present invention. FIG. 3A is a flow chart of a method for hiding transaction party information in a hidden blockchain transaction according to the present invention. FIG. 3B is a flow chart of an additional method for the transaction party information in the hidden reduction blockchain transaction proposed by the present invention.

Claims (8)

一種隱藏區塊鏈交易中交易方資訊之方法,該方法至少包含下列步驟:一發送端產生一隨機金鑰;該發送端使用該隨機金鑰對一交易資料加密以產生一加密資料;該發送端使用各公開金鑰分別加密該隨機金鑰以產生各加密金鑰,其中一該公開金鑰對應一接收端,且該接收端對應一該加密金鑰;該發送端依據該些加密金鑰產生一組合金鑰;該發送端使用該隨機金鑰對該加密資料進行雜湊運算以產生一雜湊訊息鑑別碼;該發送端產生包含該組合金鑰、該加密資料及該雜湊訊息鑑別碼之一區塊鏈交易,並發布該區塊鏈交易至一區塊鏈網路。 A method for hiding transaction party information in a blockchain transaction, the method comprising at least the following steps: a sender generates a random key; the sender uses the random key to encrypt a transaction data to generate an encrypted data; The terminal encrypts the random key by using each public key to generate each encryption key, wherein the public key corresponds to a receiving end, and the receiving end corresponds to the encryption key; the sending end is based on the encryption keys. Generating a set of alloy keys; the sender uses the random key to hash the encrypted data to generate a hash message authentication code; the sender generates one of the combined key, the encrypted data, and the hash message authentication code The blockchain trades and publishes the blockchain transaction to a blockchain network. 如申請專利範圍第1項所述之隱藏區塊鏈交易中交易方資訊之方法,其中該發送端依據該些加密金鑰產生一組合金鑰之步驟為該發送端使用中國餘數定理結合該些加密金鑰以產生該組合金鑰。 For example, in the method for hiding transaction party information in the blockchain transaction described in claim 1, wherein the sending end generates a set of alloy keys according to the encryption keys, and the transmitting end uses the Chinese remainder theorem to combine the information. Encrypt the key to generate the combined key. 一種還原區塊鏈交易中交易方資訊之方法,該方法至少包含下列步驟:一接收端透過一區塊鏈網路取得一區塊鏈交易,該區塊鏈交易包含一組合金鑰、一加密資料、及一雜湊訊息鑑別碼;該接收端使用一公開金鑰對該組合金鑰運算以取得一加密金鑰;該接收端使用與該公開金鑰對應之一私密金鑰解密該加密金鑰以得到該隨機金鑰; 該接收端使用該隨機金鑰對該加密資料進行雜湊運算以產生一驗證資料;該接收端判斷該雜湊訊息鑑別碼及該驗證資料相符時,使用該隨機金鑰解密該加密資料以取得一交易資料。 A method for restoring transaction party information in a blockchain transaction, the method comprising at least the following steps: a receiving end obtains a blockchain transaction through a blockchain network, the blockchain transaction comprising a set of alloy keys, an encryption Data and a hash message authentication code; the receiving end operates the combined key using a public key to obtain an encryption key; the receiving end decrypts the encryption key using a private key corresponding to the public key To obtain the random key; The receiving end uses the random key to perform a hash operation on the encrypted data to generate a verification data. When the receiving end determines that the hash message authentication code and the verification data match, the random key is used to decrypt the encrypted data to obtain a transaction. data. 如申請專利範圍第3項所述之還原區塊鏈交易中交易方資訊之方法,其中該接收端使用該公開金鑰對該組合金鑰運算以取得該加密金鑰之步驟為該接收端是使用中國餘數定理由該組合金鑰中拆解出該加密金鑰。 The method for reducing transaction party information in a blockchain transaction as described in claim 3, wherein the receiving end uses the public key to calculate the combined key to obtain the encryption key, and the receiving end is The encryption key is disassembled from the combination key using the Chinese remainder. 一種隱藏區塊鏈交易中交易方資訊之裝置,該裝置至少包含:一金鑰產生模組,用以產生一隨機金鑰;一資料加密模組,用以使用該隨機金鑰對一交易資料加密以產生一加密資料;一金鑰加密模組,用以使用各公開金鑰分別加密該隨機金鑰以產生各加密金鑰,其中一該公開金鑰對應一接收端,且該接收端對應一該加密金鑰;一金鑰組合模組,用以依據該些加密金鑰產生一組合金鑰;一訊息產生模組,用以使用該隨機金鑰對該加密資料進行雜湊運算以產生一雜湊訊息鑑別碼;及一區塊發布模組,用以產生包含該組合金鑰、該加密資料及該雜湊訊息鑑別碼之一區塊鏈交易,並發布該區塊鏈交易至一區塊鏈網路。 A device for hiding transaction party information in a blockchain transaction, the device comprising: at least one key generation module for generating a random key; and a data encryption module for using the random key to a transaction data Encrypting to generate an encrypted data; a key encryption module for encrypting the random key using each public key to generate each encryption key, wherein the public key corresponds to a receiving end, and the receiving end corresponds to a cryptographic key; a key combination module for generating a set of alloy keys according to the cryptographic keys; a message generating module for hashing the encrypted data using the random key to generate a a hash message authentication code; and a block publishing module, configured to generate a blockchain transaction including the combination key, the encrypted data, and the hash message authentication code, and issue the blockchain transaction to a blockchain network. 如申請專利範圍第5項所述之隱藏區塊鏈交易中交易方資訊之裝置,其中該金鑰組合模組是使用中國餘數定理結合該些加密金鑰以產生該組合金鑰。 The apparatus for hiding transaction party information in a blockchain transaction as described in claim 5, wherein the key combination module uses the Chinese remainder theorem to combine the encryption keys to generate the combination key. 一種還原區塊鏈交易中交易方資訊之裝置,該裝置至少包含:一區塊接收模組,用以透過一區塊鏈網路取得一區塊鏈交易,該區塊鏈交易包含一組合金鑰、一加密資料及一雜湊訊息鑑別碼;一金鑰拆解模組,用以使用一公開金鑰對該組合金鑰運算以取得一加密金鑰;一金鑰解密模組,用以使用與該公開金鑰對應之一私密金鑰解密該加密金鑰以得到一隨機金鑰;一訊息驗證模組,用以使用該隨機金鑰對該加密資料進行雜湊運算以產生一驗證資料,及用以判斷該雜湊訊息鑑別碼及該驗證資料是否相符;及一資料解密模組,用以於該訊息驗證模組判斷該雜湊訊息鑑別碼及該驗證資料相符時,使用該隨機金鑰解密該加密資料以取得該交易資料。 A device for reducing transaction party information in a blockchain transaction, the device comprising at least: a block receiving module for obtaining a blockchain transaction through a blockchain network, the blockchain transaction comprising a set of alloys a key, an encrypted data and a hash message authentication code; a key disassembly module for computing the combined key using a public key to obtain an encryption key; a key decryption module for use A private key corresponding to the public key decrypts the encryption key to obtain a random key; a message verification module is configured to perform a hash operation on the encrypted data to generate a verification data by using the random key, and And determining, by the data decryption module, the data decryption module, when the message verification module determines that the hash message authentication code and the verification data match, using the random key to decrypt the Encrypt the data to obtain the transaction data. 如申請專利範圍第7項所述之還原區塊鏈交易中交易方資訊之裝置,其中該金鑰拆解模組是使用中國餘數定理由該組合金鑰中拆解出該加密金鑰。 For example, the apparatus for reducing transaction party information in the blockchain transaction described in claim 7 of the patent scope, wherein the key disassembly module uses the Chinese remainder to determine the encryption key in the combination key.
TW106104971A 2017-02-15 2017-02-15 Device for hiding/reverting information of nodes in blockchain and method thereof TWI637619B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW106104971A TWI637619B (en) 2017-02-15 2017-02-15 Device for hiding/reverting information of nodes in blockchain and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106104971A TWI637619B (en) 2017-02-15 2017-02-15 Device for hiding/reverting information of nodes in blockchain and method thereof

Publications (2)

Publication Number Publication Date
TW201832514A TW201832514A (en) 2018-09-01
TWI637619B true TWI637619B (en) 2018-10-01

Family

ID=64426083

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106104971A TWI637619B (en) 2017-02-15 2017-02-15 Device for hiding/reverting information of nodes in blockchain and method thereof

Country Status (1)

Country Link
TW (1) TWI637619B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11115188B2 (en) 2019-04-29 2021-09-07 Advanced New Technologies Co., Ltd. Blockchain-based data processing method, apparatus, and blockchain node
TWI746949B (en) * 2018-10-31 2021-11-21 開曼群島商創新先進技術有限公司 Block chain-based privacy transaction and its application method and device
TWI801710B (en) * 2020-01-31 2023-05-11 華新智能科技有限公司 Intelligent specifying method for transport pathway

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109583886B (en) * 2018-09-30 2020-07-03 阿里巴巴集团控股有限公司 Transaction method and device based on block chain and remittance side equipment
CN109615372B (en) * 2018-11-08 2023-03-14 立旃(上海)科技有限公司 Block chain data shielding method and device based on intelligent contract

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4365110A (en) * 1979-06-05 1982-12-21 Communications Satellite Corporation Multiple-destinational cryptosystem for broadcast networks
CN101789945A (en) * 2010-02-05 2010-07-28 西安电子科技大学 Group key managing method based on Chinese remainder theorem
US20130212388A1 (en) * 2012-02-13 2013-08-15 Alephcloud Systems, Inc. Providing trustworthy workflow across trust boundaries
US20150371224A1 (en) * 2014-06-24 2015-12-24 Phaneendra Ramaseshu Lingappa Cryptocurrency infrastructure system
US20160098723A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
US20160342976A1 (en) * 2015-05-21 2016-11-24 Mastercard International Incorporated Method and system for linkage of blockchain-based assets to fiat currency accounts

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4365110A (en) * 1979-06-05 1982-12-21 Communications Satellite Corporation Multiple-destinational cryptosystem for broadcast networks
CN101789945A (en) * 2010-02-05 2010-07-28 西安电子科技大学 Group key managing method based on Chinese remainder theorem
US20130212388A1 (en) * 2012-02-13 2013-08-15 Alephcloud Systems, Inc. Providing trustworthy workflow across trust boundaries
US20150371224A1 (en) * 2014-06-24 2015-12-24 Phaneendra Ramaseshu Lingappa Cryptocurrency infrastructure system
US20160098723A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
US20160342976A1 (en) * 2015-05-21 2016-11-24 Mastercard International Incorporated Method and system for linkage of blockchain-based assets to fiat currency accounts

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI746949B (en) * 2018-10-31 2021-11-21 開曼群島商創新先進技術有限公司 Block chain-based privacy transaction and its application method and device
US11115188B2 (en) 2019-04-29 2021-09-07 Advanced New Technologies Co., Ltd. Blockchain-based data processing method, apparatus, and blockchain node
TWI801710B (en) * 2020-01-31 2023-05-11 華新智能科技有限公司 Intelligent specifying method for transport pathway

Also Published As

Publication number Publication date
TW201832514A (en) 2018-09-01

Similar Documents

Publication Publication Date Title
TWM542178U (en) Device of hiding and restoring information of transaction party during blockchain transaction
TWI637619B (en) Device for hiding/reverting information of nodes in blockchain and method thereof
US11223485B2 (en) Verifiable encryption based on trusted execution environment
US6792438B1 (en) Secure hardware random number generator
WO2020147489A1 (en) Blockchain transaction generation method and device
EP3761203A1 (en) Information processing method, blockchain node, and electronic apparatus
US10715332B2 (en) Encryption for transactions in a memory fabric
CN110417726A (en) A kind of key management method and relevant device
US10454910B2 (en) Management apparatus, computer program product, system, device, method, information processing apparatus, and server
US10943020B2 (en) Data communication system with hierarchical bus encryption system
WO2022179115A1 (en) User authentication method and apparatus, server and storage medium
US20140032909A1 (en) Method and apparatus for public key cryptography
US20210344500A1 (en) Computer-implemented system and method for transferring access to digital resource
US8612753B2 (en) Method and apparatus for protected code execution on clients
CN112953930A (en) Cloud storage data processing method and device and computer system
WO2015054086A1 (en) Proof of device genuineness
CN113051590A (en) Data processing method and related equipment
US11533181B2 (en) Information processing apparatus, registration apparatus, information processing method, and registration method
WO2021217939A1 (en) Data processing method and apparatus for blockchain, and readable storage medium
WO2022161182A1 (en) Trusted computing method and apparatus based on data stream
CN114154174A (en) State synchronization for post-quantum signature facilities
US10158651B1 (en) Verifying secure transactions through distributed nodes
CN110287733B (en) File tamper-proofing method and device
JP6939313B2 (en) Distributed authentication system
CN116455561A (en) Embedded TLS protocol for lightweight devices