Fuzzy Keyword Search over Encrypted Data n Cloud Computng Jn L,QanWang, Cong Wang,NngCao,KuRen, and Wenjng Lou Department of ECE, Illnos Insttute of Technology Department of ECE, Worcester Polytechnc Insttute Emal: {jnl, qan, cong, kren}@ece.t.edu, {ncao, wjlou}@ece.wp.edu Abstract As Cloud Computng becomes prevalent, more and more senstve nformaton are beng centralzed nto the cloud. For the protecton of data prvacy, senstve data usually have to be encrypted before outsourcng, whch makes effectve data utlzaton a very challengng task. Although tradtonal searchable encrypton schemes allow a user to securely search over encrypted data through keywords and selectvely retreve fles of nterest, these technques support only exact keyword search. That s, there s no tolerance of mnor typos and format nconsstences whch, on the other hand, are typcal user searchng behavor and happen very frequently. Ths sgnfcant drawback makes exstng technques unsutable n Cloud Computng as t greatly affects system usablty, renderng user searchng experences very frustratng and system effcacy very low. In ths paper, for the frst tme we formalze and solve the problem of effectve fuzzy keyword search over encrypted cloud data whle mantanng keyword prvacy. Fuzzy keyword search greatly enhances system usablty by returnng the matchng fles when users searchng nputs exactly match the predefned keywords or the closest possble matchng fles based on keyword smlarty semantcs, when exact match fals. In our soluton, we explot edt dstance to quantfy keywords smlarty and develop an advanced technque on constructng fuzzy keyword sets, whch greatly reduces the storage and representaton overheads. Through rgorous securty analyss, we show that our proposed soluton s secure and prvacy-preservng, whle correctly realzng the goal of fuzzy keyword search. I. INTRODUCTION As Cloud Computng becomes prevalent, more and more senstve nformaton are beng centralzed nto the cloud, such as emals, personal health records, government documents, etc. By storng ther data nto the cloud, the data owners can be releved from the burden of data storage and mantenance so as to enjoy the on-demand hgh qualty data storage servce. However, the fact that data owners and cloud server are not n the same trusted doman may put the oursourced data at rsk, as the cloud server may no longer be fully trusted. It follows that senstve data usually should be encrypted pror to outsourcng for data prvacy and combatng unsolcted accesses. However, data encrypton makes effectve data utlzaton a very challengng task gven that there could be a large amount of outsourced data fles. Moreover, n Cloud Computng, data owners may share ther outsourced data wth a large number of users. The ndvdual users mght want to only retreve certan specfc data fles they are nterested n durng a gven sesson. One of the most popular ways s to selectvely retreve fles through keyword-based search nstead of retrevng all the encrypted fles back whch s completely mpractcal n cloud computng scenaros. Such keyword-based search technque allows users to selectvely retreve fles of nterest and has been wdely appled n plantext search scenaros, such as Google search [1]. Unfortunately, data encrypton restrcts user s ablty to perform keyword search and thus makes the tradtonal plantext search methods unsutable for Cloud Computng. Besdes ths, data encrypton also demands the protecton of keyword prvacy snce keywords usually contan mportant nformaton related to the data fles. Although encrypton of keywords can protect keyword prvacy, t further renders the tradtonal plantext search technques useless n ths scenaro. To securely search over encrypted data, searchable encrypton technques have been developed n recent years [2] [10]. Searchable encrypton schemes usually buld up an ndex for each keyword of nterest and assocate the ndex wth the fles that contan the keyword. By ntegratng the trapdoors of keywords wthn the ndex nformaton, effectve keyword search can be realzed whle both fle content and keyword prvacy are well-preserved. Although allowng for performng searches securely and effectvely, the exstng searchable encrypton technques do not sut for cloud computng scenaro snce they support only exact keyword search. That s, there s no tolerance of mnor typos and format nconsstences. It s qute common that users searchng nput mght not exactly match those pre-set keywords due to the possble typos, such as Illnos and Ilnos, representaton nconsstences, such as PO BOX and P.O. Box, and/or her lack of exact knowledge about the data. The nave way to support fuzzy keyword search s through smple spell check mechansms. However, ths approach does not completely solve the problem and sometmes can be neffectve due to the followng reasons: on the one hand, t requres addtonal nteracton of user to determne the correct word from the canddates generated by the spell check algorthm, whch unnecessarly costs user s extra computaton effort; on the other hand, n case that user accdentally types some other vald keywords by mstake (for example, search for hat by carelessly typng cat ), the spell check algorthm would not even work at all, as t can never dfferentate between two actual vald words. Thus, the drawbacks of exstng schemes sgnfes the mportant need for new technques that support searchng flexblty, toleratng both mnor typos and format nconsstences. In ths paper, we focus on enablng effectve yet prvacy-
preservng fuzzy keyword search n Cloud Computng. To the best of our knowledge, we formalze for the frst tme the problem of effectve fuzzy keyword search over encrypted cloud data whle mantanng keyword prvacy. Fuzzy keyword search greatly enhances system usablty by returnng the matchng fles when users searchng nputs exactly match the predefned keywords or the closest possble matchng fles based on keyword smlarty semantcs, when exact match fals. More specfcally, we use edt dstance to quantfy keywords smlarty and develop a novel technque,.e., an wldcard-based technque, for the constructon of fuzzy keyword sets. Ths technque elmnates the need for enumeratng all the fuzzy keywords and the resulted sze of the fuzzy keyword sets s sgnfcantly reduced. Based on the constructed fuzzy keyword sets, we propose an effcent fuzzy keyword search scheme. Through rgorous securty analyss, we show that the proposed soluton s secure and prvacy-preservng, whle correctly realzng the goal of fuzzy keyword search. The rest of paper s organzed as follows: Secton II summarzes the features of related work. Secton III ntroduces the system model, threat model, our desgn goal and brefly descrbes some necessary background for the technques used n ths paper. Secton IV shows a straghtforward constructon of fuzzy keyword search scheme. Secton V provdes the detaled descrpton of our proposed schemes, ncludng the effcent constructons of fuzzy keyword set and fuzzy keyword search scheme. Secton VI presents the securty analyss. Fnally, Secton VIII concludes the paper. II. RELATED WORK Plantext fuzzy keyword search. Recently, the mportance of fuzzy search has receved attenton n the context of plantext searchng n nformaton retreval communty [11] [13]. They addressed ths problem n the tradtonal nformatonaccess paradgm by allowng user to search wthout usng try-and-see approach for fndng relevant nformaton based on approxmate strng matchng. At the frst glance, t seems possble for one to drectly apply these strng matchng algorthms to the context of searchable encrypton by computng the trapdoors on a character base wthn an alphabet. However, ths trval constructon suffers from the dctonary and statstcs attacks and fals to acheve the search prvacy. Searchable encrypton. Tradtonal searchable encrypton [2] [8], [10] has been wdely studed n the context of cryptography. Among those works, most are focused on effcency mprovements and securty defnton formalzatons. The frst constructon of searchable encrypton was proposed by Song et al. [3], n whch each word n the document s encrypted ndependently under a specal two-layered encrypton constructon. Goh [4] proposed to use Bloom flters to construct the ndexes for the data fles. To acheve more effcent search, Chang et al. [7] and Curtmola et al. [8] both proposed smlar ndex approaches, where a sngle encrypted hash table ndex s bult for the entre Owner Fuzzy keyword set Fles Index Encrypted Fles outsource outsource Cloud server Trapdoors of search request Fle retreval Users Fg. 1: Archtecture of the fuzzy keyword search fle collecton. In the ndex table, each entry conssts of the trapdoor of a keyword and an encrypted set of fle dentfers whose correspondng data fles contan the keyword. As a complementary approach, Boneh et al. [5] presented a publc-key based searchable encrypton scheme, wth an analogous scenaro to that of [3]. Note that all these exstng schemes support only exact keyword search, and thus are not sutable for Cloud Computng. Others. Prvate matchng [14], as another related noton, has been studed mostly n the context of secure multparty computaton to let dfferent partes compute some functon of ther own data collaboratvely wthout revealng ther data to the others. These functons could be ntersecton or approxmate prvate matchng of two sets, etc. The prvate nformaton retreval [15] s an often-used technque to retreve the matchng tems secretly, whch has been wdely appled n nformaton retreval from database and usually ncurs unexpectedly computaton complexty. III. PROBLEM FORMULATION A. System Model In ths paper, we consder a cloud data system consstng of data owner, data user and cloud server. Gven a collecton of n encrypted data fles C = (F 1, F 2,...,F N ) stored n the cloud server, a predefned set of dstnct keywords W = {w 1,w 2,..., w p }, the cloud server provdes the search servce for the authorzed users over the encrypted data C. We assume the authorzaton between the data owner and users s approprately done. An authorzed user types n a request to selectvely retreve data fles of hs/her nterest. The cloud server s responsble for mappng the searchng request to a set of data fles, where each fle s ndexed by a fle ID and lnked to a set of keywords. The fuzzy keyword search scheme returns the search results accordng to the followng rules: 1) f the user s searchng nput exactly matches the pre-set keyword, the server s expected to return the fles contanng the keyword 1 ; 2) f there exst typos and/or format nconsstences n the searchng nput, the server wll return the closest possble results based on pre-specfed smlarty semantcs (to be formally defned n secton III-D). An archtecture of fuzzy keyword search s shown n the Fg. 1. 1 Note that we do not dfferentate between fles and fle IDs n ths paper.
B. Threat Model We consder a sem-trusted server. Even though data fles are encrypted, the cloud server may try to derve other senstve nformaton from users search requests whle performng keyword-based search over C. Thus, the search should be conducted n a secure manner that allows data fles to be securely retreved whle revealng as lttle nformaton as possble to the cloud server. In ths paper, when desgnng fuzzy keyword search scheme, we wll follow the securty defnton deployed n the tradtonal searchable encrypton [8]. More specfcally, t s requred that nothng should be leaked from the remotely stored fles and ndex beyond the outcome and the pattern of search queres. C. Desgn Goals In ths paper, we address the problem of supportng effcent yet prvacy-preservng fuzzy keyword search servces over encrypted cloud data. Specfcally, we have the followng goals: ) to explore new mechansm for constructng storageeffcent fuzzy keyword sets; ) to desgn effcent and effectve fuzzy search scheme based on the constructed fuzzy keyword sets; ) to valdate the securty of the proposed scheme. D. Prelmnares Edt Dstance There are several methods to quanttatvely measure the strng smlarty. In ths paper, we resort to the well-studed edt dstance [16] for our purpose. The edt dstance ed(w 1,w 2 ) between two words w 1 and w 2 s the number of operatons requred to transform one of them nto the other. The three prmtve operatons are 1) Substtuton: changng one character to another n a word; 2) Deleton: deletng one character from a word; 3) Inserton: nsertng a sngle character nto a word. Gven a keyword w, welet S w,d denote the set of words w satsfyng ed(w, w ) d for a certan nteger d. Fuzzy Keyword Search Usng edt dstance, the defnton of fuzzy keyword search can be formulated as follows: Gven a collecton of n encrypted data fles C =(F 1,F 2,...,F N ) stored n the cloud server, a set of dstnct keywords W = {w 1,w 2,..., w p } wth predefned edt dstance d, and a searchng nput (w, k) wth edt dstance k (k d), the executon of fuzzy keyword search returns a set of fle IDs whose correspondng data fles possbly contan the word w, denoted as FID w :fw = w W, then return FID w ; otherwse, f w W, then return {FID w }, where ed(w, w ) k. Note that the above defnton s based on the assumpton that k d. In fact, d can be dfferent for dstnct keywords and the system wll return {FID w } satsfyng ed(w, w ) mn{k, d} f exact match fals. IV. THE STRAIGHTFORWARD APPROACH Before ntroducng our constructon of fuzzy keyword sets, we frst propose a straghtforward approach that acheves all the functons of fuzzy keyword search, whch ams at provdng an overvew of how fuzzy search scheme works over encrypted data. Assume Π=(Setup(1 λ ), Enc(sk, ), Dec(sk, )) sasymmetrc encrypton scheme, where sk s a secret key, Setup(1 λ ) s the setup algorthm wth securty parameter λ, Enc(sk, ) and Dec(sk, ) are the encrypton and decrypton algorthms, respectvely. Let T w denote a trapdoor of keyword w. Trapdoors of the keywords can be realzed by applyng a one-way functon f, whch s smlar as [2], [4], [8]: Gven a keyword w and a secret key sk, we can compute the trapdoor of w as T w = f(sk, w ). The scheme of the fuzzy keyword search goes as follows: We begn by constructng the fuzzy keyword set S w,d for each keyword w W (1 p) wth edt dstance d. The ntutve way to construct the fuzzy keyword set of w s to enumerate all possble words w that satsfy the smlarty crtera ed(w,w ) d, that s, all the words wth edt dstance d from w are lsted. For example, the followng s the lstng varants after a substtuton operaton on the frst character of keyword CASTLE: {AASTLE, BASTLE, DASTLE,, YASTLE, ZASTLE}. Based on the resulted fuzzy keyword sets, the fuzzy search over encrypted data s conducted as follows: 1) To buld an ndex for w, the data owner computes trapdoors T w = f(sk, w ) for each w S w,d wth a secret key sk shared between data owner and authorzed users. The data owner also encrypts FID w as Enc(sk, FID w w ).The ndex table {({T w } w S, Enc(sk, FID w,d w w ))} w W and encrypted data fles are outsourced to the cloud server for stroage; 2) To search wth w, the authorzed user computes the trapdoor T w of w and sends t to the server; 3) Upon recevng the search request T w, the server compares t wth the ndex table and returns all the possble encrypted fle dentfers {Enc(sk, FID w w )} accordng to the fuzzy keyword defnton n secton III-D. The user decrypts the returned results and retreves relevant fles of nterest. Ths straghtforward approach apparently provdes fuzzy keyword search over the encrypted fles whle achevng search prvacy usng the technque of secure trapdoors. However, ths approach has serous effcency dsadvantages. The smple enumeraton method n constructng fuzzy keyword sets would ntroduce large storage complextes, whch greatly affect the usablty. Recall that n the defnton of edt dstance, substtuton, deleton and nserton are three knds of operatons n computaton of edt dstance. The numbers of all smlar words of w satsfyng ed(w,w ) d for d = 1, 2 and 3 are approxmately 2k 26, 2k 2 26 2, and 4 3 k3 26 3, respectvely. For example, assume there are 10 4 keywords n the fle collecton wth average keyword length 10, d =2, and the output length of hash functon s 160 bts, then, the resulted storage cost for the ndex wll be 30GB. Therefore, t brngs forth the demand for fuzzy keyword sets wth smaller sze.
V. CONSTRUCTIONS OF EFFECTIVE FUZZY KEYWORD SEARCH IN CLOUD The key dea behnd our secure fuzzy keyword search s two-fold: 1) buldng up fuzzy keyword sets that ncorporate not only the exact keywords but also the ones dfferng slghtly due to mnor typos, format nconsstences, etc.; 2) desgnng an effcent and secure searchng approach for fle retreval based on the resulted fuzzy keyword sets. A. Advanced Technque for Constructng Fuzzy Keyword Sets To provde more practcal and effectve fuzzy keyword search constructons wth regard to both storage and search effcency, we now propose an advanced technque to mprove the straghtforward approach for constructng the fuzzy keyword set. Wthout loss of generalty, we wll focus on the case of edt dstance d = 1 to elaborate the proposed advanced technque. For larger values of d, the reasonng s smlar. Note that the technque s carefully desgned n such a way that whle suppressng the fuzzy keyword set, t wll not affect the search correctness. Wldcard-based Fuzzy Set Constructon In the above straghtforward approach, all the varants of the keywords have to be lsted even f an operaton s performed at the same poston. Based on the above observaton, we proposed to use a wldcard to denote edt operatons at the same poston. The wldcard-based fuzzy set of w wth edt dstance d s denoted as S w,d={s w,0,s w,1,, S w }, where,d S w,τ denotes the set of words w wth τ wldcards. Note each wldcard represents an edt operaton on w. For example, for the keyword CASTLE wth the pre-set edt dstance 1, ts wldcard-based fuzzy keyword set can be constructed as S CASTLE,1 = {CASTLE, *CASTLE, *ASTLE, C*ASTLE, C*STLE,, CASTL*E, CASTL*, CASTLE*}. The total number of varants on CASTLE constructed n ths way s only 13 + 1, nstead of 13 26 + 1 as n the above exhaustve enumeraton approach when the edt dstance s set to be 1. Generally, for a gven keyword w wth length l, the sze of S w,1 wll be only 2l +1+1, as compared to (2l +1) 26 + 1 obtaned n the straghtforward approach. The larger the pre-set edt dstance, the more storage overhead can be reduced: wth the same settng of the example n the straghtforward approach, the proposed technque can help reduce the storage of the ndex from 30GB to approxmately 40MB. In case the edt dstance s set to be 2 and 3, the sze of S w,2 and S w,3 wll be Cl+1 1 +C1 l C1 l +2C2 l+2 and Cl 1 + C3 l +2C2 l +2C2 l C1 l. In other words, the number s only O(l d ) for the keyword wth length l and edt dstance d. B. The Effcent Fuzzy Keyword Search Scheme Based on the storage-effcent fuzzy keyword sets, we show how to construct an effcent and effectve fuzzy keyword search scheme. The scheme of the fuzzy keyword search goes as follows: 1) To buld an ndex for w wth edt dstance d, the data owner frst constructs a fuzzy keyword set S w,d usng the wldcard based technque. Then he computes trapdoor set {T w } for each w S w,d wth a secret key sk shared between data owner and authorzed users. The data owner encrypts FID w as Enc(sk, FID w w ). The ndex table {({T w } w S, Enc(sk, FID w,d w w ))} w W and encrypted data fles are outsourced to the cloud server for storage; 2) To search wth (w, k), the authorzed user computes the trapdoor set {T w } w S w,k, where S w,k s also derved from the wldcard-based fuzzy set constructon. He then sends {T w } w S w,k to the server; 3) Upon recevng the search request {T w } w S w,k, the server compares them wth the ndex table and returns all the possble encrypted fle dentfers {Enc(sk, FID w w )} accordng to the fuzzy keyword defnton n secton III-D. The user decrypts the returned results and retreves relevant fles of nterest. In ths constructon, the technque of constructng search request for w s the same as the constructon of ndex for a keyword. As a result, the search request s a trapdoor set based on S w,k, nstead of a sngle trapdoor as n the straghtforward approach. In ths way, the searchng result correctness can be ensured. VI. SECURITY ANALYSIS In ths secton, we analyze the correctness and securty of the proposed fuzzy keyword search scheme. At frst, we show the correctness of the schemes n terms of two aspects, that s, completeness and soundness. Theorem 1: The wldcard-based scheme satsfes both completeness and soundness. Specfcally, upon recevng the request of w, all of the keywords {w } wll be returned f and only f ed(w, w ) k. The proof of ths Theorem can be reduced to the followng Lemma: Lemma 1: The ntersecton of the fuzzy sets S w,d and S w,k for w and w s not empty f and only f ed(w, w ) k. Proof: Frst, we show that S w,d S w,k s not empty when ed(w, w ) k. To prove ths, t s enough to fnd an element n S w,d S w,k.letw = a 1 a 2 a s and w = b 1 b 2 b t, where all these a and b j are sngle characters. After ed(w, w ) edt operatons, w can be changed to w accordng to the defnton of edt dstance. Let w = a 1a 2 a m, where a = a j or a = f any operaton s performed at ths poston. Snce the edt operaton s nverted, from w, the same postons contanng wldcard at w wll be performed. Because ed(w, w ) k, w s ncluded n both S w,d and S w,k, we get the result that S w,d S w,k s not empty. Next, we prove that S w,d S w,k s empty f ed(w, w ) >k. The proof s gven by reducton. Assume there exsts an w belongng to S w,d S w,k. We wll show that ed(w, w ) k,
whch reaches a contradcton. Frst, from the assumpton that w S w,d S w,k, we can get the number of wldcard n w, whch s denoted by n, s not greater than k. Next,we prove that ed(w, w ) n. We wll prove the nequalty wth nducton method. Frst, we prove t holds when n =1. There are nne cases should be consdered: If w s derved from the operaton of deleton from both w and w, then, ed(w,w) 1 because the other characters are the same except the character at the same poston. If the operaton s deleton from w and substtuton from w, wehaveed(w,w) 1 because they wll be the same after at most one substtuton from w. The other cases can be analyzed n a smlar way and are omtted. Now, assumng that t holds when n = γ, we need to prove t also holds when n = γ +1.Ifŵ = a 1a 2 a n S w,d S w,k, where a = a j or a =. For a wldcard at poston t, cancel the underlyng operatons and revert t to the orgnal characters n w and w at ths poston. Assume two new elements w and w are derved from them respectvely. Then perform one operaton at poston t of w to make the character of w at ths poston be the same wth w, whch s denoted by w. After ths operaton, w wll be changed to w, whch has only k wldcards. Therefore, we have ed(w,w) γ from the assumpton. We know that ed(w,w) γ and ed(w,w )=1, based on whch we know that ed(w,w) γ +1. Thus, we can get ed(w, w ) n. It renders the contradcton ed(w, w ) k because n k. Therefore, S w,d S w,k s empty f ed(w, w ) >k. Theorem 2: The fuzzy keyword search scheme s secure regardng the search prvacy. Proof: In the wldcard-based scheme, the computaton of ndex and request of the same keyword s dentcal. Therefore, we only need to prove the ndex prvacy by usng reducton. Suppose the searchable encrypton scheme fals to acheve the ndex prvacy aganst the ndstngushablty under the chosen keyword attack, whch means there exsts an algorthm A who can get the underlyng nformaton of keyword from the ndex. Then, we buld an algorthm A that utlzes A to determne whether some functon f ( ) s a pseudo-random functon such that f ( ) s equal to f(sk, ) or a random functon. A has an access to an oracle O f ( ) that takes as nput secret value x and returns f (x). Upon recevng any request of the ndex computaton, A answers t wth request to the oracle O f ( ). After makng these trapdoor queres, the adversary outputs two challenge keywords w0 and w1 wth the same length and edt dstance, whch can be relaxed by addng some redundant trapdoors. A pcks one random b {0, 1} and sends wb to the challenger. Then, A s gven a challenge value y, whch s ether computed from a pseudo-random functon f(sk, ) or a random functon. A sends y back to A, who answers wth b {0, 1}. Suppose A guesses b correctly wth nonneglgble probablty, whch ndcates that the value s not randomly computed. Then, A makes a decson that f ( ) s a pseudo-random functon. As a result, based on the assumpton of the ndstngushablty of the pseudo-random functon from some real random functon, A at most guesses b correctly wth approxmate probablty 1/2. Thus, the search prvacy s obtaned. VII. CONCLUSION In ths paper, for the frst tme we formalze and solve the problem of supportng effcent yet prvacy-preservng fuzzy search for achevng effectve utlzaton of remotely stored encrypted data n Cloud Computng. We desgn an advanced technque (.e., wldcard-based technque) to construct the storage-effcent fuzzy keyword sets by explotng a sgnfcant observaton on the smlarty metrc of edt dstance. Based on the constructed fuzzy keyword sets, we further propose an effcent fuzzy keyword search scheme. Through rgorous securty analyss, we show that our proposed soluton s secure and prvacy-preservng, whle correctly realzng the goal of fuzzy keyword search. As our ongong work, we wll contnue to research on securty mechansms that support: 1) search semantcs that takes nto consderaton conjuncton of keywords, sequence of keywords, and even the complex natural language semantcs to produce hghly relevant search results; and 2) search rankng that sorts the searchng results accordng to the relevance crtera. REFERENCES [1] Google, Brtney spears spellng correcton, Referenced onlne at http: //www.google.com/jobs/brtney.html, June 2009. [2] M. Bellare, A. Boldyreva, and A. O Nell, Determnstc and effcently searchable encrypton, n Proceedngs of Crypto 2007, volume 4622 of LNCS. Sprnger-Verlag, 2007. [3] D. Song, D. Wagner, and A. Perrg, Practcal technques for searches on encrypted data, n Proc. of IEEE Symposum on Securty and Prvacy 00, 2000. [4] E.-J. Goh, Secure ndexes, Cryptology eprnt Archve, Report 2003/216, 2003, http://eprnt.acr.org/. [5] D. Boneh, G. D. Crescenzo, R. Ostrovsky, and G. Persano, Publc key encrypton wth keyword search, n Proc. of EUROCRYP 04, 2004. [6] B. Waters, D. Balfanz, G. Durfee, and D. Smetters, Buldng an encrypted and searchable audt log, n Proc. of 11th Annual Network and Dstrbuted System, 2004. [7] Y.-C. Chang and M. Mtzenmacher, Prvacy preservng keyword searches on remote encrypted data, n Proc. of ACNS 05, 2005. [8] R. Curtmola, J. A. Garay, S. Kamara, and R. Ostrovsky, Searchable symmetrc encrypton: mproved defntons and effcent constructons, n Proc. of ACM CCS 06, 2006. [9] D. Boneh and B. Waters, Conjunctve, subset, and range queres on encrypted data, n Proc. of TCC 07, 2007, pp. 535 554. [10] F. Bao, R. Deng, X. Dng, and Y. Yang, Prvate query on encrypted data n mult-user settngs, n Proc. of ISPEC 08, 2008. [11] C. L, J. Lu, and Y. Lu, Effcent mergng and flterng algorthms for approxmate strng searches, n Proc. of ICDE 08, 2008. [12] A. Behm, S. J, C. L,, and J. Lu, Space-constraned gram-based ndexng for effcent approxmate strng search, n Proc. of ICDE 09. [13] S. J, G. L, C. L, and J. Feng, Effcent nteractve fuzzy keyword search, n Proc. of WWW 09, 2009. [14] J. Fegenbaum, Y. Isha, T. Malkn, K. Nssm, M. Strauss, and R. N. Wrght, Secure multparty computaton of approxmatons, n Proc. of ICALP 01. [15] R. Ostrovsky, Software protecton and smulatons on oblvous rams, Ph.D dssertaton, Massachusetts Insttute of Technology, 1992. [16] V. Levenshten, Bnary codes capable of correctng spurous nsertons and deletons of ones, Problems of Informaton Transmsson, vol. 1, no. 1, pp. 8 17, 1965.