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 PDF

Info

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
Application number
CN201811194140.1A
Other languages
Chinese (zh)
Other versions
CN109165226B (en
Inventor
周福才
贾强
秦诗悦
张宗烨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN201811194140.1A priority Critical patent/CN109165226B/en
Publication of CN109165226A publication Critical patent/CN109165226A/en
Application granted granted Critical
Publication of CN109165226B publication Critical patent/CN109165226B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing 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

It is a kind of to can search for encryption method towards ciphertext large data collection
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 (τ12) search token as w, it is uploaded to SI
The step 2 includes following sub-step:
Step 2.1: input (τ12) 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 (τ12) 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 ((τ12), 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 (τ12) search token as w, it is uploaded to SI
The step 2 includes following sub-step:
Step 2.1: input (τ12) 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 (τ12) 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 (τ12) 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 (τ12) 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 (τ12) 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
CN201811194140.1A 2018-10-15 2018-10-15 Searchable encryption method for ciphertext large data set Active CN109165226B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
YUXI LI等: "Integrity-verifiable conjunctive keyword searchable encryption in cloud storage", 《INTERNATIONAL JOURNAL OF INFORMATION SECURITY》 *
王恺璇等: "面向多关键字的模糊密文搜索方法", 《计算机研究与发展》 *

Cited By (2)

* Cited by examiner, † Cited by third party
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