CN109165226A - It is a kind of to can search for encryption method towards ciphertext large data collection - Google Patents
It is a kind of to can search for encryption method towards ciphertext large data collection Download PDFInfo
- Publication number
- CN109165226A CN109165226A CN201811194140.1A CN201811194140A CN109165226A CN 109165226 A CN109165226 A CN 109165226A CN 201811194140 A CN201811194140 A CN 201811194140A CN 109165226 A CN109165226 A CN 109165226A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- search
- ciphertext
- piecemeal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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/602—Providing cryptographic facilities or services
Abstract
The present invention provide it is a kind of can search for encryption method towards ciphertext large data collection, be related to Internet technical field.This method includes: that data owner completes file upload procedure: ciphertext data being divided into N parts after first pre-processing to original document collection F and are uploaded to data serverEncrypted indexes are uploaded to index server SI;Data owner completes keyword search process: to index server SIIssue the search token τ to keyword ww;SIAccording to τwAnd Security Index DB calculates the data server where w
Description
Technical field
The present invention relates to Internet technical field more particularly to a kind of it can search for encryption side towards ciphertext large data collection
Method.
Background technique
With the rapid development of cloud computing, cloud storage technology is widely used, and user is gradually by Data Migration to cloud
Server to avoid local huge storage overhead and cumbersome data management, and obtains more easily service.But cloud is certainly
The opening and sharing of body, it is same to bring very big challenge to the Information Security being stored in distributed environment.For
Assuring data security and privacy of user, data are typically all to be stored in cloud server in the form of ciphertext.But
Clear data is after encryption becomes ciphertext, although ensure that the confidentiality and safety of data, loses many plaintext numbers
According to original characteristic, so that carrying out keyword lookup in ciphertext becomes problem.It can search for encryption (Searchable
Encryption, SE) technology have been developed in recent years support in ciphertext carry out keyword search cryptographic primitive, it
A large amount of calculating and network overhead are saved for user, and it is close to make full use of distributed storage and computing capability in cloud environment to carry out
Keyword on text is searched.As the development of cloud computing provides safe spirit under the application scenarios of mass users and mass data
Efficient SE mechanism living will be one of target that researcher strongly pursues.
In it can search for encipherment scheme, user first encrypts data using Encryption Algorithm, and ciphertext storage is arrived
In cloud server;When user initiates searching request, keyword trapdoor is sent to cloud server, server is fallen into what is received
Door carries out exploration matching to each file, includes the keyword in supporting paper if successful match;Last server will match
To file cipher text send back to user, user only needs that the file of return is decrypted.In safety, cloud server is removed
It has obtained will not obtaining and be searched outside the information such as access module, search pattern and file cipher text, ciphertext size, file number
The key words content of rope and any information of plaintext.
Although most indexes that symmetrically can search in encipherment scheme theoretically have optimal search time at present,
The performance executed on large data collection is unsatisfactory.Also, I/O delay, space utilisation and data are concentrated-distributed deposits
Chu Douhui reduces the actual performance that symmetrically can search for encipherment scheme.When towards large data collection, the Security Index of building is excessive,
And it is scanned for by Security Index sequentially matching keywords, is the major reason that search efficiency is low in practice.
Summary of the invention
The technical problem to be solved by the present invention is in view of the above shortcomings of the prior art, provide one kind towards ciphertext large size number
According to the encryption method that can search for of collection, this method carries out the think of of indirect addressing by being layered index in Security Index generating algorithm
Think, optimize the storage organization of Security Index, so that still maintaining a good time in the case where Security Index is excessive
Complexity.
In order to solve the above technical problems, the technical solution used in the present invention is: a kind of towards ciphertext large data collection
It can search for encryption method, the specific steps are as follows:
Step 1: data owner completes file upload procedure in client;Data owner first to original document collection F into
Row pretreatment, the pretreatment include generating ciphertext data using symmetric cryptography, semantic analysis being carried out to original document collection and is mentioned
Keyword is taken, inverted index is constructed for keyword and generates Security Index DB;After file pretreatment, data owner is by ciphertext
Data are divided into N parts and are uploaded to data serverAnd encrypted indexes are uploaded to index server SI;
Step 2: data owner completes keyword search process;The process includes that search and file update;
The file renewal process includes that file addition and file are deleted;After file adds or deletes, for search
Keyword w, search process are converted into for D+Dadd-DdelSearch, wherein D be not comprising file add and delete word
Allusion quotation, DaddFor the dictionary of file addition, DdelFor the dictionary that file is deleted, the search result of three parts is finally merged into return
Give ciphertext data set;
Described search process is data owner to index server SIIt issues to the searching request of keyword w, and to rope
Draw server SIThe search token τ of w is providedw;SIAccording to τwAnd Security Index DB calculates the data server where wIts
In, 1≤ν≤N;τ is returned to data ownerwCorresponding ciphertext data setWhereinFor ciphertext number
According to sum;
Step 3: data owner completes file download process in client;In file download process, data owner
Download the corresponding ciphertext data set of keyword wIt is decrypted using keyIt is wrapped
Data file collection containing w
The step 1 includes following sub-step:
Step 1.1: data owner generates key K by initialization algorithm in client, then raw using symmetric cryptography
At ciphertext data c;
Step 1.1.1: security parameter k is inputted, wherein { 0,1 } k ∈k;
Step 1.1.2: pseudo-random number generator is usedGenerate 3 random number K1,K2,K3As pseudorandom
The key of function PRF;
Wherein pseudo-random function PRF is expressed as
Step 1.1.2.1: input client key K ∈ { 0,1 }kWith keyword w ∈ { 0,1 }*, export adding for corresponding w generation
Key K1∈{0,1}kAnd K2∈{0,1}k;
Step 1.1.2.2: pass through K3←SKE.Gen(1k) key of symmetric encipherment algorithm is calculated, it is original for encrypting
File set F;SEK=(Gen, Enc, Dec) is a symmetric encryption scheme, and wherein Gen indicates that key schedule, Enc indicate
Encryption Algorithm, Dec indicate decipherment algorithm.
Step 1.1.3: output K=(K1,K2,K3) it is used as key;
Step 1.2: the encryption of file inputs original document collection F, F is encrypted as ciphertext data using symmetric encipherment algorithm
c;
Step 1.2.1: input original document collection F;
Step 1.2.2: for the file f in Fη, executeWherein 0 < η≤| F |, generate ciphertext
cη, cη∈c;
Step 1.2.3: c is divided into N parts and is sent to data server
Step 1.3: data owner carries out semantic analysis to F and extracts keyword w, constructs inverted index for w and generates
Security Index DB obtains the array A and block Block for storing block message, list L is created, by Block after the DB classification
It is stored in L with the encryption label for using K to generate, L is uploaded to SI, it executes D ← Create (L), generates dictionary D, export K,
D, A;Specific step is as follows:
Step 1.3.1: second of the piecemeal of array A and storage for the data for being used to store inverted index first time piecemeal is generated
Pointer list L;
Step 1.3.2: to each keyword w, K is executed1,K2← F (w) generates key K corresponding with w1And K2;
Step 1.3.3: determining the Security Index DB and Security Index piecemeal parameter B and b, according to the row of falling of keyword w
Index length | DB (w) | DB (w) is divided into Small, Medium, Large three classes:
Step 1.3.3.1: the Security IndexWhen, take piecemeal number NumBS=1, i.e., without being divided
Block operation;When | DB (w) | when <b, random data filling is carried out to DB (w), polishing remembers that the block is Block to b sizeS;It executesL ← (α, β), is uploaded to S for LI;
Step 1.3.3.2: the Security IndexWhen, take piecemeal number
NumBM≤b;When the last one piecemeal is less than B size, polishing to B size;
For each piecemeal BMi, 1≤i≤NumBM, its label is calculated using symmetric cryptographyIt willRandom storage
To SIIn, pointer is denoted asObtain binary groupWherein 1≤i≤NumBM, process reality
Carry out indirect addressing operation;
Array A is created, it willA is written;Piecemeal is carried out according to b size to A, takes piecemeal number
Due to NumBM≤ b, obtains NumbM=1, remember that the block is BlockM;If piecemeal carries out random data filling, polishing to b less than b size
Size;It executes
L←(α,β)
L is uploaded to SI;
Step 1.3.3.3: the Security IndexWhen, take piecemeal numberb<
NumBL≤Bb;
After array A is calculated, to the Num in ABLData continues to carry out piecemeal operation according to B size, carries out the
Secondary indirect addressing;Take piecemeal numberNumBL'≤b;Last block less than B size, into
The filling of row random number, polishing to B size;
For each piecemeal BLj', 1≤j≤NumBL', its label is calculated using symmetric encipherment algorithmIt willWith
Machine is stored to SIIn, pointer is denoted asObtain binary groupWherein 1≤j≤NumBL';
Array A is created, it willA is written;A is subjected to piecemeal according to b size, takes piecemeal number
Due to NumBL'≤b, obtains NumbM=1, remember that the piecemeal is BlockL;If carrying out random data filling less than b size in piecemeal, mend
B size is arrived together;It executes
L←(α,β)
L is uploaded to SI;
Step 1.3.4:L is uploaded to SIAfterwards, D ← Create (L) is executed, generates dictionary D;
Step 1.3.5: output K, D, A;
Step 1.4: generating the corresponding trapdoor τ of keyword ww, mainly comprise the steps that
Step 1.4.1: input search key w;
Step 1.4.2: it executesWherein τ1、τ2∈τw;
Step 1.4.3: by (τ1,τ2) search token as w, it is uploaded to SI;
The step 2 includes following sub-step:
Step 2.1: input (τ1,τ2) and DB;
Step 2.2: executingObtain classification belonging to DB (w);
Step 2.2.1: whenWhen, it executes
Step 2.2.2: whenWhen, it executes
Step 2.2.3: whenWhen, it executes
Step 2.2.4: output (τ1,τ2) corresponding ciphertext data set
The step 3 includes the following steps:
Step 3.1: file decryption inputs ciphertext data setIt will using symmetric encipherment algorithmIt is reduced to the file set comprising w
Step 3.1.1: input ciphertext data
Step 3.1.2: for ciphertextIt executesRestore corresponding data
Step 3.1.3: output includes the data file collection of w
The addition of file described in the step 2: it inputs in client by original document collection F to be addedadd, execute EncK
(Fadd) generate ciphertext caddAnd it is uploaded to SF;Input keyword set W to be addedaddAnd inverted index collection DB (Wadd);It executes
EncK(Wadd,DB(Wadd)) generate LaddAnd it is uploaded to SI;Export K, Dadd,Aadd;
The file is deleted: original document collection F to be deleted is inputted in clientdel, extract FdelKeyword set WdelAnd
Generate inverted index collection DB (Wdel), execute EncK(Wdel,DB(Wdel)) generate LdelAnd it is uploaded to SI, export K, Ddel,Adel。
The beneficial effects of adopting the technical scheme are that one kind provided by the invention is towards ciphertext large data
Collection can search for encryption method, and the present invention uses the data structure that the thought of Security Index piecemeal is optimized to Security Index, root
It is directly or indirectly addressed during keyword search according to the size of Security Index, so that getting rid of tradition can search for encrypting
The defect of entire Security Index is needed to be traversed in scheme.With the increase of Security Index, when the size of Security Index has been more than certain
After a threshold value, search time no longer linearly increases, and is down to sublinear growth, to improve keyword search efficiency.
Detailed description of the invention
Fig. 1 is that the system model provided in an embodiment of the present invention that can search for encryption method towards ciphertext large data collection shows
It is intended to;
Fig. 2 is keyword provided in an embodiment of the present invention-document inverted index structure schematic diagram;
Fig. 3 be the search time provided in an embodiment of the present invention that can search for encryption method towards ciphertext large data collection with
Security Index size relation figure;
Specific embodiment
With reference to the accompanying drawings and examples, specific embodiments of the present invention will be described in further detail.Implement below
Example is not intended to limit the scope of the invention for illustrating the present invention.
As shown in Figure 1, the method for the present embodiment is as described below.
A kind of to can search for the entity that encryption method includes three types towards ciphertext large data collection: one of them is several
According to owner (grasping original document collection, Security Index, keyword trapdoor, key), one is that index server (grasps safety cable
Draw), one is data server (grasping encrypted data set).Firstly, data owner locally completes to original document
The cryptographic operation of collection, and encryption file and Security Index are uploaded to data server and index server respectively;When being closed
When keyword is searched for, data owner issues keyword search request to index server;Then, index server is according to safety cable
Draw the data server found where the corresponding ciphertext of search key;It is searched finally, data server is returned to data owner
Hitch fruit.
This method is by key schedule Setup (k), file encryption algorithm EncK(F), Security Index generating algorithm EncK
(W, DB (W)), trapdoor generating algorithm STokenK(w), searching algorithm Search ((τ1,τ2), I), more new algorithm UpdateK
(add, del) and file decryption algorithm DecK(c) it constitutes, the specific steps are as follows:
Step 1: data owner completes file upload procedure in client;Data owner first to original document collection F into
Row pretreatment, the pretreatment include generating ciphertext data using symmetric cryptography, semantic analysis being carried out to original document collection and is mentioned
Keyword is taken, inverted index is constructed for keyword and generates Security Index DB;After file pretreatment, data owner is by ciphertext
Data are divided into N parts and are uploaded to data serverAnd encrypted indexes are uploaded to index server SI;
Step 2: data owner completes keyword search process;The process includes that search and file update;
The file renewal process includes that file addition and file are deleted;After file adds or deletes, for search
Keyword w, search process are converted into for D+Dadd-DdelSearch, wherein D be not comprising file add and delete word
Allusion quotation, DaddFor the dictionary of file addition, DdelFor the dictionary that file is deleted, the search result of three parts is finally merged into return
Give ciphertext data set;
Described search process is data owner to index server SIIt issues to the searching request of keyword w, and to rope
Draw server SIThe search token τ of w is providedw;SIAccording to τwAnd Security Index DB calculates the data server where wIts
In, 1≤ν≤N;τ is returned to data ownerwCorresponding ciphertext data setWhereinFor ciphertext number
According to sum;
Step 3: data owner completes file download process in client;In file download process, data owner
Download the corresponding ciphertext data set of keyword wIt is decrypted using keyIt is wrapped
Data file collection containing w
The step 1 includes following sub-step:
Step 1.1: data owner generates key K by initialization algorithm in client, then raw using symmetric cryptography
At ciphertext data c;
Step 1.1.1: security parameter k is inputted, wherein { 0,1 } k ∈k;
Step 1.1.2: pseudo-random number generator is usedGenerate 3 random number K1,K2,K3As pseudorandom
The key of function PRF;
Wherein pseudo-random function PRF is expressed as PRF:{ 0,1 }k×{0,1}*→{0,1}k;
Step 1.1.2.1: input client key K ∈ { 0,1 }kWith keyword w ∈ { 0,1 }*, export adding for corresponding w generation
Key K1∈{0,1}kAnd K2∈{0,1}k;
Step 1.1.2.2: pass through K3←SKE.Gen(1k) key of symmetric encipherment algorithm is calculated, it is original for encrypting
File set F;SEK=(Gen, Enc, Dec) is a symmetric encryption scheme, and wherein Gen indicates that key schedule, Enc indicate
Encryption Algorithm, Dec indicate decipherment algorithm.
Step 1.1.3: output K=(K1,K2,K3) it is used as key;
In embodiment, in addition to client (data owner) and server end (index server and data server), no
It is related to third party, client code key is generated in client by initialization algorithm, is not related to code key distribution procedure.But if visitor
Family end code key is lost, then can not be interacted with server end, so that the document uploaded before being unable to get, causes data stolen
It takes.
Step 1.2: the encryption of file inputs original document collection F, F is encrypted as ciphertext data using symmetric encipherment algorithm
c;
Step 1.2.1: input original document collection F;
Step 1.2.2: for the file f in Fη, executeWherein 0 < η≤| F |, generate ciphertext
cη, cη∈c;
Step 1.2.3: c is divided into N parts and is sent to data server
Step 1.3: data owner carries out semantic analysis to F and extracts keyword w, constructs inverted index for w and generates
Security Index DB obtains the array A and block Block for storing block message, list L is created, by Block after the DB classification
It is stored in L with the encryption label for using K to generate, L is uploaded to SI, it executes D ← Create (L), generates dictionary D, export K,
D, A;
Security Index in embodiment generates, for this scene of global search, by can search for encipherment scheme to tradition
The generating process of middle Security Index the study found that conventional security index time for being generated in search process of generating algorithm it is main
It is to be caused by traversal Security Index, therefore, it is desirable to reduce time complexity, it is only necessary to reduce the traversal time of Security Index i.e.
Can, a kind of mode is the storage organization of optimization Security Index.It modifies conventional security and indexes generating algorithm, encrypted in each ciphertext
Some identifiers.Specifically, the block that a size is B is fixed, when constructing the results list, B identifier of single treatment is filled out
It fills last block identifier and is encapsulated into a ciphertext d to equal length, and use identical tag.Search process with before
It is just the same, in addition to server is decrypted and is parsed as a result, rather than individually by block.
In order to reduce retrieval Security Index time, using increase index by the way of, i.e., by inverted index according to B size into
Row piecemeal extracts every block message formation label and scans for.At this time, it is assumed that total to be divided into t block, then primary search can find pass
Block of information where keyword, and then find corresponding the file information.This is first time piecemeal, then presses the data after piecemeal
Piecemeal is carried out again according to b size.It is similar with the process of first time piecemeal, the label of the block extracted at this time is stored in L.
As shown in Figure 2, the specific steps are as follows:
Step 1.3.1: second of the piecemeal of array A and storage for the data for being used to store inverted index first time piecemeal is generated
Pointer list L;
Step 1.3.2: to each keyword w, K is executed1,K2← F (w) generates key K corresponding with w1And K2;
Step 1.3.3: determining the Security Index DB and Security Index piecemeal parameter B and b, according to the row of falling of keyword w
Index length | DB (w) | DB (w) is divided into Small, Medium, Large three classes:
Step 1.3.3.1: the Security IndexWhen, take piecemeal number NumBS=1, i.e., without being divided
Block operation;When | DB (w) | when <b, random data filling is carried out to DB (w), polishing remembers that the block is Block to b sizeS;It executesL is uploaded to SI;
Step 1.3.3.2: the Security IndexWhen, take piecemeal number
NumBM≤b;When the last one piecemeal is less than B size, polishing to B size;
For each piecemeal BMi, 1≤i≤NumBM, its label is calculated using symmetric cryptographyIt willRandom storage
To SIIn, pointer is denoted asObtain binary groupWherein 1≤i≤NumBM, process reality
Carry out indirect addressing operation;
Array A is created, it willA is written;Piecemeal is carried out according to b size to A, takes piecemeal number
Due to NumBM≤ b, obtains NumbM=1, remember that the block is BlockM;If piecemeal is big less than b
It is small, carry out random data filling, polishing to b size;It executes
L←(α,β)
L is uploaded to SI;
Step 1.3.3.3: the Security IndexWhen, take piecemeal numberb<
NumBL≤Bb;
After array A is calculated, to the Num in ABLData continues to carry out piecemeal operation according to B size, carries out the
Secondary indirect addressing;Take piecemeal numberNumBL'≤b;Last block less than B size, into
The filling of row random number, polishing to B size;
For each piecemeal BLj', 1≤j≤NumBL', its label is calculated using symmetric encipherment algorithmIt willWith
Machine is stored to SIIn, pointer is denoted asObtain binary groupWherein 1≤j≤NumBL';
Array A is created, it willA is written;A is subjected to piecemeal according to b size, takes piecemeal number
Due to NumBL'≤ b, obtains NumbM=1, remember that the piecemeal is BlockL;If in piecemeal not
Sufficient b size carries out random data filling, polishing to b size;It executes
L←(α,β)
L is uploaded to SI;
Step 1.3.4:L is uploaded to SIAfterwards, D ← Create (L) is executed, generates dictionary D;
Step 1.3.5: output K, D, A;
Step 1.4: generating the corresponding trapdoor τ of keyword ww, mainly comprise the steps that
Step 1.4.1: input search key w;
Step 1.4.2: it executesWherein τ1、τ2∈τw;
Step 1.4.3: by (τ1,τ2) search token as w, it is uploaded to SI;
The step 2 includes following sub-step:
Step 2.1: input (τ1,τ2) and DB;
Step 2.2: executingObtain classification belonging to DB (w);
Step 2.2.1: whenWhen, it executes
Step 2.2.2: whenWhen, it executes
Step 2.2.3: whenWhen, it executes
Step 2.2.4: output (τ1,τ2) corresponding ciphertext data set
The step 3 includes the following steps:
Step 3.1: file decryption inputs ciphertext data setIt will using symmetric encipherment algorithmIt is reduced to the file set comprising w
Step 3.1.1: input ciphertext data
Step 3.1.2: for ciphertextIt executesRestore corresponding data
Step 3.1.3: output includes the data file collection of w
The addition of file described in the step 2: it inputs in client by original document collection F to be addedadd, execute EncK
(Fadd) generate ciphertext caddAnd it is uploaded to SF;Input keyword set W to be addedaddAnd inverted index collection DB (Wadd);It executes
EncK(Wadd,DB(Wadd)) generate LaddAnd it is uploaded to SI;Export K, Dadd,Aadd;
The file is deleted: original document collection F to be deleted is inputted in clientdel, extract FdelKeyword set WdelAnd
Generate inverted index collection DB (Wdel), execute EncK(Wdel,DB(Wdel)) generate LdelAnd it is uploaded to SI, export K, Ddel,Adel;
In the present embodiment, keyword search performance is studied by the search time of Security Index of different sizes.Safety
The size of index reflects keyword-the file information mapping relations logarithm size to a certain extent, with Security Index
Increase, mapping logarithm is also increasing.
The present embodiment uses the part news data and certain company generated in June, 2012 to the July that certain laboratory provides
Open mail data.In embodiment, under identical search key set, searched using the Security Index of 5 kinds of sizes
Rope inquiry, size, as shown in table 1:
1 Security Index classification chart of table
Classification | A | B | C | D | E |
Size/Kb | 100 | 200 | 300 | 400 | 500 |
In embodiment, any storage organization is not done to above-mentioned Security Index in traditional scheme and handled, when search is directly right
Security Index carries out traversing operation;In scheme proposed by the present invention, primary blocky knot is carried out before storing to above-mentioned Security Index
Structure processing, is completed by Security Index bulk storage organization when search.By the difference for comparing above-mentioned five kinds of Security Index sizes
Property side as a result, in search process, with traditional entire Security Index of traversal of the otherness of keyword search time that causes
Method is compared, and when Security Index is smaller, advantage of the invention is not obvious or even search time outline is higher than tradition traversal safety
Index scheme, but with the increase of Security Index, the advantage of this programme gradually shows, search time compared with tradition side increasingly
It is short, as shown in Figure 3.
The present invention is using the data structure that the thought of Security Index piecemeal is optimized to Security Index, according to Security Index
Size is directly or indirectly addressed during keyword search, so that getting rid of tradition can search for needing in encipherment scheme time
Go through the defect of entire Security Index.With the increase of Security Index, after the size of Security Index has been more than some threshold value, search
Time no longer linearly increases, and is down to sublinear growth, to improve keyword search efficiency.
Finally, it should be noted that the above embodiments are merely illustrative of the technical solutions of the present invention, rather than its limitations;Although
Present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that: it still may be used
To modify to technical solution documented by previous embodiment, or some or all of the technical features are equal
Replacement;And these are modified or replaceed, model defined by the claims in the present invention that it does not separate the essence of the corresponding technical solution
It encloses.
Claims (5)
1. a kind of can search for encryption method towards ciphertext large data collection, characterized by the following steps:
Step 1: data owner completes file upload procedure in client;Data owner first carries out original document collection F pre-
Processing, the pretreatment include generating ciphertext data using symmetric cryptography, semantic analysis being carried out to original document collection and extracts pass
Keyword constructs inverted index for keyword and generates Security Index DB;After file pretreatment, data owner is by ciphertext data
It is divided into N parts and is uploaded to data serverAnd encrypted indexes are uploaded to index server SI;
Step 2: data owner completes keyword search process;The process includes that search and file update;
The file renewal process includes that file addition and file are deleted;It is crucial for search after file adds or deletes
Word w, search process are converted into for D+Dadd-DdelSearch, wherein D be not comprising file add and delete dictionary, Dadd
For the dictionary of file addition, DdelFor the dictionary that file is deleted, finally the search result of three parts is merged and returns to ciphertext
Data set;
Described search process is data owner to index server SIIt issues to the searching request of keyword w, and to index service
Device SIThe search token τ of w is providedw;SIAccording to τwAnd Security Index DB calculates the data server where wWherein, 1≤ν
≤N;τ is returned to data ownerwCorresponding ciphertext data setWhereinFor ciphertext data count;
Step 3: data owner completes file download process in client;In file download process, data owner's downloading
The corresponding ciphertext data set of keyword wIt is decrypted using keyIt obtains comprising w
Data file collection
A kind of it can search for encryption method towards ciphertext large data collection 2. according to claim 1, it is characterised in that: institute
Stating step 1 includes following sub-step:
Step 1.1: data owner generates key K by initialization algorithm in client, is then generated using symmetric cryptography close
Literary data c;
Step 1.1.1: security parameter k is inputted, wherein { 0,1 } k ∈k;
Step 1.1.2: pseudo-random number generator is usedGenerate 3 random number K1,K2,K3As pseudo-random function
The key of PRF;
Wherein pseudo-random function PRF is expressed as PRF:{ 0,1 }k×{0,1}*→{0,1}k;
Step 1.1.2.1: input client key K ∈ { 0,1 }kWith keyword w ∈ { 0,1 }*, it is close to export the encryption that corresponding w is generated
Key K1∈{0,1}kAnd K2∈{0,1}k;
Step 1.1.2.2: pass through K3←SKE.Gen(1k) key of symmetric encipherment algorithm is calculated, for encrypting original document
Collect F;SEK=(Gen, Enc, Dec) is a symmetric encryption scheme, and wherein Gen indicates that key schedule, Enc indicate encryption
Algorithm, Dec indicate decipherment algorithm;
Step 1.1.3: output K=(K1,K2,K3) it is used as key;
Step 1.2: the encryption of file inputs original document collection F, F is encrypted as ciphertext data c using symmetric encipherment algorithm;
Step 1.2.1: input original document collection F;
Step 1.2.2: for the file f in Fη, executeWherein 0 < η≤| F |, generate ciphertext cη, cη
∈c;
Step 1.2.3: c is divided into N parts and is sent to data server
Step 1.3: data owner carries out semantic analysis to F and extracts keyword w, constructs inverted index for w and generates safety
DB is indexed to obtain the array A and block Block for storing block message after the DB classification, create list L, by Block and make
It is stored in L with the encryption label that K is generated, L is uploaded to SI, execute D ← Create (L), generate dictionary D, export K, D, A;
Specific step is as follows:
Step 1.3.1: the finger of second of the piecemeal of array A and storage for the data for being used to store inverted index first time piecemeal is generated
The list L of needle;
Step 1.3.2: to each keyword w, K is executed1,K2← F (w) generates key K corresponding with w1And K2;
Step 1.3.3: the Security Index DB and Security Index piecemeal parameter B and b are determined, according to the inverted index of keyword w
Length | DB (w) | DB (w) is divided into Small, Medium, Large three classes:
Step 1.3.3.1: the Security IndexWhen, take piecemeal number NumBS=1, i.e., without carrying out piecemeal behaviour
Make;When | DB (w) | when <b, random data filling is carried out to DB (w), polishing remembers that the block is Block to b sizeS;It executesL ← (α, β), is uploaded to S for LI;
Step 1.3.3.2: the Security IndexWhen, take piecemeal numberNumBM≤
b;When the last one piecemeal is less than B size, polishing to B size;
For each piecemeal BMi, 1≤i≤NumBM, its label is calculated using symmetric cryptographyIt willRandom storage is to SI
In, pointer is denoted asObtain binary groupWherein 1≤i≤NumBM, the process is practical to be carried out
Indirect addressing operation;
Array A is created, it willA is written;Piecemeal is carried out according to b size to A, takes piecemeal number
Due to NumBM≤ b, obtains NumbM=1, remember that the block is BlockM;If piecemeal carries out random data filling, polishing to b less than b size
Size;It executes
L←(α,β)
L is uploaded to SI;
Step 1.3.3.3: the Security IndexWhen, take piecemeal numberb<NumBL≤
Bb;
After array A is calculated, to the Num in ABLData continues to carry out piecemeal operation according to B size, carries out second
Indirect addressing;Take piecemeal numberNumBL'≤b;Last block less than B size, carry out with
The filling of machine number, polishing to B size;
For each piecemeal BLj', 1≤j≤NumBL', its label is calculated using symmetric encipherment algorithmIt willIt deposits at random
Store up SIIn, pointer is denoted asObtain binary groupWherein 1≤j≤NumBL';
Array A is created, it willA is written;A is subjected to piecemeal according to b size, takes piecemeal number
Due to NumBL'≤ b, obtains NumbM=1, remember that the piecemeal is BlockL;If carrying out random data filling less than b size in piecemeal, mend
B size is arrived together;It executes
L←(α,β)
L is uploaded to SI;
Step 1.3.4:L is uploaded to SIAfterwards, D ← Create (L) is executed, generates dictionary D;
Step 1.3.5: output K, D, A;
Step 1.4: generating the corresponding trapdoor τ of keyword ww, mainly comprise the steps that
Step 1.4.1: input search key w;
Step 1.4.2: it executesWherein τ1、τ2∈τw;
Step 1.4.3: by (τ1,τ2) search token as w, it is uploaded to SI。
A kind of it can search for encryption method towards ciphertext large data collection 3. according to claim 1, it is characterised in that: institute
Stating step 2 includes following sub-step:
Step 2.1: input (τ1,τ2) and DB;
Step 2.2: executingObtain classification belonging to DB (w);
Step 2.2.1: whenWhen, it executescres←Get(SF;BlockS);
Step 2.2.2: whenWhen, it executes
Step 2.2.3: whenWhen, it executes
Step 2.2.4: output (τ1,τ2) corresponding ciphertext data set
A kind of it can search for encryption method towards ciphertext large data collection 4. according to claim 1, it is characterised in that: institute
Step 3 is stated to include the following steps:
Step 3.1: file decryption inputs ciphertext data setIt will using symmetric encipherment algorithm
It is reduced to the file set comprising w
Step 3.1.1: input ciphertext data
Step 3.1.2: for ciphertextIt executesRestore corresponding data
Step 3.1.3: output includes the data file collection of w
A kind of it can search for encryption method towards ciphertext large data collection 5. according to claim 1, it is characterised in that: institute
It states file addition: inputting in client by original document collection F to be addedadd, execute EncK(Fadd) generate ciphertext caddAnd it uploads
To SF;Input keyword set W to be addedaddAnd inverted index collection DB (Wadd);Execute EncK(Wadd,DB(Wadd)) generate Ladd
And it is uploaded to SI;Export K, Dadd,Aadd;
The file is deleted: original document collection F to be deleted is inputted in clientdel, extract FdelKeyword set WdelAnd it generates
Inverted index collection DB (Wdel), execute EncK(Wdel,DB(Wdel)) generate LdelAnd it is uploaded to SI, export K, Ddel,Adel。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811194140.1A CN109165226B (en) | 2018-10-15 | 2018-10-15 | Searchable encryption method for ciphertext large data set |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811194140.1A CN109165226B (en) | 2018-10-15 | 2018-10-15 | Searchable encryption method for ciphertext large data set |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109165226A true CN109165226A (en) | 2019-01-08 |
CN109165226B CN109165226B (en) | 2021-03-02 |
Family
ID=64878239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811194140.1A Active CN109165226B (en) | 2018-10-15 | 2018-10-15 | Searchable encryption method for ciphertext large data set |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109165226B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113468575A (en) * | 2021-07-22 | 2021-10-01 | 东北大学 | Dense-state streaming data retrieval system and method supporting access mode hiding |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160125198A1 (en) * | 2014-10-29 | 2016-05-05 | Florian Hahn | Searchable encryption with secure and efficient updates |
CN108416037A (en) * | 2018-03-14 | 2018-08-17 | 安徽大学 | Centric keyword cipher text searching method based on two-stage index in cloud environment |
CN108494768A (en) * | 2018-03-22 | 2018-09-04 | 深圳大学 | A kind of cipher text searching method and system for supporting access control |
-
2018
- 2018-10-15 CN CN201811194140.1A patent/CN109165226B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160125198A1 (en) * | 2014-10-29 | 2016-05-05 | Florian Hahn | Searchable encryption with secure and efficient updates |
CN108416037A (en) * | 2018-03-14 | 2018-08-17 | 安徽大学 | Centric keyword cipher text searching method based on two-stage index in cloud environment |
CN108494768A (en) * | 2018-03-22 | 2018-09-04 | 深圳大学 | A kind of cipher text searching method and system for supporting access control |
Non-Patent Citations (2)
Title |
---|
YUXI LI等: "Integrity-verifiable conjunctive keyword searchable encryption in cloud storage", 《INTERNATIONAL JOURNAL OF INFORMATION SECURITY》 * |
王恺璇等: "面向多关键字的模糊密文搜索方法", 《计算机研究与发展》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113468575A (en) * | 2021-07-22 | 2021-10-01 | 东北大学 | Dense-state streaming data retrieval system and method supporting access mode hiding |
CN113468575B (en) * | 2021-07-22 | 2023-09-19 | 东北大学 | System and method for retrieving encrypted streaming data supporting access mode hiding |
Also Published As
Publication number | Publication date |
---|---|
CN109165226B (en) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108200063B (en) | Searchable public key encryption method, system and server adopting same | |
CN106127075B (en) | Encryption method can search for based on secret protection under a kind of cloud storage environment | |
US9355271B2 (en) | System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption | |
Shi et al. | Oblivious RAM with O ((log N) 3) worst-case cost | |
US10275611B1 (en) | Methods and apparatus for sharing and searching encrypted data | |
US11366918B1 (en) | Methods and apparatus for encrypted indexing and searching encrypted data | |
US11709948B1 (en) | Systems and methods for generation of secure indexes for cryptographically-secure queries | |
CN110659379B (en) | Searchable encrypted image retrieval method based on deep convolution network characteristics | |
CN106815350A (en) | Dynamic ciphertext multi-key word searches for method generally in a kind of cloud environment | |
CN108628867A (en) | Multi-key word cipher text retrieval method towards cloud storage and system | |
Hoang et al. | Practical and secure dynamic searchable encryption via oblivious access on distributed data structure | |
CN109361644B (en) | Fuzzy attribute based encryption method supporting rapid search and decryption | |
CN103024035B (en) | Safe and energy-saving encryption searching method based on mobile cloud platform | |
CN104821876B (en) | A kind of dynamic for supporting that physics is deleted can search for symmetric encryption method | |
Moataz et al. | Resizable tree-based oblivious RAM | |
CN111026788A (en) | Homomorphic encryption-based multi-keyword ciphertext sorting and retrieving method in hybrid cloud | |
CN106874516A (en) | Efficient cipher text retrieval method based on KCB trees and Bloom filter in a kind of cloud storage | |
CN107995299A (en) | The blind storage method of anti-access module leakage under a kind of cloud environment | |
Yuan et al. | Towards privacy-preserving and practical image-centric social discovery | |
CN109213731A (en) | Multi-key word cipher text retrieval method in cloud environment based on iterative cryptographic | |
CN112202919B (en) | Picture ciphertext storage and retrieval method and system under cloud storage environment | |
Liu et al. | Privacy-Enhanced Knowledge Transfer with Collaborative Split Learning over Teacher Ensembles | |
CN109165226A (en) | It is a kind of to can search for encryption method towards ciphertext large data collection | |
Magdy et al. | Privacy preserving search index for image databases based on SURF and order preserving encryption | |
Lam et al. | Gpu-based private information retrieval for on-device machine learning inference |
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 |