CN115801258B - 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
CN115801258B
CN115801258B CN202211546697.3A CN202211546697A CN115801258B CN 115801258 B CN115801258 B CN 115801258B CN 202211546697 A CN202211546697 A CN 202211546697A CN 115801258 B CN115801258 B CN 115801258B
Authority
CN
China
Prior art keywords
polynomial
ciphertext
vectors
public key
vector
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
CN202211546697.3A
Other languages
Chinese (zh)
Other versions
CN115801258A (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 CN202211546697.3A priority Critical patent/CN115801258B/en
Publication of CN115801258A publication Critical patent/CN115801258A/en
Application granted granted Critical
Publication of CN115801258B publication Critical patent/CN115801258B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

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 number of first vectors and public key information, wherein the public key information comprises a second number of sets of public key polynomial coefficients, the second number is determined based on the number of elements of the first vectors, and each set of public key polynomial coefficients is used for determining a public key polynomial; encoding the first number of first vectors into a third number of first polynomials based on a first encoding rule, the third number being the same as the number of elements of the first vectors; determining ciphertext information of a first number of first vectors based on each first polynomial and the public key information, the ciphertext information comprising a second number of sets of ciphertext polynomial coefficients; and sending the ciphertext information to the second electronic device, so that the second electronic device determines inner products of the first vectors and the second vectors respectively based on the ciphertext information and the second vectors. And the data processing efficiency is effectively improved.

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 technology, 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 products < u, y > of u and y, and the decryption stage mainly decrypts ciphertext with decryption key, but in the existing IPFE, the inner products of two vectors are calculated, and the data processing efficiency is low.
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 realize the determination of a plurality of vector inner products and improve the 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:
Obtaining a first number of first vectors and public key information, the public key information comprising a second number of sets of public key polynomial coefficients, the second number being determined based on the number of elements of the first vector, each set of public key polynomial coefficients being used to determine a public key polynomial;
encoding the first number of the first vectors into a third number of first polynomials based on a first encoding rule, the third number being the same as the number of elements of the first vector;
determining ciphertext information of the first number of the first vectors based on each of the first polynomials and the public key information, the ciphertext information comprising the second number of sets of ciphertext polynomial coefficients;
and sending the ciphertext information to second electronic equipment, so that the second electronic equipment determines inner products of the first vectors and the second vectors respectively based on the ciphertext information and the second vectors.
In an embodiment of the disclosure, the encoding the first number of the first vectors into the third number of first polynomials based on a first encoding rule includes:
taking the elements at the same position in the first vector of the first quantity as coefficients of a first polynomial to obtain a third quantity group of first polynomial coefficients;
A third number of the first polynomials is determined based on a third number of sets of the first polynomial coefficients.
In an embodiment of the present disclosure, the determining ciphertext information of the first vector based on each of the first polynomials 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 public key information and a first mapping rule;
determining second ciphertext polynomial coefficients corresponding to the first polynomials respectively based on the second polynomial coefficients, a third number of pre-generated fourth polynomial coefficients, the first polynomials, the public key information and a second mapping rule;
and taking the first ciphertext polynomial coefficient and each second ciphertext polynomial coefficient as the ciphertext information.
In one embodiment of the present disclosure, obtaining public key information includes:
and receiving the public key information sent by the third electronic equipment.
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 number of first vectors sent by a first electronic device, wherein the ciphertext information comprises a second number group of ciphertext polynomial coefficients, and the second number is determined based on the number of elements of the first vectors;
Acquiring a second vector;
determining decryption key information based on pre-obtained private key information, the second vector and a third mapping rule, wherein the private key information comprises a third number group of private key polynomial coefficients, and the third number is the element number of the second vector;
and determining inner products of the first vectors and the second vectors respectively based on the decryption key information, the ciphertext information and a fourth mapping rule.
In an embodiment of the disclosure, the determining, based on the decryption key information, the ciphertext information, and a fourth mapping rule, an inner product of each of the first vectors and the second vector, respectively, includes:
determining a fifth polynomial based on the decryption key information, the ciphertext information, and a fourth mapping rule;
extracting coefficients of a preset term from the fifth polynomial;
and determining the inner product of each first vector and the second vector respectively 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, the apparatus being applied to a first electronic device, the apparatus including:
a first obtaining module, configured to obtain a first number of first vectors and public key information, where the public key information includes a second number of sets of public key polynomial coefficients, where the second number is determined based on a number of elements of the first vector, and each set of public key polynomial coefficients is used to determine a public key polynomial;
A first encoding module that encodes the first number of the first vectors into a third number of first polynomials based on a first encoding rule, the third number being the same as the number of elements of the first vectors;
a first processing module configured to determine ciphertext information of the first number of the first vectors based on each of the first polynomials and the public key information, the ciphertext information including ciphertext polynomial coefficients of the second number group;
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 each first vector and each second vector based on the ciphertext information and the second vector.
In an embodiment of the disclosure, the first encoding module is specifically configured to:
taking the elements at the same position in the first vector of the first quantity as coefficients of a first polynomial to obtain a third quantity group of first polynomial coefficients;
a third number of the first polynomials is determined based on a third number of sets of the first polynomial coefficients.
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 public key information and a first mapping rule;
Determining second ciphertext polynomial coefficients corresponding to the first polynomials respectively based on the second polynomial coefficients, a third number of pre-generated fourth polynomial coefficients, the first polynomials, the public key information and a second mapping rule;
and taking the first ciphertext polynomial coefficient and each second ciphertext polynomial coefficient as the ciphertext information.
In an embodiment of the disclosure, the first obtaining module is specifically configured to: and receiving the public key information sent by the third electronic equipment.
In yet another aspect of the embodiments of the present disclosure, there is provided a data processing apparatus, the apparatus being applied to a second electronic device, the apparatus including:
the receiving module is used for receiving ciphertext information of a first number of first vectors sent by the first electronic equipment, wherein the ciphertext information comprises a second number group of ciphertext polynomial coefficients, and the second number is determined based on the number of elements of the first vectors;
a second acquisition module configured to acquire a second vector;
the second processing module is used for determining decryption key information based on the obtained private key information, the second vector and a third mapping rule, wherein the private key information comprises a third number group of private key polynomial coefficients, and the third number is the element number of the second vector;
And the third processing module is used for determining the inner product of each first vector and the second vector respectively 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 a fifth polynomial based on the decryption key information, the ciphertext information, and a fourth mapping rule;
extracting coefficients of a preset term from the fifth polynomial;
and determining the inner product of each first vector and the second vector respectively 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 vectors to be determined are encoded into the polynomials, the first vectors can be encrypted based on the public key information obtained in advance to obtain ciphertext information of the first vectors, correspondingly, when decryption is performed, decryption key information is determined based on the private key information obtained in advance and the second vector, and further, the ciphertext information is decrypted based on the decryption key information to obtain inner products of the first vectors and the second vector respectively.
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 step 304 provided by an 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 existing IPFE calculates an inner product of two vectors, and has low data processing efficiency.
Exemplary overview
Fig. 1 is an exemplary application scenario of the data processing method provided in the present disclosure.
In a data sharing scenario, a first user encrypts data as a first vector through a first electronic device (such as a mobile phone or other terminals, a server and the like), the encrypted ciphertext information is stored locally or uploaded to a cloud or provided to a service provider (a second user), and the service provider only acquires ciphertext information of the data of the first user, performs data calculation based on the ciphertext information and does not acquire plaintext data of the first user, so that data sharing can be realized on the basis of protecting the data security of the user. According to the data processing method, a first user can respectively take a plurality of (first quantity) data as first vectors based on first electronic equipment of the first user, obtain the first quantity of the first vectors, encode the first quantity of the first vectors into a third quantity (the same as the quantity of elements of the first vectors) of first polynomials based on a first encoding rule, determine ciphertext information of the first quantity of the first vectors based on each first polynomial and public key information obtained in advance, send the ciphertext information to second electronic equipment, the second electronic equipment can generate decryption key information based on the ciphertext information and the second vectors, decrypt the ciphertext information, determine inner products of the first vectors and the second vectors respectively, and use the inner products for purposes required by the second user, such as inner products of various search products (each search product is taken as one first vector) in product search history data of the first user and product information of the second user, and the matching degree of products of the user search products and products of the user can be determined, and accordingly, the relevant product requirements of the user can be determined. The method of the present disclosure may also be used in other various possible scenarios, and may be specifically set according to actual needs. The data processing method provided by the embodiment of the disclosure can simultaneously determine the inner products of the first vectors and the second vectors, and effectively improve the data processing efficiency. Compared with the IPFE of the related art, the method realizes the determination of the inner products of the first vectors and the second vectors under the condition that the resource consumption is basically unchanged. The method solves the problems that IPFE determines the inner product of a first vector and a second vector each time, the processing efficiency is low, and the like. The public key information used for encryption by the first user and the private key information used by the second user can be generated by a reliable third party (third electronic equipment) and sent to the first user and the second user.
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 be applied to the above-mentioned data sharing scenario, but may be applied to any scenario where a two-vector inner product needs to be determined, such as any scenario where a nearest neighbor search algorithm or a similar algorithm is adopted, a data query search scenario, etc., and may specifically be set according to actual requirements, which is not limited by 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 comprises the following steps:
step 201, obtaining a first number of first vectors and public key information, the public key information comprising a second number of sets of public key polynomial coefficients, the second number being determined based on the number of elements of the first vector, each set of public key polynomial coefficients being used to determine a public key polynomial.
In an alternative embodiment, the first vector is a vector comprising a number (e.g. l) of elements, the second number is determined based on the number of elements of the first vector, e.g. the second number is l+1, the first number may be set according to the actual requirements. The number of coefficients included in each set of public key polynomial coefficients may be set according to actual requirements.
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 number is illustratively denoted as n, the number of elements of the first vector is denoted as l, the j-th first vector is denoted asl is a positive integer, j=1,..n. The public key information includes l+1 sets of public key polynomial coefficients, corresponding to l+1 public key polynomials, expressed as mpk= (a, { pk) i |i∈[l]})=(a,pk 1 ,pk 2 ,...,pk l ) Wherein a and pk i Are public key polynomials, a can be determined based on random uniform sampling, pk i =as i +e i ,s i And e i Are polynomials generated based on gaussian distributions.
Step 202, based on a first encoding rule, encoding a first number of first vectors into a third number of first polynomials, the third number being the same as the number of elements of the first vectors.
In an alternative example, the first encoding rule may be set according to actual requirements. Such as the i (i e l]) The polynomials are expressed as
In an alternative embodiment, the process of obtaining the public key information and the process of obtaining and encoding each first vector are not sequential. For example, the public key information may be obtained first, then the first number of first vectors may be obtained, and the first number of first vectors may be encoded into the third number of first polynomials, or the first number of first vectors may be obtained first, and the first number of first vectors may be encoded into the third number of first polynomials, then the public key information may be obtained, or the public key information may be obtained and the first number of first vectors may be obtained simultaneously, which may be specifically set according to actual requirements.
Step 203, determining ciphertext information of the first vector of the first quantity based on each first polynomial and the public key information, wherein the ciphertext information comprises a second quantity group of ciphertext polynomial coefficients.
In an alternative example, the first polynomial and the public key information may be mapped to ciphertext information based on a preset mapping rule, and may specifically be set according to actual requirements. The mapping rules can be set according to actual requirements.
The second number of ciphertext polynomials corresponding to the obtained ciphertext information may be represented as cu= (ct) 0 ,{ct i |i∈[l]})=(ct 0 ,ct 1 ,ct 2 ,...,ct l ) Wherein, ct 0 Sum ct i All are ciphertext polynomials, and ciphertext information corresponds to l+1 ciphertext polynomials altogether.
And step 204, sending the ciphertext information to the second electronic device, so that the second electronic device determines inner products of the first vectors and the second vectors respectively based on the ciphertext information and the second vectors.
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 vectors of the first quantity, determining decryption key information based on the private key information and the second vectors which are obtained in advance, and further determining inner products of the first vectors and the second vectors respectively based on the decryption key information and the ciphertext information, wherein 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 repeated herein.
According to the data processing method provided by the embodiment of the disclosure, the first vectors to be determined are encoded into the polynomials, the first vectors can be encrypted based on the public key information obtained in advance to obtain ciphertext information of the first vectors, and correspondingly, when decrypting, the decrypting key information is determined based on the private key information and the second vector obtained in advance, and further, the ciphertext information is decrypted based on the decrypting key information to obtain inner products of the first vectors and the second vector respectively.
Fig. 3 is a flow chart illustrating a data processing method according to another exemplary embodiment of the present disclosure.
In an alternative example, step 202 encodes a first number of first vectors into a third number of first polynomials based on a first encoding rule, comprising:
in step 2021, the elements at the same position in the first number of first vectors are used as coefficients of a first polynomial, and a third number of first polynomial coefficients are obtained.
Exemplary, the jth first vector is expressed asThe same position means the element of the first vector +.>Elements corresponding to like i-numerals, e.g +.>The same position (i=1) element in the first number of first vectors is used as a set of first polynomial coefficients.
Step 2022, determining a third number of first polynomials based on the third number of sets of first polynomial coefficients.
Wherein each group of first polynomial coefficients is used for determining a first polynomial, the third number is l, and the first polynomial coefficients of the l groups can be determined, and the first polynomial coefficients of the i th group correspond to the first polynomial coefficients of the l groups, and the first polynomial coefficients of the i th group are expressed as follows
In the embodiment, the first quantity of first vectors is encoded into the third quantity of first polynomials, so that the first quantity of first vectors can be encrypted to obtain ciphertext information, a second user can decrypt the first quantity of first vectors simultaneously to obtain inner products of the first quantity of first vectors and the second vectors respectively, and the data processing efficiency is improved.
In an alternative embodiment, determining ciphertext information of the first vector of the first quantity based on each first polynomial and the public key information of step 203 comprises:
in step 2031, a first ciphertext polynomial coefficient is determined based on the pre-generated second polynomial coefficient, the third polynomial coefficient, the public key information, and the first mapping rule.
In an alternative example, the second polynomial coefficient and the third polynomial coefficient may be set according to actual requirements, for example, the second polynomial coefficient and the third polynomial coefficient may be generated based on gaussian distributions, respectively. The first mapping rule may be set according to actual requirements. The second polynomial coefficient is used to determine the second polynomial and the third polynomial coefficient is used to determine the third polynomial.
In an alternative example, the second polynomial is denoted as r and the third polynomial is denoted 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 A) is a public key polynomial determined by a set of public key polynomial coefficients included in the public key information, see the foregoing.
Step 2032, determining second ciphertext polynomial coefficients corresponding to the first polynomials respectively based on the second polynomial coefficients, the pre-generated third number of sets of fourth polynomial coefficients, the first polynomials, the public key information, and the second mapping rule.
The fourth polynomial coefficients of the third number group may be generated in any practical manner according to practical requirements, for example, the fourth polynomial coefficients of the third number group are generated based on gaussian distribution. The second mapping rule may be set according to actual requirements.
In an alternative example, a third number of fourth polynomials corresponding to a third number of sets of fourth polynomial coefficients is denoted as f i Ith first polynomial m i Second ciphertext polynomial ct determined by corresponding second ciphertext polynomial coefficients i May be based on a second mapping ruleThe determination, in turn, may be based on a second ciphertext polynomial ct i 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->Represents a downward rounding, pk i =as i +e i ,s i And e i Are polynomials generated based on gaussian distributions.
Step 2033, using the first ciphertext polynomial coefficient and each second ciphertext polynomial coefficient as ciphertext information.
According to the embodiment, by setting the corresponding first mapping rule and second mapping rule, encryption is carried out on a third number of first polynomials obtained by encoding a first number of first vectors, ciphertext information is obtained, so that subsequent decryption can simultaneously obtain inner products of the first number of first vectors and the second vectors, and data processing efficiency is improved.
In an alternative embodiment, the obtaining public key information of step 201 includes:
in step 2011, public key information sent by the third electronic device is received.
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.
In an alternative example, the public key information may be determined based on a preset rule, such as determining the first public key polynomial a based on random uniform sampling, based on pk i =as i +e i Determining each second public key polynomial pk i And further based on the first public key polynomial coefficient of the first public key polynomial a and each second public key polynomial pk i And determining public key information by the corresponding second public key polynomial coefficients.
In an alternative example, the third electronic device may also generate corresponding private key information for the second electronic device to generate decryption key information.
According to the embodiment, the public key information and the private key information are generated through the trusted third electronic equipment, so that the safety information of the private key information can be ensured.
In an alternative example, the method of the present disclosure may further include: and sending the ciphertext information of the first vectors to third electronic equipment for storage, wherein other users can access the third electronic equipment to inquire the ciphertext information of the first user, and the inner product of each first vector and each second vector is determined by using 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 respectively process a plurality of data of the first user as the first vectors, the ciphertext information of each first vector is obtained and stored in the third electronic device by utilizing the method disclosed by the disclosure, the second user can inquire related ciphertext information from the third electronic device and is used for determining the inner product of each first vector and each second vector, on one hand, the first user can store the data which cannot be born by the local storage space into the third electronic device, the local data storage pressure is reduced, and on the other hand, the safe sharing of the data can be realized through the third electronic device. For example, the historical behavior data of the application program of the user at the terminal can form a plurality of first vectors, the first vectors are encrypted and then uploaded to the cloud server, the owner of the application program can access the cloud server to obtain ciphertext information of the historical behavior data of the first user, and the behavior preference of the first user is analyzed through a decryption result, so that the user data can be available and invisible. The specific scene can be set according to actual requirements.
In practical applications, the steps 2011 and 2021 may be performed in different orders.
In an alternative embodiment, step 202 of obtaining a first number of first vectors includes:
Step 2012, obtain a first number of first vectors from the first electronic device.
The first vector may be a data vector to be encrypted by the first user, may be uploaded to the first electronic device in real time (for example, an image photographed in real time, an uploaded document, etc.), 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 number of first vectors sent by a first electronic device, where the ciphertext information includes a second number of sets of ciphertext polynomial coefficients, and the second number is determined based on a number of elements of the first vectors.
The first electronic device is an electronic device executing the method of the foregoing embodiment. The ciphertext information is referred to the foregoing embodiments, and will not be described in detail herein.
Step 302, a second vector is obtained.
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.
Step 303, determining decryption key information based on the obtained private key information, the second vector and the third mapping rule, wherein the private key information includes a third number of sets of private key polynomial coefficients, and the third number is the number of elements of the second vector.
In one alternative example, the private key information may be obtained from a third electronic device. The third number of sets of private key polynomial coefficients is used to determine a third number of private key polynomials. 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.
The third number of private key polynomials corresponding to the private key information is illustratively represented as { s } i |i∈[l]Wherein l represents the number of elements of the second vector, s i Is a polynomial generated based on a gaussian distribution. The decryption key polynomial may be expressed asSk-based y Decryption key polynomial coefficients may be determined as decryption key information.
Step 304, determining inner products of the first vectors and the second vectors, respectively, based on the decryption key information, the ciphertext information, and the fourth mapping rule.
The fourth mapping rule may be set according to actual requirements.
In an alternative example, the fourth mapping rule may be expressed asWherein the representation of the parts is referred to in the foregoing. Will->pk i =as i +e i 、ct 0 =ar+f 0 Andsubstituting d to obtain +.> Wherein the method comprises the steps ofBelongs to disturbance item, is smaller, and obtains +.> According toThe result of the j-th item after expansion is just +.> Based on this, the jth first vector u can be extracted from the jth term (j) Inner product with second vector y<u (j) ,y>。
According to the method and the device, the inner products of the first vectors and the second vectors are determined through the fourth mapping rule, so that the inner products of the first vectors and the second vectors are determined simultaneously, and compared with the decryption process of the IPFE in the related art, the data processing efficiency can be effectively improved under the condition of equal resource consumption.
Fig. 5 is a flow chart of step 304 provided by an exemplary embodiment of the present disclosure.
In an alternative embodiment, determining the inner product of each first vector and each second vector based on the decryption key information, the ciphertext information, and the fourth mapping rule of step 304 includes:
step 3041, determining a fifth polynomial based on the decryption key information, the ciphertext information, and the fourth mapping rule. In an alternative example, see above, the fourth mapping rule is expressed as Obtaining a polynomial d based on +.>Will remove disturbance term->The mode of removing the disturbance term by taking the latter polynomial as the fifth polynomial can be set according to actual requirements. The fifth polynomial finally obtained is +.>A corresponding polynomial.
Step 3042, extracting coefficients of the preset term from the fifth polynomial.
Specifically, the 1 st term (x 0 Item) to nth item (x) n-1 Item) coefficients.
In step 3043, the inner products of the first vectors and the second vectors are determined based on the coefficients of the predetermined terms.
Wherein the coefficient of the jth term is the jth first vector u (j) Inner product with second vector y<u (j) ,y>。
The present disclosure enables simultaneous determination of the inner products of the first number of first vectors and the second vector, respectively, based on the relationship of the fifth polynomial and each inner product (inner product of each first vector and second vector, respectively).
According to the data processing method, the determination of the inner products of n vectors u in batches can be realized under the condition that the change of the maintenance performance and the resource consumption is not large, and the data processing performance can be directly improved by n times under the condition that a large number of vectors u exist, so that the processing efficiency is greatly 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: a first acquisition module 501, a first encoding module 502, a first processing module 503, and a sending module 504.
A first obtaining module 501, configured to obtain a first number of first vectors and public key information, where the public key information includes a second number of sets of public key polynomial coefficients, where the second number is determined based on a number of elements of the first vector, and each set of public key polynomial coefficients is used to determine a public key polynomial.
The first encoding module 502 encodes the first number of first vectors into a third number of first polynomials based on the first encoding rule, the third number being the same as the number of elements of the first vectors.
A first processing module 503 is configured to determine ciphertext information of a first number of first vectors based on each first polynomial and public key information, where the ciphertext information includes a second number of sets of ciphertext polynomial coefficients.
The sending module 504 is configured to send the ciphertext information to the second electronic device, so that the second electronic device determines inner products of the first vectors and the second vectors, respectively, based on the ciphertext information and the second vectors.
In an alternative embodiment, the first encoding module 502 is specifically configured to:
taking the elements at the same position in the first quantity of first vectors as coefficients of a first polynomial to obtain a third quantity of first polynomial coefficients; a third number of first polynomials is determined based on the third number of sets of first polynomial coefficients.
In an alternative embodiment, the first processing module 503 is specifically configured to:
determining a first ciphertext polynomial coefficient based on the pre-generated second polynomial coefficient, the third polynomial coefficient, the public key information and the first mapping rule; determining second ciphertext polynomial coefficients corresponding to the first polynomials respectively based on the second polynomial coefficients, the pre-generated third number of sets of fourth polynomial coefficients, the first polynomials, the public key information and the second mapping rules; and taking the first ciphertext polynomial coefficient and each second ciphertext polynomial coefficient as ciphertext information.
In an alternative embodiment, the first obtaining module 501 is specifically configured to: and receiving public key information sent by the third electronic equipment.
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 obtaining 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 number of first vectors sent by a first electronic device, where the ciphertext information includes a second number of sets of ciphertext polynomial coefficients, and the second number is determined based on a number of elements of the first vectors.
A second acquisition module 602, configured to acquire a second vector.
The second processing module 603 is configured to determine decryption key information based on the obtained private key information, the second vector, and the third mapping rule, where the private key information includes a third number of sets of private key polynomial coefficients, and the third number is the number of elements of the second vector.
The third processing module 604 is configured to determine an inner product of each first vector and each second vector based on the decryption key information, the ciphertext information, and the fourth mapping rule.
In an alternative embodiment, the third processing module 604 is specifically configured to:
determining a fifth polynomial based on the decryption key information, the ciphertext information, and the fourth mapping rule; extracting coefficients of a preset term from the fifth polynomial; based on the coefficients of the preset terms, the inner products of the first vectors and the second vectors are determined.
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 (8)

1. A data processing method, wherein the method is applied to a first electronic device, the method comprising:
obtaining a first number of first vectors and public key information, the public key information comprising a second number of sets of public key polynomial coefficients, the second number being determined based on the number of elements of the first vector, each set of public key polynomial coefficients being used to determine a public key polynomial;
taking the elements at the same position in the first vector of the first quantity as coefficients of a first polynomial to obtain a third quantity group of first polynomial coefficients;
determining a third number of the first polynomials based on a third number of sets of the first polynomial coefficients;
determining a first ciphertext polynomial coefficient based on a pre-generated second polynomial coefficient, a third polynomial coefficient, the public key information and a first mapping rule;
Determining second ciphertext polynomial coefficients corresponding to the first polynomials respectively based on the second polynomial coefficients, a third number of pre-generated fourth polynomial coefficients, the first polynomials, the public key information and a second mapping rule;
taking the first ciphertext polynomial coefficient and each second ciphertext polynomial coefficient as ciphertext information;
and sending the ciphertext information to second electronic equipment, so that the second electronic equipment determines inner products of the first vectors and the second vectors respectively based on the ciphertext information and the second vectors.
2. The method of claim 1, wherein obtaining public key information comprises:
and receiving the public key information sent by the third electronic equipment.
3. A data processing method, wherein the method is applied to a second electronic device, the method comprising:
receiving ciphertext information of a first number of first vectors sent by a first electronic device, wherein the ciphertext information comprises a second number group of ciphertext polynomial coefficients, and the second number is determined based on the number of elements of the first vectors;
acquiring a second vector;
determining decryption key information based on pre-obtained private key information, the second vector and a third mapping rule, wherein the private key information comprises a third number group of private key polynomial coefficients, and the third number is the element number of the second vector;
Determining a fifth polynomial based on the decryption key information, the ciphertext information, and a fourth mapping rule;
extracting coefficients of a preset term from the fifth polynomial;
and determining the inner product of each first vector and the second vector respectively based on the coefficient of the preset term.
4. A data processing apparatus, the apparatus being applied to a first electronic device, the apparatus comprising:
a first obtaining module, configured to obtain a first number of first vectors and public key information, where the public key information includes a second number of sets of public key polynomial coefficients, where the second number is determined based on a number of elements of the first vector, and each set of public key polynomial coefficients is used to determine a public key polynomial;
the first coding module is used for taking the elements at the same position in the first quantity of the first vectors as coefficients of a first polynomial to obtain a third quantity of groups of first polynomial coefficients; determining a third number of the first polynomials based on a third number of sets of the first polynomial coefficients;
the first processing module is used for determining a first ciphertext polynomial coefficient based on the pre-generated second polynomial coefficient, the third polynomial coefficient, the public key information and the first mapping rule; determining second ciphertext polynomial coefficients corresponding to the first polynomials respectively based on the second polynomial coefficients, a third number of pre-generated fourth polynomial coefficients, the first polynomials, the public key information and a second mapping rule; taking the first ciphertext polynomial coefficient and each second ciphertext polynomial coefficient as ciphertext information;
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 each first vector and each second vector based on the ciphertext information and the second vector.
5. The apparatus of claim 4, wherein the first acquisition module is specifically configured to:
and receiving the public key information sent by the third electronic equipment.
6. A data processing apparatus, the apparatus being applied to a second electronic device, the apparatus comprising:
the receiving module is used for receiving ciphertext information of a first number of first vectors sent by the first electronic equipment, wherein the ciphertext information comprises a second number group of ciphertext polynomial coefficients, and the second number is determined based on the number of elements of the first vectors;
a second acquisition module configured to acquire a second vector;
the second processing module is used for determining decryption key information based on the obtained private key information, the second vector and a third mapping rule, wherein the private key information comprises a third number group of private key polynomial coefficients, and the third number is the element number of the second vector;
a third processing module configured to determine a fifth polynomial based on the decryption key information, the ciphertext information, and a fourth mapping rule; extracting coefficients of a preset term from the fifth polynomial; and determining the inner product of each first vector and the second vector respectively based on the coefficient of the preset term.
7. 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-3.
8. A computer readable storage medium having stored thereon a computer program, characterized in that the computer program, when executed by a processor, implements the method of any of the preceding claims 1-3.
CN202211546697.3A 2022-12-02 2022-12-02 Data processing method, device, electronic equipment and computer readable storage medium Active CN115801258B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211546697.3A CN115801258B (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
CN202211546697.3A CN115801258B (en) 2022-12-02 2022-12-02 Data processing method, device, electronic equipment and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN115801258A CN115801258A (en) 2023-03-14
CN115801258B true CN115801258B (en) 2023-08-15

Family

ID=85445529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211546697.3A Active CN115801258B (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) CN115801258B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785500A (en) * 2022-05-10 2022-07-22 东南大学 Entrustable inner product function encryption method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785500A (en) * 2022-05-10 2022-07-22 东南大学 Entrustable inner product function encryption method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于矩阵的内积函数加密;徐秋霞;唐春明;;广州大学学报(自然科学版)(02);全文 *

Also Published As

Publication number Publication date
CN115801258A (en) 2023-03-14

Similar Documents

Publication Publication Date Title
CN107196926B (en) Cloud outsourcing privacy set comparison method and device
JP2016012111A (en) Encryption processing method, encryption processing device, and encryption processing program
JP6413743B2 (en) Cryptographic processing apparatus, cryptographic processing method, and cryptographic processing program
CN109361644B (en) Fuzzy attribute based encryption method supporting rapid search and decryption
CN113542228B (en) Data transmission method and device based on federal learning and readable storage medium
CN110784306B (en) SM4 algorithm white box implementation method and device, electronic equipment and computer medium
CN111191255B (en) Information encryption processing method, server, terminal, device and storage medium
Abdul Hussien et al. [Retracted] A Secure Environment Using a New Lightweight AES Encryption Algorithm for E‐Commerce Websites
KR20200070090A (en) Apparatus for processing non-polynomial operation on encrypted messages and methods thereof
KR20200047002A (en) Method for comparing ciphertext using homomorphic encryption and apparatus for executing thereof
CN115694777A (en) Privacy set intersection method, device, equipment and medium based on homomorphic encryption
CN113098675B (en) Binary data encryption system and method based on polynomial complete homomorphism
CN115309928A (en) Image encryption retrieval method, device and medium capable of hiding data access
CN114726512A (en) Data processing method and device
CN116506218B (en) User data interactive computing privacy protection method and system in cloud environment
CN117349685A (en) Clustering method, system, terminal and medium for communication data
CN112468284A (en) SHE-based secure outsourcing method
Bai et al. CryptoMask: Privacy-preserving Face Recognition
US8325913B2 (en) System and method of authentication
CN115801258B (en) Data processing method, device, electronic equipment and computer readable storage medium
CN114726580B (en) Data processing method and device
CN108011714B (en) Method and system for protecting data object body identification based on cryptology operation
Feng et al. An improved secure high-order-Lanczos based orthogonal tensor SVD for outsourced cyber-physical-social big data reduction
CN115913544B (en) Data processing method, device, electronic equipment and computer readable storage medium
Li et al. A new image encryption algorithm based on modified optically injected semiconductor laser chaotic system

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