CN112887089B - Ciphertext similarity calculation method, device and system and storage medium - Google Patents

Ciphertext similarity calculation method, device and system and storage medium Download PDF

Info

Publication number
CN112887089B
CN112887089B CN202110094766.0A CN202110094766A CN112887089B CN 112887089 B CN112887089 B CN 112887089B CN 202110094766 A CN202110094766 A CN 202110094766A CN 112887089 B CN112887089 B CN 112887089B
Authority
CN
China
Prior art keywords
ciphertext
user
client
trapdoor
authorization
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
CN202110094766.0A
Other languages
Chinese (zh)
Other versions
CN112887089A (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.)
South China Agricultural University
Original Assignee
South China Agricultural University
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 South China Agricultural University filed Critical South China Agricultural University
Priority to CN202110094766.0A priority Critical patent/CN112887089B/en
Publication of CN112887089A publication Critical patent/CN112887089A/en
Application granted granted Critical
Publication of CN112887089B publication Critical patent/CN112887089B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

The invention discloses a method, a device, a system and a storage medium for calculating ciphertext similarity, wherein the method comprises the following steps: sending the first part of the first ciphertext and the second part of the second ciphertext to a client of a first user, so that the client of the first user calculates a first authorization trapdoor; sending the first part of the second ciphertext and the second part of the first ciphertext to a client of a second user, so that the client of the second user calculates a second authorization trapdoor; receiving a first authorization trapdoor sent by a client of a first user and a second authorization trapdoor sent by a client of a second user; if the first ciphertext and the second ciphertext accord with a first preset condition, calculating to obtain a ciphertext similarity calculation result according to the two ciphertexts and the two authorized trapdoors; and sending the ciphertext similarity calculation result to the client of the corresponding user. The invention can judge whether the data contained in the ciphertexts of two users are similar or not on the premise of not deciphering the ciphertexts, and obviously improves the convenience on the premise of ensuring the safety.

Description

Ciphertext similarity calculation method, device and system and storage medium
Technical Field
The invention relates to a method, a device and a system for calculating ciphertext similarity and a storage medium thereof, belonging to the field of data security.
Background
Cloud computing is combined with the traditional industry, and the cloud computing system has the advantages of convenience and expandability. Cloud storage is one of important services, and has the advantages of convenience in data backup and sharing, storage overhead saving and the like. However, in recent years, data leakage events have increased year by year, and users may worry about the security of data stored on the cloud.
In order to protect the security of data stored on the cloud by a user, an encrypted uploading mode can be adopted, but the method can destroy the characteristics of original data, and original operations on plaintext, such as searching, comparing and the like, are difficult to implement on ciphertext. Considering that the implementation of the connection of the encryption database, the encryption gene test and the encryption data duplication checking involves comparing whether information contained in ciphertext data of different users is equal, the comparison of the encryption data of different users needs to be implemented.
In the current famous Public Key Encryption (Public Key Encryption with authentication Test, abbreviated as PKEET), a server can judge whether ciphertexts of two users contain the same data or not on the premise of not decrypting the ciphertexts of the two users. However, the current PKEET scheme only supports precise matching, and if there is any difference between the data of the two users, the test algorithm will determine that the data contained in the two ciphertexts are different. In reality, however, the raw data of the two users may have slight spelling differences, misspellings, and the like. In addition, in genetic testing and paternity testing, even two persons who are related to each other may have differences in genetic data due to mutation or the like. From the practical point of view, if the similarity of the two data is high, namely the similarity is greater than the threshold value, the two data are judged to be similar, and the data are more convenient in practical use.
Therefore, fuzzy comparison of encrypted data of different users needs to be realized, and similarity of data contained in two ciphertexts is judged, that is, similarity calculation of the ciphertexts is realized.
Disclosure of Invention
In view of this, the present invention provides a method, an apparatus, a system, a server and a storage medium for calculating similarity of ciphertext, which enable a two-bit user to determine whether data included in ciphertext of the two-bit user is similar without decrypting the ciphertext after authorizing a server, and significantly improve convenience on the premise of ensuring security.
A first object of the present invention is to provide a ciphertext similarity calculation method.
A second object of the present invention is to provide a ciphertext similarity calculation apparatus.
The third purpose of the invention is to provide a ciphertext similarity calculation system.
A fourth object of the present invention is to provide a server.
A fifth object of the present invention is to provide a storage medium.
The first purpose of the invention is achieved by adopting the following technical scheme:
a ciphertext similarity calculation method is applied to a server, the server stores ciphertext sent by a client of each user in advance, any two users needing ciphertext comparison are a first user and a second user respectively, the ciphertext of the first user is a first ciphertext, the ciphertext of the second user is a second ciphertext, and the method comprises the following steps:
sending the first part of the first ciphertext and the second part of the second ciphertext to a client of a first user, so that the client of the first user calculates a first authorization trapdoor according to a private key of the first user, the first part of the first ciphertext and the second part of the second ciphertext;
sending the first part of the second ciphertext and the second part of the first ciphertext to a client of a second user, so that the client of the second user calculates a second authorization trapdoor according to a private key of the second user, the first part of the second ciphertext and the second part of the first ciphertext;
receiving a first authorization trapdoor sent by a client of a first user and a second authorization trapdoor sent by a client of a second user;
if the first ciphertext and the second ciphertext accord with a first preset condition, calculating to obtain a ciphertext similarity calculation result according to the first ciphertext, the second ciphertext, the first authorization trapdoor and the second authorization trapdoor;
and sending the ciphertext similarity calculation result to the client of the corresponding user.
Further, the first ciphertext and the second ciphertext meet the first predetermined condition, which means that the following two equations are both true:
e(C 5 ,g 2 )=e(H 3 (C 1 ,C 2 ,C 3,1 ,C 4,1 ,…,C 3,n ,C 4,n ),C 2 )
e(C′ 5 ,g 2 )=e(H 3 (C′ 1 ,C′ 2 ,C′ 3,1 ,C′ 4,1 ,…,C′ 3,n ,C′ 4,n ),C′ 2 )
wherein, C 1 、C 2 、C 3,i (1≤i≤n)、C 4,i (1≤i≤n)、C 5 Is the first, second, third, fourth and fifth portions, C 'of the first ciphertext' 1 、C′ 2 、C′ 3,i (1≤i≤n)、C′ 4,i (1≤i≤n)、C′ 5 First, second, third, fourth and fifth portions of a second ciphertext, g 2 Generate a primitive for the group, H 3 (. cndot.) is a hash function, and e (·,) is a two-wire pair operation.
Further, according to the first ciphertext, the second ciphertext, the first authorized trapdoor and the second authorized trapdoor, a ciphertext similarity calculation result is obtained through calculation, and the method specifically includes the following steps:
L i =e(C 4,i /H 2 (e(C 3,i ,Td 2 )),C′ 2 )/Td 1 (1≤i≤n)
L={L 1 ,L 2 ,…,L n }
L′ i =e(C′ 4,i /H 2 (e(C′ 3,i ,Td′ 2 )),C 2 )/Td′ 1 (1≤i≤n)
L′={L′ 1 ,L′ 2 ,…,L′ n }
wherein L is a first intermediate vector composed of characters L 1 ,L 2 ,…,L n Composition is carried out; l 'is a second intermediate vector consisting of characters L' 1 ,L′ 2 ,…,L′ n Composition is carried out; n is the message length, v is the threshold value, C 2 、C 3,i And C 4,i Is the second, third and fourth portions, C ', of the first ciphertext' 2 、C′ 3,i And C' 4,i Second part, third part and fourth part of the second ciphertext, H 2 (. h) is a hash function, e (. + -.) is a two-wire pair operation, Td 1 And Td 2 Is the first part and the second part of the first authorized trapdoorTwo part, Td' 1 And Td' 2 A first portion and a second portion that are second authorized trapdoors;
calculating the editing distance d between L and L ', if d/n is less than or equal to v, judging that the first ciphertext is similar to the second ciphertext, and setting the ciphertext similarity calculation result as ' 1 '; otherwise, judging that the first ciphertext is not similar to the second ciphertext, and setting the ciphertext similarity calculation result to be 0.
Further, the first authorization trapdoor is calculated according to the private key of the first user, the first part of the first ciphertext and the second part of the second ciphertext, and the following formula is given:
Figure GDA0003629844800000031
wherein, C 1 Is a first portion, C ', of a first ciphertext' 2 A second part of the second ciphertext, e (·,) is a two-line pair operation, sk 1 And sk 2 Being the first and second parts of the private key of the first user, Td 1 And Td 2 A first portion and a second portion of a first authorized trapdoor.
Further, the second authorization trapdoor is calculated according to the private key of the second user, the first part of the second ciphertext and the second part of the first ciphertext, as follows:
Figure GDA0003629844800000032
wherein, C' 1 As a first part of the second ciphertext, C 2 E (·, ·) is a two-wire pair operation, sk ', as a second portion of the first ciphertext' 1 And sk' 2 Is the first and second portions, Td ', of the private key of the second user' 1 And Td' 2 A first portion and a second portion of a second authorized trapdoor.
The second purpose of the invention is achieved by adopting the following technical scheme:
the utility model provides a ciphertext similarity calculation device, is applied to the server, the ciphertext that every user's client-side sent is prestored to the server, and arbitrary two users that need carry out the ciphertext comparison are first user and second user respectively, and first user's ciphertext is first ciphertext, and second user's ciphertext is the second ciphertext, the device includes:
the first sending module is used for sending the first part of the first ciphertext and the second part of the second ciphertext to a client of a first user, so that the client of the first user can calculate a first authorization trapdoor according to a private key of the first user, the first part of the first ciphertext and the second part of the second ciphertext;
the second sending module is used for sending the first part of the second ciphertext and the second part of the first ciphertext to a client of a second user, so that the client of the second user can calculate a second authorization trapdoor according to a private key of the second user, the first part of the second ciphertext and the second part of the first ciphertext;
the receiving module is used for receiving a first authorization trapdoor sent by a client of a first user and a second authorization trapdoor sent by a client of a second user;
the calculation module is used for calculating to obtain a ciphertext similarity calculation result according to the first ciphertext, the second ciphertext, the first authorization trapdoor and the second authorization trapdoor if the first ciphertext and the second ciphertext accord with a first preset condition;
and the third sending module is used for sending the ciphertext similarity calculation result to the client of the corresponding user.
The third purpose of the invention is achieved by adopting the following technical scheme:
a ciphertext similarity calculation system comprises a server and a plurality of clients, wherein the clients are respectively connected with the server, and each client is used by a user;
the server is used for executing the ciphertext similarity calculation method.
Further, the client is used for generating a public key and a private key of the user; generating a random number, and generating a ciphertext according to the public key of the user and the data to be encrypted; sending the ciphertext to a server; and for obtaining the ciphertext from the server; if the ciphertext accords with a second preset condition, calculating an intermediate parameter set according to the ciphertext and the character set; and calculating to obtain decrypted data according to the character set, the intermediate parameter set, the private key of the user and the ciphertext, and outputting the data.
Further, the ciphertext meeting the second preset condition means that the following equation holds:
e(C 5 ,g 2 )=e(H 3 (C 1 ,C 2 ,C 3,1 ,C 4,1 ,…,C 3,n ,C 4,n ),C 2 )
wherein, C 1 、C 2 、C 3,i (1≤i≤n)、C 4,i (1≤i≤n)、C 5 First, second, third, fourth and fifth parts of the ciphertext, g 2 Generate a primitive for the group, H 3 (. cndot.) is a hash function, and e (·,) is a two-wire pair operation.
The fourth purpose of the invention is achieved by adopting the following technical scheme:
a server comprises a processor and a memory for storing a program executable by the processor, wherein the processor executes the program stored in the memory to realize the ciphertext similarity calculation method.
The fifth purpose of the invention is achieved by adopting the following technical scheme:
a storage medium stores a program that realizes the above ciphertext similarity calculation method when executed by a processor.
Compared with the prior art, the invention has the following beneficial effects:
1. the server stores the ciphertext sent by the client of each user in advance, the ciphertext is obtained by encrypting in a special data encryption mode, when the ciphertexts of two users need to be compared, the client of the two users calculates respective authorization trapdoors, and if the server does not obtain the authorization trapdoors of the two users, the similarity calculation cannot be carried out on the ciphertexts of the two users; if the server obtains the authorized trapdoor of the user, ciphertext similarity calculation can be carried out, namely whether data contained in the ciphertexts of the two users are similar or not is judged, and the ciphertexts still cannot be decrypted; the server can only carry out similarity calculation on two ciphertexts with the authorized trapdoor, and cannot carry out similarity calculation on other ciphertexts without the authorized trapdoor of the user, so that the convenience is obviously improved on the premise of ensuring the safety.
2. The invention is designed based on the difficult problem of deterministic bilinear Diffie-Hellman and external Diffie-Hellman, and can effectively ensure the data security.
3. The invention can be connected with the current ciphertext database, so that the user can carry out fuzzy matching on the ciphertext data, and the convenience is obviously improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the structures shown in the drawings without creative efforts.
Fig. 1 is a block diagram of a ciphertext similarity calculation system according to embodiment 1 of the present invention.
Fig. 2 is a flowchart of data encryption according to embodiment 1 of the present invention.
Fig. 3 is a flowchart of generating a public key and a private key of a user according to embodiment 1 of the present invention.
Fig. 4 is a flowchart of ciphertext generation according to embodiment 1 of the present invention.
Fig. 5 is a flowchart of ciphertext decryption according to embodiment 1 of the present invention.
Fig. 6 is a flowchart of calculating an intermediate parameter set according to embodiment 1 of the present invention.
Fig. 7 is a block diagram of a client according to embodiment 1 of the present invention.
Fig. 8 is a block diagram of a server according to embodiment 1 of the present invention.
Fig. 9 is a flowchart of the ciphertext similarity calculation method according to embodiment 1 of the present invention.
Fig. 10 is a block diagram of a ciphertext similarity calculation apparatus according to embodiment 2 of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer and more complete, the technical solutions in the embodiments of the present invention will be described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some embodiments of the present invention, but not all embodiments, and all other embodiments obtained by a person of ordinary skill in the art without creative efforts based on the embodiments of the present invention belong to the protection scope of the present invention.
Example 1:
as shown in fig. 1, the present embodiment provides a ciphertext similarity calculation system, which includes n clients and a server, where the n clients have the same function and are used by different users, that is, there are n users in total, and each user uses one client, and the n clients cannot communicate with each other and are connected to and communicate with the server, respectively.
The client is used for generating a public key and a private key of a user; generating a random number, and generating a ciphertext according to the public key of the user and the data to be encrypted; sending the ciphertext to a server; and for obtaining the ciphertext from the server; if the second preset condition is met, calculating an intermediate parameter set according to the ciphertext and the character set; and calculating to obtain decrypted data according to the character set, the intermediate parameter set, the private key of the user and the ciphertext, and outputting the data.
The user can also obtain a part of the ciphertext and a part of the ciphertext to be compared from the ciphertext database of the server through the client; calculating an authorized trapdoor according to a private key of a user, a part of the ciphertext and a part of the ciphertext to be compared; sending the authorized trapdoor to a server; and receiving a ciphertext similarity calculation result sent by the server.
Further, the data encryption process implemented by the client is as shown in fig. 2, and includes the following steps:
s201, generating a public key and a private key of a user.
As described above, each user uses one client, and the public key and the private key of the user are both generated by the client, as shown in fig. 3, the step S201 specifically includes:
s2011, selection Z p Elements x and y on the group.
S2012, generating element g according to element x and y on group, system parameter k and group 1 And generating a public key and a private key of the user. The first and second parts of the user's public key are as follows:
pk 1 =k x ,
Figure GDA0003629844800000061
wherein, pk 1 And pk 2 The first part and the second part of the public key.
The first and second portions of the user's private key are as follows:
sk 1 =x,sk 2 =y,
s202, generating a random number, and generating a ciphertext according to the public key of the user and the data to be encrypted.
As shown in fig. 4, the step S202 specifically includes:
s2021, obtaining the public key pk of the user 1 =k x And
Figure GDA0003629844800000062
and acquiring data M to be encrypted, wherein the data length is n.
S2022, generating random numbers w, S and r 1 、r 2 、…、r n
S2023, generating a ciphertext C ═ C corresponding to the data M to be encrypted according to the public key of the user and the data M to be encrypted 1 ,C 2 ,C 3,i (1≤i≤n),C 4,i (1≤i≤n),C 5 }。
Figure GDA0003629844800000063
Figure GDA0003629844800000071
C 5 =H 3 (C 1 ,C 2 ,C 3,1 ,C 4,1 ,…,C 3,n ,C 4,n ) s
Wherein, g 1 And g 2 Generating an element for a group, H being a common parameter, H 1 (·)、H 2 (·)、H 3 (. cndot.) is a hash function, and e (·,) is a two-wire pair operation.
And S203, sending the ciphertext to the server.
The client transmits the ciphertext generated in step S202 to the server, so that the server stores the ciphertext in the ciphertext database.
Further, the ciphertext decryption process implemented by the client is shown in fig. 5, and includes the following steps:
s501, obtaining the ciphertext from the server.
And S502, judging whether the ciphertext accords with a second preset condition, and if the ciphertext accords with the second preset condition, calculating an intermediate parameter set according to the ciphertext and the character set.
As shown in fig. 6, step S502 specifically includes:
s5021, obtaining private key sk of user 1 X and sk 2 Y, and obtain ciphertext C 1 ,C 2 ,C 3,i (1≤i≤n),C 4,i (1≤i≤n),C 5 }。
And S5022, judging whether the ciphertext meets a second preset condition.
Specifically, the ciphertext meeting the second preset condition means that the following equation holds:
e(C 5 ,g 2 )=e(H 3 (C 1 ,C 2 ,C 3,1 ,C 4,1 ,…,C 3,n ,C 4,n ),C 2 )
wherein, C 1 、C 2 、C 3,i (1≤i≤n)、C 4,i (1≤i≤n)、C 5 First, second, third, fourth and fifth parts of the ciphertext, g 2 Generate a primitive for the group, H 3 (. cndot.) is a hash function, e (-. cndot.)And) is a two-wire pair operation.
If the equation is true, the following steps are continued, otherwise, T is output.
S5023, calculating an intermediate parameter set E ═ { E ═ E from the ciphertext and the character set 1 ,E 2 ,…,E m }。
Σ is the character set of the message, i.e. the set of all possible characters that make up the data in order, such as the english alphabet. Sigma { ∑ sigma { [ Sigma ] 1 ,∑ 2 ,…,∑ m Where m is the size of the character set. Each intermediate parameter E in the set of intermediate parameters E j (j is more than or equal to 1 and less than or equal to m) specifically comprises the following components:
E j =e(H 1 (∑ j ),C 2 )(1≤j≤m),
wherein H 1 (. h) is a hash function, e (. + -.) is a two-wire pair operation, C 2 Is the second part of the ciphertext.
And S503, calculating to obtain decrypted data according to the character set, the intermediate parameter set, the private key of the user and the ciphertext, and outputting the data.
Calculating and obtaining decrypted data M ═ M according to the character set, the intermediate parameter set, the private key of the user and the ciphertext 1 ,M 2 ,…,M n The method comprises the following steps:
Figure GDA0003629844800000081
H i =e(G i ,g 2 )(1≤i≤n),
if H i And E in the intermediate parameter set E j (j is not less than 1 and not more than M) is equal, then M is set i For sigma in the character set sigma j (j is more than or equal to 1 and less than or equal to M), namely, the ith character of the decrypted data M is the jth character in the character set sigma of the message.
Wherein G is i 、H i For decrypting intermediate parameters, g 2 Generating an element for a group, h being a common parameter, C 1 、C 3,i (1. ltoreq. i. ltoreq. n) and C 4,i (1 ≦ i ≦ n) for the first, third, and fourth portions of the ciphertext, H 2 (. h) is a hash function, e (·,) is a two-line pair operation, and sets data M ═ { M · 1 ,M 2 ,…,M n }。
Specifically, the client may be a device such as a mobile phone, and the structure of the client is as shown in fig. 7, and the client includes a first processor 701, a first memory 702, a first input unit 703, a first display unit 704, a transmission module 705, a power supply 706, and the like, where the first memory 702, the first input unit 703, the first display unit 704, and the transmission module 705 are respectively connected to the first processor 701, the power supply 706 is used to supply power to each component, the first memory 702 may be used to store a computer program, and when the first processor 701 runs the computer program stored in the first memory 702, the functions of the client are implemented.
The server is used for receiving a ciphertext sent by a client of a user; storing the user ciphertext in a ciphertext database; receiving authorized trapdoors sent by clients of two users; storing the authorized trapdoors in an authorized trapdoor database; obtaining authorized trapdoors of two users from an authorized trapdoor database, and calculating to obtain ciphertext similarity calculation results according to the two ciphertexts and the two authorized trapdoors; and sending the ciphertext similarity calculation result to the client of the corresponding user.
Specifically, the server is configured as shown in fig. 8, and includes a second processor 802, a second memory, a second input unit 803, a second display unit 804 and a network interface 805 which are connected through a system bus 801, where the second processor 802 is configured to provide computing and control capabilities, the second memory includes a nonvolatile storage medium 806 and an internal memory 807, the nonvolatile storage medium 806 stores an operating system, a computer program and a database, the internal memory 807 provides an environment for the operating system and the computer program in the nonvolatile storage medium to run, and the second processor 802 implements the functions of the server when executing the computer program stored in the second memory.
As shown in fig. 9, this embodiment further provides a ciphertext similarity calculation method, where the method is applied to the server, and as described above, the server stores, in advance, a ciphertext transmitted by a client of each user through a ciphertext database, where any two users that need to perform ciphertext comparison are a first user and a second user, respectively, the ciphertext of the first user is a first ciphertext, and the ciphertext of the second user is a second ciphertext, where the method includes the following steps:
and S901, sending the first part of the first ciphertext and the second part of the second ciphertext to the client of the first user.
And S902, sending the first part of the second ciphertext and the second part of the first ciphertext to the client of the second user.
If a first user sends a ciphertext similarity comparison request to a server through a client side of the first user, the server acquires a first ciphertext and a second ciphertext from a ciphertext database, a first part of the first ciphertext and a second part of the second ciphertext are sent to the client side of the first user, and after the client side of the first user acquires the first part of the first ciphertext and the second part of the second ciphertext, a first authorization trapdoor is calculated according to a private key of the first user, the first part of the first ciphertext and the second part of the second ciphertext; and simultaneously sending the first part of the second ciphertext and the second part of the first ciphertext to a client of a second user, and calculating a second authorization trapdoor according to the private key of the second user, the first part of the second ciphertext and the second part of the first ciphertext after the client of the second user obtains the first part of the second ciphertext and the second part of the first ciphertext.
If the second user sends a ciphertext similarity comparison request to the server through the client side of the second user, the server acquires a first ciphertext and a second ciphertext from the ciphertext database, a first part of the second ciphertext and a second part of the first ciphertext are sent to the client side of the second user, and after the client side of the second user acquires the first part of the second ciphertext and the second part of the first ciphertext, a second authorization trapdoor is calculated according to a private key of the second user, the first part of the second ciphertext and the second part of the first ciphertext; and simultaneously sending the first part of the first ciphertext and the second part of the second ciphertext to the client of the first user, and calculating the first authorization trapdoor according to the private key of the first user, the first part of the first ciphertext and the second part of the second ciphertext after the client of the first user obtains the first part of the first ciphertext and the second part of the second ciphertext.
Calculating a first authorization trapdoor according to the private key of the first user, the first part of the first ciphertext and the second part of the second ciphertext, as follows:
Figure GDA0003629844800000091
wherein, C 1 Is a first portion, C ', of a first ciphertext' 2 A second part of the second ciphertext, e (,) is a two-line pair operation, sk 1 And sk 2 Being the first and second parts of the private key of the first user, Td 1 And Td 2 A first portion and a second portion of a first authorized trapdoor.
Calculating a second authorized trapdoor according to the private key of the second user, the first part of the second ciphertext and the second part of the first ciphertext, as follows:
Figure GDA0003629844800000092
wherein, C' 1 As a first part of the second ciphertext, C 2 E (·, ·) is a two-wire pair operation, sk ', as a second portion of the first ciphertext' 1 And sk' 2 Is the first and second portions, Td ', of the private key of the second user' 1 And Td' 2 A first portion and a second portion of a second authorized trapdoor.
S903, receiving a first authorization trapdoor sent by a client of a first user and a second authorization trapdoor sent by a client of a second user.
The server receives the first authorized trap door
Figure GDA0003629844800000093
And a second authorized trapdoor
Figure GDA0003629844800000094
Thereafter, the first authorized trapdoor and the second authorized trapdoor are stored in the authorized trapdoor dataIn a library.
And S904, judging whether the ciphertext meets a first preset condition.
Specifically, the server obtains a first ciphertext C and a second ciphertext C' from the ciphertext database, and obtains a first authorized trapdoor Td from the authorized trapdoor database 1 ,Td 2 And a second authorized trapdoor Td' 1 ,Td′ 2
The first ciphertext and the second ciphertext meeting the first predetermined condition indicate that the following equations are both true:
e(C 5 ,g 2 )=e(H 3 (C 1 ,C 2 ,C 3,1 ,C 4,1 ,…,C 3,n ,C 4,n ),C 2 ),
e(C′ 5 ,g 2 )=e(H 3 (C′ 1 ,C′ 2 ,C′ 3,1 ,C′ 4,1 ,…,C′ 3,n ,C′ 4,n ),C′ 2 ),
wherein, C 1 、C 2 、C 3,i (1≤i≤n)、C 4,i (1≤i≤n)、C 5 Is the first, second, third, fourth and fifth portions, C 'of the first ciphertext' 1 、C′ 2 、C′ 3,i (1≤i≤n)、C′ 4,i (1≤i≤n)、C′ 5 First, second, third, fourth and fifth parts of the second ciphertext, g 2 Generate a primitive for the group, H 3 (. cndot.) is a hash function, and e (·,) is a two-wire pair operation.
If the first ciphertext and the second ciphertext satisfy the first predetermined condition, the method proceeds to step S905.
S905, according to the first ciphertext, the second ciphertext, the first authorization trapdoor and the second authorization trapdoor, calculating to obtain a ciphertext similarity calculation result, specifically:
L i =e(C 4,i /H 2 (e(C 3,i ,Td 2 )),C′ 2 )/Td 1 (1≤i≤n)
L={L 1 ,L 2 ,…,L n },
L′={L′ 1 ,L′ 2 ,…,L′ n },
l is a first intermediate vector consisting of a character L 1 ,L 2 ,…,L n Composition is carried out; l 'is a second intermediate vector consisting of characters L' 1 ,L′ 2 ,…,L′ n Composition is carried out; n is the message length and v is the threshold. Calculating the editing distance d between L and L ', if d/n is less than or equal to v, judging that the first ciphertext is similar to the second ciphertext, and setting the ciphertext similarity calculation result as ' 1 '; otherwise, judging that the first ciphertext is not similar to the second ciphertext, and setting the ciphertext similarity calculation result to be 0.
And S906, sending the ciphertext similarity calculation result to the client of the corresponding user.
The server sends the calculation result of the ciphertext similarity to the client of the corresponding user (if the client of the first user sends the ciphertext similarity comparison request, the calculation result is sent to the client of the first user, and if the client of the second user sends the ciphertext similarity comparison request, the calculation result is sent to the client of the second user), if the server returns to ' 1 ', the calculation result represents that the similarity between the two ciphertexts C and C ' is less than or equal to the threshold value v, namely the two ciphertexts are similar; if the server returns '0', the similarity between the two ciphertexts C and C 'is greater than the threshold value v, namely the two ciphertexts C and C' are not similar.
Those skilled in the art will appreciate that all or part of the steps in the method for implementing the above embodiments may be implemented by a program to instruct associated hardware, and the corresponding program may be stored in a computer-readable storage medium.
It should be noted that although the method operations of the above-described embodiments are depicted in the drawings in a particular order, this does not require or imply that these operations must be performed in this particular order, or that all of the illustrated operations must be performed, to achieve desirable results. Rather, the depicted steps may change the order of execution. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions.
Example 2:
as shown in fig. 10, this embodiment provides a ciphertext similarity calculation apparatus, which is applied to a server, where the server stores in advance a ciphertext sent by a client of each user, any two users that need to perform ciphertext comparison are a first user and a second user, the ciphertext of the first user is a first ciphertext, the ciphertext of the second user is a second ciphertext, the apparatus includes a first sending module 1001, a second sending module 1002, a receiving module 1003, a calculation module 1004, and a third sending module 1005, and specific functions of each module are as follows:
the first sending module 1001 is configured to send the first part of the first ciphertext and the second part of the second ciphertext to the client of the first user, so that the client of the first user calculates the first authorization trapdoor according to the private key of the first user, the first part of the first ciphertext, and the second part of the second ciphertext.
The second sending module 1002 is configured to send the first part of the second ciphertext and the second part of the first ciphertext to the client of the second user, so that the client of the second user calculates the second authorization trapdoor according to the private key of the second user, the first part of the second ciphertext, and the second part of the first ciphertext.
The receiving module 1003 is configured to receive a first authorization trapdoor sent by a client of a first user and a second authorization trapdoor sent by a client of a second user.
The calculating module 1004 is configured to calculate to obtain a ciphertext similarity calculation result according to the first ciphertext, the second ciphertext, the first authorized trapdoor, and the second authorized trapdoor if the first preset condition is met.
A third sending module 1005, configured to send the ciphertext similarity calculation result to the client of the corresponding user.
It should be noted that the apparatus provided in the foregoing embodiment is only illustrated by dividing the functional modules, and in practical applications, the above functions may be distributed by different functional modules as needed, that is, the internal structure is divided into different functional modules to complete all or part of the functions described above.
Example 3:
the present embodiment provides a storage medium, which is a computer-readable storage medium, and stores a computer program, and when the program is executed by a processor and the processor executes the computer program stored in the memory, the ciphertext similarity calculation method of the above embodiment 1 is implemented as follows:
sending the first part of the first ciphertext and the second part of the second ciphertext to a client of a first user, so that the client of the first user calculates a first authorization trapdoor according to a private key of the first user, the first part of the first ciphertext and the second part of the second ciphertext;
sending the first part of the second ciphertext and the second part of the first ciphertext to a client of a second user, so that the client of the second user calculates a second authorization trapdoor according to a private key of the second user, the first part of the second ciphertext and the second part of the first ciphertext;
receiving a first authorization trapdoor sent by a client of a first user and a second authorization trapdoor sent by a client of a second user;
if the first preset condition is met, calculating to obtain a ciphertext similarity calculation result according to the first ciphertext, the second ciphertext, the first authorization trapdoor and the second authorization trapdoor;
and sending the ciphertext similarity calculation result to the client of the corresponding user.
It should be noted that the computer readable storage medium of the present embodiment may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
In summary, the server of the present invention prestores the ciphertext sent by the client of each user, where the ciphertext is obtained by encrypting in a special data encryption manner, and when the ciphertexts of two users need to be compared, the clients of the two users calculate respective authorized trapdoors, and if the server does not obtain the authorized trapdoors of the two users, the server cannot perform similarity calculation on the ciphertexts of the two users; if the server obtains the authorized trapdoor of the user, ciphertext similarity calculation can be carried out, namely whether data contained in the ciphertexts of the two users are similar or not is judged, and the ciphertexts still cannot be decrypted; the server can only carry out similarity calculation on two ciphertexts with the authorized trapdoor, and cannot carry out similarity calculation on other ciphertexts without the authorized trapdoor of the user, so that the convenience is obviously improved on the premise of ensuring the safety.
The above description is only for the preferred embodiments of the present invention, but the protection scope of the present invention is not limited thereto, and any person skilled in the art can substitute or change the technical solution and the inventive concept of the present invention within the scope of the present invention.

Claims (6)

1. A ciphertext similarity calculation method is applied to a server, and is characterized in that the server stores ciphertext sent by a client of each user in advance, any two users needing ciphertext comparison are a first user and a second user respectively, the ciphertext of the first user is a first ciphertext, and the ciphertext of the second user is a second ciphertext, and the method comprises the following steps:
sending the first part of the first ciphertext and the second part of the second ciphertext to a client of a first user, so that the client of the first user calculates a first authorization trapdoor according to a private key of the first user, the first part of the first ciphertext and the second part of the second ciphertext;
sending the first part of the second ciphertext and the second part of the first ciphertext to a client of a second user, so that the client of the second user calculates a second authorization trapdoor according to a private key of the second user, the first part of the second ciphertext and the second part of the first ciphertext;
receiving a first authorization trapdoor sent by a client of a first user and a second authorization trapdoor sent by a client of a second user;
if the first ciphertext and the second ciphertext accord with a first preset condition, calculating to obtain a ciphertext similarity calculation result according to the first ciphertext, the second ciphertext, the first authorization trapdoor and the second authorization trapdoor, wherein the fact that the first ciphertext and the second ciphertext accord with the first preset condition means that the following two equations both hold:
e(C 5 ,g 2 )=e(H 3 (C 1 ,C 2 ,C 3,1 ,C 4,1 ,…,C 3,n ,C 4,n ),C 2 )
e(C′ 5 ,g 2 )=e(H 3 (C′ 1 ,C′ 2 ,C′ 3,1 ,C′ 4,1 ,…,C′ 3,n ,C′ 4,n ),C′ 2 )
wherein, C 1 、C 2 、C 3,i 、C 4,i 、C 5 Is the first, second, third, fourth and fifth portions, C 'of the first ciphertext' 1 、C′ 2 、C′ 3,i 、C′ 4,i 、C′ 5 I is more than or equal to 1 and less than or equal to n; g 2 Generate a primitive for the group, H 3 (. cndot.) is a hash function, e (·,) is a two-wire pair operation;
sending the ciphertext similarity calculation result to the client of the corresponding user;
according to the first ciphertext, the second ciphertext, the first authorization trapdoor and the second authorization trapdoor, calculating to obtain a ciphertext similarity calculation result, specifically:
L i =e(C 4,i /H 2 (e(C 3,i ,Td 2 )),C′ 2 )/Td 1
L={L 1 ,L 2 ,…,L n }
L′ i =e(C′ 4,i /H 2 (e(C′ 3,i ,Td′ 2 )),C 2 )/Td′ 1
L′={L′ 1 ,L′ 2 ,…,L′ n }
wherein L is a first intermediate vector composed of characters L 1 ,L 2 ,…,L n Composition is carried out; l 'is a second intermediate vector consisting of characters L' 1 ,L′ 2 ,…,L′ n Composition is carried out; n is the message length, v is the threshold value, C 2 、C 3,i And C 4,i Is the second, third and fourth portions, C ', of the first ciphertext' 2 、C′ 3,i And C' 4,i Second part, third part and fourth part of the second ciphertext, H 2 (. h) is a hash function, e (. + -.) is a two-wire pair operation, Td 1 And Td 2 Being the first and second portions, Td ', of a first authorized trap door' 1 And Td' 2 A first portion and a second portion that are second authorized trapdoors;
calculating the editing distance d between L and L ', if d/n is less than or equal to v, judging that the first ciphertext is similar to the second ciphertext, and setting the ciphertext similarity calculation result as ' 1 '; otherwise, judging that the first ciphertext is not similar to the second ciphertext, and setting the ciphertext similarity calculation result to be 0;
calculating a first authorized trapdoor according to a private key of the first user, a first part of the first ciphertext and a second part of the second ciphertext, as follows:
Figure FDA0003629844790000021
wherein, C 1 Is a first portion, C ', of a first ciphertext' 2 A second part of the second ciphertext, e (·,) is a two-line pair operation, sk 1 And sk 2 Being the first and second parts of the private key of the first user, Td 1 And Td 2 A first portion and a second portion that are first authorized trapdoors;
and calculating a second authorization trapdoor according to the private key of the second user, the first part of the second ciphertext and the second part of the first ciphertext, wherein the formula is as follows:
Figure FDA0003629844790000022
wherein, C' 1 As a first part of the second ciphertext, C 2 Is a second part of the first ciphertext, e (·,. cndot.) is a two-line pair operation, sk' 1 And sk' 2 Is the first and second portions, Td ', of the private key of the second user' 1 And Td' 2 A first portion and a second portion of a second authorized trapdoor.
2. The utility model provides a ciphertext similarity calculation device, is applied to the server, its characterized in that, the ciphertext that every user's client-side sent is prestored to the server, and arbitrary two users that need carry out the ciphertext comparison are first user and second user respectively, and first user's ciphertext is first ciphertext, and second user's ciphertext is the second ciphertext, the device includes:
the first sending module is used for sending the first part of the first ciphertext and the second part of the second ciphertext to the client of the first user, so that the client of the first user can calculate the first authorization trapdoor according to the private key of the first user, the first part of the first ciphertext and the second part of the second ciphertext;
the second sending module is used for sending the first part of the second ciphertext and the second part of the first ciphertext to the client of the second user, so that the client of the second user can calculate a second authorization trapdoor according to the private key of the second user, the first part of the second ciphertext and the second part of the first ciphertext;
the receiving module is used for receiving a first authorization trapdoor sent by a client of a first user and a second authorization trapdoor sent by a client of a second user;
the calculation module is configured to calculate a ciphertext similarity calculation result according to the first ciphertext, the second ciphertext, the first authorization trapdoor and the second authorization trapdoor if the first ciphertext and the second ciphertext meet a first preset condition, where meeting the first preset condition means that both of the following equations are satisfied:
e(C 5 ,g 2 )=e(H 3 (C 1 ,C 2 ,C 3,1 ,C 4,1 ,…,C 3,n ,C 4,n ),C 2 )
e(C′ 5 ,g 2 )=e(H 3 (C′ 1 ,C′ 2 ,C′ 3,1 ,C′ 4,1 ,…,C′ 3,n ,C′ 4,n ),C′ 2 )
wherein, C 1 、C 2 、C 3,i 、C 4,i 、C 5 Is the first, second, third, fourth and fifth portions, C 'of the first ciphertext' 1 、C′ 2 、C′ 3,i 、C′ 4,i 、C′ 5 I is more than or equal to 1 and less than or equal to n; g 2 Generate a primitive for the group, H 3 (. h) is a hash function, e (·,) is a two-wire pair operation;
the third sending module is used for sending the ciphertext similarity calculation result to the client of the corresponding user;
the ciphertext similarity calculation result is obtained through calculation according to the first ciphertext, the second ciphertext, the first authorization trapdoor and the second authorization trapdoor, and specifically is as follows:
L i =e(C 4,i /H 2 (e(C 3,i ,Td 2 )),C′ 2 )/Td 1
L={L 1 ,L 2 ,…,L n }
L′ i =e(C′ 4,i /H 2 (e(C′ 3,i ,Td′ 2 )),C 2 )/Td′ 1
L′={L′ 1 ,L′ 2 ,…,L′ n }
wherein L is a first intermediate vector composed of characters L 1 ,L 2 ,…,L n Composition is carried out; l 'is a second intermediate vector consisting of characters L' 1 ,L′ 2 ,…,L′ n Forming; n is the message length, v is the threshold value, C 2 、C 3,i And C 4,i Is the first secretSecond, third and fourth fractions, C' 2 、C′ 3,i And C' 4,i Second part, third part and fourth part of the second ciphertext, H 2 (. h) is a hash function, e (. + -.) is a two-wire pair operation, Td 1 And Td 2 Being the first and second portions, Td ', of a first authorized trap door' 1 And Td' 2 A first portion and a second portion that are second authorized trapdoors;
calculating the editing distance d between L and L ', if d/n is less than or equal to v, judging that the first ciphertext is similar to the second ciphertext, and setting the ciphertext similarity calculation result as ' 1 '; otherwise, judging that the first ciphertext is not similar to the second ciphertext, and setting the ciphertext similarity calculation result to be 0;
calculating a first authorized trapdoor according to a private key of the first user, a first part of the first ciphertext and a second part of the second ciphertext, as follows:
Figure FDA0003629844790000031
wherein, C 1 Is a first portion, C ', of a first ciphertext' 2 A second part of the second ciphertext, e (·,) is a two-line pair operation, sk 1 And sk 2 Being the first and second parts of the private key of the first user, Td 1 And Td 2 A first portion and a second portion that are first authorized trapdoors;
and calculating a second authorization trapdoor according to the private key of the second user, the first part of the second ciphertext and the second part of the first ciphertext, wherein the formula is as follows:
Figure FDA0003629844790000041
wherein, C' 1 As a first part of the second ciphertext, C 2 E (·, ·) is a two-wire pair operation, sk ', as a second portion of the first ciphertext' 1 And sk' 2 Is the first and second portions, Td ', of the private key of the second user' 1 And Td' 2 A first portion and a second portion of a second authorized trapdoor.
3. A ciphertext similarity calculation system is characterized by comprising a server and a plurality of clients, wherein the clients are respectively connected with the server, and each client is used by a user;
the server for executing the ciphertext similarity calculation method of claim 1.
4. The ciphertext similarity calculation system of claim 3, wherein the client is configured to generate a public key and a private key of the user; generating a random number, and generating a ciphertext according to a public key of a user and data to be encrypted; sending the ciphertext to a server; and for obtaining the ciphertext from the server; if the ciphertext accords with a second preset condition, calculating an intermediate parameter set according to the ciphertext and the character set; and calculating to obtain decrypted data according to the character set, the intermediate parameter set, the private key of the user and the ciphertext, and outputting the data.
5. The ciphertext similarity calculation system according to claim 4, wherein the ciphertext meeting the second predetermined condition is that the following equation holds:
e(C 5 ,g 2 )=e(H 3 (C 1 ,C 2 ,C 3,1 ,C 4,1 ,…,C 3,n ,C 4,n ),C 2 )
wherein, C 1 、C 2 、C 3,i 、C 4,i 、C 5 First, second, third, fourth and fifth parts of the ciphertext, g 2 Generate element for group, H 3 (. cndot.) is a hash function, and e (·,) is a two-wire pair operation.
6. A storage medium storing a program, wherein the program realizes the ciphertext similarity calculation method of claim 1 when executed by a processor.
CN202110094766.0A 2021-01-25 2021-01-25 Ciphertext similarity calculation method, device and system and storage medium Active CN112887089B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110094766.0A CN112887089B (en) 2021-01-25 2021-01-25 Ciphertext similarity calculation method, device and system and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110094766.0A CN112887089B (en) 2021-01-25 2021-01-25 Ciphertext similarity calculation method, device and system and storage medium

Publications (2)

Publication Number Publication Date
CN112887089A CN112887089A (en) 2021-06-01
CN112887089B true CN112887089B (en) 2022-08-12

Family

ID=76050776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110094766.0A Active CN112887089B (en) 2021-01-25 2021-01-25 Ciphertext similarity calculation method, device and system and storage medium

Country Status (1)

Country Link
CN (1) CN112887089B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017107047A1 (en) * 2015-12-22 2017-06-29 华为技术有限公司 User attribute matching method and terminal
CN109902501A (en) * 2019-03-19 2019-06-18 中国海洋大学 A kind of structuring encryption method and system carrying out equality test based on cloud service platform
CN109981614A (en) * 2019-03-12 2019-07-05 华南农业大学 Data ciphering method, decryption method, querying method and device based on user group
CN110162998A (en) * 2019-04-29 2019-08-23 华南农业大学 Identity ciphering equivalence test method, device, system and medium based on user group
CN111786786A (en) * 2020-07-27 2020-10-16 国网河南省电力公司郑州供电公司 Agent re-encryption method and system supporting equation judgment in cloud computing environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9674189B1 (en) * 2014-05-25 2017-06-06 Fujitsu Limited Relational encryption
CN105743888A (en) * 2016-01-22 2016-07-06 河南理工大学 Agent re-encryption scheme based on keyword research
CN110474764B (en) * 2019-07-17 2021-03-26 华南农业大学 Ciphertext data set intersection calculation method, device, system, client, server and medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017107047A1 (en) * 2015-12-22 2017-06-29 华为技术有限公司 User attribute matching method and terminal
CN109981614A (en) * 2019-03-12 2019-07-05 华南农业大学 Data ciphering method, decryption method, querying method and device based on user group
CN109902501A (en) * 2019-03-19 2019-06-18 中国海洋大学 A kind of structuring encryption method and system carrying out equality test based on cloud service platform
CN110162998A (en) * 2019-04-29 2019-08-23 华南农业大学 Identity ciphering equivalence test method, device, system and medium based on user group
CN111786786A (en) * 2020-07-27 2020-10-16 国网河南省电力公司郑州供电公司 Agent re-encryption method and system supporting equation judgment in cloud computing environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《具有密文等值测试功能的公钥加密技术综述》;王元昊等;《网络与信息安全学报》;20181130;全文 *

Also Published As

Publication number Publication date
CN112887089A (en) 2021-06-01

Similar Documents

Publication Publication Date Title
US20210312334A1 (en) Model parameter training method, apparatus, and device based on federation learning, and medium
US20200344218A1 (en) Secure message search
CN112003696B (en) SM9 key generation method, system, electronic equipment, device and storage medium
Bi et al. Internet of things assisted public security management platform for urban transportation using hybridised cryptographic‐integrated steganography
KR20210139344A (en) Methods and devices for performing data-driven activities
WO2021189566A1 (en) Encryption method and device allowing for sender access and third party supervision
CN115473715B (en) Forward secure ciphertext equivalent test public key encryption method, device, system and medium
CN113067702A (en) Identity-based encryption method supporting ciphertext equivalence test function
CN114417364A (en) Data encryption method, federal modeling method, apparatus and computer device
CN108549824A (en) A kind of data desensitization method and device
CN109274659B (en) Certificateless online/offline searchable ciphertext method
CN112801307B (en) Block chain-based federal learning method and device and computer equipment
CN116502732B (en) Federal learning method and system based on trusted execution environment
CN111475690B (en) Character string matching method and device, data detection method and server
CN112887089B (en) Ciphertext similarity calculation method, device and system and storage medium
US8325913B2 (en) System and method of authentication
CN107872312B (en) Method, device, equipment and system for dynamically generating symmetric key
KR102123435B1 (en) Encryption method for supporting equality query in multi-client environment and apparatus using the same
CN113065146A (en) Homomorphic encryption method for block chain data protection
CN114244501A (en) Power data privacy protection system and implementation method thereof, and encryption attribute revocation method
CN113794554A (en) Fine-grained authorization equivalence testing method based on certificateless encryption
CN115525907A (en) Vector similarity judgment method under malicious adversary model and communication equipment
Jahan et al. Securely distributing files in cloud environment by dispensing asymmetric key management system applying hashing
CN116975935B (en) Data comparison method, storage medium and electronic device
CN114257412B (en) Privacy protection multi-party data cooperation box-separating method, system, equipment and terminal

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