KR101697868B1 - Method for encrypting data for sharing or searching the data and apparatus for performing the method - Google Patents
Method for encrypting data for sharing or searching the data and apparatus for performing the method Download PDFInfo
- Publication number
- KR101697868B1 KR101697868B1 KR1020150069751A KR20150069751A KR101697868B1 KR 101697868 B1 KR101697868 B1 KR 101697868B1 KR 1020150069751 A KR1020150069751 A KR 1020150069751A KR 20150069751 A KR20150069751 A KR 20150069751A KR 101697868 B1 KR101697868 B1 KR 101697868B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- keyword
- cipher text
- shared
- personal data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G06F17/30—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
A data encryption method for sharing or retrieving and an apparatus for performing this are disclosed. A method of encrypting data for sharing or retrieving, the method comprising: receiving a secret key for a specific user from a key management server; transmitting the private key encrypted with the secret key from a user terminal of the user; Receiving data and keywords, storing encrypted personal data and keywords in a storage area associated with a user in a file server, receiving a personal data trap door for a keyword to be searched from a user terminal on a user side, And retrieving the personal data cipher text from the file server using the personal data trap door.
Description
The present invention relates to a data encryption system, and more particularly, to a data encryption system for encrypting data to facilitate sharing or retrieving data when encrypting data to be stored in an external storage or a database, And a device for performing the method.
When you store data on untrusted external storage or file servers, maintaining the confidentiality of the data you store is an essential element. If data is encrypted and stored, the confidentiality of the data can be guaranteed. However, when the user wants to obtain only specific data, the file server can not find the data desired by the user because the contents of the data can not be known. Thus, when searching for specific data, the user must obtain all the data from the file server and then decode the data to find the desired data.
To solve this problem, a searchable encryption scheme in a single user environment can be used. This technique generates a keyword for the data that the user stores, encrypts it, and stores it in the file server. A trap door for a keyword to be searched for later is generated and transmitted to the file server, and the file server can search for data corresponding to the keyword. At this time, the contents of the retrieved data or the keywords are encrypted, so that the file server can not know.
However, recently, external storage services such as cloud services provide the ability for multiple users to share data stored in file servers. However, searchable cryptography in such a single user environment is not suitable for use in a situation where a sharing function is provided.
In order to satisfy the situation of providing the sharing function, Dong et al. Proposed a searchable encryption technique in a multi-user environment in 2011 ("Shared and Searchable Encrypted Data for Untrusted Servers", Journal of Computer Security 19 (3): 367 -397p, 2011). This technique allows all users to encrypt and store data on a file server using their own private key. Then, all users can create a trap door using the user's own secret key to retrieve all encrypted data (including data stored by other users) stored in the file server, and decrypt the encrypted data . That is, this technique means that all users can search and decrypt all data stored in the file server without restriction.
However, most of the actual personal data encryption does not share all the data, but the user wants to share only the specific data.
It is an object of the present invention to solve the above-mentioned problems, and it is an object of the present invention to provide a method and an apparatus for encrypting and storing personal data of a user in a personal space connected to a network, A data encryption method capable of easily searching encrypted data, and an apparatus for performing the encryption method.
It is another object of the present invention to provide a data encryption method and a data encryption device capable of ensuring confidentiality of data as data and keywords used for sharing and retrieving a database are encrypted in an external repository.
According to an aspect of the present invention, there is provided a method of encrypting data for sharing or retrieving, the method comprising: receiving a secret key for a specific user from a key management server; ; Receiving personal data and keywords encrypted with the secret key from the user terminal of the user; Storing the encrypted personal data and keywords in a storage area associated with the user in a file server; Receiving a personal data trap door for a keyword to be searched from the user side from the user terminal; And retrieving the encrypted personal data from the file server using the personal data trap door.
According to another aspect of the present invention, there is provided a method of encrypting data for sharing or retrieval performed in a server device that provides a service for encrypting and storing data, the method comprising: receiving a secret key for a specific user from a key management server; ; Receiving personal data and keywords encrypted with the secret key from the user terminal of the user; Storing the encrypted personal data and a keyword in a storage area associated with the user; Receiving a re-encryption key for sharing at least a portion of the personal data ciphertext stored in the file server of the server device from the user terminal; Encrypting the personal data cipher text and the personal keyword cipher text stored in the file server using the re-encryption key to convert the cipher text data into a shared data cipher text and a shared keyword cipher text; Receiving a shared data trap door for a shared keyword that enables the shared data ciphertext to be retrieved from the file server from another user terminal; And retrieving the shared data cipher text stored in the file server using the shared data trap door.
According to another aspect of the present invention, there is provided an apparatus for performing data encryption for sharing or searching for providing a cloud service for storing personal data, A receiver for receiving the personal data encrypted with the secret key from the user terminal of the user and the encrypted keyword and receiving the personal data trap door for the specific keyword to be searched at the user side from the user terminal; A storage unit for storing encrypted personal data and encrypted keywords in a storage area associated with a user; And a retrieval unit for retrieving the personal data encrypted using the personal data trap door.
According to another aspect of the present invention, there is provided a data encryption apparatus for encrypting and storing data and performing data encryption for sharing or searching, A transceiver for receiving personal data and keywords encrypted with the secret key from the user terminal of the user and receiving a personal data trap door for a specific keyword to be searched from the user terminal; A storage unit for storing the encrypted personal data and keywords in a storage area associated with the user in a file server; And a retrieval unit retrieving the personal data cipher text stored in the file server using the personal data trap door.
According to another aspect of the present invention, there is provided a method of encrypting data for sharing or retrieving performed by a user terminal connected to a server device for providing a service for encrypting and storing data, Receiving a secret key that is shared with the public key; Encrypting the personal data and the keyword for the personal data using the secret key; Transmitting encrypted personal data and an encrypted keyword to the server device; Generating a personal data trap door for enabling a search of a personal data cipher text or a personal keyword cipher text stored in a storage area associated with a user in a file server of the server device; Transmitting the personal data trap door to the server device; Receiving from the server device the personal data cipher text retrieved from the file server using the personal data trap door; And decrypting the personal data cipher text into plaintext data.
According to another aspect of the present invention, there is provided a method of encrypting data for sharing or retrieval performed by a user terminal connected to a server device via a network, the method comprising: Receiving; Encrypting the personal data and the keyword for the personal data using the secret key; Transmitting encrypted personal data and keywords to the server device; Generating a re-encryption key for re-encrypting a personal data cipher text or keyword stored in a user-related storage area in a file server of the server device; And transmitting the re-encryption key to the server apparatus. Here, the server apparatus converts the personal data cipher text or the personal keyword cipher text stored in the user-related storage area into the shared data cipher text or the shared keyword cipher text using the re-encryption key, and transmits the shared data cipher text to another user A shared data trap door is received from the user terminal, the shared data cipher text is retrieved using the received shared data trap door, and the retrieved shared data cipher text is transmitted to the user terminal of the other user.
According to another aspect of the present invention, there is provided a data encryption apparatus connected to a server apparatus for providing a service for encrypting and storing data, for performing data encryption for sharing or searching, Transmitting the private data and the keyword encrypted to the server device, transmitting the personal data trap door to the server device, and transmitting the personal data cipher text retrieved from the file server of the server device using the personal data trap door A transmitting / receiving unit for receiving from the server device; An encryption and decryption unit for encrypting the personal data and the keyword for the personal data using the secret key and for decrypting the personal data cipher text from the server apparatus; And a trap door creator for generating a personal data trap door for enabling the file server to retrieve the personal data cipher text or the personal keyword cipher text stored in the user-related storage area.
According to another aspect of the present invention, there is provided a data encryption apparatus connected to a server apparatus for providing a service for encrypting and storing data, for performing data encryption for sharing or searching, To the server device, a shared data trap door for enabling the shared-data cipher text stored in the user-related storage area of the file server of the server device or the shared-keyword cipher text for the shared data cipher text to be retrieved, A transmitting / receiving unit receiving the shared data cipher text from the shared data cipher text; A trap door generator for generating the shared data trap door; And an encrypting and decrypting unit for decrypting the shared data cipher text received from the server apparatus.
In the data encryption method for sharing or searching according to the embodiment of the present invention as described above, when a user encrypts and stores his / her personal data in a personal space on a network, The encrypted data can be easily retrieved from the external storage and the database.
In addition, data and keywords used for sharing and searching the database as well as the external storage are encrypted, thereby ensuring the confidentiality of the data.
FIG. 1 is a diagram for explaining a data encryption method and a data encryption system for performing the data encryption method according to an embodiment of the present invention. Referring to FIG.
FIG. 2 and FIG. 3 are exemplary diagrams for the setup steps of the data encryption method of FIG.
FIGS. 4 and 5 are exemplary views of the personal data and the keyword encryption step of FIG.
6 to 7 are exemplary views of the personal data retrieval step of FIG.
8 is an exemplary view of the encrypted personal data decryption step of FIG.
Figs. 9 to 11 are diagrams illustrating an example of the personal data and keyword sharing step in Fig.
12 and 13 are exemplary views of the shared data retrieval step of FIG.
14 is an exemplary view of the encrypted shared data decryption step of FIG.
15 is a flowchart of a method for retrieving encrypted personal data in the data encryption method of FIG.
16 is a flow chart of a method for sharing encrypted private data among the data encryption methods of FIG.
17 is a schematic block diagram of a data encryption apparatus according to another embodiment of the present invention.
18 is a schematic block diagram of a data encryption apparatus according to another embodiment of the present invention.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It is to be understood, however, that the invention is not to be limited to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
Also, in the present specification, when subscripts of certain characters have different subscripts, other subscripts of subscripts can be displayed in the same form as subscripts for convenience of display.
Unless otherwise defined herein, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as ideal or overly formal in the sense of the art unless explicitly defined herein Do not.
Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
FIG. 1 is a diagram for explaining a data encryption method and a data encryption system for performing the data encryption method according to an embodiment of the present invention. Referring to FIG.
Referring to FIG. 1, a
The
The
The
The data encryption method performed by the
The above-mentioned steps will be described in detail as follows. However, "↑ R " in each of the drawings to be described below means to select an arbitrary random number and assign it to the value in the right-hand side. "←" means that the value of the left term is obtained through the operation of the right term. The group G, the generator g, the random random function F , and the hash function H are generic techniques well known to those skilled in the art, and will not be described in detail here.
Figures 2 and 3 are exemplary diagrams of the setup steps of the data encryption method of Figure 1;
The data encryption method according to the present embodiment includes Init algorithm S1a and Keygen algorithm S1b in a setup step constituting a shared and searchable data encryption method for a semi-trusted server having an optional sharing function, Can be used.
That is, the trusted key management server generates the system parameters and the secret key of the user using the Init algorithm S1a, and executes the Keygen algorithm S1b using the Init algorithm S1a to control the user and the file server for the user Secret key can be generated and transmitted to the user terminal and the server device, respectively.
2, the Init algorithm S1a includes one or more steps S11 and S12 defining a prime number q , a group G , a group g , a random random function F , and a hash function H , A random number selection step S13 for selecting a random number through an operation ↑ R s , x , and a public key generation step S14 for obtaining a public key of the trusted key management server through h ← g × operation.
Input to the algorithm Init (S1a) can comprise system security intensity value (1 k) and the output values include a private key of the key management server that can be trusted and the system parameters. System parameters public key h, also a random function F, including a hash function H, and the secret key that is a master session key of the group G, the key management server in the group G constructor g, reliable to the prime q, small number q in percentile (master session key, msk) may have a random value of x, it s to 1 k as inputs.
Minority group constructor defined step (S11) defines a small number q in accordance with the security strength of the encryption algorithm receives as an input to the Init algorithm to determine a generator g of the group G and the group G is a prime number q of a percentile. In the definition step (S12) of the random random function F and the hash function h , a random function F which generates a random value by taking a keyword as an input is defined, and a hash function h used throughout the system is defined. The random number selection step S13 selects an arbitrary random number x, which is one of the secret keys of the trusted key management server and the s value to be used as the key of the random random function. The public key generation step S14 of the key management server can be performed by generating a public key of the key management server to be used in the system by squaring the generator by x .
The Keygen algorithm S1b includes a random number selection step S16 to be used as a secret key, a file server secret key generation step S17, and a user secret key generation step S18, as shown in FIG. Keygen algorithm inputs are a secret key of the trusted key management server that x, s and includes a user i with a specific user identity and user i's private key x i 11, x i 12, x i 13 a (S1b) , s and the secret key x i 2 , x i 12 of the file server for user i .
The random number selection step S16 of selecting a random number to be used as the secret key selects random numbers x i 1 , x i 11 , x i 12 to be used as the secret key. The file server secret key generation step S17 calculates x - x i 1 mod q to obtain a file server secret key ( x i 2 ). Then, the user secret key generation step (S18) is x i 3 = x i 1 - (x i 11 + x i 12) calculate mod q to obtain the user private key (x i 13).
4 and 5 are exemplary views of the personal data and keyword encryption step of FIG.
In the personal data and keyword encryption steps constituting the shared and searchable data encryption method for the semi-trusted server having the selective sharing function according to this embodiment, the P-Data- Enc algorithm S2a and the P -Keyword- Enc algorithm (S2b) can be used.
That is, the user terminal can encrypt the data and the keyword through the personal data and the keyword encryption step using the secret key of the user received from the trusted key management server, and transmit the encrypted data and the keyword to the file server. At this time, the user terminal first encrypts the user's personal data through the P-Data- Enc algorithm S2a to obtain the personal data ciphertext, encrypts the user's keyword through the P-Keyword-Enc algorithm S2b, Can be obtained. When the encrypted personal data, that is, the personal data cipher text and the encrypted keyword, that is, the personal keyword cipher text, is transmitted to the file server, the file server can store the value in a preset storage area for the user.
More specifically, as shown in Fig. 4, the P-Data- Enc algorithm S2a includes a random number selection step S20 for personal data encryption, a first sub personal data cipher text generation step S21, And a sub personal data cipher text generation step S22.
Input to the P-Data- algorithm Enc (S2a) may include a data m to be encrypted with the private key x i of the user 11 i, the output may include a personal data cipher of the user i.
Random selection step for private data encryption (S20) selects an arbitrary random number r m. The first sub-personal data cipher text generation step S21 obtains the first sub-personal data cipher text c m 1 '' through a public key operation using an arbitrary random number. Public key operations using arbitrary random numbers
Can be calculated. The second sub-personal data cipher text generation step S22 obtains the second sub-personal data cipher text c m 2 '' through the public key operation using the private key and the random number. Public key operations using secret keys and random numbers Can be calculated. And then transmits the personal data cipher text of the user i, which is the output value, to the file server. The c i '' (m) = ( c m 1 '' , c m 2 '' ) represents the private data ciphertext.Next, as shown in FIG. 5, the P-Keyword- Enc algorithm S2b includes a random number selection step S24 for encrypting individual keywords, a random number generation step S25 for a keyword, a first sub- The second sub personal keyword ciphertext generation step S27, the third sub personal keyword ciphertext generation step S28, and the fourth sub personal keyword ciphertext generation step S29.
Input to the P-Keyword- algorithm Enc (S2b) may comprise the user i of the secret key x i and 11 s, and the keyword w to encryption, the output values may include a private keyword cipher text of the user i.
The random number selection step S24 for encrypting personal keywords selects random numbers r w and s i . Also for the keyword random number generation step (S25) includes a first random number (r w) for using also the random function through the operation of Fs (w) to obtain a first be random number (s w), the second random number (s i ), the second may also be through the operation of the random function Fs i (w) is determined using a random number (w s').
The first sub-personal keyword cipher text generation step S26 obtains a first sub-personal keyword cipher text c w 1 '' through a first public key operation using a random number and a random number. When a first public key operation using an arbitrary random number and a random number is displayed
.The second sub-personal keyword ciphertext generation step S27 is a step of generating a second sub-personal keyword ciphertext by using a random number and a secret key product, a product of a secret key and a first random number, and a second public key operation using a secret key and a second random number The second sub personal keyword cipher text c w 2 '' is obtained. When the second public key operation is displayed
.The third subpersonal keyword ciphertext generation step S28 computes the hash function of the group creator using the product of the random number and the secret key multiplied by the product of the secret key and the random number of the first number to obtain the third subpersonal keyword cipher text c w 3 " ). If you represent a hash function for the group constructor
.A fourth public key for the individual sub-keyword ciphertext generation step (S29) may be any of random numbers for encryption keyword (r w) (
) As a hash function to obtain a fourth sub personal keyword cipher text ( c w 4 '' ). Then, the personal keyword ciphertext of the user i , which is the output value of the P-Keyword- Enc algorithm S2b, is transmitted to the file server. It represents the individual keywords equal to the cipher text c i '' (w) = (c w 1 '', c w 2 '', c w 3 '', c w 4 '').FIG. 6 and FIG. 7 are exemplary views of the personal data retrieval step in the external storage and the database in the data encryption method of FIG.
In the personal data retrieval step constituting the shared and searchable data encryption method for the semi-trusted server having the selective sharing function according to this embodiment, the P-Trapdoor algorithm S3a and the P-Search algorithm S3b) can be used.
That is, when the user desires to retrieve personal data, the user can retrieve the data through the personal data retrieval step. First, the user selects the personalized personal data, which is a trapdoor for the keyword to be searched through the P- Creates a data trap door and passes it to the file server. Then, the file server can retrieve the personal data cipher text using the corresponding trap door in the P-Search algorithm (S3b), and transmit it to the user.
More specifically, as shown in FIG. 6, the P-Trapdoor algorithm S3a includes a random number selection step S31 for generating a personal data trap door, a random number generation step S32 for a keyword, A trap door creation step S33, and a second sub personal data trap door creation step S34.
Input to the P-Trapdoor algorithm (S3a) may include a keyword w to find from the first to the third private key x i 11, x i 12, s i and a data encryption system of the user i, the output value is the user i < / RTI > If the personal data trap door is represented, T pi ( w ) = ( t p 1 , t p 2 ) .
In the random number selection step S31 for generating the personal data trap door, an arbitrary random number r pt to be included as a component of the variable set is selected. In the random number generating step S32 of the keyword, the random number Fs i ( w ) of the number of keywords to be searched is calculated using the third secret key, and a random number ( s w ' ) is obtained through the calculation.
The first sub personal data trap door creation step S33 obtains the first sub personal data trap door t p 1 through a public key operation using a random number. If you represent this public key operation
.The second sub-personal data trap door generation step S34 is a step of generating a second sub personal data trap door through a public key operation using a random number and a first secret key multiplied by a product of a second secret key and a random number, ( t p 2 ). If you represent this public key operation
. Then, the personal data trap door T pi ( w ) = ( t p 1 , t p 2 ) of the user i , which is the output value of the P-Trapdoor algorithm S3a, is transmitted to the file server.Next, as shown in FIG. 7, the P-Search algorithm S3b may include a personal data trap door value generation step S35 and a keyword search step S36 using a personal data trap door.
The input value of the P-Search algorithm S3b includes a user i including the user's identity, a personal data trap door T pi ( w ) , encrypted data stored in the file server so that only the user i can know it, E (D i), and the user i and the file, the server may include a secret key x i12 share, the output values are output the data satisfying the search condition (c i '' (m) , c i '' (w )) .
Personal data trapdoor value generation step (S35) the public key through the operation of the personal data trapdoor using a secret key obtains the personal data trapdoor value (T p). If you represent this public key operation
.Personal data trapdoor keyword search step (S36) in the home {element of all of the output data, the data stored on the file server with (c i '' (m) , c i '' (w))
H conditional expression for E (D i)} (c w 2 '' · T p -1) = c w 3 '' after confirming that satisfied, when the output data is satisfied (c i '' (m) , c i '' (w)) to the user terminal of user i as a search result. Here, the value D i of the output data may include all the documents of the user i including the sequences of the data D and the keyword w (D) .FIG. 8 is a diagram illustrating an example of an encrypted private data decryption method in the data encryption method shown in FIG. 1. FIG.
The P-Data- Dec algorithm S4 may be used in the personal data decryption step of the shared and searchable data encryption method for the semi-trusted server having the selective sharing function according to the present embodiment . That is, the user terminal decrypts the personal data cipher text by executing the P-Data- Dec algorithm (S4) in the personal data decryption step, and obtains plaintext data through the decryption.
More specifically, as shown in FIG. 8, the P-Data- Dec algorithm S4 may include a personal data decryption step S41. Input to the P-Data- Dec algorithm (S4) may include a user i of the secret key (x i 11) and the personal data of the user encrypted text c i i '' (m), the output value is the plaintext data m .
Personal data cryptogram decoding step (S41) in using the private key of the user 11 i x i through the decrypted i.e. decoding operation on the cipher text to obtain a plain text data (m). When the decoding operation of this embodiment is shown
.FIGS. 9 to 11 illustrate exemplary methods of sharing personal data and keywords in the data encryption method of FIG.
The Data-Re- Enc - Keygen algorithm (S5a) is performed in the step of sharing the keywords with the personal data constituting the shared and searchable data encryption method for the semi-trusted server having the selective sharing function according to this embodiment. , A Keyword-Re-Enc-Keygen algorithm (S5b), and a Re- Enc - Keygen algorithm (S5c).
That is, if the user would like to share their personal data may be shared by the personal data and keywords sharing step, first, the user at the user terminal Data-Re-Enc-Keygen algorithm (S5a) and Keyword-Re- Enc - The personal data to be shared and the re-encryption key for the keyword can be generated and transmitted to the file server using the Keygen algorithm (S5b). Then, the file server can convert the user's personal data and personal keywords into shared data and shared keywords through re-encryption in the Re- Enc - Keygen algorithm (S5c) using the re -encryption key and the secret key of the file server.
More specifically, as shown in FIG. 9, the Data-Re- Enc - Keygen algorithm S5a includes a random number selection step S51 for data re-encryption, a first sub data re-encryption key generation step S52, A sub data re-encryption key generation step (S53), and a third sub data re-encryption key generation step (S54).
The input value of the Data-Re- Enc - Keygen algorithm S5a is the secret key of the user i ( x i 12 , x i 13 ) and a first sub-personal data cipher text ( c m 1 '' ), the output value of which may include a re-encryption key for private data or a private data cipher text. If the re-encryption key is represented, k data -re ( w ) = ( k 1 , k 2 , k 3 ).
The random number selection step S51 for data re-encryption selects an arbitrary random number r re . The first sub data re-encryption key generation step (S52) defines the first sub-personal data cipher text ( c m 1 '' ) as the first sub data re-encryption key ( k 1 ).
The second sub data re-encryption key generation step (S53) obtains the second sub data re-encryption key ( k 2 ) using an arbitrary random number. Here, the generation of the second sub-data re-encryption key (or its cipher text) using an arbitrary random number
Can be calculated.The third sub data re-encryption key generation step (S54) obtains the third sub data re-encryption key ( k 3 ) using the three secret keys and the first sub personal data cipher text. The generation of the third sub-data re-encryption key using the three secret keys and the first sub-personal data cipher text
Can be calculated. And then transmits the re-encryption key for the data, which is the output value of the Data-Re-Enc-Keygen algorithm S5a, to the file server. If the re-encryption key is represented, k data -re ( w ) = ( k 1 , k 2 , k 3 ).As shown in FIG. 10, the Keyword-Re- Enc - Keygen algorithm S5b includes a random number selection step S55 for re-encryption of the keyword, a first sub keyword re-encryption key generation step S56, A key generation step S57, and a third sub keyword re-encryption key generation step S58.
Keyword-Re- Enc - input of Keygen algorithm (S5b) the first and second secret keys of user i (i x 12, and x i 13) and the first sub individual keywords ciphertext (c w1 ''), the output value is a re-encryption key k keyword -re (w) = ( k 4, k 5, k 6) for the keyword.
The random number selection step S55 for the keyword re-encryption selects an arbitrary random number r re ' . In the first sub keyword re-encryption key generation step (S56), the first sub keyword personal cipher text c w1 '' is determined by the first sub keyword re-encryption key ( k 4 ).
The second sub-keyword re-encryption key generation step (S57) obtains the second sub-keyword re-encryption key ( k 5 ) using an arbitrary random number. The generation of the second sub keyword re-encryption key using an arbitrary random number
Can be calculated.The third sub-keyword re-encryption key generation step (S58) generates the third sub-keyword re-encryption key k ( k) through the random number and the first secret key multiplication and the public key calculation of two secret key sums for the first sub- 6 ) is obtained. To illustrate public key computation
. Then, the re-encryption key k keyword -re ( w ) = ( k 4 , k 5 , k 6 ), which is the output value of the Keyword-Re- Enc - Keygen algorithm S5b, is transmitted to the file server.11, the Re- Enc - Keygen algorithm S5c includes a personal data retrieval step S59 to be shared, a first sub-shared data cipher text generation step S591, a second sub-shared data cipher text generation step S592 , A first sub-shared keyword ciphertext generation step (S593), a second sub shared keyword ciphertext generation step (S594), and a third sub shared keyword ciphertext generation step (S595).
The input value of the Re- Enc - Keygen algorithm S5c includes a user i including the user's identity, a re-encryption key k data -re ( w ) for the data , a re-encryption key k keyword -re ( w ) Personal data trap door value T p , encrypted data and keywords E ( D i ) stored in the file server so that only user i can know it, and secret key x i 12 shared by user i and the file server may be, the output value is a shared data c i '(m) = ( c m 1', c m 2 ') with the shared keyword c i' (w) = ( c w 1 ', c w 2', c w 3 ' ) .
The personal data retrieval step (S59) to be shared requires all data { c i '' (m), c i '' (w)) obtained by subtracting keywords from the encrypted data stored in the shared data only by the user himself the first equation k 1 = c m 1 '' and the second equation k 4 = c w 1 '' are two solutions for establishing (c i '' (m) , c i ' with respect to E (D i)}' (w)) .
The first sub-shared-data ciphertext generation step (S591) sets one of the shared data ( c m 1 '' ) to the first sub-shared-data ciphertext ( c m 1 ' ).
A second sub-shared data, the ciphertext generation step (S592) is the other of the shared data (c m 2 ''), the secret key, the second encryption key (k 2), the third encryption key (k 3) and the share of the of the data obtained with a (c m 1 '') a second sub-shared data encrypted text via the encrypted text using the operation (c m 2 '). The ciphertext computation that generates the second sub-shared data ciphertext is
Can be expressed asThe first sub-shared keywords ciphertext generation step (S593) the determined by the first sub-data shared cipher one keyword (c w 1 '') ( c w 1) one of the keywords share a 'corresponding to. Similarly, another keyword ( c w 4 '' ) corresponding to the first sub-shared-data ciphertext is set to the other ( c w 3 ' ) of the keywords to be shared.
In the second sub-shared-keyword ciphertext generation step S594, a keyword c w 2 '' , a secret key x i 2 , a fifth encryption key k 5 , ( C w 2 ' ) among the keywords to be shared through a ciphertext operation using the key ( k 6 ) and the first sub-shared keyword cipher text ( c w 1 '' ). The generation of the second sub-shared keyword cipher text
Can be calculated.The third sub-shared keywords ciphertext generation step (S595) is determined as a first keyword corresponding to a different sub-shared data encrypted text (c w 3 '') one of the other of the shared keywords (c w 3 '). After Re- Enc - the output value of Keygen algorithm (S5c) is a shared data c i '(m) = ( c m 1', c m 2 ') with the shared keyword c i' (w) = ( c w 1 ' , c w 2 ' , c w 3 ' ) , which can be stored in a file server.
FIG. 12 and FIG. 13 are diagrams illustrating an example of a shared data retrieval step in the data encryption method of FIG.
In the shared data retrieval step constituting the shared and searchable data encryption method for the semi-trusted server having the selective sharing function according to this embodiment, the M-Trapdoor algorithm (S6a) and the M-Search algorithm S6b) can be used.
That is, if all the users want to search shared data, they can retrieve the data through the shared data search step. First, the user executes the M-Trapdoor algorithm S6a using the secret key of the user, A shared data trap door for a door to a file server. Then, the file server can retrieve the data using the trap door in the M-Search algorithm (S6b) and transmit the search result to the user.
12, the M-Trapdoor algorithm S6a includes a random number selection step S61 for generating a shared data trap door, a random number generation step S62 for a keyword, a first sub- A data trap door creation step S63, and a second sub shared data trap door creation step S64.
Input to the M-Trapdoor algorithm (S6a) may include a keyword w to find the secret key (x i 1, s) of the user i, the output value of user i shared data trapdoor, i.e. T mi (w) = ( t m 1 , t m 2 ) .
In the random number selection step (S61) for the shared data generated trapdoor selects any random number (r mt). In the random number generation step S62 for the keyword, the random number ( s w ) is obtained through the random random function Fs ( w ).
The first sub-shared-data trap door generation step S63 is a step of generating a cipher text in which a random number is subtracted from an arbitrary random number as an index of the group creator
) To obtain the first sub-shared data trap door ( t m 1 ).The second sub-shared-data trap door generation step S64 includes a public key h which exponents a random number, a group constructor g which exponents multiply a secret key and an arbitrary random number, A ciphertext for a combination of group constructors that exponents the product of numbers
) To obtain the second sub-shared data trap door ( t m 2 ). Then, the data encryption device can transmit the shared data trap door T mi ( w ) = ( t m 1 , t m 2 ) of the user i , which is the output value of the M-Trapdoor algorithm S 6 a , to the file server.13, the M-Search algorithm S6b includes a shared data trap door generation step S65, a keyword search step S66 using the shared data trap door, a first sub shared data ciphertext generation step S65 for the user i , (S67), and a second sub-shared-data ciphertext generation step (S68) for user i .
The input values of the M-Search algorithm S6b include user i including the user's identity, shared data trap door T mi ( w ) , encrypted shared data and keywords E ( D m ) stored in the file server, ( X i 2 ) shared by user i and the file server, and the output value includes a shared data cipher text for user i , c i (m) = ( c m 1 , c m 2 ) . The shared data cipher text may be sent to the user terminal of user i , which is any other user.
The shared data trap door creating step S65 is a step of creating a shared data trap door
To obtain the personal data trap door value T m .Keyword search step (S66) using the shared data trapdoor are each (c i '(m), c i' (w)) ∈ E (D m) formula H (c w 2 'with respect to all data corresponding to the · T m -1) = c w 3 retrieves '((m, c i' (w)) to c i) is satisfied.
Generating the first sub data shared cipher for user i step (S67) is determined by the first sub-shared data encrypted text (c m 1) a 'c m 1 of the (m)' c i found above.
The second sub-shared-data cipher text generation step S68 for the user i uses the c m 1 '
And obtains the second sub-shared-data cipher text ( c m 2 ). To illustrate this,Respectively.
Since M-Search shared cipher text data of the output value of user i in the algorithm (S6b) c i (m) = (
FIG. 14 is an exemplary diagram illustrating a step of decrypting encrypted shared data in the data encryption method of FIG. 1. FIG.
In the shared data decryption step constituting the shared and searchable data encryption method for the semi-trusted server having the selective sharing function according to the present embodiment, it includes the M-Data- Dec algorithm (S7). That is, the user can execute the M-Data- Dec algorithm (S7) through the shared data decryption step to decrypt the shared data cipher text, thereby obtaining the plaintext data.
The M-Data- Dec algorithm S7 includes a shared data decryption step S71 for the user i as shown in Fig. M-Data- input to the algorithm Dec (S7) may include a shared data encrypted text c i (m) on the private key (x i 1) and the user i of the user i, the output value is the plaintext data (m) . ≪ / RTI >
Shared data cryptogram decoding step (S71) in the decoding operation using the x i 1 the secret key of the user i
, And thereby, plain text data can be obtained.In the present embodiment, when the system use right for a specific user is to be revoked, the file server secret key can be deleted from the user of the file server.
For example, in the conventional technique of Dong et al., All data stored by a user is converted into shared data by a file server using a secret key of a file server, so that all data is shared with all users without limitation. However, in this embodiment, in order for the data stored by the user to be converted into the shared data by the file server, data required by the user, a re-encryption key for the keyword, and a secret key of the file server are required. Thus, the stored data can be shared by all users only for the data and keywords given to the file server by the user creating the re-encryption key.
As described above, the data encryption method according to the present embodiment is advantageous in that it is possible to implement a technique capable of sharing specific data only when the user desires, unlike the conventional technique such as Dong, in which all data is shared without user restriction. To do this, the user i encrypts the data and keywords to be stored using a secret key known only to the user, and then shares the encrypted data and the keyword itself in the form of keywords and data of the conventional technique such as Dong . In this way, all users still have access to encrypted data and keywords stored by user i , but unshared data and keywords can not be searched because they are encrypted so that other users do not know. There is an advantage that the encrypted data can not be decrypted.
Also, in the conventional technique such as Dong, if the user i wants to share a part of his / her data among the data stored in the file server, it searches the encrypted data and the keyword in the file server, decrypts the data after downloading the data, Should be stored on the server. Therefore, it can be seen that this conventional method is very inefficient in terms of the amount of calculation and the amount of communication compared to the present embodiment. Comparing the data encryption method of the present embodiment and the data encryption method of the related art as a whole, it can be seen that the data encryption method of this embodiment is efficient and useful in all aspects compared to the prior art.
15 is a flowchart of a method for retrieving encrypted personal data in the data encryption method of FIG.
The encrypted personal data retrieval process according to the present embodiment will be described with reference to FIG.
The
Next, the
The
Next, in order to retrieve the personal data cipher text stored in the file server, the
Next, the generated personal data trap door is transmitted to the server device 30 (S155), and the
Next, the user terminal receives the search result based on the personal data trap door at the
16 is a flow chart of a method for sharing encrypted private data among the data encryption methods of FIG.
The encrypted personal data sharing process according to the present embodiment will be described with reference to FIG.
The
Next, the
Next, the
Next, the
Next, another user who wants to search for the shared data cipher text and / or the shared keyword cipher text stored in the
The
The
17 is a schematic block diagram of a data encryption apparatus according to another embodiment of the present invention.
The data encryption apparatus according to the present embodiment can correspond to the
The
The
In addition, the
The
The
Also, the encryption /
The
The
Components of the software may include an operating system module, a communication module, a graphics module, a user interface module, a moving picture experts group (MPEG) module, a camera module, one or more application modules, and the like. A module is a set of instructions that can be represented as an instruction set or program.
The operating system includes built-in operating systems such as MS WINDOWS, LINUX, Darwin, RTXC, UNIX, OS X, iOS, Mac OS, VxWorks, Google OS, Android, And may include various components for controlling the system operation of a user terminal including a mobile device and the like. The above-described operating system may also include, but is not limited to, a function of performing communication between various hardware devices and software components (modules).
For general system operation or control of functions except for the control of functions implementing the data encryption method, the user terminal may comprise one or more means for e.g. memory management and control, storage hardware control and management, power control and management, And may include a configuration unit that performs a function corresponding to the operation mode.
The
The
Meanwhile, in the present embodiment, the components (221 to 224, etc.) of the data encryption apparatus may be functional blocks or modules mounted on a user terminal or a computer apparatus, but are not limited thereto. The above-described components may be stored in a computer-readable medium (recording medium) in the form of software for implementing a series of functions (data encryption method) performed by them, or may be transmitted to a remote place in the form of a carrier to be implemented to operate in various computer devices . The computer readable medium may include a plurality of computer devices or a cloud system connected through a network, and at least one of the plurality of computer devices or the cloud system may include a data encryption method in the data encryption device of the present embodiment You can save the program or source code to perform.
That is, the computer-readable medium may be embodied in the form of a program command, a data file, a data structure, or the like, alone or in combination. Programs recorded on a computer-readable medium may include those specifically designed and constructed for the present invention or those known and available to those skilled in the computer software arts.
The computer-readable medium can also include a hardware device specifically configured to store and execute program instructions, such as a ROM, a RAM, a flash memory, and the like. Program instructions may include machine language code such as those produced by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like. The hardware device may be configured to operate with at least one software module to perform the noise reduction method of the present embodiment, and vice versa.
18 is a schematic block diagram of a data encryption apparatus according to another embodiment of the present invention.
The data encryption apparatus according to the present embodiment can correspond to the
The
The
The transmission /
The
The
The
In the case of using the
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that
Claims (20)
Receiving a secret key for a user from a key management server;
Receiving personal data and keywords encrypted with the secret key from the user terminal of the user;
Storing the encrypted personal data and keywords in a storage area associated with the user in a file server;
Receiving a personal data trap door for a keyword to be searched from the user side from the user terminal; And
Retrieving a personal data cipher text from a file server using the personal data trap door,
In the step of retrieving the personal data cipher text, a P-Data-Enc algorithm is used,
The P-Data-Enc algorithm includes a random number selection step for encrypting personal data, a first sub personal data cipher text generation step and a second sub personal data cipher text generation step, wherein the input value of the P-Data- The secret key and the data to be encrypted, the output value including a personal data cipher text of the user,
Wherein the random number selection step for encrypting the personal data selects a random number for the personal data to be encrypted and the first sub personal data cipher text generation step calculates a cipher text in the form of a public key using the random number to generate first sub- And generating a second sub personal data cipher text by encrypting a product of the group generator and the plaintext data in which the product of the secret key and the random number is an exponent in a public key form to generate a second sub personal data cipher text, Wherein the personal data cipher text includes the first and second sub personal data cipher texts,
The keyword is encrypted by the P-Keyword-Enc algorithm at the user terminal,
The P-Keyword-Enc algorithm includes a random number selection step for encrypting a personal keyword, a random number generation step for a keyword, a first sub personal keyword ciphertext generation step, a second sub personal keyword ciphertext generation step, Wherein the input value of the P-Keyword-Enc algorithm includes a secret key and a keyword to be encrypted, the output value includes a personal keyword cipher text,
Wherein the random number selection step for encrypting the personal keywords selects an arbitrary first random number and a second random number for the keyword to be encrypted, The second subpersonal keyword cipher text generation step generates the first subpopular keyword cipher text using the cipher text of the group creator that exponents the sum of the secret key and the first random number, The second subprivate keyword ciphertext generation step may include multiplying the product of the first random number and the secret key, a product of the secret key and a first random number corresponding to the first random number, and a second random number corresponding to the secret key and the first random number A second subpersonal keyword cipher text is obtained using the cipher text of the group creator that exponents the sum of the products of the second subpopular random number, The ciphertext generation step generates a third subpersonal keyword cipher text using a hash function for the group creator exponent of the product of the first random number and the secret key multiplied by the product of the secret key and the first random number The fourth sub personal keyword cipher text is obtained by using a hash function for a public key in which the secret key is exponent, A method of encrypting data, comprising key word ciphertexts.
The step of retrieving the personal data cipher text uses a P-Trapdoor algorithm,
The P-Trapdoor algorithm includes a random number selection step for generating a personal data trap door, a number random number generation step for a keyword, a first sub personal data trap door generation step and a second sub personal data trap door generation step The input value of the P-Trapdoor algorithm includes a secret key and a keyword to be searched on the user side, the output value includes a personal data trap door,
Wherein the random number selection step for generating the personal data trap door selects any random number and the generating of the number random number for the keyword generates a random number by using a random number function for the secret key, 1 sub-personal data trap door generating step generates a first sub personal data trap door using the cipher text of the group creator exponentating the random number, and the second sub personal data trap door generating step generates the second sub personal data trap door using the random number and the secret key And generating a second sub personal data trap door using the cipher text of the group creator indexing the sum of the product of the secret key and the random number, wherein the personal data trap door comprises a first and a second Sub personal data trap doors.
The step of retrieving the personal data ciphertext further uses a P-Search algorithm,
The P-Search algorithm personal data trapdoor value generating step and the personal data traps containing the keyword search step using the door, wherein the input value of the P-Search algorithm is the secret key, the personal data trapdoor, and the file server The encrypted personal data corresponding to the keyword to be searched on the user side and the output value include the encrypted personal data corresponding to the keyword to be searched on the user side,
Wherein the personal data trap door value generating step generates a personal data trap door value using the private key and the first and second sub personal data trap doors, and the keyword searching step using the personal data trap door comprises: And deciding whether or not the third subpersonal keyword cipher text is matched with the subpersonal keyword cipher text and the hash function of the inverse personal data trap door value.
Wherein the step of retrieving the personal data cipher text comprises the step of exponentiating the product of the secret key and the random number of the random number using the secret key and the random number using the secret key and the random number, Extracting the personal data ciphertext corresponding to the keyword to be searched on the user side and transmitting the extracted personal data ciphertext to the user terminal if the combination of the group creator matches the third sub keyword cipher text,
And the user terminal decrypts the personal data cipher text into plaintext data.
The decryption of the personal data ciphertext in the user terminal uses a P-Data- Dec algorithm,
Wherein the P-Data - Dec algorithm comprises a private data decryption step, wherein the input value of the P-Data- Dec algorithm includes a secret key and a private data cipher text from the server device, ≪ / RTI &
Wherein the private data decryption step decrypts the private data cipher text using the secret key.
Receiving a secret key for a user from a key management server;
Receiving personal data and keywords encrypted with the secret key from the user terminal of the user;
Storing the encrypted personal data and a keyword in a storage area associated with the user;
Receiving a re-encryption key for sharing at least a portion of the personal data ciphertext stored in the file server of the server device from the user terminal;
Encrypting the personal data cipher text and the personal keyword cipher text stored in the file server using the re-encryption key to convert the cipher text data into a shared data cipher text and a shared keyword cipher text;
Receiving a shared data trap door for a shared keyword that enables the shared data ciphertext to be retrieved from the file server from another user terminal; And
And retrieving the shared data cipher text stored in the file server using the shared data trap door.
The step of retrieving the shared data cipher text uses an M-Trapdoor algorithm,
The M-Trapdoor algorithm includes a random number selection step for generating a shared data trap door, a number random number generation step for a keyword, a first sub shared data trap door generation step, and a second sub shared data trap door generation step. Wherein the input value of the M-Trapdoor algorithm includes a secret key and a keyword to be searched, the output value includes a shared data trap door,
Wherein the step of selecting a random number for generating the shared data trap door selects a random number and the generating of the number random number for the keyword generates a random number by using a random Random function using the random number, Wherein the step of generating the shared data trap door determines a first sub shared data trap door using a cipher text in which a value obtained by subtracting the random number from the random number is an index of the group creator, A second group is generated by using a cipher text in which a public key having a random number as an exponent, a group creator having an exponent of a product of the secret key and the random number, and a group creator having an exponent as a product of the secret key and the random number, A shared data trap door is obtained, wherein the shared data trap door comprises a first and a second sub- Method, data encryption, including data trapdoor.
The step of retrieving the shared data ciphertext further uses an M-Search algorithm,
The M-Search algorithm includes a shared data trap door generation step, a keyword search step using a shared data trap door, a first sub shared data cipher text generation step for another user, and a second sub shared data cipher text generation step for the other user Wherein the input value of the M-Search algorithm includes at least one of the identity of the other user, the shared data trap door, encrypted shared data and shared keywords stored in the file server, And the output value is a shared data cipher text shared by the other user,
Wherein the step of generating the shared data trap door comprises: obtaining a shared data trap door value from the ciphertexts of the first and second sub-shared data trap doors using the secret key; and searching the keyword using the shared data trap door, It is determined whether or not the hash function using the second sub-shared keyword cipher text and the inverse shared data trap door value match the third sub-shared keyword cipher text in the case where the shared data corresponding to all the keywords to be searched is the element of the encrypted shared data Wherein the third sub-shared keyword ciphertext defines another keyword corresponding to the first sub-shared keyword ciphertext in the shared keywords.
If the hash function matches the third sub-shared keyword cipher text in the step of retrieving the shared data cipher text, extracting the shared data cipher text corresponding to the keyword to be searched at the other user side, Wherein the other user terminal decrypts the shared data cipher text to obtain plain text data.
The decryption of the shared data ciphertext in the other user terminal uses an M-Data-Dec algorithm,
Wherein the M-Data - Dec algorithm comprises a shared data decryption step, wherein an input value of the M-Data- Dec algorithm includes a secret key of the other user terminal and the shared data cipher text, ≪ / RTI &
Wherein the shared data decryption step decrypts the shared data cipher text using the secret key at the other user terminal.
Receiving a private key for a user from a key management server, receiving personal data and a keyword encrypted with the private key from the user terminal of the user, and receiving a personal data trap for a specific keyword to be searched from the user terminal, A transmission / reception unit for receiving a door;
A storage unit for storing the encrypted personal data and keywords in a storage area associated with the user in a file server; And
And a retrieval unit for retrieving a personal data cipher text stored in the file server using the personal data trap door,
Wherein the transceiver further receives a re-encryption key for sharing at least a portion of the personal data ciphertext from the user terminal,
Wherein the data encryption apparatus further comprises a conversion unit for re-encrypting the personal data cipher text and the personal keyword cipher text stored in the file server using the re-encryption key to convert the cipher text data into a shared data cipher text and a shared keyword cipher text.
Wherein the transceiver further receives a shared data trap door for retrieving the shared data ciphertext from another user terminal,
And the retrieving unit retrieves the shared data cipher text stored in the file server using the shared data trap door.
Wherein the data encryption device comprises at least a part of a function of at least a part of a cloud service providing server connected to a user terminal via a network or at least a part of a part performing a function corresponding to the function part.
Receiving a secret key shared with the server device from a key management server;
Encrypting the personal data and the keyword for the personal data using the secret key;
Transmitting encrypted personal data and keywords to the server device;
Generating a re-encryption key for re-encrypting a personal data cipher text or keyword stored in a user-related storage area in a file server of the server device; And
And transmitting the re-encryption key to the server device,
The server apparatus converts the cipher text of personal data or personal keywords stored in the user-related storage area into a shared data cipher text or a shared keyword cipher text using the re-encryption key, And transmitting the retrieved shared data ciphertext to the user terminal of the other user. The shared data ciphertext is transmitted to the user terminal of the another user by using the shared data trap door,
Data encryption method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150069751A KR101697868B1 (en) | 2015-05-19 | 2015-05-19 | Method for encrypting data for sharing or searching the data and apparatus for performing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150069751A KR101697868B1 (en) | 2015-05-19 | 2015-05-19 | Method for encrypting data for sharing or searching the data and apparatus for performing the method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160136060A KR20160136060A (en) | 2016-11-29 |
KR101697868B1 true KR101697868B1 (en) | 2017-01-19 |
Family
ID=57706491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150069751A KR101697868B1 (en) | 2015-05-19 | 2015-05-19 | Method for encrypting data for sharing or searching the data and apparatus for performing the method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101697868B1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102025409B1 (en) * | 2017-07-31 | 2019-09-25 | 서강대학교산학협력단 | Data access management system based on blockchain and method thereof |
KR101997984B1 (en) * | 2017-10-25 | 2019-07-08 | 이화여자대학교 산학협력단 | Location based vehicle communication method using proxy re-encryption and proxy server for vehicle communication |
KR102050888B1 (en) * | 2017-11-29 | 2019-12-02 | 고려대학교 산학협력단 | Method and system for similarity search over encrypted data in cloud computing |
KR102320667B1 (en) * | 2019-11-08 | 2021-11-02 | 두나무 주식회사 | Method and terminal for managing user information |
CN113486364A (en) * | 2020-10-20 | 2021-10-08 | 青岛海信电子产业控股股份有限公司 | Terminal, server and data processing method |
CN116521743A (en) * | 2023-06-27 | 2023-08-01 | 北京中科江南信息技术股份有限公司 | Ciphertext retrieval method and device, storage medium and electronic equipment |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100945535B1 (en) | 2007-11-29 | 2010-03-09 | 주식회사 케이티 | Key generating method for preventing dictionary attack and method of producing searchable keyword encryption and searching data using that |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11143780A (en) * | 1997-11-05 | 1999-05-28 | Hitachi Ltd | Method and device for managing secret information in database |
KR100839220B1 (en) * | 2006-10-19 | 2008-06-19 | 고려대학교 산학협력단 | Method for searching encrypted database and System thereof |
KR101302137B1 (en) * | 2009-12-16 | 2013-09-16 | 한국전자통신연구원 | Method for Searchable Symmetric Encryption |
-
2015
- 2015-05-19 KR KR1020150069751A patent/KR101697868B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100945535B1 (en) | 2007-11-29 | 2010-03-09 | 주식회사 케이티 | Key generating method for preventing dictionary attack and method of producing searchable keyword encryption and searching data using that |
Also Published As
Publication number | Publication date |
---|---|
KR20160136060A (en) | 2016-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101697868B1 (en) | Method for encrypting data for sharing or searching the data and apparatus for performing the method | |
CN107038383B (en) | Data processing method and device | |
CN108629027B (en) | User database reconstruction method, device, equipment and medium based on block chain | |
KR101600016B1 (en) | method of encrypting data using Homomorphic Encryption and Computing device performing the method | |
CN106817358B (en) | Encryption and decryption method and device for user resources | |
KR102449816B1 (en) | Apparatus for encryption and search and method thereof | |
US20170310479A1 (en) | Key Replacement Direction Control System and Key Replacement Direction Control Method | |
JP2014126865A (en) | Device and method for encryption processing | |
CN109672521B (en) | Security storage system and method based on national encryption engine | |
JPWO2015155896A1 (en) | Support vector machine learning system and support vector machine learning method | |
US11128452B2 (en) | Encrypted data sharing with a hierarchical key structure | |
US9479330B2 (en) | Method, information service system and program for information encryption/decryption | |
WO2016088453A1 (en) | Encryption apparatus, decryption apparatus, cryptography processing system, encryption method, decryption method, encryption program, and decryption program | |
CN111555880A (en) | Data collision method and device, storage medium and electronic equipment | |
CN108549824A (en) | A kind of data desensitization method and device | |
GB2546612A (en) | Password-authenticated public key encryption and decryption | |
KR101812311B1 (en) | User terminal and data sharing method of user terminal based on attributed re-encryption | |
CN111767550B (en) | Data storage method and device | |
EP3119031A1 (en) | Encryption scheme using multiple parties | |
CN113761570B (en) | Data interaction method for privacy intersection | |
CN113672954B (en) | Feature extraction method and device and electronic equipment | |
CN109361717A (en) | Encrypted content file method, apparatus and electronic equipment | |
CN115510490A (en) | Method, device, system and equipment for inquiring encrypted data shared by non-secret keys | |
KR102633416B1 (en) | Method for privacy preserving using homomorphic encryption with private variables and apparatus theroef | |
KR102512871B1 (en) | Centralized private key management method for multiple user devices related to a single public key |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |