CN115913544B - Data processing method, device, electronic equipment and computer readable storage medium - Google Patents

Data processing method, device, electronic equipment and computer readable storage medium Download PDF

Info

Publication number
CN115913544B
CN115913544B CN202211546698.8A CN202211546698A CN115913544B CN 115913544 B CN115913544 B CN 115913544B CN 202211546698 A CN202211546698 A CN 202211546698A CN 115913544 B CN115913544 B CN 115913544B
Authority
CN
China
Prior art keywords
polynomial
ciphertext
vector
coefficient
polynomial coefficient
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.)
Active
Application number
CN202211546698.8A
Other languages
Chinese (zh)
Other versions
CN115913544A (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

Abstract

The embodiment of the disclosure discloses a data processing method, a 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 and the device greatly reduce the polynomial quantity of the private key, the public key and the ciphertext, effectively improve the data processing efficiency and reduce the occupation of the storage space.

Description

Data processing method, device, electronic equipment and computer readable storage medium
Technical Field
The present disclosure relates to data security technologies, and in particular, to a data processing method, apparatus, electronic device, and computer readable storage medium.
Background
With the development of data security technologies, inner product function encryption (Inner Product Functional Encryption, abbreviated as 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) stage, an encryption (encryption) stage, a decryption key generation (key generation) stage, and a decryption (decryption) stage, where the Setup stage mainly generates a private key (msk) and a public key (mpk), the encryption stage mainly encrypts plaintext u with mpk to obtain ciphertext cu of u, the key generation stage mainly decrypts ciphertext cu with msk and plaintext y to obtain inner product < u, y > of u and y, and the decryption stage mainly decrypts ciphertext cu with decryption key, and the ciphertext key, public key and decryption stage of related technology all need multiple polynomials, so that they have large calculation overhead, resulting in low data processing efficiency.
Disclosure of Invention
The embodiment of the disclosure provides a data processing method, a data processing device, electronic equipment and a computer readable storage medium, so as to reduce computing overhead and improve data processing efficiency.
In one aspect of the disclosed embodiments, 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 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 third polynomial coefficient, the first public key polynomial coefficient and a first mapping rule;
and 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 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 a coefficient of a corresponding term in the polynomial to obtain the first polynomial.
In one embodiment of the present disclosure, obtaining public key information includes:
and receiving the public key information sent by the third electronic device, 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 another aspect of the embodiments of the present disclosure, there is provided a data processing method, which is applied to a second electronic device, the method including:
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;
an inner product of the first vector and the second vector is determined based on the decryption key information, the ciphertext information, and a fourth mapping rule.
In an embodiment of the disclosure, the 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 includes:
determining an eighth polynomial based on the decryption key information, the ciphertext information, and a fourth mapping rule;
extracting coefficients of a preset term from the eighth polynomial;
and determining an inner product of the first vector and the second vector based on the coefficient of the preset term.
In still another aspect of the embodiments of the present disclosure, there is provided a data processing apparatus for being disposed in a first electronic device, the apparatus including:
the system 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 for encoding 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 can determine the inner product of the first vector and the second vector based on the ciphertext information and the second vector.
In an embodiment of the disclosure, the first processing module is specifically configured to:
determining a first ciphertext polynomial coefficient based on a pre-generated second polynomial coefficient, a third polynomial coefficient, the first public key polynomial coefficient and a first mapping rule;
and 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 disclosure, the first encoding module is specifically configured to: and respectively taking each component of the first vector as a coefficient of a corresponding term in the polynomial to obtain the first polynomial.
In an embodiment of the disclosure, the obtaining module is specifically configured to: and receiving the public key information sent by the third electronic device, 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 yet another aspect of the embodiments of the present disclosure, there is provided a data processing apparatus for being disposed in a second electronic device, the apparatus including:
the receiving module is used for receiving ciphertext information of a first vector sent by the 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 the pre-obtained private key information, the seventh polynomial and the third mapping rule, wherein the private key information comprises a first private key polynomial coefficient;
and the third processing module is used for 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.
In an embodiment of the 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 a preset term from the eighth polynomial;
and determining an inner product of the first vector and the second vector based on the coefficient 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 for executing the computer program product stored in the memory, and when the computer program product is executed, implementing the method according to any of the embodiments of the disclosure.
According to a further aspect of embodiments of the present disclosure, there is provided a computer program product comprising computer program instructions, characterized in that the computer program instructions, when executed by a processor, implement the method according to any of the above embodiments of the present disclosure.
According to the data processing method, the device, the electronic equipment and the computer readable storage medium, the first vector and the second vector of the inner product to be determined are encoded into polynomials, 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, when decryption is carried out, decryption key information is determined based on private key information comprising the first private key polynomial coefficient, decryption is carried out on ciphertext information based on the decryption key information to obtain the inner product of the first vector and the second vector, and compared with an IPFE algorithm in the related technology, the number of polynomials of the private key, the public key and the ciphertext is greatly reduced, data processing efficiency is effectively improved, and occupation of storage space is reduced.
The technical scheme of the present disclosure is described in further detail below through 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 disclosure may be more clearly understood from the following detailed description taken in conjunction with 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 flow chart of a data processing method provided by an exemplary embodiment of the present disclosure;
FIG. 3 is a flow chart of a data processing method provided by another exemplary embodiment of the present disclosure;
FIG. 4 is a flow chart of a data processing method provided by yet another exemplary embodiment of the present disclosure;
FIG. 5 is a flow chart of a data processing method provided by yet another exemplary embodiment of the present disclosure;
FIG. 6 is a schematic diagram of a data processing apparatus provided in an exemplary embodiment of the present disclosure;
FIG. 7 is a schematic diagram of a data processing apparatus provided in another exemplary embodiment of the present disclosure;
fig. 8 is a schematic structural view 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, numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present disclosure unless it is specifically stated otherwise.
It will be appreciated by those of skill in the art that the terms "first," "second," etc. in embodiments of the present disclosure are used merely to distinguish between different steps, devices or modules, etc., and do not represent any particular technical meaning nor necessarily logical order between them.
It should also be understood that in embodiments of the present disclosure, "plurality" may refer to two or more, and "at least one" may refer to one, two or more.
It should also be appreciated that any component, data, or structure referred to in the presently disclosed embodiments may be generally understood as one or more without explicit limitation or the contrary in the context.
In addition, the term "and/or" in this disclosure is merely an association relationship describing an association object, and indicates that three relationships may exist, for example, a and/or B may indicate: a exists alone, A and B exist together, and B exists alone. In addition, the character "/" in the present disclosure generally indicates that the front and rear association objects are an or relationship.
It should also be understood that the description of the various embodiments of the present disclosure emphasizes the differences between the various embodiments, and that the same or similar features may be referred to each other, and for brevity, will not be described in detail.
Meanwhile, it should be understood that the sizes of the respective parts shown in the drawings are not drawn in actual scale for 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 numerals and letters denote like items in the following figures, and thus once an item is defined in one figure, no further discussion thereof is necessary in subsequent figures.
Embodiments of the present disclosure may be applicable to electronic devices such as terminal devices, computer systems, servers, etc., which may operate 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 the terminal device, computer system, server, or other electronic device 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 personal computers, minicomputer systems, mainframe computer systems, and distributed cloud computing technology 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 implemented in a distributed cloud computing environment in which 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 computing system storage media including memory storage devices.
Summary of the disclosure
In implementing the present disclosure, the inventor has found that, with the development of data security technology, inner product function encryption (Inner Product Functional Encryption, abbreviated as IPFE) is proposed and gradually applied to various fields, where the IPFE is a data security algorithm for inner product calculation, and includes an initial Setup (Setup) stage, an encryption (Encrypt) stage, a decryption key generation (key generation) stage, and a decryption (Decrypt) stage, where the Setup stage mainly generates a private key (msk) and a public key (mpk), the Encrypt stage mainly encrypts a plaintext u (first vector) using mpk to obtain a ciphertext cu, the key generation stage mainly generates a decryption key related to y using msk and a plaintext y (second vector), and the Decrypt stage mainly decrypts the ciphertext using the decryption key to obtain an inner product u, y of u and y, but the related technology has a plurality of private keys, public keys, and multiple polynomials required, so that the calculation efficiency is low, resulting in a large data processing cost.
Exemplary overview
Fig. 1 is an exemplary application scenario of the data processing method provided in the present disclosure.
In an authentication scenario, which typically includes an enrollment phase during which a biometric of a first user (e.g., a fingerprint, face image, iris that has been put into actual use) is acquired by a second electronic device of a second user (e.g., an enterprise user such as a bank, and a government agency such as a public security) and stored in a database. During the authentication phase, the second electronic device needs to acquire the current biological characteristics of the first user to perform identity authentication on the first user, for example, face image authentication, and when the first user needs to perform face image authentication, the second electronic device needs to acquire the current face image of the first user, perform feature matching with the face image registered in advance by the user, and determine whether the identity of the first user passes authentication or not based on feature similarity. The feature similarity may be determined based on a feature vector inner product of the current face image and a pre-registered face image, such as a feature similarity determined based on cosine similarity. In order to ensure the data security of the face image of the first user, the first user can collect the face image of the first user through the first electronic device or leak the face image in the using process of the second electronic device, the face feature of the face image is used as a first vector, the first vector can be encoded into a polynomial by utilizing the data processing method of the present disclosure, the first vector is encrypted based on public key information which is obtained in advance from the third electronic device and comprises a first public key polynomial coefficient and a second public key polynomial coefficient, the polynomial corresponding to the first vector is encrypted to obtain ciphertext information of the first vector, the ciphertext information is sent to the second electronic device, after the second electronic device receives the ciphertext information of the first vector sent by the first electronic device, the second electronic device can take the face feature of the face image which is registered in advance as a second vector, the second vector is encoded into the polynomial, decryption key information is generated based on the polynomial which is obtained in advance from the third electronic device and corresponds to the second vector, further, the first vector is decrypted based on the decryption key information which is obtained in advance from the third electronic device, the face feature of the face image is not registered in the first vector, and the face feature of the face image is not used for confirming the face image in the current process, and the face image is not used for confirming the face feature of the first face image. The third electronic device may be an authoritative and trusted third-party electronic device selected by the second user, and is configured to generate public key information required by the first electronic device and private key information required by the second electronic device in advance.
Preferably, the third electronic device may be an electronic device in which a trusted execution environment is deployed.
It should be noted that, each polynomial related to the present disclosure is a polynomial related to the same variable sign, for example, the variable sign is x (other variable signs may also be used, and is not limited to the specific one), and any polynomial may be expressed asB i Represents x i-1 The coefficients of the terms, N, represent the total number of terms of the polynomial. The polynomials can be represented in terms of coefficient vectors during data storage and transmission, and when used in polynomial computation, the coefficient vectors can be encoded into polynomials for computation.
The data processing method of the present disclosure is not limited to being applied to the above-mentioned authentication scenario, but may be applied to any scenario where a two-vector inner product needs to be determined, for example, any scenario where a nearest neighbor search algorithm or a similar algorithm is adopted, and may specifically be set according to actual requirements, which is not limited in the present disclosure.
The scheme can be used for Privacy computing application scenes, and Privacy computing (Privacy computer or Privacy computing) refers to a technical set for realizing data analysis and computation on the premise of protecting data from external leakage, so that the purpose of being 'available and invisible' for the data is achieved; on the premise of fully protecting data and privacy safety, the conversion and release of data value are realized.
Exemplary method
Fig. 2 is a flow chart of a data processing method according to an exemplary embodiment of the present disclosure. The method of the present disclosure may be used for 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, wherein the public key information comprises 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 that can be used to determine one polynomial, and the second public key polynomial coefficient comprises a second number of coefficients that can 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 alternative example, the public key information may be obtained from a third electronic device of a trusted third party, or may be obtained from a second electronic device, which may be specifically set according to actual requirements.
The first vector is illustratively represented as u= (u) 1 ,…,u l ) L is a positive integer, and the first public key polynomial coefficient 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 polynomialThe first public key polynomial may be determined based on random uniform sampling. The second public key polynomial coefficient is represented 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 denoted as pk 1 =as 1 +e 1 Wherein s is 1 And e 1 Respectively polynomial based on Gaussian distribution, and the value of h is formed by pk 1 Is determined by the number of terms.
Step 202, based on a first encoding rule, encodes a first vector into a first polynomial.
In an alternative example, the first encoding rule may be set according to actual requirements, for example, each component of the first vector is used as a coefficient of a corresponding term in the polynomial, and the first polynomial is determined.
Illustratively, a first vector u= (u 1 ,…,u l ) The corresponding first polynomial is expressed as:
in an alternative embodiment, the process of obtaining the public key information and the process of obtaining and encoding the first vector are not sequential. For example, the public key information may be obtained first, then the first vector may be obtained and the first vector may be encoded into the first polynomial, or the first vector may be obtained first and the first vector may be encoded into the first polynomial, then the public key information may be obtained, or the public key information and the first vector may be obtained simultaneously, which may be specifically set according to the actual requirement.
In step 203, ciphertext information corresponding to the first vector is determined 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 alternative 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 actual requirements, 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.
And step 204, the ciphertext information is sent 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 send ciphertext information to the second electronic device directly through the network, or may indirectly send ciphertext information to the second electronic device through the intermediate device, which may be specifically set according to actual requirements. For example, the first electronic device may send ciphertext information to a third electronic device of a third user, which may be sent to the second electronic device by the third electronic device when desired by the second user.
After the second electronic device obtains the ciphertext information of the first vector, the decryption key information is determined based on the private key information obtained in advance and the polynomial obtained by the second vector encoding, and further, based on the decryption key information and the ciphertext information, the inner product of the first vector and the second vector is determined, and the specific operation principle of the second electronic device side is referred to the method embodiment of the subsequent second electronic device side and is not described herein again.
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 polynomials, 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, and correspondingly, when decrypting, decryption key information is determined based on private key information comprising the first private key polynomial coefficient, and further, 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 flow chart illustrating a data processing method according to another exemplary embodiment of the present disclosure.
In an alternative example, determining ciphertext information corresponding to the first vector based on the first polynomial and the public key information of step 203 includes:
in step 2031, a first ciphertext polynomial coefficient is determined based on the pre-generated second polynomial coefficient, the third polynomial coefficient, the first public key polynomial coefficient, and the first mapping rule.
In one alternative example, the second polynomial coefficient is used to determine the second polynomial and the third polynomial coefficient is used to determine the third polynomial. The first mapping rule may be set according to actual requirements. The second polynomial coefficient and the third polynomial coefficient may be generated based on gaussian distributions, respectively.
The second polynomial is represented as r and the third polynomial is represented as f 0 First ciphertext polynomial ct corresponding to the first ciphertext polynomial coefficient 0 Can be passed through a first mapping rule ct 0 =ar+f 0 Obtain based on ct 0 Determining a first ciphertext polynomial coefficient (ct 0 Coefficients of each item).
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 alternative 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.
The fourth polynomial corresponding to the fourth polynomial coefficient is represented as f 1 Second ciphertext polynomial ct corresponding to the second ciphertext polynomial coefficient 1 May pass through a second mapping ruleThe 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, and can be set according to actual requirements, and are added with->pk 1 =as 1 +e 1 See above for details; />Representation pair->Rounding down.
Step 2033, taking the first ciphertext polynomial coefficient and the second ciphertext polynomial coefficient as ciphertext information corresponding to the first vector.
According to the method and the device, 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 art, the number of polynomials of the ciphertext information is reduced from l+1 to 2, the calculated amount can be greatly reduced, and therefore data processing efficiency is further improved, and the occupied amount of storage space is reduced.
In an alternative example, step 202 encodes the first vector as a first polynomial based on a first encoding rule, comprising:
in step 2021, the components of the first vector are respectively used as coefficients of corresponding terms in the polynomial, so as to obtain a first polynomial.
Exemplary, see the foregoingThe ith component u of the first vector i As x in polynomials i-1 Coefficients of the term.
The method and the device provide effective support for reducing the number of polynomials of the private key, the public key and the ciphertext for the subsequent processing flow by encoding the first vector into the polynomials, and ensure that the determination of the inner products of the first vector and the second vector can be completed under a very small number of polynomials.
In an alternative example, the obtaining public key information of step 201 includes:
and step 2011, receiving public key information sent by the third electronic device, 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 alternative example, the third electronic device may be an electronic device of an authoritative third party for generating public key information and private key information, and transmitting the public key information to the first electronic device of the first user, and transmitting 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 gaussian distributions, respectively.
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 e representing a fifth polynomial coefficient determination 1 And a sixth polynomial representing a sixth polynomial coefficient determination, a representing a first public key polynomial coefficient determination.
The public key information and the private key information are generated through the trusted third electronic equipment, so that the security of the private key information can be ensured.
In an alternative example, the method of the present disclosure may further include: the ciphertext information is sent to the third electronic equipment for storage, other users can access the third electronic equipment to inquire the ciphertext information of the first user, and the inner product of the first vector and the second vector is determined by utilizing the second electronic equipment side method, so that the ciphertext information can be shared to other users through the third electronic equipment, and the data security sharing of the first user is realized.
Specifically, the first user can process the data of the first user as the first vector to obtain ciphertext information of the first vector and store the ciphertext information of the first vector into the third electronic device, the second user can query related ciphertext information from the third electronic device to determine an inner product of the first vector and the second vector, on one hand, the first user can store data which cannot be born by a local storage space into the third electronic device, the local data storage pressure is reduced, and on the other hand, the third user can realize safe sharing of the data through the third electronic device.
In practical applications, the steps 2011 and 2021 may be performed in different orders.
In an alternative example, the obtaining the first vector to be processed in step 201 includes:
step 2012, obtain the first vector from the first electronic device.
The first vector may be a data vector to be encrypted by the first user, which 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 captured by 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 particularly limited.
Fig. 4 is a flow chart 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, etc., and is not limited in particular. The method comprises the following steps:
step 301, receiving 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.
The first electronic device is an electronic device executing the method of the foregoing embodiment. The ciphertext information is referred to in the foregoing and will not be described in detail herein.
Step 302, based on a second encoding rule, encodes the second vector into a seventh polynomial.
The second coding rule can be set according to actual requirements.
The second vector is illustratively represented as y= (y) 1 ,…,y l ) The dimensions of the second vector are the same as the first vector, and are all l, and the seventh polynomial can be expressed asn is a preset value and can be set according to actual requirements.
Step 303, determining decryption key information based on the obtained private key information, the seventh polynomial and the third mapping rule, wherein the private key information comprises the first private key polynomial coefficient.
In one alternative example, the private key information may be obtained from a third electronic device. The first private key polynomial coefficient is used to determine the first private key polynomial. The third mapping rule may be set according to actual requirements. The decryption key information may comprise decryption key polynomial coefficients, which may be used to determine a decryption key polynomial.
Illustratively, the first private key polynomial corresponding to the first private key polynomial coefficient is denoted as s 1 See the foregoing, s 1 Is the fifth polynomial described above, and is a polynomial generated based on gaussian distribution. The third mapping rule is denoted sk y =Y(x)s 1 Polynomial sk obtained based on third mapping rule y Namely, the polynomial corresponding to the decryption key information is obtained, and is further based on sk y Decryption key polynomial coefficients may be determined as 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.
The fourth mapping rule may be expressed, for example, 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,a seventh polynomial, ct, representing the second vector encoding gain 0 =ar+f 0 A first ciphertext polynomial, ct, representing the first ciphertext polynomial coefficient 1 And representing a second ciphertext polynomial corresponding to the second ciphertext polynomial coefficient. Based on the obtained d polynomial of each term and inner product<u,y>Determining the inner product of the first vector and the second vector<u,y>。
According to the method and the device, 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 of fewer polynomials and the decryption key information, and compared with the decryption process of the IPFE in the related art, the calculation amount can be further reduced, the data processing efficiency is improved, and the occupied storage space is reduced.
Fig. 5 is a flow chart illustrating a data processing method according to still another exemplary embodiment of the present disclosure.
In an alternative example, determining the inner product of the first vector and the second vector based on the decryption key information, the ciphertext information, and the fourth mapping rule of step 304 includes:
step 3041, determining an eighth polynomial based on the decryption key information, the ciphertext information, and the fourth mapping rule.
Illustratively, with reference to the foregoing, the fourth mapping rule is expressed as d=y (x) ct 1 -ct 0 sk y Reference is made specifically to the foregoing, and no further description is given here. The polynomial d obtained by the polynomial operation is the eighth polynomial.
And step 3042, extracting coefficients of the preset term from the eighth polynomial.
In an alternative example, the coefficient of the preset term may be determined based on the relationship between each term in d and the inner product < u, Y >, for example, according to the product result of m (x) Y (x), where the coefficient of the nth term is < u, Y >, so that the coefficient of the preset term may be determined according to each term in d capable of forming m (x) Y (x).
In step 3043, an inner product of the first vector and the second vector is determined based on the coefficients of the predetermined term.
Illustratively, the operations between the polynomials in the fourth mapping rule can be obtained The nth term from which the product of m (x) and Y (x) can be determined is the inner product of the first vector and the second vector <u,y>Based on this, it is possible to go from d +.>Part of the nth extraction<u,y>。
According to the method and the device, the inner product of the first vector and the second vector can be determined according to the relation between each item of the eighth polynomial and the inner product, the number of polynomials involved in the determining process of the eighth polynomial is small, the calculated amount is effectively reduced relative to 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 may include an initial Setup (Setup) phase, an encryption (encryp) phase, a decryption key generation (key generation) phase, and a decryption (Decrypt) phase, similar to the IPFE, and each of the stages of the method of the present disclosure is described in detail below with a specific example.
1. Setup phase: generating public key information mpk= (a, pk) according to requirements 1 ) And private key information msk=s 1 . Wherein the polynomial a εR q ,R q Representing the remainder of the polynomial ring R over q (Rmod q), a may be a polynomial determined based on coefficients obtained by random uniform sampling, s 1 Based on a first Gaussian distributionThe resulting polynomial, s 1 ∈R。
2. Encrypt phase: let the first vector u= (u) 1 ,…,u l ) Encoded as a first polynomial Based on the public key information mpk and the first polynomial, ciphertext information (ct 0 ,ct 1 ). Wherein, ct 0 =ar+f 0 ,/>Polynomial R e R q 、f 0 ∈R q 、f 1 ∈R q . r and f 0 Are all based on a second Gaussian distribution +>Generating a polynomial f 1 Is based on a third Gaussian distribution->The generated polynomials, q and K are respectively preset values, and can be set according to actual requirements.
3. Stage of Key generation: let the second vector y= (y) 1 ,…,y l ) Encoded as the seventh polynomial Decryption key information is determined based on the private key information msk, the seventh polynomial. Wherein 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. Decrypt phase: sk-based y 、Y(x)、ct 0 Sum ct 1 Determining d=y (x) ct 1 -ct 0 sk y Based onAnd the nth term of m (x) Y (x) is<u,y>Extracting the 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]-a }; ciphertext obtained in the Encrypt phase (ct 0 ,{ct i |i∈[l]-j); stage of Key generationDecrypt phase calculation +.>It can be seen that the public key in IPFE includes l+1 polynomials, the private key includes l polynomials, the ciphertext includes l+1 polynomials, and the public key, private key, and ciphertext molecule of the present disclosureIncluding 2, 1, 2 polynomials, the method of the present disclosure greatly reduces the number of polynomials relative to IPFE, and the method of the present disclosure is at sk y And d, in the calculation process, multiplying the polynomial in the IPFE with the scalar and then accumulating to become the polynomial multiplication, so that the NTT (Number Theoretic Transform, fast number theory transformation and an algorithm for accelerating the polynomial multiplication) algorithm can be utilized for further acceleration, and 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, servers, etc. Alternatively, any of the data processing methods provided by the embodiments of the present disclosure may be executed by a processor, such as the processor executing any of the data processing methods mentioned by the embodiments of the present disclosure by invoking corresponding instructions stored in a memory. And will not be described in detail below.
Exemplary apparatus
Fig. 6 is a schematic diagram of a data processing apparatus according to an exemplary embodiment of the present disclosure. The apparatus of this embodiment may be provided in a first electronic device, and configured to implement a corresponding method embodiment of the disclosure, where the apparatus shown in fig. 6 includes: an acquisition 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, configured to encode 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; and a sending module 504, configured to send the ciphertext information to a 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 first processing module 503 is specifically configured to:
determining a first ciphertext polynomial coefficient based on a pre-generated second polynomial coefficient, a third polynomial coefficient, the first public key polynomial coefficient and a first mapping rule; and 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 a coefficient of a corresponding term in the polynomial to obtain the first polynomial.
In an alternative example, the obtaining module 501 is specifically configured to: and receiving the public key information sent by the third electronic device, 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.
Fig. 7 is a schematic structural view of a data processing apparatus provided in another exemplary embodiment of the present disclosure. The apparatus of this embodiment may be disposed in a second electronic device, and configured to implement a corresponding method embodiment of the 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.
A receiving module 601, 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, configured to encode 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 is 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 alternative 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 a preset term from the eighth polynomial; and determining an inner product of the first vector and the second vector based on the coefficient of the preset term.
In an alternative example, the embodiments of the disclosure and the modules in the alternative example may further perform finer granularity division according to actual requirements, and may specifically be set according to actual requirements, which is not limited by the disclosure.
In addition, the embodiment of the disclosure also provides an electronic device, which comprises:
a memory for storing a computer program; and 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 one of the foregoing embodiments of the 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 and/or instruction execution capabilities, and may control other components in the electronic device to perform the 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 nonvolatile memory. The volatile memory may include, for example, random Access Memory (RAM) and/or cache memory (cache), and the like. The non-volatile memory may include, for example, read Only Memory (ROM), hard disk, flash memory, and the like. One or more computer program products may be stored on the computer readable storage medium that can be run by a processor to implement the methods of the various embodiments of the present disclosure described above and/or other desired functions.
In one example, the electronic device may further include: input devices and output devices, which are interconnected by a bus system and/or other forms of connection mechanisms (not shown).
In addition, the input device may include, for example, a keyboard, a mouse, and the like.
The output device may output various information including the determined distance information, direction information, etc., 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, etc.
Of course, only some of the components of the electronic device relevant to the present disclosure are shown in fig. 8, components such as buses, input/output interfaces, and the like are omitted for simplicity. In addition, the electronic device may include any other suitable components depending on the particular application.
In addition to the methods and apparatus described above, 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 steps in a method according to various embodiments of the present disclosure described in the above section of the specification.
The computer program product may write program code for performing the operations of 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, 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 a method according to various embodiments of the present disclosure described in the above section of the present disclosure.
The computer readable storage medium may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may include, for example, but is 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 would include the following: an electrical connection having one or more wires, a portable 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), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
Those of ordinary skill in the art will appreciate that: all or part of the steps for implementing the above method embodiments may be implemented by hardware associated with program instructions, where the foregoing program may be stored in a computer readable storage medium, and when executed, the program performs steps including the above method embodiments; and the aforementioned storage medium includes: various media that can store program code, such as ROM, RAM, magnetic or optical disks.
The basic principles of the present disclosure have been described above in connection with specific embodiments, however, it should be noted that the advantages, benefits, effects, etc. mentioned in the present disclosure are merely examples and not limiting, and these advantages, benefits, effects, etc. are not to be considered as necessarily possessed by the various embodiments of the present disclosure. Furthermore, the specific details disclosed herein are for purposes of illustration and understanding only, and are not intended to be limiting, since the disclosure is not necessarily limited to practice with the specific details described.
In this specification, each embodiment is described in a progressive manner, and each embodiment is mainly described in a different manner from other embodiments, so that the same or similar parts between the embodiments are mutually referred to. For system embodiments, the description is relatively simple as it essentially corresponds to method embodiments, and reference should be made to the description of method embodiments for relevant points.
The block diagrams of the devices, apparatuses, devices, systems referred to in this disclosure are merely 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. As will be appreciated by one of skill in the art, the devices, apparatuses, devices, systems may be connected, arranged, configured in any manner. Words such as "including," "comprising," "having," and the like are words of openness and mean "including but not limited to," and are used interchangeably therewith. The terms "or" and "as used herein refer to and are used interchangeably with the term" and/or "unless the context clearly indicates otherwise. The term "such as" as used herein refers to, 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, firmware. The above-described sequence of steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the sequence specifically described above unless specifically stated otherwise. Furthermore, in some embodiments, the present disclosure may also be implemented 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, components or steps may be disassembled and/or assembled. Such decomposition and/or recombination should be considered equivalent to 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 the embodiments of the disclosure to the form disclosed herein. Although a number of example aspects and embodiments have been discussed above, a person of ordinary skill in the art will recognize certain variations, modifications, alterations, additions, and subcombinations thereof.

Claims (14)

1. A data processing method, wherein the method is applied to a first electronic device, the method comprising:
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; the first public key polynomial coefficient includes a first number of coefficients for determining one polynomial and the second public key polynomial coefficient includes a second number of coefficients for determining another polynomial;
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; the first ciphertext polynomial coefficient is used for determining a first ciphertext polynomial, and the second ciphertext polynomial coefficient is used for determining a second ciphertext polynomial;
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 the 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 third polynomial coefficient, the first public key polynomial coefficient and a first mapping rule;
and 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 the encoding the first vector into a first polynomial based on a first encoding rule comprises:
and respectively taking each component of the first vector as a coefficient of a corresponding term in the 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 the third electronic device, 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.
5. A data processing method, wherein the method is applied to a second electronic device, the method comprising:
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; the first ciphertext polynomial coefficient is used for determining a first ciphertext polynomial, and the second ciphertext polynomial coefficient is used for determining a second ciphertext polynomial;
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; the first private key polynomial coefficient is used for determining a first private key polynomial;
an inner product of the first vector and the second vector is determined based on the decryption key information, the ciphertext information, and a fourth mapping rule.
6. The method of claim 5, wherein the 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 a preset term from the eighth polynomial;
and determining an inner product of the first vector and the second vector based on the coefficient of the preset term.
7. A data processing apparatus, the apparatus being for arrangement at 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 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; the first vector is a vector comprising a target number of elements, the first public key polynomial coefficient comprises a first number of coefficients, the first number of coefficients is used for determining one polynomial, and the second public key polynomial coefficient comprises a second number of coefficients is used for determining another polynomial;
A first encoding module for encoding 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; the first ciphertext polynomial coefficient is used for determining a first ciphertext polynomial, and the second ciphertext polynomial coefficient is used for determining a second ciphertext polynomial;
and the sending module is used for sending the ciphertext information to second electronic equipment so that the second electronic equipment can determine the inner product of the first vector and the second vector based on the ciphertext information and the second vector.
8. The apparatus of claim 7, wherein the first processing module is specifically configured to:
determining a first ciphertext polynomial coefficient based on a pre-generated second polynomial coefficient, a third polynomial coefficient, the first public key polynomial coefficient and a first mapping rule;
and 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.
9. The apparatus of claim 7, wherein the first encoding module is specifically configured to: and respectively taking each component of the first vector as a coefficient of a corresponding term in the polynomial to obtain the first polynomial.
10. The apparatus of claim 7, wherein the acquisition module is specifically configured to: and receiving the public key information sent by the third electronic device, 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.
11. A data processing apparatus for positioning at a second electronic device, the apparatus comprising:
the receiving module is used for receiving ciphertext information of a first vector sent by the first electronic equipment, wherein the ciphertext information comprises a first ciphertext polynomial coefficient and a second ciphertext polynomial coefficient; the first ciphertext polynomial coefficient is used for determining a first ciphertext polynomial, and the second ciphertext polynomial coefficient is used for determining a second ciphertext polynomial;
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 the pre-obtained private key information, the seventh polynomial and the third mapping rule, wherein the private key information comprises a first private key polynomial coefficient; the first private key polynomial coefficient is used for determining a first private key polynomial;
And the third processing module is used for 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.
12. The apparatus of claim 11, wherein 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 a preset term from the eighth polynomial;
and determining an inner product of the first vector and the second vector based on the coefficient of the preset term.
13. An electronic device, comprising:
a memory for storing a computer program;
a processor for executing a computer program stored in said memory, and which, when executed, implements the method of any of the preceding claims 1-6.
14. A computer readable storage medium having stored thereon computer program instructions, which 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 CN115913544A (en) 2023-04-04
CN115913544B true 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
Efficient Lattice-Based Inner-ProductFunctional Encryption;Jose Maria Bermudo Mera1等;《IACR International Conference on Public-Key Cryptography》;第163-193页 *

Also Published As

Publication number Publication date
CN115913544A (en) 2023-04-04

Similar Documents

Publication Publication Date Title
US10374789B2 (en) Encrypting and decrypting information
JP6413598B2 (en) Cryptographic processing method, cryptographic processing apparatus, and cryptographic processing program
JP6180177B2 (en) Encrypted data inquiry method and system capable of protecting privacy
JP5537032B2 (en) Secure threshold decryption protocol calculation
JP2016012111A (en) Encryption processing method, encryption processing device, and encryption processing program
JP6413743B2 (en) Cryptographic processing apparatus, cryptographic processing method, and cryptographic processing program
JP6421576B2 (en) Cryptographic processing apparatus, cryptographic processing method, and cryptographic processing program
JP2014126865A (en) Device and method for encryption processing
CN114039785B (en) Data encryption, decryption and processing methods, devices, equipment and storage medium
Zhao et al. Iris template protection based on local ranking
CN116502254A (en) Method and device for inquiring trace capable of searching statistics
JPWO2016072057A1 (en) Ciphertext verification system, method, and recording medium
Sun et al. Face security authentication system based on deep learning and homomorphic encryption
CN115913544B (en) Data processing method, device, electronic equipment and computer readable storage medium
Catak et al. A privacy-preserving fully homomorphic encryption and parallel computation based biometric data matching
CN108011714B (en) Method and system for protecting data object body identification based on cryptology operation
Bai et al. CryptoMask: Privacy-preserving Face Recognition
CN116070272A (en) Biological feature matching method, terminal equipment, server, system and medium
CN115801258B (en) Data processing method, device, electronic equipment and computer readable storage medium
CN116303551B (en) Hidden query method and device
CN115408451B (en) Confidential trace query method and storage medium
CN114095157B (en) Key management method, key management device, computer equipment and readable storage medium
Okokpujie et al. Enhanced Optical Double Phase Image Encryption Using Random Gaussian Noise
CN115733616B (en) Biological feature authentication method and system
Lin et al. A Privacy-Preserving Gait Recognition Scheme Under Homomorphic Encryption

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