Information processing method, result determination method and device
By generating public and private keys using elliptic curve cryptography and combining them with decryption and blinding processes, the problem of high information transmission overhead in stealth querying is solved, thus achieving stealth querying and information security protection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING WODONG TIANJUN INFORMATION TECH CO LTD
- Filing Date
- 2024-11-19
- Publication Date
- 2026-05-19
AI Technical Summary
Existing anonymous query technologies incur excessive overhead during information transmission, making it difficult to effectively protect the privacy and security of both data queryers and data service providers.
Elliptic curve cryptography is used to generate the public and private keys of the account. Anonymous query is achieved through decryption and blinding. The information provider uses the private key of the alternative account to decrypt the query request and generate the blinded result. The information queryer uses the public key of the target account to parse the query result, ensuring that only the information of the target account is correctly obtained.
Anonymous queries are achieved, reducing overhead during information transmission and ensuring that the querying party can only obtain information about the target account, while the data service provider cannot know the key information of the query object.
Smart Images

Figure CN122069044A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer technology, and in particular to an information processing method, a result determination method, and an apparatus. Background Technology
[0002] To address security concerns, anonymous query technology is used during information transmission. Anonymous query technology needs to protect both the anonymity of the querying party and the data security of the data service provider. During anonymous queries, the querying party hides key information about the queried object, while the data service provider can provide matching query results without knowing the specific queried object, thus reducing the possibility of data leakage or data trafficking.
[0003] Current technologies often employ hybrid networks to achieve anonymous lookup. However, hybrid network encryption requires setting up multiple relay nodes, resulting in excessive overhead for information transmission. Summary of the Invention
[0004] In view of this, embodiments of the present invention provide an information processing method, a result determination method, and an apparatus that can achieve anonymous querying and reduce information transmission overhead.
[0005] In a first aspect, embodiments of the present invention provide an information processing method, applied to an information provider, comprising:
[0006] Receive a query request sent by the information querying party and determine the account encryption information in the query request; wherein, the account encryption information is generated by the information querying party encrypting the target value using the public key of the target account;
[0007] Identify multiple alternative accounts; among these alternative accounts is the target account.
[0008] For each candidate account, the encrypted information of the account is decrypted using the private key of the candidate account to obtain the decryption value corresponding to the candidate account; the query results of the query request corresponding to the candidate account are obtained; the query results are blinded using the decryption value to generate the blinded result corresponding to the candidate account.
[0009] The blinded results corresponding to multiple candidate accounts are returned to the information queryer.
[0010] Optionally, before receiving the query request sent by the information querying party, the method further includes:
[0011] Generate the private and public keys for each candidate account;
[0012] Send the public keys of each alternative account to the information queryer.
[0013] Optionally, generate private and public keys for each candidate account, including:
[0014] After consultation with the information querying party, the elliptic curve parameters and target base points corresponding to the alternative accounts were determined; wherein, the target base point is the base point of the elliptic curve defined by the elliptic curve parameters.
[0015] Determine the target integer, and use the target integer as the private key corresponding to the candidate account;
[0016] Perform scalar multiplication on the target base point and the target integer to generate the public key corresponding to the candidate account.
[0017] Secondly, embodiments of the present invention provide a result determination method, applied to an information query party, including:
[0018] Determine the public key of the target account, and use the public key to encrypt the target value to generate encrypted account information;
[0019] Send a query request containing encrypted account information to the information provider;
[0020] The blinding results for multiple alternative accounts returned by the information provider;
[0021] The target value is used to analyze and process each blinding result;
[0022] The query result corresponding to the target account is determined from the parsing results corresponding to multiple blinded results.
[0023] Optionally, before determining the public key of the target account, the following steps are also included:
[0024] After consultation with the information provider, the elliptic curve parameters and target base points corresponding to the alternative accounts were determined; wherein, the target base point is the base point of the elliptic curve defined by the elliptic curve parameters.
[0025] Receive the public key of the alternative account sent by the information provider.
[0026] Optionally, the query result corresponding to the target account can be determined from the parsing results corresponding to multiple blinding results, including:
[0027] The current parsing result is determined from the parsing results corresponding to multiple blinding results;
[0028] If the current parsing result matches the preset format, the current parsing result is determined to be the query result corresponding to the target account;
[0029] If the current parsing result does not conform to the preset format, the next parsing result will be determined as the current parsing result until the current parsing result conforms to the preset format, at which point the current parsing result will be determined as the query result corresponding to the target account.
[0030] Thirdly, embodiments of the present invention provide an information processing apparatus, applied to an information provider, comprising:
[0031] The request receiving module is used to receive query requests sent by the information querying party and determine the account encryption information in the query request; wherein, the account encryption information is generated by the information querying party encrypting the target value using the public key of the target account;
[0032] The account identification module is used to identify multiple candidate accounts, including the target account.
[0033] The blinding module is used to decrypt the encrypted information of each candidate account using the private key of the candidate account to obtain the decrypted value corresponding to the candidate account; obtain the query results of the query request corresponding to the candidate account; and use the decrypted value to blind the query results to generate the blinded result corresponding to the candidate account.
[0034] The results return module is used to return the blinded results corresponding to multiple candidate accounts to the information queryer.
[0035] Fourthly, embodiments of the present invention provide a result determination device, applied to an information querying party, comprising:
[0036] The account determination module is used to determine the public key of the target account and use the public key of the target account to encrypt the target value to generate encrypted account information.
[0037] The request sending module is used to send query requests containing encrypted account information to the information provider;
[0038] The result receiving module is used to receive the blinding results corresponding to multiple alternative accounts returned by the information provider;
[0039] The parsing module is used to analyze and process the blinding results using the target value;
[0040] The result determination module is used to determine the query result corresponding to the target account from the parsing results corresponding to multiple blinded results.
[0041] Fifthly, embodiments of the present invention provide an electronic device, comprising:
[0042] One or more processors;
[0043] A storage device for storing one or more programs that, when executed by one or more processors, cause the one or more processors to implement the methods of any of the above embodiments.
[0044] In a sixth aspect, embodiments of the present invention provide a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the method of any of the above embodiments.
[0045] In a seventh aspect, embodiments of the present invention provide a computer program product, including a computer program, wherein the computer program, when executed by a processor, implements the method of any of the above embodiments.
[0046] One embodiment of the above invention has the following advantages or beneficial effects: The information provider receives a query request sent by the information querying party, the query request containing encrypted account information. The encrypted account information is decrypted using the private key of each candidate account to obtain the decrypted value corresponding to the candidate account; the query results corresponding to the query requests of the candidate accounts are obtained; using the decrypted values, the query results are blinded to generate blinded results corresponding to the candidate accounts. The information querying party uses the target value to parse the blinded results corresponding to each candidate account.
[0047] The encrypted account information is generated by the information querying party encrypting the target value using the target account's public key. For the target account, the information provider uses the target account's private key to obtain the decrypted value as the target value; using the target value, they obtain the blinded result corresponding to the target account. The information querying party can then correctly parse the query information corresponding to this blinded result using the target value.
[0048] For other accounts, the information provider uses the private key of those accounts to obtain a decrypted value that is not the target value. Using this decrypted value, they obtain the blinded result for each of the other accounts. Because the decrypted value is not the target value, the information queryer cannot correctly parse the query information corresponding to this blinded result using the target value.
[0049] Therefore, the information querying party can only correctly parse the query information corresponding to the target account, but cannot obtain the query information corresponding to other accounts. The information provider also cannot know which account the information querying party queried, or the key information of the target account. The solution of this invention can achieve anonymous querying and reduce the overhead during information transmission.
[0050] The further effects of the aforementioned unconventional alternative methods will be explained below in conjunction with specific implementation methods. Attached Figure Description
[0051] The accompanying drawings are provided to better understand the invention and are not intended to unduly limit the scope of the invention. Wherein:
[0052] Figure 1 This is a schematic diagram of the flow of an information processing method provided in an embodiment of the present invention;
[0053] Figure 2This is a schematic diagram of the flow of a result determination method provided in an embodiment of the present invention;
[0054] Figure 3 This is a schematic diagram of the flow of an information transmission method provided in an embodiment of the present invention;
[0055] Figure 4 This is a schematic diagram of the flow of an information transmission method provided in another embodiment of the present invention;
[0056] Figure 5 This is a schematic diagram of the structure of an information processing apparatus provided in one embodiment of the present invention;
[0057] Figure 6 This is a schematic diagram of the structure of a result determination device provided in one embodiment of the present invention;
[0058] Figure 7 This is a schematic diagram of the structure of a computer system suitable for implementing terminal devices or servers of the present invention. Detailed Implementation
[0059] The following description, in conjunction with the accompanying drawings, illustrates exemplary embodiments of the present invention, including various details to aid understanding. These details should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the invention. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0060] It should be noted that the acquisition, storage, use, and processing of data in the technical solutions of this invention comply with the relevant provisions of national laws and regulations.
[0061] Figure 1 This is a schematic diagram of the flow of an information processing method provided in one embodiment of the present invention, applied to an information provider. For example... Figure 1 As shown, the method includes:
[0062] Step 101: Receive the query request sent by the information querying party and determine the account encryption information in the query request; wherein, the account encryption information is generated by the information querying party encrypting the target value using the public key of the target account.
[0063] The target account is the account from which the information seeker wants to obtain relevant information. The information seeker uses the target account's public key to encrypt the target value, generating encrypted account information, and sends this encrypted account information to the information provider. The information provider stores relevant information and private keys for each alternative account.
[0064] In one embodiment of the present invention, before receiving a query request sent by the information querying party, the method further includes: generating private keys and public keys for each candidate account; and sending the public keys of each candidate account to the information querying party. The private keys of each candidate account are stored in the information querying party, and the public keys of each candidate account are stored in the information provider, enabling subsequent processes such as generating encrypted account information, blinding processing, and parsing processing to proceed smoothly.
[0065] Step 102: Identify multiple candidate accounts; among these, the target account is included.
[0066] Step 103: For each candidate account, use the private key of the candidate account to decrypt the encrypted information of the account to obtain the decrypted value corresponding to the candidate account.
[0067] For the target account, the information provider uses the target account's private key to decrypt the encrypted account information, obtaining the target value. For other accounts, the information provider uses the other account's private key to decrypt the encrypted account information, obtaining a different value.
[0068] Step 104: Obtain the query results of the query request corresponding to the candidate account; use the decrypted value to perform blinding processing on the query results and generate blinded results corresponding to the candidate account.
[0069] The blinding process should use reversible operations, that is, the blinding result can be restored to the query result using the decrypted value.
[0070] Step 105: Return the blinding results corresponding to multiple candidate accounts to the information query party.
[0071] After receiving blinded results for multiple candidate accounts, the information querying party parses each blinded result using the target value. Only the blinded result corresponding to the target account can be correctly parsed to obtain the query result for the target account.
[0072] In this embodiment of the invention, the account encryption information is generated by the information querying party encrypting the target value using the public key of the target account. For the target account, the information provider uses the private key of the target account to obtain the decrypted value as the target value; using the target value, the blinding result corresponding to the target account is obtained. The information querying party can correctly parse the query information corresponding to the blinding result using the target value.
[0073] For other accounts, the information provider uses the private key of those accounts to obtain a decrypted value that is not the target value. Using this decrypted value, they obtain the blinded result for each of the other accounts. Because the decrypted value is not the target value, the information queryer cannot correctly parse the query information corresponding to this blinded result using the target value.
[0074] Therefore, the information querying party can only correctly parse the query information corresponding to the target account, but cannot obtain the query information corresponding to other accounts. The information provider also cannot know the target account queried by the information querying party, or the key information of the target account. The solution of this invention can achieve anonymous querying and reduce the overhead during information transmission.
[0075] In one embodiment of the present invention, generating the private key and public key of each candidate account includes: determining the elliptic curve parameters and target base point corresponding to the candidate account through negotiation with the information query party; wherein, the target base point is the base point of the elliptic curve defined by the elliptic curve parameters; determining the target integer and setting the target integer as the private key corresponding to the candidate account; and performing a scalar multiplication operation on the target base point and the target integer to generate the public key corresponding to the candidate account.
[0076] This invention provides a key generation method based on elliptic curve cryptography. Elliptic curves possess the ECDLP (Elliptic Curve Discrete Logarithm Problem) property. The ECDLP is currently considered an extremely difficult mathematical problem, thus forming the security foundation of elliptic curve cryptography.
[0077] Based on the ECC (Elliptic Curve Cryptography) algorithm, a scalar multiplication operation is performed on the target base point of the elliptic curve using the private key, and the result is used as the public key for the encryption process. Furthermore, the ECC algorithm can also be used for encrypting random integers during subsequent unintended transmissions. The key generation method proposed in this invention is as follows:
[0078] The key is generated based on scalar multiplication. First, the information provider and the information queryer negotiate and select an elliptic curve and a target base point G. Taking the elliptic curve parameters a=3, b=2, p=7 as an example, the elliptic curve is then:
[0079]
[0080] At this point, one possible target base point G is:
[0081]
[0082] Choose a random integer of a specified length as the private key d for the encryption process. Then, using a scalar multiplication algorithm under the elliptic curve, generate the public key Q for the encryption process from the private key d, satisfying the following:
[0083] (Formula 1)
[0084] After the information provider and the information queryer negotiate and determine the elliptic curve parameters and target base point G corresponding to the candidate account, they determine the target integer and assign it as the private key d corresponding to the candidate account. Using the above formula (1), a scalar multiplication operation is performed on the target base point G and the target integer d to generate the public key Q corresponding to the candidate account. Due to the ECDLP property of the elliptic curve, it is very difficult to determine the private key when the public key and the target base point are known.
[0085] Taking a=3, b=2, p=7, and private key d=2 as an example, the public key Q is calculated as follows:
[0086]
[0087] in, These are intermediate results from the calculation, used to calculate y3 and x3. y3 and x3 are the x and y coordinates of the public key Q, respectively.
[0088] For the private and public keys obtained using the above method, this embodiment of the invention also provides an encryption method and a corresponding decryption method. The encryption process steps are as follows: Select a random number r; use the random number r to generate ciphertext C from the original data M. Ciphertext C is a dot pair, and C can be represented as... The formula for calculating ciphertext C is as follows:
[0089] (Formula 2)
[0090] With random numbers The original data is For example, the ciphertext C can be obtained as follows:
[0091]
[0092] The decryption process is as follows: Subtract the two points in C using an elliptic curve method, as shown below, to reconstruct the original data M. The calculation formula is as follows:
[0093] (Formula 3)
[0094] Figure 2 This is a schematic diagram of a result determination method provided in another embodiment of the present invention, applied to an information query party. For example... Figure 2 As shown, the method includes:
[0095] Step 201: Determine the public key of the target account, and use the public key of the target account to encrypt the target value to generate encrypted account information.
[0096] The target value can be a randomly generated integer. The information queryer uses the public key of the target account to encrypt the target value, generating encrypted account information. This encryption process is reversible, meaning the information provider can use the private key of the target account to decrypt the encrypted account information and generate the target value.
[0097] Step 202: Send a query request containing encrypted account information to the information provider.
[0098] Step 203: Receive the blinding results corresponding to multiple alternative accounts returned by the information provider.
[0099] The information provider identifies multiple candidate accounts, including the target account. The information provider uses the private key of each candidate account to decrypt the encrypted account information, obtaining the decrypted value corresponding to that candidate account; it then retrieves the query results for the corresponding candidate account; using the decrypted value, it performs blinding processing on the query results, generating blinded results corresponding to the candidate accounts.
[0100] Step 204: Use the target value to analyze and process each blinding result.
[0101] Blinding should utilize reversible operations, while parsing is the inverse operation of blinding. Therefore, only when the decrypted value equals the target value can the information querier correctly parse the query result.
[0102] In one embodiment of the present invention, both the blinding process and the parsing process are XOR operations. The information provider performs an XOR operation on the query result of the candidate account and the decrypted value to generate the blinding result corresponding to the candidate account. The information querying party performs an XOR operation on the blinding result corresponding to the candidate account and the target value to generate the parsing result corresponding to the candidate account.
[0103] Step 205: Determine the query result corresponding to the target account from the parsing results corresponding to multiple blinding results.
[0104] For the target account, the information queryer uses the target account's public key to encrypt the target value, obtaining the encrypted account information. The information provider uses the target account's private key to decrypt the encrypted account information, obtaining a decrypted value equal to the target value. Therefore, the blinded result corresponding to the target account can be correctly parsed, yielding the query result for the target account.
[0105] For other accounts, the information provider uses the private key of those accounts to decrypt the encrypted information, but the resulting decrypted values are not equal to the target value. Therefore, the blinding results for other accounts cannot be correctly parsed.
[0106] Since only the blinded results corresponding to the target account can be correctly parsed, the correctly parsed results are selected as the query results for the target account. Correctly parsed results are displayed correctly, conform to the preset format, and are not garbled text.
[0107] In one embodiment of the present invention, determining the query result corresponding to the target account from the parsing results corresponding to multiple blinding results includes: determining the current parsing result from the parsing results corresponding to multiple blinding results; determining the current parsing result as the query result corresponding to the target account in response to the current parsing result conforming to a preset format; determining the next parsing result of the current parsing result as the current parsing result in response to the current parsing result not conforming to the preset format, until the current parsing result conforms to the preset format, and determining the current parsing result as the query result corresponding to the target account.
[0108] The first parsing result among multiple blinded results is designated as the current parsing result. It is then determined whether the current parsing result conforms to a preset format. If the current parsing result conforms to the preset format, it is designated as the query result corresponding to the target account. If the current parsing result does not conform to the preset format, the next parsing result is designated as the current parsing result. This process continues until the current parsing result conforms to the preset format, at which point it is designated as the query result corresponding to the target account.
[0109] In one embodiment of the present invention, before determining the public key of the target account, the method further includes: determining the elliptic curve parameters and target base point corresponding to the candidate account through consultation with the information provider; wherein the target base point is the base point of the elliptic curve defined by the elliptic curve parameters; and receiving the public key of the candidate account sent by the information provider.
[0110] The information provider and the information queryer negotiate to determine the elliptic curve parameters and target base point G corresponding to each candidate account. For each candidate account, the information provider determines a target integer, which is then used as the private key d corresponding to the candidate account. Using the formula (1) above, a scalar multiplication operation is performed on the target base point G and the private key d to generate the public key Q corresponding to the candidate account. The information provider then sends the public keys of each candidate account to the information provider.
[0111] When an information provider needs to query information, the querying party determines the target value, a random number, the public key of the target account, and the target base point of the target account. Following formula (2), the querying party uses the random number, the public key of the target account, and the target focus point to encrypt the target value, generating encrypted account information. The querying party then sends the encrypted account information to the information provider.
[0112] The information provider decrypts the encrypted information of each candidate account using the private key of the candidate account according to formula (3) to obtain the decrypted value corresponding to the candidate account. Only the decrypted value corresponding to the target account is equal to the target value.
[0113] The information provider obtains the query results for the corresponding query requests of the alternative accounts; using the decrypted value, it performs blinding processing on the query results to generate blinded results for the alternative accounts. The information provider returns the blinded results for multiple alternative accounts to the information queryer.
[0114] The information queryer receives blinded results corresponding to multiple candidate accounts returned by the information provider; uses the target value to parse each blinded result; and determines the parsed result that can be correctly parsed as the query result corresponding to the target account.
[0115] The key generation method, encryption method and decryption method based on elliptic curve encryption provided in the embodiments of the present invention can achieve stealth query while also having the beneficial effects of high security performance and low computational overhead, and is suitable for various information transmission processes.
[0116] Figure 3 This is a schematic diagram illustrating the flow of an information transmission method according to an embodiment of the present invention. Figure 3 As shown, the method includes:
[0117] Step 301: The information querying party determines the public key of the target account and uses the public key of the target account to encrypt the target value to generate encrypted account information; and sends a query request containing the encrypted account information to the information provider.
[0118] Step 302: The information provider receives the query request sent by the information queryer and determines the account encryption information in the query request; wherein, the account encryption information is generated by the information queryer encrypting the target value using the public key of the target account.
[0119] Step 303: The information provider identifies multiple alternative accounts; among these alternative accounts is the target account.
[0120] Step 304: The information provider decrypts the encrypted information of each candidate account using the private key of the candidate account to obtain the decrypted value corresponding to the candidate account.
[0121] Step 305: The information provider obtains the query results of the query request corresponding to the alternative account; using the decrypted value, the query results are blinded to generate blinded results corresponding to the alternative account.
[0122] Step 306: The information provider returns the blinded results corresponding to multiple alternative accounts to the information queryer.
[0123] Step 307: The information queryer receives the blinding results corresponding to multiple alternative accounts returned by the information provider; and uses the target value to parse and process each blinding result.
[0124] Step 308: The information querying party determines the query result corresponding to the target account from the parsing results corresponding to multiple blinded results.
[0125] In the solution of this invention embodiment, through information interaction between the information provider and the information queryer, the information queryer can only correctly parse the query information corresponding to the target account, but cannot obtain relevant information of other accounts. The information provider also cannot know the key information of the target account queried by the information queryer, which can be widely applied in a variety of different information interaction scenarios.
[0126] Figure 4 This is a schematic diagram illustrating the flow of an information transmission method according to another embodiment of the present invention. In this method, the regulatory authority acts as the information querying party, and the cooperating company acts as the information provider, i.e. Figure 4 Information sharing parties within [the system]. For example... Figure 4 As shown, the method includes:
[0127] Step S1: The company system stores query information corresponding to k candidate accounts. As shown in the formula below, This represents the query information for the i-th candidate account within the company. k is a positive integer greater than 1, where 1 ≤ i ≤ k.
[0128]
[0129] The company generates k public-private key pairs for each candidate account. As shown in the formula below, The private key representing the i-th candidate account. Represents the private key corresponding to the i-th candidate account.
[0130]
[0131] The company stores the k private keys of the candidate accounts locally, and discloses the k public keys of the candidate accounts to the regulatory authorities that conduct inquiries.
[0132] Step S2: Taking the example that the regulatory department needs to query the binding status of the i-th account, the regulatory department uses the public key of the i-th account to encrypt the randomly generated target value n using the elliptic curve cryptography algorithm in formula (2) to obtain the account encryption information encnum, and sends the account encryption information encnum to the company cooperating with the query.
[0133]
[0134] Step S3: In conjunction with the company being queried, use the k private keys of each candidate account to decrypt the encrypted account information encnum, obtaining k decrypted values. .
[0135]
[0136] Step S4: The company cooperating with the query performs an XOR operation on the decrypted value with each of the k query information in the datalist, generating k blinded results. and the blinding results Send it to the data queryer.
[0137]
[0138] Step S5: The regulatory authorities use the target value n to analyze the k received blinding results respectively. Perform an XOR operation. Since the regulatory authorities use the public key of the k-th account in the encryption process, we have:
[0139]
[0140] It is evident that the regulatory authorities can only correctly parse the query information of the kth account, and cannot correctly parse the query information of other accounts.
[0141] The solution of this invention uses elliptic curve cryptography to encrypt key data during transmission, making full use of the high security and low computational overhead of elliptic curve cryptography, which can solve problems such as large amount of account information and high confidentiality requirements.
[0142] Building upon this foundation, the invention incorporates stealth transmission technology to enable anonymous querying of encrypted data, protecting enterprise user account information and preventing regulatory authorities from accessing query records. This embodiment of the invention achieves confidentiality and non-repudiation of core enterprise data during sharing, balancing development costs, data security, and transmission efficiency, and can be widely applied in various data sharing scenarios.
[0143] Figure 5 This is a schematic diagram of the structure of an information processing apparatus provided in one embodiment of the present invention. Figure 5 As shown, the device includes:
[0144] The request receiving module 501 is used to receive a query request sent by the information querying party and determine the account encryption information in the query request; wherein, the account encryption information is generated by the information querying party encrypting the target value using the public key of the target account;
[0145] The account determination module 502 is used to determine multiple candidate accounts; among these multiple candidate accounts is the target account.
[0146] The blinding module 503 is used to decrypt the encrypted information of each candidate account using the private key of the candidate account to obtain the decrypted value corresponding to the candidate account; obtain the query results of the query request corresponding to the candidate account; and use the decrypted value to blind the query results to generate the blinded result corresponding to the candidate account.
[0147] The result return module 504 is used to return the blinded results corresponding to multiple candidate accounts to the information query party.
[0148] Optionally, it also includes:
[0149] The key generation module is used to generate the private and public keys for each candidate account.
[0150] Send the public keys of each alternative account to the information queryer.
[0151] Optionally, the key generation module is specifically used for:
[0152] After consultation with the information querying party, the elliptic curve parameters and target base points corresponding to the alternative accounts were determined; wherein, the target base point is the base point of the elliptic curve defined by the elliptic curve parameters.
[0153] Determine the target integer, and use the target integer as the private key corresponding to the candidate account;
[0154] Perform scalar multiplication on the target base point and the target integer to generate the public key corresponding to the candidate account.
[0155] Figure 6 This is a schematic diagram of a result determination device provided in one embodiment of the present invention. Figure 6 As shown, the device includes:
[0156] The account determination module 601 is used to determine the public key of the target account and use the public key of the target account to encrypt the target value to generate encrypted account information.
[0157] The request sending module 602 is used to send a query request containing encrypted account information to the information provider;
[0158] The result receiving module 603 is used to receive the blinding results corresponding to multiple alternative accounts returned by the information provider;
[0159] The parsing module 604 is used to parse and process each blinding result using the target value;
[0160] The result determination module 605 is used to determine the query result corresponding to the target account from the parsing results corresponding to multiple blinded results.
[0161] Optionally, it also includes:
[0162] The key management module is used to determine the elliptic curve parameters and target base points corresponding to the candidate accounts after consultation with the information provider; wherein, the target base point is the base point of the elliptic curve defined by the elliptic curve parameters.
[0163] Receive the public key of the alternative account sent by the information provider.
[0164] Optionally, the result determination module 605 is specifically used for:
[0165] The current parsing result is determined from the parsing results corresponding to multiple blinding results;
[0166] If the current parsing result matches the preset format, the current parsing result is determined to be the query result corresponding to the target account;
[0167] If the current parsing result does not conform to the preset format, the next parsing result will be determined as the current parsing result until the current parsing result conforms to the preset format, at which point the current parsing result will be determined as the query result corresponding to the target account.
[0168] This invention provides an electronic device, comprising:
[0169] One or more processors;
[0170] A storage device for storing one or more programs that, when executed by one or more processors, cause the one or more processors to implement the methods of any of the above embodiments.
[0171] This invention provides a computer program product, including a computer program that, when executed by a processor, implements the method of any of the above embodiments.
[0172] The following is for reference. Figure 7 It shows a schematic diagram of the structure of a computer system 700 suitable for implementing a terminal device of the present invention. Figure 7 The terminal device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.
[0173] like Figure 7As shown, the computer system 700 includes a central processing unit (CPU) 701, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 702 or programs loaded from storage section 708 into random access memory (RAM) 703. The RAM 703 also stores various programs and data required for the operation of the system 700. The CPU 701, ROM 702, and RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0174] The following components are connected to the I / O interface 705: an input section 706 including a keyboard, mouse, etc.; an output section 707 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 708 including a hard disk, etc.; and a communication section 709 including a network interface card such as a LAN card, modem, etc. The communication section 709 performs communication processing via a network such as the Internet. A drive 710 is also connected to the I / O interface 705 as needed. A removable medium 711, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 710 as needed so that computer programs read from it can be installed into the storage section 708 as needed.
[0175] In particular, according to the embodiments disclosed in this invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 709, and / or installed from removable medium 711. When the computer program is executed by central processing unit (CPU) 701, it performs the functions defined above in the system of this invention.
[0176] It should be noted that the computer-readable medium shown in this invention can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this invention, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media can also be any computer-readable medium other than computer-readable storage media, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.
[0177] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0178] The modules described in the embodiments of the present invention can be implemented in software or hardware. The described modules can also be housed in a processor, and for example, can be described as: a request receiving module, an account determination module, a blinding module, and a result return module. The names of these modules do not necessarily limit the module itself; for example, the request receiving module can also be described as "a module that receives a query request sent by an information querying party and determines the encrypted account information in the query request."
[0179] In another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiments; or it may exist independently and not assembled into the device. The computer-readable medium carries one or more programs, which, when executed by the device, cause the device to include:
[0180] Receive a query request sent by the information querying party and determine the account encryption information in the query request; wherein, the account encryption information is generated by the information querying party encrypting the target value using the public key of the target account;
[0181] Identify multiple alternative accounts; among these alternative accounts is the target account.
[0182] For each candidate account, the encrypted information of the account is decrypted using the private key of the candidate account to obtain the decryption value corresponding to the candidate account; the query results of the query request corresponding to the candidate account are obtained; the query results are blinded using the decryption value to generate the blinded result corresponding to the candidate account.
[0183] The blinded results corresponding to multiple candidate accounts are returned to the information queryer.
[0184] According to the technical solution of this embodiment of the invention, the account encryption information is generated by the information querying party encrypting the target value using the public key of the target account. For the target account, the information provider uses the private key of the target account to obtain the decrypted value as the target value; using the target value, the blinding result corresponding to the target account is obtained. The information querying party can correctly parse the query information corresponding to the blinding result using the target value.
[0185] For other accounts, the information provider uses the private key of those accounts to obtain a decrypted value that is not the target value. Using this decrypted value, they obtain the blinded result for the other accounts. Because the decrypted value is not the target value, the information queryer cannot correctly parse the query information corresponding to the blinded result using the target value.
[0186] Therefore, the information querying party can only correctly parse the query information corresponding to the target account, but cannot obtain the query information corresponding to other accounts. The information provider also cannot know the target account queried by the information querying party, or the key information of the target account. The solution of this invention can achieve anonymous querying and reduce the overhead during information transmission.
[0187] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can occur depending on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. An information processing method, characterized in that, Applied to information providers, including: The system receives a query request from an information querying party and determines the encrypted account information in the query request; wherein the encrypted account information is generated by the information querying party encrypting the target value using the public key of the target account. Multiple candidate accounts are identified; wherein the multiple candidate accounts include the target account; For each of the candidate accounts, the encrypted information of the account is decrypted using the private key of the candidate account to obtain the decryption value corresponding to the candidate account; the query result of the query request corresponding to the candidate account is obtained; the query result is blinded using the decryption value to generate the blinded result corresponding to the candidate account. The blinding results corresponding to multiple candidate accounts are returned to the information querying party.
2. The method according to claim 1, characterized in that, Before receiving the query request sent by the information querying party, the method further includes: Generate the private and public keys for each of the candidate accounts; Send the public keys of each of the candidate accounts to the information querying party.
3. The method according to claim 2, characterized in that, The generation of the private and public keys for each of the candidate accounts includes: After consultation with the information querying party, the elliptic curve parameters and target base point corresponding to the candidate account are determined; wherein, the target base point is the base point of the elliptic curve defined by the elliptic curve parameters; Determine the target integer, and use the target integer as the private key corresponding to the candidate account; Perform a scalar multiplication operation on the target base point and the target integer to generate the public key corresponding to the candidate account.
4. A method for determining a result, characterized in that, Applied to information seekers, including: Determine the public key of the target account, and use the public key of the target account to encrypt the target value to generate encrypted account information; Send a query request containing the encrypted account information to the information provider; Receive the blinding results corresponding to multiple candidate accounts returned by the information provider; The blinding results are analyzed using the target value. The query result corresponding to the target account is determined from the parsing results corresponding to the multiple blinding results.
5. The method according to claim 4, characterized in that, Before determining the public key of the target account, the process also includes: After consultation with the information provider, the elliptic curve parameters and target base points corresponding to the candidate accounts are determined; wherein, the target base point is the base point of the elliptic curve defined by the elliptic curve parameters. Receive the public key of the alternative account sent by the information provider.
6. The method according to claim 4, characterized in that, The step of determining the query result corresponding to the target account from the parsing results corresponding to multiple blinding results includes: The current parsing result is determined from the parsing results corresponding to the multiple blinding results; In response to the fact that the current parsing result conforms to a preset format, the current parsing result is determined to be the query result corresponding to the target account; In response to the current parsing result not conforming to the preset format, the next parsing result of the current parsing result is determined as the current parsing result, until the current parsing result conforms to the preset format, and the current parsing result is determined as the query result corresponding to the target account.
7. An information processing apparatus, characterized in that, Applied to information providers, including: The request receiving module is used to receive a query request sent by an information querying party and determine the account encryption information in the query request; wherein, the account encryption information is generated by the information querying party encrypting the target value using the public key of the target account; The account determination module is used to determine multiple candidate accounts; wherein the multiple candidate accounts include the target account; The blinding module is used to decrypt the encrypted information of each candidate account using the private key of the candidate account to obtain the decryption value corresponding to the candidate account; obtain the query result of the query request corresponding to the candidate account; and use the decryption value to blind the query result to generate the blinded result corresponding to the candidate account. The result return module is used to return the blinded results corresponding to multiple candidate accounts to the information query party.
8. A result determination device, characterized in that, Applied to information seekers, including: The account determination module is used to determine the public key of the target account and use the public key of the target account to encrypt the target value to generate encrypted account information. The request sending module is used to send a query request containing the encrypted account information to the information provider. The result receiving module is used to receive the blinding results corresponding to multiple candidate accounts returned by the information provider; The parsing module is used to parse and process each of the blinding results using the target value; The result determination module is used to determine the query result corresponding to the target account from the parsing results corresponding to multiple blinding results.
9. An electronic device, characterized in that, include: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-6.
10. A computer-readable medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1-6.
11. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-6.