Key data processing method and apparatus, and server
Abstract
The embodiments of this specification disclose a key data processing method, device and server. The method includes splitting the original key into multiple sub-keys according to the amount of original key sharing of shared objects such as assets and data, and the generated sub-keys can be displayed to corresponding asset sharing parties respectively. When it is necessary to perform operations on shared objects, each asset sharing party can provide its own subkey, and then can use the subkey to restore the original key, and then perform corresponding signatures, asset transactions, and other operations.
Term
10.9 yearsto projected expiry
Projected expiry 28 August 2037, counted from filing; an application has no term until it is granted.
- Priority and filed
- Published
- Today
- Projected expiry
13 claims: 4 independent, 9 dependent
- 1一种密钥数据处理方法,所述方法包括: 获取区块链中共享对象的原密钥,确定原密钥的共享数量; 使用预设算法对所述原密钥进行处理,生成所述共享数量个子密钥,所述子密钥用于 在获得所述共享数量个子密钥时还原出所述原密钥。
- 2如权利要求1所述的一种密钥数据处理方法,所述方法还包括: 将所述子密钥分别发送给相应的对象共享方; 删除所述原密钥。
- 3如权利要求1或2所述的一种密钥数据处理方法,所述的预设算法包括: 利用随机生成的字符串对原密钥进行运算,生成所述原密钥对应的共享数量个子密 钥。
- 4如权利要求3所述的一种密钥数据处理方法,所述预设算法包括: 当所述共享数量为(N+1)时,生成N个随机数Ri,Ri为第i个随机数,ie [1,N];确定素数P,所述素数P至少大于所述原密钥的数值S、随机数Ri中的任意一个,Ri取值 范围包括(0,Ρ-1] ;计算(S+RiX+R 2 X 2 +R 3 X 3 +---+RnX n )后对P取模,X分别取值[1,N+1],得到(N+1)个子密钥,N 彡1,X、N为整数。
- 5如权利要求1或2所述的一种密钥数据处理方法,所述方法还包括: 接收输入的子密钥; 在确定所述子密钥的数量与对应的原密钥的共享数量相同时,通过预定算法对所述共 享数量的子密钥进行原密钥的还原计算处理,得到相应的原密钥。
- 6如权利要求1或2所述的一种密钥数据处理方法,所述的预设算法包括: 生成(Ν-l)个随机数,所述随机数的二进制长度与所述原密钥对应的二进制长度相同, N为所述原密钥的共享数量; 将所述原密钥逐个与所述(Ν-l)个随机数按位进行异或运算,得到异或子密钥; 将所述异或子密钥与所述(Ν-l)个随机数作为输出的N个子密钥。
- 7—种密钥数据处理装置,所述装置包括: 原密钥信息模块,用于获取区块链中共享对象的原密钥,确定原密钥的共享数量; 子密钥生成模块,用于使用预设算法对所述原密钥进行处理,生成所述共享数量个子 密钥,所述子密钥用于在获得所述共享数量个子密钥时还原出所述原密钥。
- 8如权利要求7所述的一种密钥数据处理装置,所述装置还包括: 子密钥输出模块,用于将所述子密钥分别发送给相应的对象共享方; 原密钥删除模块,用于删除所述原密钥。
- 9如权利要求7或8所述的一种密钥数据处理装置,所述子密钥生成模块中使用的预设 算法包括: 利用随机生成的字符串对原密钥进行运算,生成所述原密钥对应的共享数量个子密 钥。 10 .如权利要求9所述的一种密钥数据处理装置,所述子密钥生成模块包括: 随机数生成单元,用于当所述共享数量为(N+1)时,生成N个随机数Ri,Ri为第i个随机 数,ie [l,N];素数选取单元,用于确定素数P,所述素数P至少大于所述原密钥的数值S、随机数Ri中 的任意一个,Ri取值范围包括(0,Ρ-1];子密钥计算单元,可以用于计算(S+RiX+R 2 X 2 +R3X 3 +· ·、+RnX n )后对Ρ取模,X分别取值[1,Ν+ 1],得到(Ν+1)个子密钥,Ν彡1,Χ、Ν为整数。
- 1011. 如权利要求7或8所述的一种密钥数据处理装置,所述装置还包括: 接收模块,用于接收输入的子密钥; 原密钥还原模块,用于在确定所述子密钥的数量与对应的原密钥的共享数量相同时, 通过预定算法对所述共享数量的子密钥进行原密钥的还原计算处理,得到相应的原密钥。
- 1112. 如权利要求9所述的一种密钥数据处理装置,所述子密钥生成模块包括: 随机数生成单元,用于生成(Ν-l)个随机数,所述随机数的二进制长度与所述原密钥对 应的二进制长度相同,Ν为所述原密钥的共享数量; 异或计算单元,用于将所述原密钥逐个与所述(Ν-l)个随机数按位进行异或运算,得到 异或子密钥; 子密钥确定单元,用于将所述异或子密钥与所述(Ν-l)个随机数作为输出的Ν个子密 钥。
- 1213. —种密钥数据处理装置,包括处理器以及用于存储处理器可执行指令的存储器,所 述处理器执行所述指令时实现: 获取区块链中共享对象的原密钥,确定原密钥的共享数量; 使用预设算法对所述原密钥进行处理,生成所述共享数量个子密钥,所述子密钥用于 在获得所述共享数量个子密钥时还原出所述原密钥。
- 1314. 一种服务器,包括至少一个处理器以及用于存储处理器可执行指令的存储器,所述 处理器执行所述指令时实现: 获取区块链中共享对象的原密钥,确定原密钥的共享数量; 使用预设算法对所述原密钥进行处理,生成所述共享数量个子密钥,所述子密钥用于 在获得所述共享数量个子密钥时还原出所述原密钥。
Independent claims13
150 paragraphs, as filed
Key data processing method, device and server technical field
[0001] This embodiment belongs to the technical field of block chain data processing, and in particular relates to a key data processing method, device, and server.
Background technique
[0002] Blockchain is a distributed database. It is a kind of chained data structure in which data blocks are sequentially connected in a chronological order, and the data is encrypted to ensure that the data cannot be tampered with and cannot be tampered with. Forgery. Because the blockchain can effectively guarantee the authenticity of data, more and more fields are used.
[0003] Generally, data on the blockchain is signed and verified using asymmetric encryption. The transaction initiator of the blockchain can use its own private key to sign the transaction, and the miner (computing node) can use the initiator's public key to verify the transaction. If the transaction is verified, it can indicate that the funds transferred by the transaction belong to the normal asset owner, and the transaction information is placed in a new block of the blockchain. In the process of blockchain asset transactions, the private key is usually held by a single party, such as stored in a persons mobile phone or computer. Therefore, the ownership and controller of the asset can be regarded as the party that holds the private key. Owned. In reality, certain assets are shared by multiple people, such as real estate being jointly owned by the husband and wife, investment in partnership, etc. When multiple parties need to share an asset, the same private key needs to be shared with multiple sharing parties. Each sharing party can use the private key to control and trade this asset, and transfer this asset without others knowing it. There is a greater risk of safe trading. Therefore, there is an urgent need for a safer and more reliable way to ensure the security of blockchain shared assets.
Summary of the invention
[0004] The purpose of this embodiment is to provide a key data processing method, device, and server, which can automatically generate the same number of subkeys according to the number of shared assets, and use the subkeys to restore the original key during transactions. , Realize the effective multi-person sharing security guarantee of assets in the blockchain.
[0005] The key data processing method, device, and server provided in this embodiment are implemented in the following manners:
[0006] A key data processing method, the method includes:
[0007] Obtain the original key of the shared object in the blockchain, and determine the shared number of the original key;
[0008] The original key is processed using a preset algorithm to generate the shared number of subkeys, and the subkey is used to restore the original key when the shared number of subkeys are obtained.
[0009] A key data processing device, the device includes:
[0010] The original key information module is used to obtain the original key of the shared object in the blockchain and determine the number of shared original keys; [0011] the sub-key generation module is used to use a preset algorithm for the original key The key is processed to generate the shared number of subkeys, and the subkey is used to restore the original key when the shared number of subkeys are obtained.
[0012] A key data processing device, including a processor and a memory for storing executable instructions of the processor, when the processor executes the instructions:
[0013] Obtain the original key of the shared object in the blockchain, and determine the number of shared original keys;
[0014] The original key is processed using a preset algorithm to generate the shared number of subkeys, and the subkey is used to restore the original key when the shared number of subkeys are obtained.
[0015] A server includes at least one processor and a memory for storing processor-executable instructions, and when the processor executes the instructions:
[0016] Obtain the original key of the shared object in the blockchain, and determine the shared number of the original key;
[0017] The original key is processed using a preset algorithm to generate the shared number of subkeys, and the subkey is used to restore the original key when the shared number of subkeys are obtained.
[0018] The key data processing method, device, and server provided by one or more embodiments can split the original key into multiple sub-keys according to the number of original key shares of shared objects such as assets, data, etc. , The generated sub-keys can be shown to the corresponding asset sharing parties respectively. When it is necessary to perform operations on shared objects, each asset sharing party can provide its own subkey, and then can use the subkey to restore the original key, and then perform corresponding signatures, asset transactions, and other operations. In this way, by using this embodiment, when the assets in the blockchain are shared by multiple people, it can effectively prevent any one of the multiple people from operating the asset without others knowing it, ensuring the shared assets in the blockchain Security of transactions.
Description of the drawings
[0019] In order to more clearly explain the technical solutions in this embodiment or the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiment or the prior art. Obviously, the appendix in the following description The drawings are only some of the embodiments described in the drawings. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative labor.
[0020] FIG. 1 is a schematic diagram of the method flow of a key data processing method provided by the present invention;
[0021] FIG. 2 is a schematic diagram of a method flow of another embodiment of the method provided by the present invention;
[0022] FIG. 3 is a schematic diagram of the processing process of an embodiment of generating a subkey provided by the present invention;
[0023] FIG. 4 is a schematic diagram of a method flow of another embodiment of the method provided by the present invention;
[0024] FIG. 5 is a schematic diagram of another preset algorithm processing process for generating a subkey according to the method provided by the present invention; [0025] FIG. 6 is a schematic diagram of a module structure of an embodiment of a key data processing device provided by the present invention;
[0026] FIG. 7 is a schematic diagram of the module structure of another embodiment of the key data processing device provided by the present invention;
[0027] FIG. 8 is a schematic diagram of a module structure of an embodiment of a subkey generation module in the device provided by the present invention;
[0028] FIG. 9 is a schematic diagram of the module structure of another embodiment of the key data processing device provided by the present invention;
[0029] FIG. 10 is a schematic diagram of the module structure of another embodiment of the subkey generation module in the device provided by the present invention;
[0030] FIG. 11 is a schematic diagram of a module structure of a wallet application using this embodiment;
[0031] FIG. 12 is a schematic structural diagram of a server implementing the method or device implementation.
Detailed ways
[0032] In order to enable those skilled in the art to better understand the technical solutions in the present specification, the following will be combined with the drawings in one or more embodiments of the present specification to make clear, clear, and detailed descriptions of the technical solutions in one or more embodiments of the present specification. Completely described, it is obvious that the described embodiments are only a part of the embodiments, rather than all of the embodiments. based on
One or more embodiments, and all other embodiments obtained by a person of ordinary skill in the art without creative work, shall fall within the protection scope of the solution of this embodiment.
[0033] Although the method operation steps or device structures shown in the following embodiments or drawings are provided in the present invention, the method or device may include more or less after partial merging based on conventional or without creative labor. Operation steps or modular units. In steps or structures where there is no necessary causal relationship logically, the execution order of these steps or the module structure of the device is not limited to the execution order or module structure shown in this embodiment or the drawings. When the described method or module structure is applied to an actual device, server or terminal product, it can be executed sequentially or in parallel according to the method or module structure shown in the embodiments or drawings (for example, parallel processor or multi-threaded processing). Environment, even including the implementation environment of distributed processing and server clusters).
[0034] A blockchain usually includes multiple blocks, and a block is a logical data structure that can be used to store blockchain data. These block chain data can include data information generated by operations such as the transfer and change of funds in the block chain. Generally, in the block chain, a transfer of funds or a change of an asset can be called a transaction. The assets described in the present embodiments may include assets such as currency, securities, and precious metals stored in the blockchain in the form of electronic data in the blockchain. For example, the wallet function provided by some applications can store currency assets, and use the assets in the wallet to purchase products or transfer money.
[0035] The data in the blockchain can use asymmetric encryption to verify the legitimacy of the transaction. The asymmetric encryption usually includes a public key and a private key. The public key can be publicized, and the private key is not publicly disclosed. It is one of the main methods used to verify transactions when trading assets on the blockchain. The transaction party can use the private key to sign the transaction, and the verifier can use the transaction party's public key to verify the signature. If it can be verified, it can indicate that the transaction comes from the true owner of the private key corresponding to the public key, the transaction is legal, and the transaction can be placed in a new block of the blockchain. From the above process, it can be seen that the private key plays a very important role in the blockchain asset transaction. When the asset is shared by multiple people, the asset involves the rights and interests of multiple parties. One or more of the embodiments provided herein can realize that the asset sharing party needs to participate in the asset transaction, which can effectively guarantee the operation of shared assets in the blockchain. safety.
[0036] Specifically, the implementation process of the solution is described with a blockchain transaction of a wallet application as an implementation scenario. The wallet may include an application on the client side or the server side, and usually generates an asymmetric key, calculates a public key address, and realizes blockchain asset transactions. When a new asset is confirmed or the asset sharing party changes, the wallet can automatically use the private key corresponding to the asset to calculate and generate the same number of subkeys as the asset sharing party according to the number of asset sharing parties. These sub-keys can be sent to the corresponding asset-sharing parties, so that each asset-sharing party can master a sub-key. These subkeys restore the original private key when the original private key is needed for asset transactions, and then use the restored private key to sign and initiate the transaction.
[0037] Of course, the shared object described in the solution of this embodiment is not necessarily limited to the above-mentioned electronic currency asset, and the original key is not limited to the private key in asymmetric encryption. The shared object may also include corresponding types of business data in other implementation scenarios, such as billing data, user data, public information, etc., and the original key may also include other data information that encrypts data, such as Strings, even image, sound, fingerprint and other types of key data. The process of generating multiple sub-keys from the original key and restoring the original key by using the received sub-keys described in the following embodiments can also be calculated by miners in the blockchain. The mentioned miners generally refer to nodes with sufficient computing power, which can collect multiple transaction records and install them together, and then use the miners own key to try various padding bits to encrypt, broadcast this block to the entire network, and let other nodes Know that a new block in the blockchain has been generated.
[0038] A specific embodiment is shown in FIG. 1, an implementation of a key data processing method provided by this invention
In an embodiment, the method may include:
[0039] S0: Obtain the original key of the shared object in the blockchain, and determine the shared number of the original key;
[0040] S2: Use a preset algorithm to process the original key to generate the shared number of subkeys, and the subkeys are used to restore the original secret when the shared number of subkeys is obtained. key.
[0041] In this embodiment, the computing device can obtain the information of the original key corresponding to the asset and the amount of information that the asset is shared. Then, a pre-selected or designed preset algorithm can be used to calculate and process the original key to generate the same number of sub-keys as the data shared by the asset. The shared objects described in the implementation scenario of this embodiment may include assets in a wallet. The original key can be generated by the local wallet (server), or it can include the received original key sent by other wallets (servers). In this embodiment, among the multiple sub-keys generated by the original key, each sub-key cannot be authenticated separately or cannot be authenticated. The said sub-key can be restored when all the sub-keys generated by the same original key are collected. If the sub-key is missing or any one of the sub-keys is incorrect, the restoration cannot be completed. The original key or the restored original key is incorrect.
[0042] For example, in the application scenario of this embodiment, a blockchain network may include multiple nodes, and each node may have its own public key and private key. Assuming that there is a wallet application in a node, the wallet is the shared object described in the embodiment, and the private key of the wallet is the original key. The private key of the wallet can be named S, and the number of people sharing the wallet is 2. Then, two sub-keys S1 and S2 can be produced based on the private key S according to a pre-selected or designed algorithm. Among them, the signature of the sub-key S1 that cannot perform transactions in the wallet or the signature cannot pass verification, and the signature of the sub-key S2 that cannot perform transactions in the wallet or the signature cannot pass the verification. However, the original private key S can be restored according to the subkey S1 and the subkey S2. The specific method of restoring the original private key S can be calculated according to the preset algorithm used when producing the sub-key, such as the reverse algorithm that is the opposite of the preset algorithm to generate the sub-key, and of course it can also include other For example, algorithms for interpolation, sub-key correlation, and even combined with third-party auxiliary data to restore the implementation of the original key.
[0043] Further, in another embodiment of the method provided by the present invention, after generating the same number of subkeys as the asset sharing party, the subkey can be displayed to the corresponding asset sharing party, so that each Each asset sharing party can get its own subkey. The original key can then be destroyed, for example, the original private key can be completely deleted from the wallet (or the storage unit where the original private key is stored). In this way, any asset sharing party has its own sub-key and will not save the original key, which can further protect the security of key data and prevent an asset sharing party from using the private key to conduct asset transactions. Specifically, another embodiment of the method is shown in FIG. 2, and may further include:
[0044] S4: Send the subkeys to the corresponding object sharing parties respectively;
[0045] S6: Delete the original key.
[0046] FIG. 2 is a schematic diagram of a method flow of another embodiment of the method provided in the present invention. In this embodiment, after the wallet generates its own public key and private key, it can use the private key to generate the same number of subkeys as the number of sharers according to different number of sharers, and then the subkeys can be shown to the asset sharing party. , And then destroy the private key. In the specific implementation process, a subkey can be set and sent to an asset sharing party. Of course, this does not exclude that in other embodiments, an asset sharing party may have two or more subkeys, for example, mutually trusted asset sharing parties store each other's subkeys.
[0047] In an implementation manner, the subkey may be sent by the wallet to the object sharing party. In other embodiments, after the wallet generates the sub-key, the generated multiple sub-keys are output, and then other processing parties (for example, a specially set sub-key distribution device) send the sub-keys to the object Sharing party. When sending the subkey, a randomly selected and generated subkey can be used to send, or a specified subkey can be selected and sent to the corresponding according to certain rules.
The shared party of the object.
[0048] The preset algorithm for generating the subkey in the foregoing embodiment may include multiple implementation manners. This embodiment provides a preset algorithm for generating a subkey using an original key, and a random character string can be combined with the original key to perform arithmetic processing to generate a subkey. Specifically, in an embodiment of the method, the preset algorithm may include:
[0049] S20: Use a randomly generated character string to perform an operation on the original key to generate a shared number of subkeys corresponding to the original key.
[0050] The character string may include numbers, letters, symbols, etc. The wallet can save these randomly generated strings, which can be used for subsequent restoration of the original key. The specific method of using a randomly generated string and the original key to perform arithmetic processing can be set in advance. For example, a fixed-length string is randomly generated, and one or more characters of the string are inserted into the original key in a certain order to generate Sub-key, or add the value of the corresponding bit to the string and the original key. In this embodiment, a random character string is used to generate the sub-key of the original key, which can further guarantee the security of the generated sub-key, thereby improving the security of the original key.
[0051] In another embodiment of the method, there is provided an implementation that uses random numbers, prime numbers, and modulo operations to generate sub-keys. Specifically, as shown in FIG. 3, FIG. 3 is a schematic diagram of the processing process of an embodiment of generating a subkey provided by the present invention, and the preset algorithm may include:
[0052] S200: When the shared number is (N+1), generate N random numbers Ri, where Ri is the i-th random number, ie [1,
Ν];
[0053] S202: Determine a prime number P, the prime number P is at least greater than any one of the original key value S and the random number Ri, and the value range of Ri includes (0, P-1];
[0054] S204: Calculate (S+RiX+R<sub>2</sub>X<sup>2</sup>+R<sub>3</sub>X<sup>3</sup>+---+RnX<sup>n</sup>After) modulo P, X takes the value [1, N+1] to obtain (N+1) subkeys, N1, and X and N are integers.
[0055] Generally, in the asymmetric key algorithm used in the blockchain, the length of the generated private key is usually 1024 bits or 2048 bits. Therefore, in a specific implementation process of an implementation scenario, the wallet can pre-store more than Part of the known prime numbers of 1024 or 2048 bits are used as data storage when the wallet generates the subkey in this embodiment. Assuming that the private key is named S, the wallet can take the random number Ri according to the number of people sharing, and then take a prime number P that is longer than the private key S or greater than the random number Ri to meet the subkey calculation conditions. Further, you can use S+RiX+R<sub>2</sub>X<sup>2</sup>+R<sub>3</sub>X<sup>3</sup>+···+1^^module? to generate each subkey separately. A specific example can be as follows:
[0056] 1). If there are two people sharing assets, the generated subkeys can be respectively:
[0057] Subkey one: (<sub>S+R</sub>) Mod ρ;
[0058] Subkey two: (S+2R) modulo P.
[0059] 2). Assuming that there are three people sharing assets, the generated subkeys can be respectively:
[0060] Subkey one: (S+Ri+R<sub>2</sub>)W;
[0061] Sub-key two: (S+2R44R2) mod P;
[0062] Sub-key three: (S+3R49R2) modulo P.
[0063] By analogy, assuming that there are (N+1) individual shared assets, and (N+1) subkeys need to be generated, you can use (S+ RiX+R<sub>2</sub>X<sup>2</sup>+R<sub>3</sub>X<sup>3</sup>+···+RnX<sup>n</sup>) Take the modulus of P, where each subkey can be calculated by X taking the value [1, N+1]. In another example, the process of calculating four sub-keys for shared assets by four people using the above method can be as follows:
[0064] Subkey one: (S+R1+R2+R3) W;
[0065] Subkey two: ¢+2^+41^+8¾) mod P;
[0066] Sub-key three: (S+3R49R2+27R3) mod P;
[0067] Sub-key four: ¢+41^+161^2+64¾) modulo P.
[0068] The preset algorithm for calculating the sub-key provided by this embodiment adopts a predetermined method of processing that combines random numbers, prime numbers, and modulo operations, and the shared number of sub-keys can be automatically generated according to the shared number of the original key. And because the above-mentioned sub-key generation method is adopted, the generated sub-key has stronger confidentiality, reduces the risk of being cracked, and has higher security. [0069] In another embodiment of the method provided by the present invention, not only can the corresponding multiple subkeys be generated according to the original key of the shared object, but also the calculation processing of restoring the original key can be performed according to the received subkey . Specifically, in another embodiment of the method provided in this specification, the method may further include:
[0070] S80: Receive the input subkey;
[0071] S82: When it is determined that the number of the subkeys is the same as the shared number of the corresponding original keys, perform the original key restoration calculation processing on the shared number of subkeys through a predetermined algorithm to obtain the corresponding The original key.
[0072] Of course, further, it may also include:
[0073] S84: Operate the shared object by using the original key obtained after the restoration calculation process.
[0074] FIG. 4 is a schematic diagram of a method flow of another embodiment of the method provided in the present invention. When the original key is needed for asset operations, each asset sharing party of the original key can enter its own sub-key. Since the subkeys are distributed to multiple asset sharing parties, in this embodiment, the original key is restored and calculated when the number of subkeys shared by the original key is received. For example, the private key of the wallet generates three sub-keys, which are kept by three wallet sharers. When the wallet fund operation is required, each wallet sharer enters his own sub-key respectively. At this time, when the wallet receives three sub-keys, the three sub-keys can be used to restore the private key of the wallet. If the wallet only receives one or two sub-keys, or if there are more than three sub-keys, it can be set to match the number of shares different from that of the wallet, and it is not necessary to perform the restoration calculation processing of the original key.
[0075] The restoration calculation process for restoring the original key based on the subkey can be combined with the algorithm for generating the subkey to design the restoration algorithm, or can be combined with the characteristics of the subkey to perform the restoration calculation in some specific ways . For example, in the above implementation of using random numbers, prime numbers, and modulo operations to generate subkeys, in the process of one or more of the original key restoration calculation processing, the original key can be calculated and restored through the Lagrangian formula. Private key S.
[0076] After obtaining the restored original key, the key can be used to perform operations on the corresponding shared object, such as signing a transaction, and confirming that the transaction is generated by a legitimate user of the wallet. Further, the wallet can broadcast the signed transaction information to the blockchain network and store it in a new block.
[0077] The foregoing embodiments provide some preset algorithms for generating subkeys using random character strings or random numbers, prime numbers, etc. Another embodiment of the present invention provides another implementation manner of generating a corresponding number of subkeys based on the original key. In this embodiment, the original key and random numbers of the same length generated at any time can be XORed one by one to obtain a value, and then the XOR calculated value and these random numbers can be used as subkeys. Specifically, in another embodiment of the method provided in the present invention, the preset algorithm may include:
[0078] S210: Generate (N-1) random numbers, the binary length of the random number is the same as the binary length corresponding to the original key, and N is the shared number of the original key;
[0079] S212: Perform a bitwise XOR operation on the original keys and the (N-1) random numbers one by one to obtain an XOR subkey;
[0080] S214: Use the XOR subkey and the (N-1) random numbers as output N subkeys.
[0081] In the solution of this embodiment, if the shared object can generate (N-1) random numbers in advance. The length of the random number can be the same as the length of the original key, for example, both are 1024-bit or 2048-bit binary numbers. The original key can be XORed with (N-1) random numbers one by one, and finally a number is obtained. This number and the previously generated (N-1) random numbers are used as subkeys, and each object sharing party allocates a subkey.
[0082] The processing method of performing XOR operation by pressing one by one is shown in FIG. 5 in a specific example. FIG. 5 is another preset algorithm processing for generating subkeys provided by the method. Schematic diagram of the process. Assume that the length of the original key S is 1024 bits binary, and the number of shares is 4. You can first generate three 1024-bit random binary. Then the original key S can be XORed with the first random number to obtain R1, and then R1 can be XORed with the second random number to obtain R2. Finally, R2 is XORed with the third random number to obtain R3, which is the XOR subkey described in this embodiment. Then use R3 and these three 1024-bit random binary as the calculated four sub-keys. Using the subkeys obtained by performing the exclusive OR operation in this embodiment, each subkey can be reversed XORed again when the original key needs to be restored. The XOR operation is used during encryption, and the inverse operation of the XOR operation during decryption is XOR again, so that the original key can be obtained. Using the XOR operation method provided in this embodiment not only ensures that the correct subkeys need to be collected during decryption, but also performs the XOR of the subkeys to quickly obtain the original key. The key restoration calculation is simpler, and assets are protected. At the same time of transaction security, the processing speed of decrypting and restoring the original key is greatly improved.
[0083] The various embodiments in the present invention are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. For details, reference may be made to the description of the foregoing related processing related embodiments, which will not be described here-repeat.
[0084] This particular embodiment has been described above. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps described in the claims may be performed in a different order than in the embodiments and still achieve desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or sequential order shown in order to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0085] According to a key data processing method provided by one or more embodiments, the original key can be split into multiple sub-keys according to the number of original key shares of shared objects such as assets, data, and the generated sub-keys. The keys can be shown to the corresponding asset sharing parties respectively. When it is necessary to perform operations on shared objects, each asset sharing party can provide its own subkey, and then can use the subkey to restore the original key, and then perform corresponding signatures, asset transactions, and other operations. In this way, by using this embodiment, when the assets in the blockchain are shared by multiple people, it can effectively prevent any one of the multiple people from operating the asset without others knowing, ensuring the shared assets in the blockchain Security of transactions.
[0086] Based on the user key data processing method described above, one or more embodiments of the present invention also provide a key data processing device. The described devices may include systems (including distributed systems), software (applications), modules, components, servers, clients, etc. that use the method described in this embodiment, combined with necessary implementation hardware devices. Based on the same innovative concept, the devices in one or more embodiments provided in this embodiment are as described in the following embodiments. Since the implementation scheme of the device to solve the problem is similar to the method, the implementation of the specific device in this embodiment can refer to the implementation of the foregoing method, and the repetition will not be repeated. As used below, the term "unit" or "module" can be a combination of software and/or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented by software, implementation by hardware or a combination of software and hardware is also possible and conceived. Specifically, FIG. 6 is a schematic diagram of the module structure of an embodiment of a key data processing device provided by the present invention. As shown in FIG. 6, the device may include:
[0087] The original key information module 101 can be used to obtain the original key of a shared object in the blockchain and determine the number of shared original keys;
[0088] The subkey generation module 102 may be used to process the original key using a preset algorithm to generate the shared number of subkeys, and the subkey is used to obtain the shared number of subkeys. The original key is restored when the key is turned. [0089] The key data processing device provided in this embodiment can split the original key into multiple sub-keys according to the amount of the original key shared by shared objects such as assets and data, and different sharers each hold one. The share key enables an asset to be shared by multiple people while ensuring that the transaction of the asset requires the participation of multiple people. It can effectively prevent the asset sharing party from operating the transaction data on the blockchain privately and guarantee the security of the asset transaction.
[0090] FIG. 7 is a schematic diagram of the module structure of another embodiment of the key data processing device provided by the present invention. In another embodiment of the device, the device may further include:
[0091] The sub-key output module 103 may be used to send the sub-keys to the corresponding object sharing parties respectively;
[0092] The original key deletion module 104 can be used to delete the original key.
[0093] In this embodiment, among the multiple sub-keys generated by the original key, each sub-key cannot be authenticated separately for a transaction or the authentication cannot be passed. The said subkey can be restored to the original key when all the subkeys generated by the same original key are collected.
[0094] After generating the same number of sub-keys as the asset-sharing parties, the sub-keys can be displayed to the corresponding asset-sharing parties, so that each asset-sharing party can obtain its own sub-key. The original key can then be destroyed, for example, the original private key can be completely deleted from the wallet. In this way, any asset-sharing party has its own subkey and will not save the original key, which can further protect the security of key data and prevent an asset-sharing party from using the private key to conduct asset transactions. [0095] In another embodiment of the device, the preset algorithm used in the subkey generation module 102 may include:
[0096] Using a randomly generated character string to perform operations on the original key to generate a shared number of subkeys corresponding to the original key.
[0097] In another embodiment of the device, there is provided an implementation that uses random numbers, prime numbers, and modulo operations to generate sub-keys. FIG. 8 is a schematic diagram of a module structure of an embodiment of a subkey generation module in the device provided by the present invention. As shown in FIG. 8, the subkey generation module 102 may include:
[0098] The random number generating unit 1021 can be used to generate N random numbers Ri when the shared number is (N+1), where Ri is the i-th random number, ie [l, N];
[0099] The prime number selection unit 1022 may be used to determine a prime number P, where the prime number P is at least greater than any one of the value S of the original key and the random number Ri, and the value range of Ri includes (0, P-1] ;
[0100] The sub-key calculation unit 1023 may be used to calculate (S+RiX+R<sub>2</sub>X<sup>2</sup>+R<sub>3</sub>X<sup>3</sup>+---+RnX<sup>n</sup>After) modulo P, X takes the value [1, N+1] to obtain (N+1) subkeys, and 1, X, N are integers.
[0101] The preset algorithm for calculating sub-keys provided in this embodiment adopts a predetermined method of processing that combines random numbers, prime numbers, and modulo operations, and the shared number of sub-keys can be automatically generated according to the shared number of the original key. And because the above-mentioned sub-key generation method is adopted, the generated sub-key has stronger confidentiality, reduces the risk of being cracked, and has higher security. [0102] In another embodiment of the device provided by the present invention, not only can corresponding multiple subkeys be generated according to the original key of the shared object, but also the calculation processing of restoring the original key can be performed according to the received subkey. . Fig. 9 is a schematic diagram of the module structure of another embodiment of a key data processing device provided in this specification. As shown in Figure 9, the device may further include:
[0103] The receiving module 1051 can be used to receive the input subkey;
[0104] The original key restoration module 1052 may be used to perform the original key on the shared number of subkeys through a predetermined algorithm when it is determined that the number of the subkeys is the same as the shared number of the corresponding original keys. The restoration calculation process of, the corresponding original key is obtained.
[0105] FIG. 10 is a schematic diagram of the module structure of another embodiment of the subkey generation module in the device provided by the present invention. As shown in FIG. 10, the subkey generation module 102 may include:
[0106] The random number generating unit 20 may be used to generate (N-1) random numbers, the binary length of the random number is the same as the binary length corresponding to the original key, and N is the share of the original key Quantity
[0W7] The exclusive OR calculation unit 21 may be used to perform a bitwise exclusive OR operation on the original key and the (N-1) random numbers one by one to obtain an exclusive OR subkey;
[0108] The subkey determining unit 22 may be configured to use the XOR subkey and the (N-1) random numbers as the output N subkeys.
[0109] In this embodiment, the original key and random numbers of the same length generated at any time can be XORed one by one to obtain a value, and then the XOR calculated value and these random numbers can be used as Subkey.
[0110] Using the XOR operation method provided in this embodiment not only ensures that the correct subkeys need to be collected during decryption, but also performs the XOR of the subkeys to quickly obtain the original key, and the key restoration calculation is simpler. , While ensuring the security of asset transactions, it greatly improves the processing speed of decrypting and restoring the original key.
[0111] It should be noted that the above-mentioned device may also include other implementation manners according to the description of the method embodiment, and the specific implementation manner may refer to the description of the related method embodiment, which is not repeated here.
[0112] In the above-mentioned device embodiments, in actual product applications, various modules or sub-modules can be combined or split according to the implementation environment or data processing requirements. When implementing one or more of these modules, the function of each module may be implemented in the same one or more software and/or hardware, or the module that implements the same function may be implemented by a combination of multiple sub-modules or sub-units. The device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or integrated. To another system, or some features can be ignored, or not implemented.
[0113] FIG. 11 is a schematic diagram of the module structure of a wallet application using this embodiment. As shown in FIG. 11, the public and private key generation component of the wallet can generate the public key and private key of the wallet, and the prime number storage component and pre-stored larger than private key Multiple prime numbers of the key length, the random number generation component can generate a corresponding number of random numbers each time it needs to generate a sub-key, and the sub-key calculation unit can generate multiple sub-keys corresponding to the private key and output the sub-key key. The output subkey can be distributed to the corresponding wallet sharer. When performing asset transactions on the wallet, each sharing party enters the sub-key, and then the private key restoration calculation component can calculate the original key according to the corresponding algorithm for restoring the original key, and then use the original key to sign and verify the transaction, etc. . After the transaction is generated, the transaction can be broadcast to the entire blockchain network.
[0114] According to a key data processing device provided by one or more embodiments, the original key can be split into multiple sub-keys according to the number of original key shares of shared objects such as assets, data, and the generated sub-keys. The keys can be shown to the corresponding asset sharing parties respectively. When it is necessary to perform operations on shared objects, each asset sharing party can provide its own subkey, and then can use the subkey to restore the original key, and then perform corresponding signatures, asset transactions, and other operations. In this way, by using this embodiment, when the assets in the blockchain are shared by multiple people, it can effectively prevent any one of the multiple people from operating the asset without others knowing it, ensuring the shared assets in the blockchain Security of transactions.
[0115] The method or device described in the foregoing embodiment provided by the present invention can implement business logic through a computer program and record it on a storage medium, and the storage medium can be read and executed by a computer to achieve the effects of the solution described in this embodiment . The storage medium may include a physical device for storing information, and usually the information is digitized and then stored in a medium using electric, magnetic, or optical methods. The storage medium may include: devices that use electrical energy to store information, such as various types of memory, such as RAM, ROM, etc.; devices that use magnetic energy to store information, such as hard disks, floppy disks, magnetic tape, magnetic core memory, magnetic bubble memory, U disk; a device that uses optical means to store information, such as a CD or DVD. Of course, there are other ways of readable storage media, such as quantum memory, graphene memory, and so on.
[0116] The above-mentioned user key data processing method or device provided in this embodiment can be implemented in a computer by a processor executing corresponding program instructions, such as using the C++ language of the windows operating system on the server side, a server based on the Linux system, Or other, for example, using the androickiOS system programming language to implement on the server system terminal, and include the implementation of processing logic based on quantum computers, etc. The program instructions can be stored on the storage medium. In another embodiment of the key data processing device provided in the present invention, it may include a processor and a memory for storing executable instructions of the processor, and when the processor executes the instructions:
[0117] Obtain the original key of the shared object in the blockchain, and determine the number of shared original keys;
[0118] The original key is processed using a preset algorithm to generate the shared number of subkeys, and the subkey is used to restore the original key when the shared number of subkeys are obtained.
[0119] It should be noted that the above-mentioned device according to the description of the method embodiment may also include other implementation manners, for example, the processor deletes the data of the original key, and uses random numbers, prime numbers, and modulo operations to generate subkeys. , Langera day formula to restore the original key, XOR operation to generate a sub-key and reverse operation to restore the original key and other implementation methods. For specific implementation manners, reference may be made to the description of the related method embodiments, which will not be repeated here.
[0120] The above-mentioned method or device can be used in a variety of key data processing servers, such as the aforementioned wallet server, blockchain miner node server, blockchain node business server, etc. The server may include a single server, or may include a server of a distributed system or an architecture mode of a server cluster. Specifically, the present invention provides a server, as shown in FIG. 12, which may include at least one processor and a memory for storing processor-executable instructions, and when the processor executes the instructions:
[0121] Obtain the original key of the shared object in the blockchain, and determine the number of shared original keys;
[0122] The original key is processed using a preset algorithm to generate the shared number of subkeys, and the subkey is used to restore the original key when the shared number of subkeys are obtained.
[0123] It should be noted that the above-mentioned server may also include other implementation manners according to the description of the method or device embodiment, such as deleting the data of the original key, and generating sub-keys using random numbers, prime numbers, and modulo operations. , Langera day interpolation to restore the original key, XOR operation to generate a sub-key, and inverse operation to restore the original key and other implementation methods. For the specific implementation manner, reference may be made to the description of the relevant method or device embodiment, which will not be repeated here.
[0124] The various embodiments in the present invention are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the hardware + program embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and for related parts, please refer to the part of the description of the method embodiments.
[0125] This particular embodiment has been described above. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps described in the claims may be performed in a different order than in the embodiments and still achieve desired results. In addition, the process depicted in the drawings does not necessarily require the specific order shown.
Order or sequential order can achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0126] The key data processing method, device, and server provided by one or more embodiments can split the original key into multiple sub-keys according to the number of original key shares of shared objects such as assets and data. , The generated sub-keys can be shown to the corresponding asset sharing parties respectively. When it is necessary to perform operations on shared objects, each asset sharing party can provide its own subkey, and then can use the subkey to restore the original key, and then perform corresponding signatures, asset transactions, and other operations. In this way, by using this embodiment, when the assets in the blockchain are shared by multiple people, it can effectively prevent any one of the multiple people from operating the asset without others knowing it, ensuring the shared assets in the blockchain Security of transactions.
[0127] Although the content of the embodiment mentions the use of random numbers and prime numbers and modulus operations to generate sub-keys, exclusive-OR operations to generate sub-keys, use Lagrangian formula to restore the original keys, and destroy the original keys after allocating sub-keys. Description of data generation, definition, acquisition, interaction, calculation, judgment, etc., such as keys, etc. However, this embodiment is not limited to complying with industry communication standards, blockchain data rules, standard computer data processing and storage rules Or the situation described in one or more embodiments. Certain industry standards or implementations described in custom methods or examples with slight modifications can also achieve the same, equivalent or similar implementation effects of the foregoing examples, or predictable implementation effects after modification. Embodiments obtained by applying these modified or deformed data acquisition, storage, judgment, processing methods, etc., may still fall within the scope of the optional implementation of this embodiment.
[0128] This particular embodiment has been described above. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps described in the claims may be performed in a different order than in the embodiments and still achieve desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or sequential order shown in order to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0129] In the 1990s, the improvement of a technology can be clearly distinguished between hardware improvements (for example, improvements in circuit structures such as diodes, transistors, switches, etc.) or software improvements (improvements in method flow). ). However, with the development of technology, the improvement of many methods and processes of today can be regarded as a direct improvement of the hardware circuit structure. Designers almost always get the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be realized by the hardware entity module. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user's programming of the device. It is programmed by the designer to "integrate" a digital system on a PLD, without requiring the chip manufacturer to design and manufacture a dedicated integrated circuit chip. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly realized by using "logic compiler" software, which is similar to the software compiler used in program development and writing. The original code must also be written in a specific programming language, which is called hardware description language (Hardware Description Language, HDL), and HDL is not only one, but there are many, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used at present are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. This order page domain technicians should also
It should be clear that only a little logic programming of the method flow in the above-mentioned hardware description languages and programming into the integrated circuit, the hardware circuit that implements the logic method flow can be easily obtained.
[0130] The controller can be implemented in any suitable manner. For example, the controller can take the form of, for example, a microprocessor or a processor, and a computer storing computer-readable program codes (such as software or firmware) that can be executed by the (micro) processor. In the form of readable media, logic gates, switches, Application Specific Integrated Circuits (ASICs), programmable logic controllers and embedded microcontrollers, examples of controllers include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Labs C8051F320, the memory controller can also be implemented as part of the memory control logic. Those skilled in the art also know that in addition to implementing the controller in a purely computer-readable program code manner, it is completely possible to program the method steps to make the controller use logic gates, switches, application specific integrated circuits, programmable logic controllers, and embedded logic. The same function can be realized in the form of a microcontroller or the like. Therefore, such a controller can be regarded as a hardware component, and the devices included in it for realizing various functions can also be regarded as a structure within the hardware component. Or even, the device for realizing various functions can be regarded as both a software module for realizing the method and a structure within a hardware component.
[0131] The systems, devices, modules, or units illustrated in the foregoing embodiments may be specifically implemented by computer chips or entities, or implemented by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, and a tablet. Computers, wearable devices, or any combination of these devices.
[0132] Although the present one or more embodiments provide method operation steps as described in the embodiments or flowcharts, conventional or non-innovative methods may include more or fewer operation steps. The sequence of steps listed in the embodiment is only one way of the execution order of many steps, and does not represent the only execution order. When the actual device or terminal product is executed, it can be executed sequentially or in parallel according to the methods shown in the embodiments or drawings (for example, a parallel processor or multi-threaded processing environment, or even a distributed data processing environment). The terms "include", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, product, or device that includes a series of elements includes not only those elements, but also other elements that are not explicitly listed. Elements, or also include elements inherent to such processes, methods, products, or equipment. If there are no more restrictions, it does not exclude that there are other identical or equivalent elements in the process, method, product, or device including the elements.
[0133] For the convenience of description, when describing the above device, the functions are divided into various modules and described separately. Of course, when implementing one or more of these modules, the function of each module can be implemented in the same one or more software and/or hardware, or the module that implements the same function can be implemented by a combination of multiple sub-modules or sub-units. The device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or integrated. To another system, or some features can be ignored, or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
[0134] Those skilled in the art also know that, in addition to implementing the controller in a purely computer-readable program code manner, it is entirely possible to program the method steps to make the controller use logic gates, switches, application specific integrated circuits, and programmable logic to control The same function can be realized in the form of an embedded microcontroller and a microcontroller. Therefore, such a controller can be regarded as a hardware component, and the devices included in the controller for realizing various functions can also be regarded as a structure within the hardware component. Or even, the device for realizing various functions can be regarded as both a software module for realizing the method and a hardware
The structure within the component.
[0135] The present invention is described with reference to flowcharts and/or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and/or block in the flowchart and/or block diagram, and the combination of processes and/or blocks in the flowchart and/or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing equipment to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing equipment are generated It is a device that realizes the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram. [0136] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device , The instruction device realizes the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
[0137] These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so that the computer or other programmable equipment The instructions executed above provide steps for implementing functions specified in a flow or multiple flows in the flowchart and/or a block or multiple blocks in the block diagram.
[0138] In a typical configuration, the computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
[0139] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and/or non-volatile memory, such as read-only memory (ROM) or flash memory (flash RAM). Memory is an example of computer readable media.
[0140] The computer-readable media includes permanent and non-permanent, removable and non-removable media, and information storage can be realized by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory ®0M), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage, Magnetic cassettes, magnetic tape magnetic disk storage, graphene storage or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices. According to the definition in this article, computer-readable media does not include transitory media, such as modulated data signals and carrier waves.
[0141] Those skilled in the art should understand that one or more embodiments of the present invention may be provided as a method, a system, or a computer program product. Therefore, the present one or more embodiments may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present one or more embodiments may adopt computer program products implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes. form.
[0142] The present one or more embodiments may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. One or more embodiments of the present invention can also be practiced in distributed computing environments. In these distributed computing environments, tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computers including storage devices
Storage medium.
[0143] The various embodiments in the present invention are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, as for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and for related parts, please refer to the part of the description of the method embodiment. In this description, descriptions with reference to the terms "one embodiment", "some embodiments", "examples", "specific examples", or "some examples" etc. mean the specific features described in conjunction with the embodiment or example, The structure, material or feature is included in at least one embodiment or example of the present invention. In this context, the schematic representations of the above-mentioned terms do not necessarily refer to the same embodiment or example. Moreover, the described specific features, structures, materials or characteristics may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art can combine and combine the different embodiments or examples and the characteristics of the different embodiments or examples described in this document without conflicting each other.
[0144] The foregoing descriptions are only examples of one or more embodiments of the present specification, and are not intended to limit one or more embodiments of the present specification. For those skilled in the art, various modifications and changes can be made to the one or more embodiments. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this application shall be included in the scope of the claims.
Every citation, both ways
| Document | Relation | Office | Category | Cited during | Relevant claims |
|---|---|---|---|---|---|
| CN111177780A | Cited by | China | – | Search report | – |
| CN109684858A | Cited by | China | – | Search report | – |
| CN116015981A | Cited by | China | – | Search report | – |
| CN111385098A | Cited by | China | – | Search report | – |
| CN108510270A | Cited by | China | – | Search report | – |
| CN111342966A | Cited by | China | – | Search report | – |
| WO2020134637A1 | Cited by | World Intellectual Property Organization (WIPO) | – | International search | – |
| CN109768863A | Cited by | China | – | Search report | – |
| CN113448541A | Cited by | China | – | Search report | – |
| CN109784917A | Cited by | China | – | Search report | – |
| CN109617690A | Cited by | China | – | Search report | – |
| CN109672529A | Cited by | China | – | Search report | – |
| CN111062058A | Cited by | China | – | Search report | – |
| CN111654466A | Cited by | China | – | Search report | – |
| CN109754254A | Cited by | China | – | Search report | – |
| US11429956B2 | Cited by | United States of America | – | Applicant | – |
| CN110138559A | Cited by | China | – | Search report | – |
| CN108683509A | Cited by | China | – | Search report | – |
| CN111641499A | Cited by | China | – | Search report | – |
| CN109787762A | Cited by | China | – | Search report | – |
| CN102946310A | Cites | China | A | Search report | 1-14 |
| CN104022869A | Cites | China | A | Search report | 1-14 |
| CN104579644A | Cites | China | A | Search report | 1-14 |
| CN105723647A | Cites | China | A | Search report | 1-14 |
| CN106027234A | Cites | China | A | Search report | 1-14 |
| CN106027245A | Cites | China | YX | Search report | 2-3,6-7 |
| CN1601957A | Cites | China | A | Search report | 1-14 |
| CN1697372A | Cites | China | Y | Search report | 6,12 |
| CN1953368A | Cites | China | A | Search report | 1-14 |
| US2009077379A1 | Cites | United States of America | A | Search report | 1-10 |
| US2009290707A1 | Cites | United States of America | A | Search report | 1-14 |
| US2011286594A1 | Cites | United States of America | A | Search report | 1-14 |
| US2015304103A1 | Cites | United States of America | A | Search report | 1-8 |
| US2016212109A1 | Cites | United States of America | YX | Search report | 2-4,6-8 |
| US2016269182A1 | Cites | United States of America | A | Search report | 1-8 |
28 members in 10 offices
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 201710747807 | China | A | |
| CN201710747807 | – | – | – |
| CN20171747807 | – | – | – |
Members28
| Document | Office | Kind | |
|---|---|---|---|
| CN107465505AThis record | China | A | |
| CA3058476A1 | Canada | A1 | |
| WO2019046317A1 | World Intellectual Property Organization (WIPO) | A1 | |
| TW201914255A | Taiwan Province of China | A | |
| WO2019046317A8 | World Intellectual Property Organization (WIPO) | A8 | |
| AU2018323458A1 | Australia | A1 | |
| SG11201909012YA | Singapore | A | |
| KR20190134634A | Republic of Korea | A | |
| EP3586473A1 | European Patent Office (EPO) | A1 | |
| TWI686073B | Taiwan Province of China | B | |
| US2020127817A1 | United States of America | A1 | |
| US2020136814A1 | United States of America | A1 | |
| JP2020526050A | Japan | A | |
| US10797865B2 | United States of America | B2 | |
| AU2018323458B2 | Australia | B2 | |
| US10873449B2 | United States of America | B2 | |
| US2021021409A1 | United States of America | A1 | |
| AU2018323458C1 | Australia | C1 | |
| EP3586473B1 | European Patent Office (EPO) | B1 | |
| SG10202105050PA | Singapore | A | |
| CN107465505B | China | B | |
| US11095437B2 | United States of America | B2 | |
| EP3879751A1 | European Patent Office (EPO) | A1 | |
| US2021314147A1 | United States of America | A1 | |
| CN113765657A | China | A | |
| US11356250B2 | United States of America | B2 | |
| JP7118088B2 | Japan | B2 | |
| CN113765657B | China | B |
6 legal events, as 2 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Transfer of patent rightTR01 | TR01 | CN | |
| Patent grantGrantedGR01 | GR01 | CN | |
| Transfer of patent application rightTA01 | TA01 | CN | |
| Requests to designate patent in hong kongDE | DE | HK | |
| Entry into force of request for substantive examinationSE01 | SE01 | CN | |
| PublicationPB01 | PB01 | CN |
Numbers
- Publication
- 107465505
- Publication, DOCDB
- 107465505
- Publication, EPODOC
- CN107465505
- Application
- 107478075
- Application, DOCDB
- 201710747807
- Application, EPODOC
- CN201710747807
Titles2
- Chinese
- 一种密钥数据处理方法、装置及服务器
- English
- Method, device and server for processing key data
Classification
- CPC, 15
- H04L9/085
- H04L9/0836
- H04L9/0819
- G06Q20/3829
- H04L9/0825
- H04L9/0869
- H04L2209/24
- H04L9/50
- G06Q20/401
- H04L9/0894
- G06F9/30029
- H04L9/0637
- H04L9/14
- G06Q20/367
- H04L9/083
- IPC, 3
- H04L9 08
- G06Q20 38
- G06Q20 40