CN115913544A - Data processing method, data processing device, electronic equipment and computer program product - Google Patents

Data processing method, data processing device, electronic equipment and computer program product Download PDF

Info

Publication number
CN115913544A
CN115913544A CN202211546698.8A CN202211546698A CN115913544A CN 115913544 A CN115913544 A CN 115913544A CN 202211546698 A CN202211546698 A CN 202211546698A CN 115913544 A CN115913544 A CN 115913544A
Authority
CN
China
Prior art keywords
polynomial
vector
ciphertext
public key
information
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.)
Granted
Application number
CN202211546698.8A
Other languages
Chinese (zh)
Other versions
CN115913544B (en
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Real AI Technology Co Ltd
Original Assignee
Beijing Real AI Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Real AI Technology Co Ltd filed Critical Beijing Real AI Technology Co Ltd
Priority to CN202211546698.8A priority Critical patent/CN115913544B/en
Publication of CN115913544A publication Critical patent/CN115913544A/en
Application granted granted Critical
Publication of CN115913544B publication Critical patent/CN115913544B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

The embodiment of the disclosure discloses a data processing method, a data processing device, an electronic device and a computer program product, wherein the method comprises the following steps: acquiring a first vector to be processed and public key information, wherein the public key information comprises a first public key polynomial coefficient and a second public key polynomial coefficient; encoding the first vector into a first polynomial based on a first encoding rule; determining ciphertext information corresponding to the first vector based on the first polynomial and the public key information, wherein the ciphertext information comprises a first ciphertext polynomial coefficient and a second ciphertext polynomial coefficient; and sending the ciphertext information to the second electronic device, so that the second electronic device determines an inner product of the first vector and the second vector based on the ciphertext information and the second vector. The method greatly reduces the polynomial quantity of private keys, public keys and ciphertext, effectively improves the data processing efficiency and reduces the occupation of storage space.

Description

Data processing method, data processing device, electronic equipment and computer program product
Technical Field
The present disclosure relates to data security technologies, and in particular, to a data processing method, an apparatus, an electronic device, and a computer program product.
Background
With the development of data security technology, inner Product Function Encryption (IPFE) is proposed and gradually applied to various fields, where IPFE is a data security algorithm for Inner Product calculation, and includes an initial Setup (Setup) phase, an Encryption (Encrypt) phase, a decryption key generation (keyp) phase and a decryption (Decrypt) phase, where the Setup phase mainly generates a private key (msk) and a public key (mpk), the Encrypt phase mainly encrypts a plaintext u by using mpk to obtain a ciphertext cu, the keypress phase mainly generates a plaintext y-related decryption key by using msk and y, and the Decrypt phase mainly decrypts the ciphertext cu by using the decryption key to obtain an Inner Product < u, V > of u and y, but IPFE of related technologies requires multiple multinomials for its private key, public key and ciphertext, so that its calculation efficiency is relatively high, resulting in low data processing overhead. .
Disclosure of Invention
The embodiment of the disclosure provides a data processing method and device, electronic equipment and a computer program product, so as to reduce the calculation overhead and improve the data processing efficiency.
In an aspect of the embodiments of the present disclosure, a data processing method is provided, where the method is applied to a first electronic device, and the method includes:
acquiring a first vector to be processed and public key information, wherein the public key information comprises a first public key polynomial coefficient and a second public key polynomial coefficient;
encoding the first vector into a first polynomial based on a first encoding rule;
determining ciphertext information corresponding to the first vector based on the first polynomial and the public key information, wherein the ciphertext information comprises a first ciphertext polynomial coefficient and a second ciphertext polynomial coefficient;
and sending the ciphertext information to second electronic equipment so that the second electronic equipment determines an inner product of the first vector and the second vector based on the ciphertext information and the second vector.
In an embodiment of the present disclosure, the determining ciphertext information corresponding to the first vector based on the first polynomial and the public key information includes:
determining a first ciphertext polynomial coefficient based on a pre-generated second polynomial coefficient, a pre-generated third polynomial coefficient, the first public key polynomial coefficient and a first mapping rule;
determining the second ciphertext polynomial coefficient based on the second polynomial coefficient, a pre-generated fourth polynomial coefficient, the second public key polynomial coefficient, the first polynomial, and a second mapping rule.
In an embodiment of the present disclosure, the encoding the first vector into a first polynomial based on a first encoding rule includes:
and respectively taking each component of the first vector as the coefficient of a corresponding term in a polynomial to obtain the first polynomial.
In an embodiment of the present disclosure, acquiring public key information includes:
and receiving the public key information sent by a third electronic device, wherein the second public key polynomial coefficient is determined based on the first public key polynomial coefficient, a pre-generated fifth polynomial coefficient and a sixth polynomial coefficient.
In another aspect of the embodiments of the present disclosure, a data processing method is provided, where the method is applied to a second electronic device, and the method includes:
receiving ciphertext information of a first vector sent by first electronic equipment, wherein the ciphertext information comprises a first ciphertext polynomial coefficient and a second ciphertext polynomial coefficient;
encoding the second vector into a seventh polynomial based on a second encoding rule;
determining decryption key information based on pre-obtained private key information, the seventh polynomial and a third mapping rule, wherein the private key information comprises a first private key polynomial coefficient;
and determining an inner product of the first vector and the second vector based on the decryption key information, the ciphertext information and a fourth mapping rule.
In an embodiment of the present disclosure, the determining an inner product of the first vector and the second vector based on the decryption key information, the ciphertext information, and a fourth mapping rule includes:
determining an eighth polynomial based on the decryption key information, the ciphertext information, and a fourth mapping rule;
extracting coefficients of preset terms from the eighth polynomial;
determining an inner product of the first vector and the second vector based on coefficients of the preset term.
In another aspect of the embodiments of the present disclosure, there is provided a data processing apparatus, where the apparatus is configured to be provided in a first electronic device, and the apparatus includes:
the device comprises an acquisition module, a processing module and a processing module, wherein the acquisition module is used for acquiring a first vector to be processed and public key information, and the public key information comprises a first public key polynomial coefficient and a second public key polynomial coefficient;
a first encoding module to encode the first vector into a first polynomial based on a first encoding rule;
the first processing module is used for determining ciphertext information corresponding to the first vector based on the first polynomial and the public key information, wherein the ciphertext information comprises a first ciphertext polynomial coefficient and a second ciphertext polynomial coefficient;
and the sending module is used for sending the ciphertext information to second electronic equipment so that the second electronic equipment determines an inner product of the first vector and the second vector based on the ciphertext information and the second vector.
In an embodiment of the present disclosure, the first processing module is specifically configured to:
determining a first ciphertext polynomial coefficient based on a pre-generated second polynomial coefficient, a pre-generated third polynomial coefficient, the first public key polynomial coefficient and a first mapping rule;
determining the second ciphertext polynomial coefficient based on the second polynomial coefficient, a pre-generated fourth polynomial coefficient, the second public key polynomial coefficient, the first polynomial, and a second mapping rule.
In an embodiment of the present disclosure, the first encoding module is specifically configured to: and taking each component of the first vector as a coefficient of a corresponding term in a polynomial to obtain the first polynomial.
In an embodiment of the present disclosure, the obtaining module is specifically configured to: and receiving the public key information sent by a third electronic device, wherein the second public key polynomial coefficient is determined based on the first public key polynomial coefficient, a pre-generated fifth polynomial coefficient and a sixth polynomial coefficient.
In another aspect of the embodiments of the present disclosure, there is provided a data processing apparatus, where the apparatus is configured to be provided in a second electronic device, the apparatus including:
the receiving module is used for receiving ciphertext information of a first vector sent by first electronic equipment, wherein the ciphertext information comprises a first ciphertext polynomial coefficient and a second ciphertext polynomial coefficient;
a second encoding module for encoding the second vector into a seventh polynomial based on a second encoding rule;
the second processing module is used for determining decryption key information based on pre-obtained private key information, the seventh polynomial and a third mapping rule, wherein the private key information comprises a first private key polynomial coefficient;
and the third processing module is used for determining an inner product of the first vector and the second vector based on the decryption key information, the ciphertext information and a fourth mapping rule.
In an embodiment of the present disclosure, the third processing module is specifically configured to:
determining an eighth polynomial based on the decryption key information, the ciphertext information, and a fourth mapping rule;
extracting coefficients of preset terms from the eighth polynomial;
determining an inner product of the first vector and the second vector based on coefficients of the preset term.
According to still another aspect of the embodiments of the present disclosure, there is provided an electronic apparatus including:
a memory for storing a computer program product;
a processor configured to execute the computer program product stored in the memory, and when the computer program product is executed, the method according to any of the above embodiments of the present disclosure is implemented.
According to a further aspect of an embodiment of the present disclosure, there is provided a computer program product comprising computer program instructions, wherein the computer program instructions, when executed by a processor, implement the method according to any of the above-mentioned embodiments of the present disclosure.
The data processing method, the data processing device, the electronic equipment and the computer program product have the advantages that the first vector and the second vector of the inner product to be determined are encoded into the polynomial, the first vector can be encrypted based on public key information comprising a first public key polynomial coefficient and a second public key polynomial coefficient to obtain ciphertext information comprising the first ciphertext polynomial coefficient and the second ciphertext polynomial coefficient, correspondingly, decryption key information is determined based on private key information comprising the first private key polynomial coefficient during decryption, the ciphertext information is decrypted based on the decryption key information to obtain the inner product of the first vector and the second vector.
The technical solution of the present disclosure is further described in detail by the accompanying drawings and examples.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the description, serve to explain the principles of the disclosure.
The present disclosure may be more clearly understood from the following detailed description, taken with reference to the accompanying drawings, in which:
FIG. 1 is an exemplary application scenario of the data processing method provided by the present disclosure;
FIG. 2 is a schematic flow chart diagram of a data processing method provided by an exemplary embodiment of the present disclosure;
FIG. 3 is a schematic flow chart diagram of a data processing method provided by another exemplary embodiment of the present disclosure;
FIG. 4 is a schematic flow chart diagram of a data processing method according to yet another exemplary embodiment of the present disclosure;
FIG. 5 is a schematic flow chart diagram of a data processing method according to another exemplary embodiment of the disclosure;
fig. 6 is a schematic structural diagram of a data processing apparatus according to an exemplary embodiment of the present disclosure;
fig. 7 is a schematic structural diagram of a data processing apparatus according to another exemplary embodiment of the present disclosure;
fig. 8 is a schematic structural diagram of an application embodiment of the electronic device of the present disclosure.
Detailed Description
Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that: the relative arrangement of the components and steps, the numerical expressions, and numerical values set forth in these embodiments do not limit the scope of the present disclosure unless specifically stated otherwise.
It will be understood by those within the art that the terms "first", "second", etc. in the embodiments of the present disclosure are used only for distinguishing between different steps, devices or modules, etc., and do not denote any particular technical meaning or necessary logical order therebetween.
It is also understood that in embodiments of the present disclosure, "a plurality" may refer to two or more and "at least one" may refer to one, two or more.
It is also to be understood that any reference to any component, data, or structure in the embodiments of the disclosure, may be generally understood as one or more, unless explicitly defined otherwise or stated otherwise.
In addition, the term "and/or" in the present disclosure is only one kind of association relationship describing an associated object, and means that three kinds of relationships may exist, for example, a and/or B may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" in the present disclosure generally indicates that the former and latter associated objects are in an "or" relationship.
It should also be understood that the description of the embodiments in the present disclosure emphasizes the differences between the embodiments, and the same or similar parts may be referred to each other, and are not repeated for brevity.
Meanwhile, it should be understood that the sizes of the respective portions shown in the drawings are not drawn in an actual proportional relationship for the convenience of description.
The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses.
Techniques, methods, and apparatus known to one of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, further discussion thereof is not required in subsequent figures.
The disclosed embodiments may be applied to electronic devices such as terminal devices, computer systems, servers, etc., which are operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known terminal devices, computing systems, environments, and/or configurations that may be suitable for use with electronic devices, such as terminal devices, computer systems, servers, and the like, include, but are not limited to: personal computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, microprocessor-based systems, set top boxes, programmable consumer electronics, network pcs, minicomputer systems, mainframe computer systems, distributed cloud computing environments that include any of the above systems, and the like.
Electronic devices such as terminal devices, computer systems, servers, etc. may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. The computer system/server may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
Summary of the disclosure
In the course of implementing the present disclosure, the inventors found that, with the development of data security technology, inner Product Function Encryption (IPFE) is proposed and gradually applied in various fields, where IPFE is a data security algorithm for Inner Product calculation, and includes an initial Setup (Setup) phase, an Encryption (Encrypt) phase, a decryption key generation (keyperation) phase and a decryption (Decrypt) phase, where the Setup phase mainly generates a private key (msk) and a public key (mpk), the Encryption phase mainly encrypts a plaintext u (first vector) with mpk to obtain a ciphertext cu of u, the keyperation phase mainly generates a decryption key related to y with msk and plaintext y (second vector), the Decrypt phase mainly decrypts cu with the decryption key to obtain an Inner Product < u, y > of u and y, but the IPFE and the private key of related technologies all need to process multiple ciphertexts with relatively high efficiency, resulting in relatively high data processing efficiency.
Brief description of the drawings
Fig. 1 is an exemplary application scenario of the data processing method provided by the present disclosure.
In an identity authentication scenario, typically comprising an enrollment phase and an authentication phase, during the enrollment phase, the biometric features of a first user (such as a fingerprint, a face image, an iris) are acquired by a second electronic device of a second user (such as an enterprise user like a bank, or a government agency like a public security) and stored in a database. During the authentication stage, the second electronic device needs to acquire the current biological features of the first user to perform identity authentication on the first user, for example, when the face image authentication needs to be performed on the first user, the current face image of the first user needs to be acquired, feature matching is performed on the current face image of the first user and a face image registered in advance by the user, and whether the identity of the first user passes the verification is determined based on the feature similarity. The feature similarity may be determined based on an inner product of feature vectors of the current face image and a face image registered in advance, for example, the feature similarity may be determined based on cosine similarity. In order to ensure the data security of the face image of the first user and avoid leakage in the transmission process or the use process of the second electronic device, the first user can acquire the face image of the first user through the first electronic device, the facial features of the face image are used as a first vector, by using the data processing method disclosed by the disclosure, the first vector can be encoded into a polynomial, the first vector corresponding to the first vector is encrypted to obtain ciphertext information of the first vector based on public key information which is acquired from a third electronic device in advance and comprises a first public key polynomial coefficient and a second public key polynomial coefficient, the ciphertext information is sent to the second electronic device, and the second electronic device receives the ciphertext information of the first vector sent by the first electronic device and then decrypts the ciphertext information, the second electronic device may use the facial features of the pre-registered face image as a second vector, encode the second vector into a polynomial, generate decryption key information based on private key information obtained from the third electronic device in advance and the polynomial corresponding to the second vector, decrypt ciphertext information of the first vector based on the decryption key information to obtain an inner product of the first vector and the second vector, and determine similarity of the facial features of the current face image and the registered face image based on the inner product of the first vector and the second vector, so as to determine the identity of the first user, and in the data transmission and use processes of the authentication stage, the current face image of the first user and the original plaintext information of the facial features are not leaked, thereby achieving security of data transmission and use. The third electronic device may be an electronic device of an authoritative and trusted third party selected by the second user, and is configured to generate, in advance, public key information required by the first electronic device and private key information required by the second electronic device.
Preferably, the third electronic device may be an electronic device that deploys a trusted execution environment.
It should be noted that each polynomial related to the present disclosure is a polynomial related to the same variable symbol, for example, the variable symbol is x (or other variable symbols, which is not specifically limited), and any polynomial may be represented as
Figure BDA0003978543310000081
B i Denotes x i-1 The coefficient of the term, N, represents the total number of terms of the polynomial. The polynomial can be expressed in a coefficient vector mode during data storage and transmission, and can be used for polynomial calculationTo encode the coefficient vector into a polynomial.
The data processing method disclosed by the present disclosure is not limited to be applied to the above-mentioned identity authentication scenario, but may also be applied to any scenario in which an inner product of two vectors needs to be determined, for example, any scenario that employs a nearest neighbor search algorithm or a similar algorithm, which may be specifically set according to actual requirements, and the present disclosure is not limited.
The scheme can be used for Privacy computing application scenes, and Privacy computing (Privacy computing or Privacy computing) refers to a technical set for realizing data analysis and computation on the premise of protecting data from being leaked outside, so that the purpose of 'available and invisible' of the data is achieved; under the premise of fully protecting data and privacy safety, the conversion and release of data value are realized.
Exemplary method
Fig. 2 is a schematic flow chart of a data processing method according to an exemplary embodiment of the present disclosure. The method of the present disclosure may be applied to a first electronic device, such as a terminal device of a first user, and is not limited in particular. The method comprises the following steps:
step 201, obtaining a first vector to be processed and public key information, where the public key information includes a first public key polynomial coefficient and a second public key polynomial coefficient.
In an alternative example, the first vector is a vector comprising a target number (e.g. l) of elements, the first public key polynomial coefficient comprises a first number of coefficients, which may be used to determine one polynomial, and the second public key polynomial coefficient comprises a second number of coefficients, which may be used to determine another polynomial. Specific values of the target number, the first number and the second number may be set according to actual requirements, and the disclosure is not limited.
In an optional example, the public key information may be obtained from a third electronic device of a trusted third party, or may be obtained from the second electronic device, and may be specifically set according to actual requirements.
Exemplarily, the first vector representation is u = (u) 1 ,…,u l ) L is a positive integer, the first public key is moreThe coefficient of the term is expressed as (a) 1 ,…,a t ) T is an integer greater than 1, and the first public key polynomial coefficient corresponds to the first public key polynomial
Figure BDA0003978543310000091
The first public key polynomial may be determined based on random uniform sampling. The second public key polynomial coefficient is expressed as (b) 1 ,…,b h ) H is an integer greater than 1, and the second public key polynomial corresponding to the second public key polynomial coefficient is represented as pk 1 =as 1 +e 1 Wherein s is 1 And e 1 Respectively, a polynomial based on a Gaussian distribution, the value of h is represented by pk 1 The number of terms of (a) is determined.
In step 202, a first vector is encoded into a first polynomial based on a first encoding rule.
In an alternative example, the first encoding rule may be set according to actual requirements, such as determining the first polynomial by using each component of the first vector as a coefficient of a corresponding term in the polynomial.
Exemplarily, the first vector u = (u) 1 ,…,u l ) The corresponding first polynomial is expressed as:
Figure BDA0003978543310000101
Figure BDA0003978543310000102
in an optional embodiment, the public key information obtaining process and the first vector obtaining and encoding process are not in sequence. For example, the public key information may be obtained first, then the first vector is obtained, and the first vector is encoded into the first polynomial, or the first vector is obtained first, and the first vector is encoded into the first polynomial, and then the public key information is obtained, or the public key information and the first vector are obtained at the same time, which may be specifically set according to actual requirements.
Step 203, determining ciphertext information corresponding to the first vector based on the first polynomial and the public key information, where the ciphertext information includes a first ciphertext polynomial coefficient and a second ciphertext polynomial coefficient.
In an optional example, the ciphertext information may be determined by using a preset mapping rule based on the first polynomial and the public key information, and the specific mapping rule may be set according to an actual requirement, which is not limited in this embodiment. The first ciphertext polynomial coefficient is used to determine a first ciphertext polynomial, and the second ciphertext polynomial coefficient is used to determine a second ciphertext polynomial.
Step 204, sending the ciphertext information to the second electronic device, so that the second electronic device determines an inner product of the first vector and the second vector based on the ciphertext information and the second vector.
In an alternative example, the second electronic device may be an electronic device of a second user that needs to determine an inner product of the first vector and the second vector, and the second electronic device may be a terminal device, a single server device, a cloud server, a server cluster, or the like, which is not limited in particular. The first electronic device may directly send the ciphertext information to the second electronic device through the network, or send the ciphertext information to the second electronic device through the intermediate device, and may specifically be set according to actual requirements. For example, the first electronic device may send the ciphertext information to a third electronic device of a third user, and when the second user needs the ciphertext information, the third electronic device sends the ciphertext information to the second electronic device.
After the second electronic device obtains the ciphertext information of the first vector, the decryption key information is determined based on the pre-obtained private key information and the polynomial obtained by the second vector encoding, and then the inner product of the first vector and the second vector is determined based on the decryption key information and the ciphertext information.
According to the data processing method provided by the embodiment of the disclosure, the first vector and the second vector of the inner product to be determined are encoded into a polynomial, the first vector can be encrypted based on public key information comprising a first public key polynomial coefficient and a second public key polynomial coefficient to obtain ciphertext information comprising the first ciphertext polynomial coefficient and the second ciphertext polynomial coefficient, correspondingly, during decryption, decryption key information is determined based on private key information comprising a first private key polynomial coefficient, and the ciphertext information is decrypted based on the decryption key information to obtain the inner product of the first vector and the second vector.
Fig. 3 is a schematic flow chart of a data processing method according to another exemplary embodiment of the present disclosure.
In an alternative example, the determining, based on the first polynomial and the public key information, ciphertext information corresponding to the first vector in step 203 includes:
step 2031, determining a first ciphertext polynomial coefficient based on the pre-generated second polynomial coefficient, the third polynomial coefficient, the first public key polynomial coefficient and the first mapping rule.
In an alternative example, the second polynomial coefficient is used to determine a second polynomial and the third polynomial coefficient is used to determine a third polynomial. The first mapping rule may be set according to actual requirements. The second and third polynomial coefficients may be generated based on a gaussian distribution, respectively.
Illustratively, the second polynomial is represented as r and the third polynomial is represented as f 0 The first ciphertext polynomial ct corresponding to the first ciphertext polynomial coefficient 0 Can pass the first mapping rule ct 0 =ar+f 0 Obtained based on ct 0 Determining a first ciphertext polynomial coefficient (ct) 0 Coefficients of (a) terms).
Step 2032, determining a second ciphertext polynomial coefficient based on the second polynomial coefficient, the pre-generated fourth polynomial coefficient, the second public key polynomial coefficient, the first polynomial and the second mapping rule.
In one optional example, the fourth polynomial coefficient may be determined based on a gaussian distribution, the fourth polynomial coefficient corresponding to the fourth polynomial. The second mapping rule may be set according to actual requirements.
Illustratively, the fourth polynomial corresponding to the fourth polynomial coefficient is denoted as f 1 Second, secondSecond ciphertext polynomial ct corresponding to ciphertext polynomial coefficient 1 May pass the second mapping rule
Figure BDA0003978543310000121
The determination, in turn, may be based on a second ciphertext polynomial ct 1 A second ciphertext polynomial coefficient is determined. Wherein q and K are preset values respectively, can be set according to actual requirements, and are based on the preset values>
Figure BDA0003978543310000122
pk 1 =as 1 +e 1 See, in particular, the foregoing; />
Figure BDA0003978543310000123
Representing a pair>
Figure BDA0003978543310000124
And rounding down.
Step 2033, using the first ciphertext polynomial coefficient and the second ciphertext polynomial coefficient as the ciphertext information corresponding to the first vector.
According to the method, the first ciphertext polynomial coefficient and the second ciphertext polynomial coefficient are respectively determined through the first mapping rule and the second mapping rule and serve as ciphertext information of the first vector, compared with an IPFE algorithm in the related technology, the polynomial number of the ciphertext information is reduced from l +1 to 2, the calculated amount can be greatly reduced, the data processing efficiency is further improved, and the occupied storage space is reduced.
In an alternative example, the encoding of the first vector into the first polynomial based on the first encoding rule of step 202 includes:
step 2021, using each component of the first vector as a coefficient of a corresponding term in the polynomial to obtain a first polynomial.
For exemplary purposes, see the foregoing
Figure BDA0003978543310000125
The ith component u of the first vector i As x in the polynomial i-1 The coefficient of the term.
According to the method, the first vector is encoded into the polynomial, effective support is provided for reducing the polynomial quantities of a private key, a public key and a ciphertext in a subsequent processing flow, and the determination of the inner product of the first vector and the second vector can be guaranteed to be completed under a small number of polynomials.
In an alternative example, the obtaining public key information of step 201 includes:
step 2011, public key information sent by the third electronic device is received, wherein the second public key polynomial coefficient is determined based on the first public key polynomial coefficient, the pre-generated fifth polynomial coefficient and the sixth polynomial coefficient.
In an optional example, the third electronic device may be an electronic device of an authoritative, trusted third party, configured to generate public key information and private key information, and send the public key information to the first electronic device of the first user and the private key information to the second electronic device of the second user. The fifth polynomial coefficient and the sixth polynomial coefficient may be determined based on a gaussian distribution, respectively.
For example, the second public key polynomial coefficient may be based on the aforementioned second public key polynomial pk 1 =as 1 +e 1 Determination of s 1 A fifth polynomial representing a coefficient determination of the fifth polynomial, e 1 A represents the first public key polynomial determined by the first public key polynomial coefficient.
According to the method and the device, the third credible electronic equipment generates the public key information and the private key information, so that the safety of the private key information can be ensured.
In one optional example, the method of the present disclosure may further comprise: the ciphertext information is sent to a third electronic device to be stored, other users can access the third electronic device to inquire the ciphertext information of the first user, and the inner product of the first vector and the second vector is determined by the second electronic device side method, so that the ciphertext information can be shared to other users through the third electronic device, and the data security sharing of the first user is achieved.
Specifically, a first user may use data thereof as a first vector, process the first vector to obtain ciphertext information of the first vector and store the ciphertext information to a third electronic device by using the method of the present disclosure, and a second user may query, from the third electronic device, related ciphertext information for determining an inner product of the first vector and the second vector.
In practical applications, step 2011 and step 2021 may not be in sequence.
In an optional example, the obtaining of the first vector to be processed in step 201 includes:
step 2012, a first vector is obtained from the first electronic device.
The first vector is a data vector to be encrypted by the first user, and may be uploaded to the first electronic device in real time (for example, when the face image is authenticated, the face image of the first user is shot through a camera of the first electronic device in real time), or may be pre-stored in the first electronic device (for example, the storage space of the first electronic device is insufficient, and the stored data needs to be stored in a cloud server serving as a third electronic device), which is not limited specifically.
Fig. 4 is a flowchart illustrating a data processing method according to still another exemplary embodiment of the present disclosure. The method of the present disclosure may be applied to a second electronic device, such as a terminal device of a second user, a server, and the like, and is not limited in particular. The method comprises the following steps:
step 301, receiving ciphertext information of the first vector sent by the first electronic device, where the ciphertext information includes a first ciphertext polynomial coefficient and a second ciphertext polynomial coefficient.
The first electronic device is an electronic device for executing the method of the embodiment. For the ciphertext information, reference is made to the foregoing description, and details are not repeated here.
Step 302, encoding the second vector into a seventh polynomial based on a second encoding rule.
Wherein, the second encoding rule can be set according to actual requirements.
Exemplarily, the second vector representation is y = (y) 1 ,…,y l ) The dimension of the second vector is the same as the first vector, and is l, and the seventh polynomial can be expressed as
Figure BDA0003978543310000141
n is a preset value and can be set according to actual requirements.
Step 303, determining decryption key information based on the pre-obtained private key information, the seventh polynomial and the third mapping rule, where the private key information includes a first private key polynomial coefficient.
In one optional example, the private key information may be obtained from a third electronic device. The first private key polynomial coefficient is used to determine a first private key polynomial. The third mapping rule may be set according to actual requirements. The decryption key information may include decryption key polynomial coefficients that may be used to determine the decryption key polynomial.
Illustratively, the first private key polynomial coefficient corresponds to the first private key polynomial expression as s 1 See, above, s 1 Is the aforementioned fifth polynomial, a polynomial generated based on a gaussian distribution. The third mapping rule is denoted sk y =Y(x)s 1 The polynomial sk obtained based on the third mapping rule y I.e. the polynomial corresponding to the decryption key information, and further based on sk y A decryption key polynomial coefficient may be determined as the decryption key information.
Step 304, determining an inner product of the first vector and the second vector based on the decryption key information, the ciphertext information, and the fourth mapping rule.
In an alternative example, the fourth mapping rule may be set according to actual requirements.
Exemplarily, the fourth mapping rule may be expressed as d = Y (x) ct 1 -ct 0 sk y Wherein, sk y =Y(x)s 1 ,sk y Represents a decryption key polynomial corresponding to the decryption key information,
Figure BDA0003978543310000151
a seventh polynomial, ct, representing the second vector code 0 =ar+f 0 A first ciphertext polynomial, ct, representing a coefficient of the first ciphertext polynomial 1 And the second ciphertext polynomial corresponding to the second ciphertext polynomial coefficient is represented. Based on the terms and inner products of the obtained d-polynomial<u,y>Determining the inner product of the first vector and the second vector<u,y>。
According to the method, the second vector is encoded into the polynomial and used for determining the decryption key information, and then the inner product of the first vector and the second vector is determined based on the decryption key information, the ciphertext information and the preset fourth mapping rule, so that the inner product of the first vector and the second vector can be determined based on the ciphertext information and the decryption key information of a small number of polynomials, and compared with the IPFE decryption process in the related technology, the method can further reduce the calculated amount, improve the data processing efficiency and reduce the occupied amount of the storage space.
Fig. 5 is a flowchart illustrating a data processing method according to still another exemplary embodiment of the disclosure.
In an alternative example, the determining an inner product of the first vector and the second vector based on the decryption key information, the ciphertext information, and the fourth mapping rule in step 304 includes:
step 3041, an eighth polynomial is determined based on the decryption key information, the ciphertext information, and the fourth mapping rule.
Exemplarily, referring to the foregoing, the fourth mapping rule is expressed as d = Y (x) ct 1 -ct 0 sk y For details, reference is made to the foregoing description, which is not repeated herein. The polynomial d obtained by the polynomial operation is the eighth polynomial.
In step 3042, coefficients of the preset terms are extracted from the eighth polynomial.
In an alternative example, the coefficients of the preset terms may be determined based on the relation between the terms in d and the inner product < u, Y >, such as the product result of m (x) Y (x), and the coefficients of the nth term are < u, Y >, so that the coefficients of the preset terms may be determined according to the terms in d that can form m (x) Y (x).
Step 3043, an inner product of the first vector and the second vector is determined based on coefficients of the predetermined term.
Illustratively, the operation between the polynomials in the fourth mapping rule may be
Figure BDA0003978543310000152
Figure BDA0003978543310000153
The nth term of the product can be determined according to m (x) and Y (x), namely the inner product of the first vector and the second vector<u,y>Based on this, can be based on ^ d>
Figure BDA0003978543310000154
Part of the nth extraction<u,y>。
According to the relation between each item of the eighth polynomial and the inner product, the inner product of the first vector and the second vector can be determined, and the number of polynomials involved in the determination process of the eighth polynomial is small, so that the calculation amount is effectively reduced relative to the IPFE, the data processing efficiency is further improved, and the occupation of the storage space is reduced.
In an alternative example, the method of the present disclosure, similar to IPFE, may include an initial Setup (Setup) phase, an encryption (Encrypt) phase, a decryption key generation (keygeneration) phase, and a decryption (Decrypt) phase, and the following describes each phase of the method of the present disclosure in detail with a specific example.
1. The Setup phase: generating public key information mpk = (a, pk) according to requirements 1 ) And private key information msk = s 1 . Wherein the polynomial a is epsilon R q ,R q Representing a polynomial ring R, which may be a polynomial determined based on coefficients obtained by a random uniform sampling method, s, and a remainder q (Rmodq) 1 Based on a first Gaussian distribution D σ1 Generated polynomial, s 1 ∈R。
2. The Encrypt phase: the first vector u = (u) 1 ,…,u l ) Encoding into a first polynomial
Figure BDA0003978543310000161
Figure BDA0003978543310000162
Determining ciphertext information (ct) corresponding to the first vector based on the public key information mpk and the first polynomial 0 ,ct 1 ). Wherein, ct 0 =ar+f 0 ,/>
Figure BDA0003978543310000163
Polynomial R ∈ R q 、f 0 ∈R q 、f 1 ∈R q . r and f 0 Are based on a second gaussian distribution->
Figure BDA0003978543310000164
Generated polynomial f 1 Is based on a third Gaussian distribution>
Figure BDA0003978543310000165
The generated polynomial q and K are preset values respectively and can be set according to actual requirements.
3. A Keygenation stage: second vector y = (y) 1 ,…,y l ) Encoded as a seventh polynomial
Figure BDA0003978543310000166
Figure BDA0003978543310000167
And determining decryption key information based on the private key information msk and the seventh polynomial. The decryption key polynomial corresponding to the decryption key information is expressed as sk y =Y(x)s 1 ,sk y E, R, n is a preset value and can be set according to actual requirements.
4. The Decrypt stage: sk-based y 、Y(x)、ct 0 And ct 1 Determining d = Y (x) ct 1 -ct 0 dk y Based on
Figure BDA0003978543310000168
And n is m (x) Y (x)<u,y>Extracting an inner product of the first vector and the second vector<u,y>。
In IPFE, setup phase mpk = (a, { pk) i |i∈[l]}),msk={s i ∈R|i∈[l]}; ciphertext (ct) obtained in Encrypt phase 0 ,{ct i |i∈[l]}); stage of Keygenation
Figure BDA0003978543310000169
The Decrypt stage calculates pick>
Figure BDA00039785433100001610
The public key in IPFE comprises l +1 polynomials, the private key comprises l polynomials, the ciphertext comprises l +1 polynomials, the public key, the private key and the ciphertext respectively comprise 2, 1 and 2 polynomials, compared with IPFE, the number of the polynomials is greatly reduced by the method, and the method is used for the sk y In the calculation process of the sum d, the polynomial in the IPFE is multiplied by the scalar and then accumulated to be changed into polynomial multiplication, and the NTT (Number theoretical Transform, an algorithm for accelerating polynomial multiplication) algorithm can be used for further acceleration, so that the data processing performance can be further improved.
Any of the data processing methods provided by the embodiments of the present disclosure may be performed by any suitable device having data processing capabilities, including but not limited to: terminal equipment, a server and the like. Alternatively, any of the data processing methods provided by the embodiments of the present disclosure may be executed by a processor, for example, the processor may execute any of the data processing methods mentioned in the embodiments of the present disclosure by calling a corresponding instruction stored in a memory. Which will not be described in detail below.
Exemplary devices
Fig. 6 is a schematic structural diagram of a data processing apparatus according to an exemplary embodiment of the present disclosure. The apparatus of this embodiment may be disposed in a first electronic device, and is configured to implement the method embodiment according to the present disclosure, where the apparatus shown in fig. 6 includes: an obtaining module 501, a first encoding module 502, a first processing module 503, and a sending module 504.
An obtaining module 501, configured to obtain a first vector to be processed and public key information, where the public key information includes a first public key polynomial coefficient and a second public key polynomial coefficient; a first encoding module 502 for encoding the first vector into a first polynomial based on a first encoding rule; a first processing module 503, configured to determine ciphertext information corresponding to the first vector based on the first polynomial and the public key information, where the ciphertext information includes a first ciphertext polynomial coefficient and a second ciphertext polynomial coefficient; a sending module 504, configured to send the ciphertext information to a second electronic device, so that the second electronic device determines, based on the ciphertext information and a second vector, an inner product of the first vector and the second vector.
In an optional example, the first processing module 503 is specifically configured to:
determining a first ciphertext polynomial coefficient based on a pre-generated second polynomial coefficient, a pre-generated third polynomial coefficient, the first public key polynomial coefficient and a first mapping rule; determining the second ciphertext polynomial coefficient based on the second polynomial coefficient, a pre-generated fourth polynomial coefficient, the second public key polynomial coefficient, the first polynomial, and a second mapping rule.
In an alternative example, the first encoding module 502 is specifically configured to: and respectively taking each component of the first vector as the coefficient of a corresponding term in a polynomial to obtain the first polynomial.
In an optional example, the obtaining module 501 is specifically configured to: and receiving the public key information sent by a third electronic device, wherein the second public key polynomial coefficient is determined based on the first public key polynomial coefficient, a pre-generated fifth polynomial coefficient and a sixth polynomial coefficient.
Fig. 7 is a schematic structural diagram of a data processing apparatus according to another exemplary embodiment of the present disclosure. The apparatus of this embodiment may be disposed in a second electronic device, and is configured to implement the method embodiment according to the present disclosure, where the apparatus shown in fig. 7 includes: a receiving module 601, a second encoding module 602, a second processing module 603, and a third processing module 604.
The receiving module 601 is configured to receive ciphertext information of a first vector sent by a first electronic device, where the ciphertext information includes a first ciphertext polynomial coefficient and a second ciphertext polynomial coefficient; a second encoding module 602 for encoding the second vector into a seventh polynomial based on a second encoding rule; a second processing module 603, configured to determine decryption key information based on pre-obtained private key information, the seventh polynomial, and a third mapping rule, where the private key information includes a first private key polynomial coefficient; a third processing module 604, configured to determine an inner product of the first vector and the second vector based on the decryption key information, the ciphertext information, and a fourth mapping rule.
In an optional example, the third processing module 604 is specifically configured to:
determining an eighth polynomial based on the decryption key information, the ciphertext information, and a fourth mapping rule; extracting coefficients of preset terms from the eighth polynomial; determining an inner product of the first vector and the second vector based on coefficients of the preset term.
In an optional example, each embodiment and each module in the optional example of the present disclosure may also be divided into finer granularities according to actual requirements, which may be specifically set according to the actual requirements, and the present disclosure is not limited.
In addition, an embodiment of the present disclosure also provides an electronic device, including:
a memory for storing a computer program; a processor, configured to execute the computer program stored in the memory, and when the computer program is executed, implement the data processing method according to any of the above embodiments of the present disclosure.
Fig. 8 is a schematic structural diagram of an application embodiment of the electronic device of the present disclosure. As shown in fig. 8, the electronic device includes one or more processors and memory.
The processor may be a Central Processing Unit (CPU) or other form of processing unit having data processing capabilities and/or instruction execution capabilities, and may control other components in the electronic device to perform desired functions.
The memory may store one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and/or non-volatile memory. The volatile memory may include, for example, random Access Memory (RAM), cache memory (cache), and/or the like. The non-volatile memory may include, for example, read Only Memory (ROM), hard disk, flash memory, etc. One or more computer program products may be stored on the computer-readable storage medium and executed by a processor to implement the methods of the various embodiments of the disclosure described above and/or other desired functionality.
In one example, the electronic device may further include: an input device and an output device, which are interconnected by a bus system and/or other form of connection mechanism (not shown).
The input means may also comprise, for example, a keyboard, a mouse, etc.
The output device may output various information including the determined distance information, direction information, and the like to the outside. The output devices may include, for example, a display, speakers, a printer, and a communication network and remote output devices connected thereto, among others.
Of course, for simplicity, only some of the components of the electronic device relevant to the present disclosure are shown in fig. 8, omitting components such as buses, input/output interfaces, and the like. In addition, the electronic device may include any other suitable components, depending on the particular application.
In addition to the above-described methods and apparatus, embodiments of the present disclosure may also be a computer program product comprising computer program instructions which, when executed by a processor, cause the processor to perform the steps in the methods according to the various embodiments of the present disclosure described in the above-mentioned part of the description.
The computer program product may write program code for carrying out operations for embodiments of the present disclosure in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server.
Furthermore, embodiments of the present disclosure may also be a computer-readable storage medium having stored thereon computer program instructions which, when executed by a processor, cause the processor to perform steps in methods according to various embodiments of the present disclosure described in the above sections of the specification.
The computer readable storage medium may take any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may include, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
Those of ordinary skill in the art will understand that: all or part of the steps for implementing the method embodiments may be implemented by hardware related to program instructions, and the program may be stored in a computer readable storage medium, and when executed, the program performs the steps including the method embodiments; and the aforementioned storage medium includes: various media that can store program codes, such as ROM, RAM, magnetic or optical disks.
The foregoing describes the general principles of the present disclosure in conjunction with specific embodiments, however, it is noted that the advantages, effects, etc. mentioned in the present disclosure are merely examples and are not limiting, and they should not be considered essential to the various embodiments of the present disclosure. Furthermore, the foregoing disclosure of specific details is for the purpose of illustration and description and is not intended to be limiting, since the disclosure will be described in detail with reference to specific details.
In the present specification, the embodiments are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same or similar parts in the embodiments are referred to each other. For the system embodiment, since it basically corresponds to the method embodiment, the description is relatively simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The block diagrams of devices, apparatuses, devices, systems involved in the present disclosure are only given as illustrative examples and are not intended to require or imply that the connections, arrangements, configurations must be made in the manner shown in the block diagrams. These devices, apparatuses, devices, systems may be connected, arranged, configured in any manner, as will be appreciated by those skilled in the art. Words such as "including," "comprising," "having," and the like are open-ended words that mean "including, but not limited to," and are used interchangeably therewith. The words "or" and "as used herein mean, and are used interchangeably with, the word" and/or, "unless the context clearly dictates otherwise. The word "such as" is used herein to mean, and is used interchangeably with, the phrase "such as but not limited to".
The methods and apparatus of the present disclosure may be implemented in a number of ways. For example, the methods and apparatus of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above-described order for the steps of the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above unless specifically stated otherwise. Further, in some embodiments, the present disclosure may also be embodied as programs recorded in a recording medium, the programs including machine-readable instructions for implementing the methods according to the present disclosure. Thus, the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.
It is also noted that in the apparatus, devices, and methods of the present disclosure, various components or steps may be broken down and/or re-combined. These decompositions and/or recombinations are to be considered equivalents of the present disclosure.
The previous description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects without departing from the scope of the disclosure. Thus, the present disclosure is not intended to be limited to the aspects shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
The foregoing description has been presented for purposes of illustration and description. Furthermore, this description is not intended to limit embodiments of the disclosure to the form disclosed herein. While a number of example aspects and embodiments have been discussed above, those of skill in the art will recognize certain variations, modifications, alterations, additions and sub-combinations thereof.

Claims (10)

1. A data processing method is applied to a first electronic device, and comprises the following steps:
acquiring a first vector to be processed and public key information, wherein the public key information comprises a first public key polynomial coefficient and a second public key polynomial coefficient;
encoding the first vector into a first polynomial based on a first encoding rule;
determining ciphertext information corresponding to the first vector based on the first polynomial and the public key information, wherein the ciphertext information comprises a first ciphertext polynomial coefficient and a second ciphertext polynomial coefficient;
and sending the ciphertext information to second electronic equipment so that the second electronic equipment determines an inner product of the first vector and the second vector based on the ciphertext information and the second vector.
2. The method of claim 1, wherein determining ciphertext information corresponding to the first vector based on the first polynomial and the public key information comprises:
determining a first ciphertext polynomial coefficient based on a pre-generated second polynomial coefficient, a pre-generated third polynomial coefficient, the first public key polynomial coefficient and a first mapping rule;
determining the second ciphertext polynomial coefficient based on the second polynomial coefficient, a pre-generated fourth polynomial coefficient, the second public key polynomial coefficient, the first polynomial, and a second mapping rule.
3. The method of claim 1, wherein encoding the first vector into a first polynomial based on a first encoding rule comprises:
and taking each component of the first vector as a coefficient of a corresponding term in a polynomial to obtain the first polynomial.
4. The method of claim 1, wherein obtaining public key information comprises:
and receiving the public key information sent by a third electronic device, wherein the second public key polynomial coefficient is determined based on the first public key polynomial coefficient, a pre-generated fifth polynomial coefficient and a sixth polynomial coefficient.
5. A data processing method is applied to a second electronic device, and comprises the following steps:
receiving ciphertext information of a first vector sent by first electronic equipment, wherein the ciphertext information comprises a first ciphertext polynomial coefficient and a second ciphertext polynomial coefficient;
encoding the second vector into a seventh polynomial based on a second encoding rule;
determining decryption key information based on pre-obtained private key information, the seventh polynomial and a third mapping rule, wherein the private key information comprises a first private key polynomial coefficient;
and determining an inner product of the first vector and the second vector based on the decryption key information, the ciphertext information and a fourth mapping rule.
6. The method of claim 5, wherein determining the inner product of the first vector and the second vector based on the decryption key information, the ciphertext information, and a fourth mapping rule comprises:
determining an eighth polynomial based on the decryption key information, the ciphertext information, and a fourth mapping rule;
extracting coefficients of preset terms from the eighth polynomial;
determining an inner product of the first vector and the second vector based on coefficients of the preset term.
7. A data processing apparatus, the apparatus being configured to be disposed in a first electronic device, the apparatus comprising:
the system comprises an acquisition module, a processing module and a processing module, wherein the acquisition module is used for acquiring first vector and public key information to be processed, and the public key information comprises a first public key polynomial coefficient and a second public key polynomial coefficient;
a first encoding module to encode the first vector into a first polynomial based on a first encoding rule;
the first processing module is used for determining ciphertext information corresponding to the first vector based on the first polynomial and the public key information, wherein the ciphertext information comprises a first ciphertext polynomial coefficient and a second ciphertext polynomial coefficient;
and the sending module is used for sending the ciphertext information to second electronic equipment so that the second electronic equipment determines an inner product of the first vector and the second vector based on the ciphertext information and the second vector.
8. A data processing apparatus, the apparatus being configured to be disposed in a second electronic device, the apparatus comprising:
the receiving module is used for receiving ciphertext information of a first vector sent by first electronic equipment, wherein the ciphertext information comprises a first ciphertext polynomial coefficient and a second ciphertext polynomial coefficient;
a second encoding module for encoding the second vector into a seventh polynomial based on a second encoding rule;
the second processing module is used for determining decryption key information based on pre-obtained private key information, the seventh polynomial and a third mapping rule, wherein the private key information comprises a first private key polynomial coefficient;
and the third processing module is used for determining an inner product of the first vector and the second vector based on the decryption key information, the ciphertext information and a fourth mapping rule.
9. An electronic device, comprising:
a memory for storing a computer program product;
a processor for executing the computer program product stored in the memory, and when executed, implementing the method of any of the preceding claims 1-6.
10. A computer program product comprising computer program instructions, characterized in that the computer program instructions, when executed by a processor, implement the method of any of the preceding claims 1-6.
CN202211546698.8A 2022-12-02 2022-12-02 Data processing method, device, electronic equipment and computer readable storage medium Active CN115913544B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211546698.8A CN115913544B (en) 2022-12-02 2022-12-02 Data processing method, device, electronic equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211546698.8A CN115913544B (en) 2022-12-02 2022-12-02 Data processing method, device, electronic equipment and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN115913544A true CN115913544A (en) 2023-04-04
CN115913544B CN115913544B (en) 2023-11-07

Family

ID=86481177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211546698.8A Active CN115913544B (en) 2022-12-02 2022-12-02 Data processing method, device, electronic equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN115913544B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019132354A1 (en) * 2017-12-29 2019-07-04 서울대학교산학협력단 Method for generating, encrypting, and decrypting public key and cryptographic key on basis of module-wavy and module-lwr
WO2022142038A1 (en) * 2020-12-29 2022-07-07 平安普惠企业管理有限公司 Data transmission method and related device
CN115276947A (en) * 2022-07-13 2022-11-01 北京绪方科技有限公司 Privacy data processing method, device, system and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019132354A1 (en) * 2017-12-29 2019-07-04 서울대학교산학협력단 Method for generating, encrypting, and decrypting public key and cryptographic key on basis of module-wavy and module-lwr
WO2022142038A1 (en) * 2020-12-29 2022-07-07 平安普惠企业管理有限公司 Data transmission method and related device
CN115276947A (en) * 2022-07-13 2022-11-01 北京绪方科技有限公司 Privacy data processing method, device, system and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JOSE MARIA BERMUDO MERA1等: "Efficient Lattice-Based Inner-ProductFunctional Encryption", 《IACR INTERNATIONAL CONFERENCE ON PUBLIC-KEY CRYPTOGRAPHY》, pages 163 - 193 *

Also Published As

Publication number Publication date
CN115913544B (en) 2023-11-07

Similar Documents

Publication Publication Date Title
WO2018110608A1 (en) Collating system, method, device, and program
EP3189459A1 (en) Encrypting and decrypting information
WO2017063163A1 (en) Apparatus, method and computer program product for authentication
CN109361644B (en) Fuzzy attribute based encryption method supporting rapid search and decryption
CN112163854B (en) Hierarchical public key searchable encryption method and system based on block chain
JP6451938B2 (en) Ciphertext verification system, method, and program
CN114039785B (en) Data encryption, decryption and processing methods, devices, equipment and storage medium
US10503915B2 (en) Encrypted text verification system, method and recording medium
CN115269938B (en) Homomorphic encryption-based keyword track hiding query method, system and related device
WO2016072057A1 (en) Encrypted text matching system, method, and storage medium
CN116502254A (en) Method and device for inquiring trace capable of searching statistics
CN109740383B (en) Privacy protection control method for fog computing-oriented medical system
Bai et al. CryptoMask: Privacy-preserving Face Recognition
JP6791263B2 (en) Ciphertext collation system and ciphertext collation method
Salman et al. A homomorphic cloud framework for big data analytics based on elliptic curve cryptography
Catak et al. A privacy-preserving fully homomorphic encryption and parallel computation based biometric data matching
CN115913544B (en) Data processing method, device, electronic equipment and computer readable storage medium
CN108011714B (en) Method and system for protecting data object body identification based on cryptology operation
CN116070272A (en) Biological feature matching method, terminal equipment, server, system and medium
Latha et al. Security scheme in cloud system using hyper elliptic curve and SIFT technique with QR code
CN115801258B (en) Data processing method, device, electronic equipment and computer readable storage medium
Malviya et al. A cryptographic security mechanism for dynamic groups for public cloud environments
Neela et al. A Hybrid Cryptography Technique with Blockchain for Data Integrity and Confidentiality in Cloud Computing
Choi et al. Blind-Touch: Homomorphic Encryption-Based Distributed Neural Network Inference for Privacy-Preserving Fingerprint Authentication
Dheepak Enhancing the Cloud Security with ECC based Key Generation Technique

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
GR01 Patent grant
GR01 Patent grant