CN117579279A - Data processing method, device, equipment and computer storage medium - Google Patents
Data processing method, device, equipment and computer storage medium Download PDFInfo
- Publication number
- CN117579279A CN117579279A CN202311458488.8A CN202311458488A CN117579279A CN 117579279 A CN117579279 A CN 117579279A CN 202311458488 A CN202311458488 A CN 202311458488A CN 117579279 A CN117579279 A CN 117579279A
- Authority
- CN
- China
- Prior art keywords
- value
- parameter value
- hash
- data
- function
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000012986 modification Methods 0.000 claims abstract description 22
- 230000004048 modification Effects 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 14
- 230000004044 response Effects 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 204
- 239000012634 fragment Substances 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 13
- 241000122205 Chamaeleonidae Species 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000005336 cracking Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Algebra (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
The application discloses a data processing method, a data processing device, data processing equipment and a computer storage medium. The method comprises the following steps: acquiring second data in response to receiving a modification instruction to the first data; acquiring a private key and a public key corresponding to the private key based on a preset elliptic curve function; generating and storing a first hash parameter value based on a value randomly acquired in the target domain; generating a hash value corresponding to the first data according to the first hash parameter value, the public key and a preset elliptic curve function; generating a second Ha Xican value using the hash value and the second data; the stored first hash parameter value is modified to a second Ha Xican value and the first data is modified to a second data. According to the embodiment of the application, the data modification efficiency is improved.
Description
Technical Field
The application belongs to the technical field of data processing, and particularly relates to a data processing method, a device, equipment and a computer storage medium.
Background
Currently, in order to limit the modification rights of data, a key is generally distributed to authorized users, who use the key to modify target data. By using the chameleon hash algorithm, a user can modify target data by using a key on the premise of not changing the hash value.
The chameleon hash function is constructed based on the discrete logarithm problem on the finite field, and a key corresponding to the chameleon hash function is generated based on the discrete logarithm problem on the finite field, however, in order to ensure the security of the key, the key generated based on the discrete logarithm problem on the finite field is longer, so that the calculation efficiency in the process of modifying data is lower.
Disclosure of Invention
The embodiment of the application provides a data processing method, a device, equipment and a computer storage medium, which can improve the efficiency of modifying data.
In a first aspect, an embodiment of the present application provides a data processing method, including:
acquiring second data in response to receiving a modification instruction to the first data;
acquiring a private key and a public key corresponding to the private key based on a preset elliptic curve function;
generating and storing a first hash parameter value based on a value randomly acquired in a target domain, wherein the target domain comprises a variable value range corresponding to a preset elliptic curve function;
generating a hash value corresponding to the first data according to the first hash parameter value, the public key and a preset elliptic curve function;
generating a second Ha Xican value using the hash value and the second data;
the stored first hash parameter value is modified to a second Ha Xican value and the first data is modified to the second data, the second hash parameter value being used to verify the validity of the second data.
In some embodiments, the first hash parameter value comprises a first parameter value;
generating a hash value corresponding to the first data according to the first hash parameter value, the public key and a preset elliptic curve function, wherein the hash value comprises:
determining a first input value according to a preset first hash function, a first hash parameter value, a public key and a preset elliptic curve function, wherein the first hash function can map data except for a target domain into the target domain;
inputting the first input value into a second hash function, and outputting to obtain a first function value;
a difference between the first parameter value and the first function value is determined as a hash value corresponding to the first data.
In some embodiments, the first hash parameter value further comprises a second parameter value;
determining a first input value according to a preset first hash function, a first hash parameter value, a public key and a preset elliptic curve function, wherein the determining comprises:
performing elliptic curve multiple point operation on the first hash function and the public key to obtain a first intermediate parameter value;
performing elliptic curve multiple point operation on the second parameter value and a generating element of a preset elliptic curve function to obtain a second intermediate parameter value;
the result of summing the first intermediate parameter value and the second intermediate parameter value is used as a first input value.
In some embodiments, before determining the second hash function according to the preset first hash function, the first hash parameter value, the public key, and the preset elliptic curve function, further comprising:
and constructing a first hash function by taking the first parameter value and the first data as parameter values of the first hash function.
In some embodiments, the second hash parameter value comprises a fourth parameter value and a fifth parameter value;
generating a second Ha Xican value using the hash value and the second data, comprising:
generating a third parameter value based on the values randomly acquired over the target domain;
performing elliptic curve multiple point operation on the third parameter value and a generating element of a preset elliptic curve function to obtain a second input value;
inputting the second input value into a second hash function, and outputting to obtain a second function value;
calculating the sum of the hash value and the second function value to obtain a fourth parameter value;
inputting the second data and the fourth parameter value into the first hash function, and outputting to obtain a third function value;
and generating a fifth parameter value according to the private key, the third parameter value and the third function value.
In some embodiments, obtaining the private key and its corresponding public key based on a preset elliptic curve function includes:
Generating a t-1 degree random polynomial for the user under the condition that a plurality of users participating in modifying data exist;
generating a secret fragment value corresponding to each user according to the t-1 time random polynomial and the corresponding value of each user, wherein the variable value is the value of a variable in the t-1 time random polynomial;
transmitting a respective secret segment value to each user;
receiving a secret fragment value sent by each user;
calculating the sum of the secret segment values corresponding to the user and the secret segment values transmitted by other users except the user to obtain the secret segment of the private key corresponding to the user, wherein the private key is a common private key of a plurality of users;
obtaining a secret segment of a private key corresponding to each user, and calculating Lagrange interpolation based on the secret segments of the private keys corresponding to all the users to obtain the private key;
and performing multiple point operation on the private key and a generating element of a preset elliptic curve function to obtain a public key, wherein the public key is a public key of common knowledge of a plurality of users.
In some embodiments, performing elliptic curve point doubling operation on the third parameter value and a generator of a preset elliptic curve function to obtain a second input value includes:
under the condition that a plurality of users participating in modifying data are involved, randomly acquiring a sixth parameter value on a target domain, and carrying out elliptic curve point doubling operation on the sixth parameter value and a generating element of a preset elliptic curve function to obtain elliptic curve point coordinates;
Receiving elliptic curve point coordinates transmitted by other users except the user;
and calculating the Lagrange difference value based on the elliptic curve point coordinates and elliptic curve point coordinates sent by other users to obtain a second input value.
In some embodiments, generating a fifth parameter value from the private key, the third parameter value, and the third function value comprises:
receiving the secret fragments sent by other users, and calculating the sum of the values of the secret fragments of all the users to obtain the secret fragments of the private key;
generating a fifth parameter value segment based on the sixth parameter value, the third function value, and the secret segment of the private key;
and receiving fifth parameter value fragments corresponding to other users and sent by other users, and calculating the Lagrange difference value based on the fifth parameter value fragments corresponding to all the users to obtain a fifth parameter value.
In a second aspect, an embodiment of the present application provides a data processing apparatus, including:
the first acquisition module is used for responding to the received modification instruction of the first data to acquire second data;
the second acquisition module is used for acquiring the private key and the public key corresponding to the private key based on a preset elliptic curve function;
the first generation module is used for generating and storing a first hash parameter value based on a value randomly acquired in a target domain, wherein the target domain comprises a variable value range corresponding to a preset elliptic curve function;
The second generation module is used for generating a hash value corresponding to the first data according to the first hash parameter value, the public key and a preset elliptic curve function;
a third generation module, configured to generate a second Ha Xican value by using the hash value and the second data;
and the modifying module is used for modifying the stored first hash parameter value into a second Ha Xican value and modifying the first data into second data, and the second hash parameter value is used for verifying the validity of the second data.
In a third aspect, an embodiment of the present application provides an electronic device, including: a processor and a memory storing computer program instructions;
the processor, when executing the computer program instructions, implements the data processing method according to any one of the first aspects.
In a fourth aspect, embodiments of the present application provide a computer-readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement a data processing method according to any of the first aspects.
In a fifth aspect, embodiments of the present application provide a computer program product, instructions in which, when executed by a processor of an electronic device, cause the electronic device to perform a data processing method according to any one of the first aspects.
According to the data processing method, the device, the equipment and the computer storage medium, the chameleon hash function can be constructed through the elliptic curve, the private key and the public key are calculated through the elliptic curve function, and the complexity of the public key obtained through calculation through the elliptic curve function is higher than that of the public key generated based on the discrete logarithm problem of the finite field, namely the difficulty in cracking the private key through the public key is different, so that the length of the secret key obtained through calculation through the elliptic curve function is shorter than that of the secret key generated based on the discrete logarithm problem of the finite field under the condition of the same security level, the private key and the public key with shorter length are generated on the premise of ensuring the security, the chameleon hash function is solved through the shorter private key and the public key, and the calculation efficiency in the process of modifying data is improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments of the present application will be briefly described, and it is possible for a person skilled in the art to obtain other drawings according to these drawings without inventive effort.
FIG. 1 is a flow chart of a data processing method according to one embodiment of the present application;
FIG. 2 is a flow chart of a data processing method according to another embodiment of the present application;
FIG. 3 is a flow chart of a data processing method according to another embodiment of the present application;
FIG. 4 is a schematic diagram of a data processing apparatus according to one embodiment of the present application;
fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
Features and exemplary embodiments of various aspects of the present application are described in detail below to make the objects, technical solutions and advantages of the present application more apparent, and to further describe the present application in conjunction with the accompanying drawings and the detailed embodiments. It should be understood that the specific embodiments described herein are intended to be illustrative of the application and are not intended to be limiting. It will be apparent to one skilled in the art that the present application may be practiced without some of these specific details. The following description of the embodiments is merely intended to provide a better understanding of the present application by showing examples of the present application.
It is noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises an element.
Before describing the embodiments of the present application, technical terms used in describing the embodiments of the present application will be first described.
Chameleon hash function: also known as trapdoor hash functions, anyone can hash the color of a given public key, and users with private keys can find hash collisions in a broad sense. Compared with the conventional hash function, the chameleon hash function adds a key, namely a trapdoor: when no trapdoor knowledge exists, the chameleon hash function is not different from the conventional hash function, and all properties of the conventional hash function are met; however, after the trapdoor is acquired, the data can be modified without changing the hash value.
Currently, in order to limit the modification rights of data, a key is generally distributed to authorized users, who use the key to modify target data. By using the chameleon hash algorithm, a user can modify target data by using a key on the premise of not changing the hash value.
The chameleon hash function is constructed based on the discrete logarithm problem on the finite field, and a key corresponding to the chameleon hash function is generated based on the discrete logarithm problem on the finite field, however, in order to ensure the security of the key, the key generated based on the discrete logarithm problem on the finite field is longer, so that the calculation efficiency in the process of modifying data is lower.
Based on the above problems, the present application provides a data processing method, apparatus, device and computer storage medium, which can construct a chameleon hash function through an elliptic curve, calculate a private key and a public key by using the elliptic curve function, and modify data to be modified by using the shorter private key and the public key because the complexity of the public key calculated by using the elliptic curve function is higher than that of the public key generated based on the discrete logarithm problem of the finite field, that is, the difficulty of decrypting the private key by using the public key is different, so that the length of the key calculated by using the elliptic curve function is shorter than that of the key generated based on the discrete logarithm problem of the finite field under the condition of the same security level, thereby realizing that the private key and the public key with shorter length are generated under the premise of ensuring the security, and the chameleon hash function is solved by using the shorter private key and the public key, and further effectively improving the efficiency of modifying the data.
The following first describes a data processing method provided in an embodiment of the present application.
Fig. 1 is a flow chart of a data processing method according to an embodiment of the present application. As shown in fig. 1, the data processing method provided in the embodiment of the present application includes the following steps: S101-S106.
S101: and acquiring second data in response to receiving a modification instruction to the first data.
The first data may be data stored in advance.
As an example, after receiving a modification instruction for the first data, second data corresponding to the first data is acquired, and the second data is used for replacing the first data, so as to implement modification for the first data.
S102: and acquiring the private key and the public key corresponding to the private key based on a preset elliptic curve function.
It should be noted that the method can be predefined in the prime domainElliptic curve>The generator of the point group is G, G can be preset, and the order is prime number #E= |<G>|=q, wherein->The variable representing the elliptic curve E is a value in 0- (p-1), p and q being prime numbers.
As an example, the private key isThe public key is x= [ X ]]G, wherein []For elliptic curve multiple point operation, X= [ X ]]G means that point X is calculated from X times the point G.
It can be appreciated that, since the complexity of the public key calculated by using the elliptic curve function is higher than the public key generated based on the discrete logarithm problem of the finite field, that is, the difficulty of cracking the private key by using the public key is different, the length of the key calculated by using the elliptic curve function is shorter than the length of the key generated based on the discrete logarithm problem of the finite field under the condition of the same security level.
S103: the first hash parameter value is generated and stored based on a value randomly acquired in the target domain.
In this embodiment of the present application, the target field includes a variable value range corresponding to a preset elliptic curve function.
As an example, a variable value range corresponding to the preset elliptic curve function may be used as the target domain, for example, the variable value range of the preset elliptic curve function is 0 to (p-1), and the target domain is 0 to (p-1).
In the embodiment of the present application, a value may be randomly acquired in a target domain, a first hash parameter value is generated based on the value, and the first hash parameter value is stored in a position corresponding to first data, where the first hash parameter value may be used for validity verification of the first data.
It will be appreciated that, typically, the hash value, the data and the hash parameter value are stored together, and since the user does not allow modification of the data without the key, to ensure the validity of the data, i.e. to ensure that the data has not been modified by a user without rights, a hash operation is performed on the hash parameter and the existing data, and the result of the operation is compared with the existing hash value to verify the validity of the data.
S104: and generating a hash value corresponding to the first data according to the first hash parameter value, the public key and a preset elliptic curve function.
As an example, a hash function of the first data is constructed according to the first hash parameter value, the public key and a preset elliptic curve function, and the first data is input into the hash function to obtain a hash value of the first data output by the hash function.
S105: using the hash value and the second data, a second Ha Xican value is generated.
S106: the stored first hash parameter value is modified to a second Ha Xican value and the first data is modified to a second data.
In the embodiment of the application, the second hash parameter value is used for verifying the validity of the second data.
It will be appreciated that, in order to enable a user subsequently querying the second data to verify the validity of the second data, the first hash parameter value corresponding to the first data is replaced with the second Ha Xican value corresponding to the second data.
As an example of one possible implementation, the hash value and the second data are used to generate a second Ha Xican value corresponding to the second data, the stored first hash parameter value is modified to a second Ha Xican value, and the pre-stored first data is modified to the second data.
According to the data processing method provided by the embodiment of the application, the chameleon hash function is constructed through the elliptic curve, the elliptic curve function is utilized to calculate the private key and the public key, and the complexity of the public key calculated by the elliptic curve function is higher than that of the public key generated based on the discrete logarithm problem of the finite field, namely the difficulty of cracking the private key by the public key is different, so that the length of the key calculated by the elliptic curve function is shorter than that of the key generated based on the discrete logarithm problem of the finite field under the condition of the same security level, the private key and the public key which are shorter in length are generated on the premise of ensuring the security, the chameleon hash function is solved by the private key and the public key which are shorter, and data to be modified are modified, and the efficiency of modifying the data is further effectively improved.
In order to further utilize the private key and the public key generated by the elliptic curve function to modify the data so as to improve the efficiency of modifying the data, another data processing method is proposed, and please refer to fig. 2, which is a flow chart of the data processing method according to another embodiment of the present application. As shown in fig. 2, the data processing method includes: S201-S208.
S201: and acquiring second data in response to receiving a modification instruction to the first data.
S202: and acquiring the private key and the public key corresponding to the private key based on a preset elliptic curve function.
S203: the first hash parameter value is generated and stored based on a value randomly acquired in the target domain.
In this embodiment of the present application, the target field includes a variable value range corresponding to a preset elliptic curve function.
S201 to S203 in this embodiment are the same as S101 to S103 in this embodiment, and for brevity, detailed description will not be given here, and for details, reference is made to the description in this embodiment.
S204: and determining a first input value according to a preset first hash function, a first hash parameter value, a public key and a preset elliptic curve function.
In this embodiment, the first hash parameter value includes a first parameter value r.
In an embodiment of the present application, the first hash function is capable of mapping data other than the target domain to the target domain.
It is understood that the first hash function may be a function capable of mapping data other than the target domain into the target domain, that is, inputting data into the first hash function, the data output by the first hash function being a value in the target domain.
In some embodiments of the present application, the first hash parameter value further includes a second parameter value, and S204 specifically includes:
Performing elliptic curve multiple point operation on the first hash function and the public key to obtain a first intermediate parameter value;
performing elliptic curve multiple point operation on the second parameter value and a generating element of a preset elliptic curve function to obtain a second intermediate parameter value;
the result of summing the first intermediate parameter value and the second intermediate parameter value is used as a first input value.
As an example, the first hash parameter value further comprises a second parameter value s.
Specifically, the first hash function is used forPerforming elliptic curve multiple point operation with the public key X to obtain a first intermediate parameter value [ e ]]X。
Specifically, the second parameter value s and a generator G of a preset elliptic curve function are subjected to elliptic curve multiple point operation, and a second intermediate parameter value s G is obtained.
The result of summing the first intermediate parameter value [ eX ] and the second intermediate parameter value [ sG ] is used as a first input value [ eX+ [ sG ].
In some embodiments of the present application, before S204, further includes:
and constructing a first hash function by taking the first parameter value and the first data as parameter values of the first hash function.
As an example, the first parameter value r and the first data m are taken as parameter values of a first hash functionConstructing and obtaining a first hash function H 1 (m,r)。
S205: and inputting the first input value into a second hash function, and outputting to obtain a first function value.
As an example, a first input value [ e]X+[s]G is input to a second hash function H 2 Outputting to obtain a first function value, i.e. calculating H 2 ([e]X+[s]G)。
S206: a difference between the first parameter value and the first function value is determined as a hash value corresponding to the first data.
As one example, a hash value is calculated
S207: using the hash value and the second data, a second Ha Xican value is generated.
In some embodiments of the present application, the second hash parameter value includes a fourth parameter value and a fifth parameter value, and S207 may specifically include:
generating a second Ha Xican value using the hash value and the second data, comprising:
generating a third parameter value based on the values randomly acquired over the target domain;
performing elliptic curve multiple point operation on the third parameter value and a generating element of a preset elliptic curve function to obtain a second input value;
inputting the second input value into a second hash function, and outputting to obtain a second function value;
calculating the sum of the hash value and the second function value to obtain a fourth parameter value;
inputting the second data and the fourth parameter value into the first hash function, and outputting to obtain a third function value;
And generating a fifth parameter value according to the private key, the third parameter value and the third function value.
As an example, a value may be randomly acquired in the target domain as the third parameter value k,performing elliptic curve multiple point operation on k and a generator G of a preset elliptic curve function to obtain a second input value [ k ]]G. Will second input value k]G is input to a second hash function H 2 Outputting to obtain a second function value, i.e. calculating H 2 ([k]G)。
As an example, a sum H of the hash value C and the second function value is calculated 2 ([k]G) A fourth parameter value r ', i.e. r' =c+h, is obtained 2 ([k]G)。
As an example, the second data m 'and the fourth parameter value r' are input to the first hash function H 1 Outputting a third function value, i.e. e' =h 1 (m′,r′)。
As an example, according to the private key x, the third parameter value k and the third function value H 1 (m ', r') to generate a fifth parameter value s '=k-e' x.
In order to modify m to m ' without changing the hash value C, k needs to be introduced, so that based on m ' and k, r ' is replaced by r ', s is replaced by s ', and the formula [ e ' ] x+ [ s ' ] g= [ k ] G can be calculated, thereby obtaining s ' =k-e ' X.
S208: the stored first hash parameter value is modified to a second Ha Xican value and the first data is modified to a second data.
S208 in this embodiment is the same as S106 in this embodiment, and for brevity, detailed description will not be given here, and for detailed information, please refer to the description in this embodiment.
The above is a data processing method provided in the embodiments of the present application, where a first input value is determined according to a preset first hash function, a first hash parameter value, a public key and a preset elliptic curve function, the first input value is input to a second hash function, and a first function value is obtained by outputting the first input value; the difference value between the first parameter value and the first function value is determined to be a hash value corresponding to the first data, so that the data is modified by the private key and the public key generated by the elliptic curve function, and the data modification efficiency is improved.
It should be noted that, under the circumstance that a plurality of users participate in the management of data modification together, a secret sharing mode can be adopted to divide a key into a plurality of segments and distribute a plurality of users, when one of the plurality of users needs to modify data, the key is recovered by using the secret segments held by the plurality of users so as to modify the data according to the key, but at present, the key can be recovered by using the secret segments held by all the users, in this way, all the users must reach consensus to recover the key, the success probability of recovering the key is lower, and the data modification efficiency is lower.
Therefore, in order to further improve the data modification efficiency in the case of the multi-user co-participation in the data modification, another data processing method is proposed, and please refer to fig. 3, which is a flow chart of a data processing method according to another embodiment of the present application. As shown in fig. 3, the data processing method includes: S301-S311.
S301: and acquiring second data in response to receiving a modification instruction to the first data.
S302: in the case that there are a plurality of users participating in modifying data, a t-1 degree random polynomial is generated for the present user.
t can be a preset value according to actual requirements. The user needing to modify the data only needs to agree with t-1 other users, namely only needs to obtain the secret fragments of the private keys corresponding to t-1 other users, and the private keys can be recovered.
As an example, in the case where n users participate in the modified data management together, the i-th user a i (1. Ltoreq.i.ltoreq.n) generating a random sharing value a i0 And take a as i0 As a constant term, the remaining coefficients areRandom polynomial of degree t-1 is generated:
where q is a prime number and x is a variable of a t-1 degree random polynomial used to calculate the secret piece of the public-private key received by each user.
S303: and generating a secret fragment value corresponding to each user according to the t-1 degree random polynomial and the variable value corresponding to each user, wherein the variable value is the value of a variable in the t-1 degree random polynomial.
For example, if the number of all users is 10, that is, t=10, a 9-degree random polynomial is generated, a number may be allocated to each user in advance, where the number may be an integer from 1 to 10, and the number of each user is different, where the number is taken as the value of the variable x, that is, the value of x is set to be an integer from 1 to 10, and the values of the random polynomial corresponding to each user, that is, the secret piece value corresponding to each user, are respectively substituted into the 9-degree random polynomial.
S304: a respective secret segment value is sent to each user.
In one embodiment, the corresponding secret segment values may be sent to each user according to their number according to a number that is pre-configured by each user.
S305: and receiving the secret segment value sent by each user.
As an example, each user performs the steps S302-S304 such that each user receives one secret piece value transmitted by the other users, that is, each user stores a certain secret piece value of all users.
S306: and calculating the sum of the secret segment values corresponding to the user and the secret segment values sent by other users except the user to obtain the secret segment of the private key corresponding to the user.
In the embodiment of the application, the private key is a public key of a plurality of users.
In one embodiment, the secret piece f (i) of the private key corresponding to the present user can be calculated by the following formula:
where n is the number of all users, the user is the i-th user, f j (i) The above-mentioned secret piece value for the j-th user.
S307: and obtaining the secret segments of the private keys corresponding to each user, and calculating Lagrange interpolation based on the secret segments of the private keys corresponding to all the users to obtain the private keys.
It should be noted that secret sharing refers to dividing a secret into several different segments, and a complete secret can be recovered by only using a part of the segments. Secret sharing can be used for saving a secret key, the secret key is divided into a plurality of fragments and is managed by different users, even if a few fragments are lost, the users with the rest fragments can still recover to obtain the complete secret key, and meanwhile, the secret key cannot be revealed due to the leakage of the few fragments.
One common secret sharing scheme is Shamir secret sharing scheme: let the secret value to be shared be The number of users receiving the secret segments in the system is n, and S can be recovered by the secret segments of not less than t users (t is less than or equal to n), and the specific steps are as follows:
secret holding user structureRandom polynomial on->(taking secret S as constant term, other coefficients are in +.>Random generation), and transmitting a random polynomial f (k) to the 1 st receiving user which is not less than k and not more than n receiving users;
if the secret s needs to be recovered, no less than t users can be completed by a Lagrange interpolation method: t users are recordedThe value of the owned secret piece is (x i ,y i =f(x i ) (wherein 1.ltoreq.i.ltoreq.t), then there are:
it can be appreciated that, according to the Shamir secret sharing scheme, not less than t participating users can be knownThe public key can be recovered by the secret segment value f of the public key owned by the user.
As an example, the public-private key
S308: and performing double point operation on the private key and a generating element of a preset elliptic curve function to obtain a public key.
In the embodiment of the present application, the public key is a public key of a consensus of a plurality of users.
As an example, the private key will bePerforming multiple point operation with the generator G of the preset elliptic curve function to obtain a common public key ∈>
It should be noted that the public key and the public key are a private key and a public key that are commonly used by the plurality of users, and each user may modify the data by using the public key and the public key.
S309: the first hash parameter value is generated and stored based on a value randomly acquired in the target domain.
In this embodiment of the present application, the target field includes a variable value range corresponding to a preset elliptic curve function.
Step S309 in this embodiment is the same as step S103 in this embodiment, and for brevity, detailed description will not be given here, and for detailed information, please refer to the description in this embodiment.
S310: and determining a first input value according to a preset first hash function, a first hash parameter value, a public key and a preset elliptic curve function.
S311: and inputting the first input value into a second hash function, and outputting to obtain a first function value.
S312: a difference between the first parameter value and the first function value is determined as a hash value corresponding to the first data.
S308 to S310 in this embodiment are the same as S204 to S206 in the embodiment of the present application, and for brevity, reference is made to the description in the embodiment of the present application for details.
S313: using the hash value and the second data, a second Ha Xican value is generated.
In some embodiments of the present application, S313 specifically includes:
in the case that there are a plurality of users participating in modifying data, if the user is the ith user, randomly acquiring a sixth parameter value k on the target domain i Will sixth parameter value k i Carrying out elliptic curve multiple point operation with a generating element of a preset elliptic curve function to obtain an elliptic curve point coordinate K i ;
Receiving elliptic curve point coordinates transmitted by other users except the user;
based on elliptic curve point coordinates K i Calculating the Lagrangian difference value with elliptic curve point coordinates sent by other users to obtain a second input value K;
inputting the second input value into a second hash function, and outputting to obtain a second function value;
calculating the sum of the hash value and the second function value to obtain a fourth parameter value;
inputting the second data and the fourth parameter value into the first hash function, and outputting to obtain a third function value;
and generating a fifth parameter value according to the private key, the third parameter value and the third function value.
As an example, at the ginsengIn the case of a plurality of users modifying the data, if the user is the ith user, generating a sixth parameter valueWill sixth parameter value k i Carrying out elliptic curve multiple point operation with a generator G of a preset elliptic curve function to obtain elliptic curve point coordinates K i =[k i ]G。
In this embodiment of the present application, the present user receives coordinates of elliptic curve points sent by other users, and calculates a lagrangian difference value by using the same lagrangian interpolation method as that in the Shamir secret sharing scheme, so as to obtain the second input value K described above:
Inputting the third parameter value K into the second hash function H 2 Outputting to obtain a second function value, i.e. calculating H 2 (K) Calculate the sum H of the hash value C and the second function value 2 (K) Obtaining a fourth parameter value r' =c+h 2 (K)。
As an example, the second data m 'and the fourth parameter value r' are input to the first hash function H 1 Outputting to obtain a third function value e' =H 1 (m′,r′)。
In some embodiments of the present application, generating the fifth parameter value according to the private key, the third parameter value, and the third function value specifically includes:
receiving the secret fragments sent by other users, and calculating the sum of the values of the secret fragments of all the users to obtain the secret fragments of the private key;
generating a fifth parameter value segment based on the sixth parameter value, the third function value, and the secret segment of the private key;
and receiving fifth parameter value fragments corresponding to other users and sent by other users, and calculating the Lagrange difference value based on the fifth parameter value fragments corresponding to all the users to obtain a fifth parameter value.
As an example, each user gives all users a 1 ,…,A n Respectively transmitting the secret fragments f i (1),…,f i (n) and summing all secret segment values received by oneself to obtainAs a secret piece of the public-private key owned by the user.
Based on the sixth parameter value k i A third function value e' and a secret segment f (i) of the private key, a fifth parameter value segment s is generated i =k i -e′f(i)。
In order to modify m to m' without changing hash value C, k needs to be introduced i The original r and s are replaced by r ' and s ', and [ e ] ']X+[s i ]G=[k i ]G, thereby obtaining s i =k i -e′f(i)。
Receiving fifth parameter value fragments corresponding to other users and sent by other users, and calculating a Lagrange difference value based on the fifth parameter value fragments corresponding to all the users to obtain a fifth parameter value s':
s314: the stored first hash parameter value is modified to a second Ha Xican value and the first data is modified to a second data.
Step S314 in this embodiment is the same as step S106 in the embodiments of the present application, and for brevity, detailed description will not be provided here.
The data processing method provided by the embodiment of the application generates n t-1 times random polynomials based on the private key of the user under the condition that a plurality of users participating in modifying data are provided, so as to obtain n secret fragments of the private key of the user, and sends one secret fragment to each user; receiving a secret segment sent by each user; calculating the sum of constant items corresponding to the secret fragments of the user and constant items corresponding to the secret fragments sent by other users except the user to obtain a private key; and performing double point operation on the private key and the generating element of the preset elliptic curve function to obtain the public key, so that a user modifying the data only needs to agree with t-1 other users, namely only needs to obtain secret fragments of t-1 other users, and the key can be recovered, thereby modifying the data without agreeing with all the users, and effectively improving the data modifying efficiency.
Based on the data processing method provided by the above embodiment, a specific implementation of the data processing apparatus provided by the embodiment of the present application will be described with reference to fig. 4.
Referring to fig. 4, which is a schematic structural diagram of a data processing apparatus according to an embodiment of the present application, the data processing apparatus 400 includes:
a first obtaining module 401, configured to obtain second data in response to receiving a modification instruction for the first data;
a second obtaining module 402, configured to obtain a private key and a public key corresponding to the private key based on a preset elliptic curve function;
a first generating module 403, configured to generate and store a first hash parameter value based on a value randomly acquired in a target domain, where the target domain includes a variable value range corresponding to a preset elliptic curve function;
a second generating module 404, configured to generate a hash value corresponding to the first data according to the first hash parameter value, the public key and a preset elliptic curve function;
a third generating module 405, configured to generate a second Ha Xican value using the hash value and the second data;
a modifying module 406, configured to modify the stored first hash parameter value to a second Ha Xican value, and modify the first data to a second data, where the second hash parameter value is used to verify the validity of the second data.
According to the training device for the bearing fault diagnosis model, the chameleon hash function is constructed through the elliptic curve, the private key and the public key are calculated through the elliptic curve function, and the complexity of the public key obtained through calculation through the elliptic curve function is higher than that of the public key generated based on the discrete logarithm problem of the finite field, namely the difficulty of cracking the private key through the public key is different, so that the length of the secret key obtained through calculation through the elliptic curve function is shorter than that of the secret key generated based on the discrete logarithm problem of the finite field under the condition of the same security level, the fact that the private key and the public key which are shorter in length are generated under the premise of ensuring the security is achieved, the chameleon hash function is solved through the shorter private key and the public key, and accordingly data to be modified is modified, and the efficiency of modifying the data is effectively improved.
As an implementation manner of the present application, to further improve efficiency of modifying data, the second generating module 404 may further include:
the first determining submodule is used for determining a first input value according to a preset first hash function, a first hash parameter value, a public key and a preset elliptic curve function, and the first hash function can map data except for a target domain into the target domain;
The first output sub-module is used for inputting the first input value into the second hash function and outputting to obtain a first function value;
and a second determining sub-module for determining a difference between the first parameter value and the first function value as a hash value corresponding to the first data.
As an implementation manner of the present application, the first determining submodule is specifically configured to: performing elliptic curve multiple point operation on the first hash function and the public key to obtain a first intermediate parameter value; performing elliptic curve multiple point operation on the second parameter value and a generating element of a preset elliptic curve function to obtain a second intermediate parameter value; the result of summing the first intermediate parameter value and the second intermediate parameter value is used as a first input value.
As an implementation manner of the present application, the second generating module 404 may further include:
and the construction submodule is used for constructing and obtaining the first hash function by taking the first parameter value and the first data as the parameter value of the first hash function.
As an implementation manner of the present application, in order to further improve efficiency of modifying data, the third generating module 405 may further include:
a first generation sub-module for generating a third parameter value based on values randomly acquired over the target domain;
The first operation sub-module is used for carrying out elliptic curve multiple point operation on the third parameter value and a generating element of a preset elliptic curve function to obtain a second input value;
the second output sub-module is used for inputting a second input value into a second hash function and outputting to obtain a second function value;
a second computing sub-module, configured to compute a sum of the hash value and the second function value to obtain a fourth parameter value;
the third output sub-module is used for inputting the second data and the fourth parameter value into the first hash function and outputting to obtain a third function value;
and the second generation submodule is used for generating a fifth parameter value according to the private key, the third parameter value and the third function value.
As an implementation manner of the present application, the second obtaining module 402 may further include:
the third generation sub-module is used for generating a t-1 degree random polynomial for the user under the condition that a plurality of users participating in modifying data exist;
the fourth generation sub-module is used for generating a secret fragment value corresponding to each user according to the t-1 degree random polynomial and the variable value corresponding to each user, wherein the variable value is the value of a variable in the t-1 degree random polynomial;
a transmitting sub-module for transmitting the corresponding secret segment value to each user;
The receiving sub-module is used for receiving the secret fragment value sent by each user;
the second computing sub-module is used for computing the sum of the secret segment values corresponding to the user and the secret segment values sent by other users except the user to obtain the secret segment of the private key corresponding to the user, wherein the private key is the consensus private key of a plurality of users;
the third computing sub-module is used for obtaining the secret segments of the private keys corresponding to all users, and computing Lagrange interpolation based on the secret segments of the private keys corresponding to all users to obtain the private keys;
and the second operation sub-module is used for performing multiple point operation on the private key and the generating element of the preset elliptic curve function to obtain a public key, wherein the public key is a public key common to a plurality of users.
As an implementation manner of the present application, the first generating sub-module is specifically configured to: under the condition that a plurality of users participating in modifying data are involved, randomly acquiring a sixth parameter value on a target domain, and carrying out elliptic curve point doubling operation on the sixth parameter value and a generating element of a preset elliptic curve function to obtain an elliptic curve point coordinate K; receiving elliptic curve point coordinates transmitted by other users except the user; and calculating the Lagrange difference value based on the elliptic curve point coordinates K and elliptic curve point coordinates sent by other users to obtain a third parameter value.
As an implementation manner of the present application, the second generating submodule is specifically further configured to: receiving the secret fragments sent by other users, and calculating the sum of the values of the secret fragments of all the users to obtain the secret fragments of the private key; generating a fifth parameter value segment based on the sixth parameter value, the third function value, and the secret segment of the private key; and receiving fifth parameter value fragments corresponding to other users and sent by other users, and calculating the Lagrange difference value based on the fifth parameter value fragments corresponding to all the users to obtain a fifth parameter value.
Fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
The electronic device 500 may include a processor 501 and a memory 502 storing computer program instructions.
In particular, the processor 501 may include a Central Processing Unit (CPU), or an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or may be configured to implement one or more integrated circuits of embodiments of the present application.
Memory 502 may include mass storage for data or instructions. By way of example, and not limitation, memory 502 may comprise a Hard Disk Drive (HDD), floppy Disk Drive, flash memory, optical Disk, magneto-optical Disk, magnetic tape, or universal serial bus (Universal Serial Bus, USB) Drive, or a combination of two or more of the foregoing. Memory 502 may include removable or non-removable (or fixed) media, where appropriate. Memory 502 may be internal or external to the integrated gateway disaster recovery device, where appropriate. In a particular embodiment, the memory 502 is a non-volatile solid state memory. Memory 502 may include Read Only Memory (ROM), random Access Memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible memory storage devices. Thus, in general, memory 502 includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software comprising computer-executable instructions and which, when executed (e.g., by one or more processors), perform the operations described by any of the data processing methods of the above-described embodiments.
The processor 501 implements any one of the data processing methods of the above embodiments by reading and executing computer program instructions stored in the memory 502.
In one example, the electronic device 500500 can also include a communication interface 503 and a bus 510. As shown in fig. 5, the processor 501, the memory 502, and the communication interface 503 are connected to each other by a bus 510 and perform communication with each other.
The communication interface 503 is mainly used to implement communication between each module, apparatus, unit and/or device in the embodiments of the present application.
Bus 510 includes hardware, software, or both that couple the components of the online data flow billing device to each other. By way of example, and not limitation, the buses may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an infiniband interconnect, a Low Pin Count (LPC) bus, a memory bus, a micro channel architecture (MCa) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a video electronics standards association local (VLB) bus, or other suitable bus, or a combination of two or more of the above. Bus 510 may include one or more buses, where appropriate. Although embodiments of the present application describe and illustrate a particular bus, the present application contemplates any suitable bus or interconnect.
In addition, in combination with the data processing method in the above embodiment, the embodiment of the application may be implemented by providing a computer storage medium. The computer storage medium has stored thereon computer program instructions; which when executed by a processor, implement any of the data processing methods of the above embodiments.
It should be clear that the present application is not limited to the particular arrangements and processes described above and illustrated in the drawings. For the sake of brevity, a detailed description of known methods is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method processes of the present application are not limited to the specific steps described and illustrated, and those skilled in the art can make various changes, modifications, and additions, or change the order between steps, after appreciating the spirit of the present application.
The functional blocks shown in the above-described structural block diagrams may be implemented in hardware, software, firmware, or a combination thereof. When implemented in hardware, it may be, for example, an electronic circuit, an Application Specific Integrated Circuit (ASIC), suitable firmware, a plug-in, a function card, or the like. When implemented in software, the elements of the present application are the programs or code segments used to perform the required tasks. The program or code segments may be stored in a machine readable medium or transmitted over transmission media or communication links by a data signal carried in a carrier wave. A "machine-readable medium" may include any medium that can store or transfer information. Examples of machine-readable media include electronic circuitry, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio Frequency (RF) links, and the like. The code segments may be downloaded via computer networks such as the internet, intranets, etc.
It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, the present application is not limited to the order of the above-described steps, that is, the steps may be performed in the order mentioned in the embodiments, may be different from the order in the embodiments, or several steps may be performed simultaneously.
Aspects of the present application are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions/acts specified in the flowchart and/or block diagram block or blocks. Such a processor may be, but is not limited to being, a general purpose processor, a special purpose processor, an application specific processor, or a field programmable logic circuit. It will also be understood that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware which performs the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In the foregoing, only the specific embodiments of the present application are described, and it will be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the systems, modules and units described above may refer to the corresponding processes in the foregoing method embodiments, which are not repeated herein. It should be understood that the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive various equivalent modifications or substitutions within the technical scope of the present application, which are intended to be included in the scope of the present application.
Claims (11)
1. A method of data processing, comprising:
acquiring second data in response to receiving a modification instruction to the first data;
acquiring a private key and a public key corresponding to the private key based on a preset elliptic curve function;
generating and storing a first hash parameter value based on a value randomly acquired in a target domain, wherein the target domain comprises a variable value range corresponding to the preset elliptic curve function;
generating a hash value corresponding to the first data according to the first hash parameter value, the public key and the preset elliptic curve function;
generating a second Ha Xican value using the hash value and the second data;
Modifying the stored first hash parameter value to the second Ha Xican value and modifying the first data to second data, the second hash parameter value being used to verify the validity of the second data.
2. The data processing method of claim 1, wherein the first hash parameter value comprises a first parameter value;
the generating a hash value corresponding to the first data according to the first hash parameter value, the public key and the preset elliptic curve function includes:
determining a first input value according to a preset first hash function, the first hash parameter value, the public key and the preset elliptic curve function, wherein the first hash function can map data except the target domain into the target domain;
inputting the first input value into a second hash function, and outputting to obtain a first function value;
a difference between the first parameter value and the first function value is determined as a hash value corresponding to the first data.
3. The data processing method of claim 2, wherein the first hash parameter value further comprises a second parameter value;
The determining a first input value according to a preset first hash function, the first hash parameter value, the public key and the preset elliptic curve function includes:
performing elliptic curve point doubling operation on the first hash function and the public key to obtain a first intermediate parameter value;
performing elliptic curve multiple point operation on the second parameter value and a generating element of a preset elliptic curve function to obtain a second intermediate parameter value;
and taking a result obtained by summing the first intermediate parameter value and the second intermediate parameter value as a first input value.
4. A data processing method according to claim 2 or 3, characterized in that before determining the first input value from a preset first hash function, the first hash parameter value, the public key and the preset elliptic curve function, it further comprises:
and constructing the first hash function by taking the first parameter value and the first data as parameter values of the first hash function.
5. The data processing method according to claim 2, wherein the second hash parameter value includes a fourth parameter value and a fifth parameter value;
the generating a second Ha Xican value using the hash value and the second data includes:
Generating a third parameter value based on values randomly acquired over the target domain;
performing elliptic curve multiple point operation on the third parameter value and a generating element of the preset elliptic curve function to obtain a second input value;
inputting the second input value into a second hash function, and outputting to obtain a second function value;
calculating the sum of the hash value and the second function value to obtain the fourth parameter value;
inputting the second data and the fourth parameter value into the first hash function, and outputting to obtain a third function value;
and generating the fifth parameter value according to the private key, the third parameter value and the third function value.
6. The method for processing data according to claim 1, wherein the obtaining the private key and the public key corresponding thereto based on the preset elliptic curve function includes:
generating a t-1 degree random polynomial for the user under the condition that a plurality of users participating in modifying data exist;
generating a secret segment value corresponding to each user according to the t-1 degree random polynomial and a variable value corresponding to each user, wherein the variable value is the value of a variable in the t-1 degree random polynomial;
transmitting a respective secret segment value to each user;
Receiving a secret fragment value sent by each user;
calculating the sum of the secret segment values corresponding to the user and the secret segment values sent by other users except the user to obtain the secret segment of the private key corresponding to the user, wherein the private key is a consensus private key of a plurality of users;
obtaining a secret segment of the private key corresponding to each user, and calculating Lagrange interpolation based on the secret segments of the private keys corresponding to all users to obtain the private key;
and performing multiple point operation on the private key and a generating element of a preset elliptic curve function to obtain the public key, wherein the public key is a public key of common knowledge of a plurality of users.
7. The method of claim 5, wherein performing elliptic curve point-doubling operations on the third parameter value and the generator of the preset elliptic curve function to obtain a second input value includes:
under the condition that a plurality of users participating in modifying data exist, randomly acquiring a sixth parameter value on the target domain, and carrying out elliptic curve point doubling operation on the sixth parameter value and a generating element of a preset elliptic curve function to obtain elliptic curve point coordinates;
receiving elliptic curve point coordinates transmitted by other users except the user;
And calculating a Lagrange difference value based on the elliptic curve point coordinates and the elliptic curve point coordinates sent by the other users to obtain the second input value.
8. The data processing method of claim 7, wherein the generating the fifth parameter value based on the private key, the third parameter value, and the third function value comprises:
receiving the secret fragments sent by other users, and calculating the sum of the secret fragment values of all the users to obtain the secret fragments of the private key;
generating a fifth parameter value segment based on the sixth parameter value, the third function value, and a secret segment of the private key;
and receiving fifth parameter value fragments corresponding to other users and sent by other users, and calculating the Lagrange difference value based on the fifth parameter value fragments corresponding to all the users to obtain the fifth parameter value.
9. A data processing apparatus, comprising:
the first acquisition module is used for responding to the received modification instruction of the first data to acquire second data;
the second acquisition module is used for acquiring the private key and the public key corresponding to the private key based on a preset elliptic curve function;
the first generation module is used for generating and storing a first hash parameter value based on a value randomly acquired in a target domain, wherein the target domain comprises a variable value range corresponding to the preset elliptic curve function;
The second generation module is used for generating a hash value corresponding to the first data according to the first hash parameter value, the public key and the preset elliptic curve function;
a third generation module, configured to generate a second Ha Xican numerical value by using the hash value and the second data;
and the modifying module is used for modifying the stored first hash parameter value into the second Ha Xican numerical value and modifying the first data into second data, and the second hash parameter value is used for verifying the validity of the second data.
10. An electronic device, the device comprising: a processor and a memory storing computer program instructions;
the processor, when executing the computer program instructions, implements a data processing method as claimed in any one of claims 1-8.
11. A computer-readable storage medium, on which computer program instructions are stored which, when executed by a processor, implement a data processing method according to any of claims 1-8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311458488.8A CN117579279A (en) | 2023-11-03 | 2023-11-03 | Data processing method, device, equipment and computer storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311458488.8A CN117579279A (en) | 2023-11-03 | 2023-11-03 | Data processing method, device, equipment and computer storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117579279A true CN117579279A (en) | 2024-02-20 |
Family
ID=89894554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311458488.8A Pending CN117579279A (en) | 2023-11-03 | 2023-11-03 | Data processing method, device, equipment and computer storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117579279A (en) |
-
2023
- 2023-11-03 CN CN202311458488.8A patent/CN117579279A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108370317B (en) | Adding privacy to standard credentials | |
CN111598254A (en) | Federal learning modeling method, device and readable storage medium | |
US20160182226A1 (en) | Information processing method, recording medium, and information processing apparatus | |
CN103259662B (en) | A kind of new allograph based on Integer Decomposition problem and verification method | |
CN104937537A (en) | Cryptographic method comprising multiplication with a scalar or exponentiation | |
CN101877639B (en) | Information processing apparatus, key update method, and program | |
US10721056B2 (en) | Key processing method and device | |
CN115982747B (en) | Secure multiparty multiplication method based on communication between participant and trusted third party | |
CN114338028A (en) | Threshold signature method and device, electronic equipment and readable storage medium | |
CN116150810B (en) | Vector element pre-aggregation method, electronic device and computer readable storage medium | |
CN112865973A (en) | Method for generating encryption key and digital signature based on lattice | |
CN107896142B (en) | Method and device for executing modular exponentiation and computer readable storage medium | |
US10425227B2 (en) | Computer-readable recording medium, shared key generation method, and information processing terminal | |
CN110602190B (en) | Block chain consensus method, block chain node and storage device | |
CN113989036B (en) | Federal learning prediction method and system without exposure of model-entering variable | |
CN116561787A (en) | Training method and device for visual image classification model and electronic equipment | |
CN116070272A (en) | Biological feature matching method, terminal equipment, server, system and medium | |
CN108347334B (en) | Method for generating a cryptographic key pair | |
CN109981250B (en) | SM4 encryption and key expansion method, device, equipment and medium | |
CN117579279A (en) | Data processing method, device, equipment and computer storage medium | |
CN115987512A (en) | Data processing method, device, system and medium based on oblivious transmission protocol | |
CN111740821A (en) | Method and device for establishing shared secret key | |
US20220385954A1 (en) | Embedding information in elliptic curve base point | |
CN114398662B (en) | Privacy protection machine learning reasoning method and system based on secure multiparty calculation | |
CN114640463A (en) | Digital signature method, computer equipment and medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |