Key data processing method and apparatus, and server
A parent cryptographic key associated with a blockchain object is obtained. A number of parties (N) to share control over the blockchain object is obtained. N child cryptographic keys are generated based on the parent cryptographic key by applying a predetermined algorithm to the parent cryptographic key, wherein N is an integer greater than or equal to 2, and wherein the N child cryptographic keys are collectively configured to enable reconstruction of the parent cryptographic key.
1. A computer-implemented method for managing shared ownership in a block chain network, the method comprising:
obtaining a parent cryptographic key associated with a blockchain object and one or more assets owned by a number of parties; and
responsive to detecting a change in the one or more assets or a change in the number of parties that own the one or more assets,
generating N child cryptographic keys C X based on the parent cryptographic key by applying a predetermined algorithm to the parent cryptographic key, wherein N is an integer greater than or equal to 2 and corresponds to a current number of parties that own the one or more assets;
wherein applying the predetermined algorithm comprises
generating N−1 random numbers R i , wherein i is an integer between 1 and N−1 and R i is a non-negative integer, determining a prime number P greater than at least one of a value S of the parent cryptographic key or the random numbers R i , wherein the random numbers R i range from 0 to P−1, and
generating the N child cryptographic keys C X by performing a modulo operation on P using a summation of the value S and one or more terms that include R i multiplied by a value from 1 to N to obtain the child cryptographic keys C X , wherein the one or more terms depend on the current number of parties N, and
wherein the N child cryptographic keys C X are collectively configured to enable reconstruction of the parent cryptographic key.
2. The computer-implemented method of claim 1 , further comprising:
transmitting the N child cryptographic keys to corresponding parties; and
deleting the parent cryptographic key.
3. The computer-implemented method of claim 1 , wherein applying the predetermined algorithm comprises:
calculating the child cryptographic keys C X according to the following equation:
C X =P mod( S+Σ m=1 N-1 R m X m ).
4. The computer-implemented method of claim 1 , wherein applying the predetermined algorithm to the parent cryptographic key comprises:
modifying the parent cryptographic key based on a randomly generated character string.
5. The computer-implemented method of claim 1 , further comprising:
receiving a plurality of cryptographic keys;
determining that a number of received plurality of cryptographic keys is equal to the number of parties sharing control over the blockchain object; and
in response to determining that a number of received plurality of cryptographic keys is equal to the number of parties sharing control over the blockchain object, reconstructing the parent cryptographic key by applying a reconstruction algorithm to the received plurality of cryptographic keys.
6. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:
obtaining a parent cryptographic key associated with a blockchain object and one or more assets owned by a number of parties; and
responsive to detecting a change in the one or more assets or a change in the number of parties that own the one or more assets,
generating N child cryptographic keys C X based on the parent cryptographic key by applying a predetermined algorithm to the parent cryptographic key, wherein N is an integer greater than or equal to 2 and corresponds to a current number of parties that own the one or more assets;
wherein applying the predetermined algorithm comprises
generating N−1 random numbers R i , wherein i is an integer between 1 and N−1 and R i is a non-negative integer, determining a prime number P greater than at least one of a value S of the parent cryptographic key or the random numbers R i , wherein the random numbers R i range from 0 to P−1, and
generating the N child cryptographic keys C X by performing a modulo operation on P using a summation of the value S and one or more terms that include R i multiplied by a value from 1 to N to obtain the child cryptographic keys C X , wherein the one or more terms depend on the current number of parties N, and
wherein the N child cryptographic keys C X are collectively configured to enable reconstruction of the parent cryptographic key.
7. The non-transitory, computer-readable medium of claim 6 , wherein the operations further comprise:
transmitting the N child cryptographic keys to corresponding parties; and
deleting the parent cryptographic key.
8. The non-transitory, computer-readable medium of claim 6 , wherein applying the predetermined algorithm comprises:
calculating the child cryptographic keys C X according to the following equation:
C X =P mod( S+Σ m=1 N-1 R m X m ).
9. The non-transitory, computer-readable medium of claim 6 , wherein applying the predetermined algorithm to the parent cryptographic key comprises:
modifying the parent cryptographic key based on a randomly generated character string.
10. The non-transitory, computer-readable medium of claim 6 , wherein the operations further comprise:
receiving a plurality of cryptographic keys;
determining that a number of received plurality of cryptographic keys is equal to the number of parties sharing control over the blockchain object; and
in response to determining that a number of received plurality of cryptographic keys is equal to the number of parties sharing control over the blockchain object, reconstructing the parent cryptographic key by applying a reconstruction algorithm to the received plurality of cryptographic keys.
11. A computer-implemented system, comprising:
one or more computers; and
one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:
obtaining a parent cryptographic key associated with a blockchain object and one or more assets owned by a number of parties; and
responsive to detecting a change in the one or more assets or a change in the number of parties that own the one or more assets,
generating N child cryptographic keys C X based on the parent cryptographic key by applying a predetermined algorithm to the parent cryptographic key, wherein N is an integer greater than or equal to 2 and corresponds to a current number of parties that own the one or more assets:
wherein applying the predetermined algorithm comprises
generating N−1 random numbers R i , wherein i is an integer between 1 and N−1 and R i is a non-negative integer, determining a prime number P greater than at least one of a value S of the parent cryptographic key or the random numbers R i , wherein the random numbers R i range from 0 to P−1, and
generating the N child cryptographic keys C X by performing a modulo operation on P using a summation of the value S and one or more terms that include R i multiplied by a value from 1 to N to obtain the child cryptographic keys C X , wherein the one or more terms depend on the current number of parties N, and
wherein the N child cryptographic keys C X are collectively configured to enable reconstruction of the parent cryptographic key.
12. The computer-implemented system of claim 11 , wherein the operations further comprise:
transmitting the N child cryptographic keys to corresponding parties; and
deleting the parent cryptographic key.
13. The computer-implemented system of claim 11 , wherein applying the predetermined algorithm comprises:
calculating the child cryptographic keys C X according to the following equation:
C X =P mod( S+Σ m=1 N-1 R m X m ).
14. The computer-implemented system of claim 11 , wherein applying the predetermined algorithm to the parent cryptographic key comprises:
modifying the parent cryptographic key based on a randomly generated character string.