<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JIS</journal-id><journal-title-group><journal-title>Journal of Information Security</journal-title></journal-title-group><issn pub-type="epub">2153-1234</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jis.2017.83017</article-id><article-id pub-id-type="publisher-id">JIS-77874</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Optimized Homomorphic Scheme on Map Reduce for Data Privacy Preserving
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Konan</surname><given-names>Martin</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Wenyong</surname><given-names>Wang</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Brighter</surname><given-names>Agyemang</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff2"><addr-line>Department of Computer Science and Engineering, University of Electronic Science and Technology of China (UESTC), Chengdu, China</addr-line></aff><aff id="aff1"><addr-line>Department of Computer Science and Technology, University of Electronic Science and Technology of China (UESTC), Chengdu, China</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>martinkonan@uestc.edu.cn(KM)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>06</day><month>07</month><year>2017</year></pub-date><volume>08</volume><issue>03</issue><fpage>257</fpage><lpage>273</lpage><history><date date-type="received"><day>June</day>	<month>29,</month>	<year>2017</year></date><date date-type="rev-recd"><day>Accepted:</day>	<month>July</month>	<year>22,</year>	</date><date date-type="accepted"><day>July</day>	<month>25,</month>	<year>2017</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  Security insurance is a paramount cloud services issue in the most recent decade. Therefore, Mapreduce which is a programming framework for preparing and creating huge data collections should be optimized and securely implemented. But, conventional operations on ciphertexts were not relevant. So there is a foremost need to enable particular sorts of calculations to be done on encrypted data and additionally optimize data processing at the Map stage. Thereby schemes like (DGHV) and (Gen 10) are presented to address data privacy issue. However private encryption key (DGHV) or key’s parameters (Gen 10) are sent to untrusted cloud server which compromise the information security insurance. Therefore, in this paper we propose an optimized homomorphic scheme (Op_FHE_SHCR) which speed up ciphertext (R
  <sub>c</sub>) retrieval and addresses metadata dynamics and authentication through our secure Anonymiser agent. Additionally for the efficiency of our proposed scheme regarding computation cost and security investigation, we utilize a scalar homomorphic approach instead of applying a blinding probabilistic and polynomial-time calculation which is computationally expensive. Doing as such, we apply an optimized ternary search tries (TST) algorithm in our metadata repository which utilizes Merkle hash tree structure to manage metadata authentication and dynamics.
 
</p></abstract><kwd-group><kwd>Privacy</kwd><kwd> Mapreduce</kwd><kwd> Homomorphic Encryption</kwd><kwd> Ciphertexts Retrieval</kwd><kwd> Optimization</kwd><kwd> Authentication</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>The rapid development in outsourcing data processing and storage by distributed computing framework, and in addition to complex and huge data collection mining have extended the availability of useful data to various organizations of modern society in the exponential way. But, data privacy insurance is a principal issue in huge dataset management on cloud environment, as the dataset proprietor has not any more physical control of his dataset as per the Cloud Security Alliance (CSA) [<xref ref-type="bibr" rid="scirp.77874-ref1">1</xref>] . For instance, the remote body sensed data monitoring system contains delicate data like patient identity and address that can lead to harmful consequences in case of disclosure. Therefore, Mapreduce which is a computing framework that process and create substantial distributed information must be strongly secure for data privacy preserving in cloud. Security assurance issues identified with MapReduce and cloud have started to draw serious consideration. Puttaswamy et al. [<xref ref-type="bibr" rid="scirp.77874-ref2">2</xref>] presented a set of tools called Silverline that can isolate all practically encryptable information from other cloud application information to guarantee data protection. Likewise, Zhang et al. [<xref ref-type="bibr" rid="scirp.77874-ref3">3</xref>] proposed a privacy leakage upper-bound limitation based solution to deal with data privacy preserving issue by just encrypting part of available data on cloud. Roy et al. [<xref ref-type="bibr" rid="scirp.77874-ref4">4</xref>] proposed a framework named Airavat which constrains obligatory access control via differential privacy technic. Blass et al. [<xref ref-type="bibr" rid="scirp.77874-ref5">5</xref>] proposed a data privacy model named PRISM for the Map Reduce structure on cloud to perform parallel word search on encrypted data collections. Ko et al. [<xref ref-type="bibr" rid="scirp.77874-ref6">6</xref>] proposed the HybrEx Map Reduce model that processes very sensitive and private information by a private cloud, while others data can be securely processed in the public cloud. Zhang et al. [<xref ref-type="bibr" rid="scirp.77874-ref7">7</xref>] proposed a system called Sedic which partitions Map Reduce computing tasks in terms of the security labels of data. Thereby, they work on and then assign the computation without sensitive data to a public cloud. However, conventional data encryptions that are considered as the essential technique to address security issue in cloud can’t be straightforwardly implemented in Mapreduce framework. Therefore a new cryptosystem called homomorphic encryption which could process encrypted data is first introduced in [<xref ref-type="bibr" rid="scirp.77874-ref8">8</xref>] to find an effective solution to this challenge. This fully homomorphic encryption (FHE) can compute arbitrary function on encrypted data without using secret key. However, FHE rose two major challenges regarding its implementation and computation cost [<xref ref-type="bibr" rid="scirp.77874-ref9">9</xref>] [<xref ref-type="bibr" rid="scirp.77874-ref10">10</xref>] . First, the number of available FHE schemes in the literature is very limited (few). Second, the efficiency of fully homomorphic encryption is the biggest challenge to address. Therefore, the efficiency of FHE has been the key problem since its invention, which hinders its myriad of potential applications such as private cloud computing in practical. Specially, the size of key in FHE scheme is big. Thereby, a FHE scheme based on Learning with Error (LWE) doesn’t only include public key and private key but also includes some evaluation keys. For an L-Leveled FHE scheme, there are L evaluation keys. Each evaluation key is a <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x3.png" xlink:type="simple"/></inline-formula> matrix. A public key is at least <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x4.png" xlink:type="simple"/></inline-formula> matrix. Clearly, these matrixes are high dimension, which not only need a lot of space to store but also affect the efficiency of computation. In 2009, an updated version done by researcher [<xref ref-type="bibr" rid="scirp.77874-ref11">11</xref>] is by all accounts an effective</p><p>alternative to address data privacy assurance issue which is considered by information security community as a paramount topic. Thereby, schemes like DGHV [<xref ref-type="bibr" rid="scirp.77874-ref12">12</xref>] and Gen 10 [<xref ref-type="bibr" rid="scirp.77874-ref13">13</xref>] are introduced to securely compute data through homomorphic approaches on Mapreduce environment. Unfortunately those mentioned solutions experience some basics shortcomings as far as security concerns [<xref ref-type="bibr" rid="scirp.77874-ref12">12</xref>] [<xref ref-type="bibr" rid="scirp.77874-ref13">13</xref>] . The DGHV scheme [<xref ref-type="bibr" rid="scirp.77874-ref12">12</xref>] uses many of the tools from Gentry’s construction. But this model does not require ideal lattices. Moreover, they prove that the somewhat homomorphic component from Gentry’s ideal lattice-based scheme [<xref ref-type="bibr" rid="scirp.77874-ref13">13</xref>] can be replaced with a very simple somewhat homomorphic scheme that uses integers. Therefore their model is conceptually simpler, but the private key should be transferred to cloud server, which is very insecure. Gentry proposed a homomorphic encryption Gen 10 scheme [<xref ref-type="bibr" rid="scirp.77874-ref13">13</xref>] , applicable in cloud environment and conceptually simple. In this scheme the encryption function is homomorphic with respect to addition, subtraction and multiplication. The relationship between c and m is that m is the residue of c with respect to modulus p, that is<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x5.png" xlink:type="simple"/></inline-formula>. To retrieve the ciphertext, the Gen 10 scheme doesn’t present the private key as [<xref ref-type="bibr" rid="scirp.77874-ref12">12</xref>] . But a random private key parameter q instead<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x6.png" xlink:type="simple"/></inline-formula>, which seems quite more secure. Yet the parameter q is sent to the server, by using the formula<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x7.png" xlink:type="simple"/></inline-formula>, the plaintext m may leaks out. So this scheme suffers from security weakness too. The goal of this paper is to construct an efficient FHE scheme with better key size. Thereby in this work, we introduce our solution by presenting an optimized scalar homomorphic scheme (Op_FHE_SHCR) that first addresses the above mentioned data privacy protection shortcomings through efficient operations over ciphertexts without compromising the cryptosystem like the existing models [<xref ref-type="bibr" rid="scirp.77874-ref12">12</xref>] and [<xref ref-type="bibr" rid="scirp.77874-ref13">13</xref>] . Furthermore, we demonstrate how fast our proposed solution retrieves ciphertexts at Reduce stage in an optimized and secure way. At that point of this work, we present the programming and cryptographic primitives in Section 2. A short discussion on related work is presented in Section 3. The Section 4 will give details of the concrete execution and security analysis of our proposed solution. At long last we close this work in Section 5.</p></sec><sec id="s2"><title>2. Preliminaries</title><sec id="s2_1"><title>2.1. Map Reduce</title><p>Map Reduce in [<xref ref-type="bibr" rid="scirp.77874-ref14">14</xref>] is defined as a computation framework to process and generate large datasets. In this programming environment, users specify a Map function that processes a key/value pair to generate a set of intermediate key/ value pairs, and a Reduce function that merges all intermediate values related with the identical intermediate key. We have such a variety of problems solving that are expressible by Mapreduce, like the problem of counting the number of occurrences of each term in a large dataset. The Mapreduce architecture can be viewed as below (<xref ref-type="fig" rid="fig1">Figure 1</xref>).</p></sec><sec id="s2_2"><title>2.2. Homomorphic Encryption Scheme</title><p>&#168; Homomorphism</p><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> Mapreduce execution overview in [<xref ref-type="bibr" rid="scirp.77874-ref14">14</xref>] </title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/8-7800461x8.png"/></fig><p>A homomorphism between two algebras, A and B, over a field (or ring) K, is a map F: A → B such that for all k in K and x, y in A;</p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x9.png" xlink:type="simple"/></inline-formula></p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x10.png" xlink:type="simple"/></inline-formula></p><p>・ <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x11.png" xlink:type="simple"/></inline-formula></p><p>If F is bijective then F is said to be an isomorphism between A and B.</p><p>&#168; Homomorphic Encryption</p><p>As an ever increasing number of data is outsourced into distributed storage, frequently unencrypted, considerable trust is required in the cloud providers. The CSA records information breach as the top issue to cloud security [<xref ref-type="bibr" rid="scirp.77874-ref1">1</xref>] . Encrypting the data with conventional encryption addresses the issue. But in this case, the end user can’t work on the encrypted data and must download them and performs the decryption locally. Therefore, there is a need to allow completely the public cloud server to perform calculations in the interest of the end users and return just the encrypted result. Thereby, the development of homomorphic encryption is a very impressive advance, incredibly amplifying the extent of computation which can be applied to process encrypted data homomorphically. Thus, the enthusiasm in the research community is justified by the various applications in the real world (like medical applications, consumer privacy in advertising, data mining, financial privacy) of this theme.</p><p>Homomorphic encryptions allow complex mathematical operations to be performed on encrypted data without compromising the encryption. This homomorphic encryption is expected to play an important part in cloud computing, allowing companies to process and store encrypted data in a public cloud and take advantage of the cloud provider’s analytic services. It is first designed in 1978 by Rivest et al. [<xref ref-type="bibr" rid="scirp.77874-ref8">8</xref>] and upgraded by the researcher’s community. Thereby, Craig Gentry [<xref ref-type="bibr" rid="scirp.77874-ref11">11</xref>] hypothetically shows the possibility of implementing this kind of encryption scheme [<xref ref-type="bibr" rid="scirp.77874-ref13">13</xref>] . In the same way, researcher Jaydip Sen represents homomorphic encryption clearly as a quadruple in [<xref ref-type="bibr" rid="scirp.77874-ref15">15</xref>] . However, Homomorphic ciphers typically do not, in and of themselves, do not provide verifiable computing and some variants are not semantically secure. Furthermore, the poor performance is the big disadvantage of this scheme. Ciphertexts are much larger than the plaintexts, so communication requirements typically go up. The computations on these large ciphertexts are typically slower than if you just performed the computation on the plaintext itself. Because of this, in the outsourcing computation model, we typically see a requirement that encrypting inputs and decrypting outputs should be faster than performing the computation itself. Therefore there is a high need to optimize the data processing in order to reduce efficiently the computation and communication costs.</p></sec></sec><sec id="s3"><title>3. Related Work</title><p>Security insurance issues on Mapreduce framework have started to draw escalated consideration. In this manner data confidentiality protection issues have been widely examined and productive progress have been accomplished by the security community practitioners. We quickly audit few existing models about security protection on Mapreduce framework.</p><sec id="s3_1"><title>3.1. Xu Chen and Qiming Huang Scheme in [<xref ref-type="bibr" rid="scirp.77874-ref16">16</xref>]</title><p>The authors in [<xref ref-type="bibr" rid="scirp.77874-ref16">16</xref>] presents a data privacy insurance scheme on Mapreduce utilizing homomorphic encryption. It is a modified Mapreduce model, to guarantee data secrecy, and additionally processing the data in encrypted form. They pick two major prime numbers A, B, and make P = A * B, and afterward generate a random positive integer A, which is the private key, and B ought to likewise be confidential.</p><p>Encryption:</p><disp-formula id="scirp.77874-formula211"><label>(1)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/8-7800461x12.png"  xlink:type="simple"/></disp-formula><p>Decryption:</p><disp-formula id="scirp.77874-formula212"><label>(2)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/8-7800461x13.png"  xlink:type="simple"/></disp-formula><p>But, to apply homomorphic encryption in this scheme, authors do few modifications on ciphertexts to allow the Reduce function to find the identical keys and afterward group them like following:</p><p>For a ciphertext<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x14.png" xlink:type="simple"/></inline-formula>, authors obtain<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x15.png" xlink:type="simple"/></inline-formula>, with R as random positive number.</p><p>Then, the authors compare (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x16.png" xlink:type="simple"/></inline-formula>), rather than C to retrieve similar keys. Thereby, it’s obvious that their proposed solution needs an additional computation (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x17.png" xlink:type="simple"/></inline-formula>) at reduce phase which is costly in term of computation in order to get a probabilistic homomorphic cryptosystem. Review that this homomorphic cryptosystem is exceptionally expensive, therefore their model is inefficient.</p></sec><sec id="s3_2"><title>3.2. FHE_SHCR Scheme in [<xref ref-type="bibr" rid="scirp.77874-ref17">17</xref>]</title><p>As discussed in [<xref ref-type="bibr" rid="scirp.77874-ref17">17</xref>] the related work [<xref ref-type="bibr" rid="scirp.77874-ref16">16</xref>] requires additional computation at the reduce stage, the DGHV [<xref ref-type="bibr" rid="scirp.77874-ref12">12</xref>] and Gen 10 [<xref ref-type="bibr" rid="scirp.77874-ref13">13</xref>] schemes send respectively their private key and sensitive security parameters to unreliable public cloud server (compromising the cryptosystem). Additionally, the above mentioned models don’t address the security and efficiency ciphertext retrieval issues. Therefore, authors in [<xref ref-type="bibr" rid="scirp.77874-ref17">17</xref>] present their contribution FHE_SHCR, which is based on schemes [<xref ref-type="bibr" rid="scirp.77874-ref13">13</xref>] [<xref ref-type="bibr" rid="scirp.77874-ref18">18</xref>] and [<xref ref-type="bibr" rid="scirp.77874-ref19">19</xref>] to address the privacy shortcomings of models [<xref ref-type="bibr" rid="scirp.77874-ref12">12</xref>] [<xref ref-type="bibr" rid="scirp.77874-ref13">13</xref>] and [<xref ref-type="bibr" rid="scirp.77874-ref16">16</xref>] . Subsequently, the main objective of this model is to securely retrieve ciphertexts at reduce stage and enhance the retrieval algorithm accuracy without getting any information about the content of intermediate searchable ciphertext to fix the security shortcomings in [<xref ref-type="bibr" rid="scirp.77874-ref12">12</xref>] and [<xref ref-type="bibr" rid="scirp.77874-ref13">13</xref>] . The FHE_SCHR scheme is an efficient candidate for homomorphic encryption to preserve data privacy in cloud by a strong hybrid encryption [<xref ref-type="bibr" rid="scirp.77874-ref17">17</xref>] .</p><p>Our contribution:</p><p>Note that, the improvement on this paper is mainly on the optimization of the input file decomposition (map phase) and ciphertext retrieval algorithm (reduce phase) by addressing the metadata dynamics and authentication path through a logical Merkle tree repository structure (optimized space-time cost).</p></sec></sec><sec id="s4"><title>4. The Optimized FHE_SHCR (Op_FHE_SHCR)</title><p>As clearly proved by the research community; the homomorphic encryption can carry some operations over encrypted data effectively, but it is very expensive scheme in terms of computation and communication costs [<xref ref-type="bibr" rid="scirp.77874-ref8">8</xref>] [<xref ref-type="bibr" rid="scirp.77874-ref11">11</xref>] [<xref ref-type="bibr" rid="scirp.77874-ref13">13</xref>] . Therefore, we introduce a new Logical agent: Anonymiser (with its three components: Decomposition Table, Query Processing, and the Metadata Repository) at the user side under the control of the master program. Doing so, the user program can efficiently send to the master program the optimal decomposition (Splitting: Key/value) of a given input files before encrypting the data (Shuffle). Thereby, we use our optimized ternary search tries (TST) [<xref ref-type="bibr" rid="scirp.77874-ref20">20</xref>] in a logical Merkle tree structure to optimally address the metadata authentication and dynamics through the Metadata repository component. The architecture overview of the proposed solution can be depicted by <xref ref-type="fig" rid="fig2">Figure 2</xref>.</p><p>Thus, our optimized algorithm (Op_FHE_SHCR) through successful experiments (see section below) performs 3 times faster the original FHE_SHCR scheme [<xref ref-type="bibr" rid="scirp.77874-ref17">17</xref>] and effectively addresses the metadata dynamics and authentication issues through a secure and efficient metadata repository (Optimized ternary search tries to address the time space constraints). Furthermore, we speed up the ciphertext retrieval algorithm (accuracy and efficiency) at the reduce phase by using the optimal Lagrange multiplier (m<sup>*</sup>) as the optimum number <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x18.png" xlink:type="simple"/></inline-formula> (See section below). Note that, the implementation of this Anonymiser as our Trusted Front End Database Management (TFE) is to enhance the security and speed up the data processing of our proposed solution and represents the key point of this extended work.</p><sec id="s4_1"><title>4.1. Optimized Metadata Authentication and Dynamics</title><p>As mentioned in the previous section, our proposed scheme further addresses metadata authentication and dynamics issue for strong data privacy protection. Therefore, we introduce a logical agent: Anonymiser in the master control pro-</p><fig id="fig2"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> Architecture Overview of optimized FHE_SHCR</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/8-7800461x19.png"/></fig><p>gram. The Anonymiser has three pieces namely: Decomposition table, Query Processing, and Metadata Repository. Their functions can be briefly described as following:</p><p>&#168; Decomposition table: It is responsible for defining the exact set of attributes (A ) for particular input files in the optimal number.</p><p>&#168; The Query Processing: It filters the candidate map workers queries request generated by the master program to produce anonymous query-based request on data location for processing.</p><p>&#168; The Metadata Repository: It keeps data decomposition done by the decomposition table and forwards them to the Query Processing unit to generate new anonymous query request. For the efficiency of the proposed scheme, we use Merkle hash tree structure to deal with metadata authentication and dynamics [<xref ref-type="bibr" rid="scirp.77874-ref21">21</xref>] . Thereby the master program assigns a particular input files decomposition table (A) to map workers for processing logically as below:</p><p>All input files are transformed into a set of symbols (A) as<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x20.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x21.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x22.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x20.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x21.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x22.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x23.png" xlink:type="simple"/></inline-formula>as depicted by the above <xref ref-type="fig" rid="fig3">Figure 3</xref>. The data matching and authentication starts from root node in a top-down manner and its dynamics process can be described as follows.</p><p>File uploading: Suppose that a data owner wants to process a file F identified by <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x24.png" xlink:type="simple"/></inline-formula> (leaf node) with public cloud server whose attributes satisfy an access policy <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x24.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x25.png" xlink:type="simple"/></inline-formula> defined by the private cloud server. Assume that the</p><fig id="fig3"  position="float"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> Efficient Symbol-based Tree Retrieval</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/8-7800461x26.png"/></fig><p>file F consists of a keyword set W. Then, the owner randomly chooses a symmetric key <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula> from the key space and encrypts the file F with <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x28.png" xlink:type="simple"/></inline-formula> to obtain the ciphertext<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x29.png" xlink:type="simple"/></inline-formula>. Subsequently, data owner runs the algorithm Encrypt(AP,<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x30.png" xlink:type="simple"/></inline-formula>) to obtain the ciphertext <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x31.png" xlink:type="simple"/></inline-formula> which is the encryption of the symmetric key <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x32.png" xlink:type="simple"/></inline-formula> with respect to the access policy AP. The owner uploads <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x33.png" xlink:type="simple"/></inline-formula> to the public cloud. Furthermore, to generate the trapdoors for keywords in W, the owner also sends (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x34.png" xlink:type="simple"/></inline-formula>, AP, W) to the private cloud. Upon receiving (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x35.png" xlink:type="simple"/></inline-formula>, AP, W), the private cloud transforms the access policy AP into a set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x36.png" xlink:type="simple"/></inline-formula> of privileges. Then, for each <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x37.png" xlink:type="simple"/></inline-formula> and<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x38.png" xlink:type="simple"/></inline-formula>, it computes<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x38.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x39.png" xlink:type="simple"/></inline-formula>, where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x38.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x39.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x40.png" xlink:type="simple"/></inline-formula> is the symmetric key for each<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x38.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x39.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x40.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x41.png" xlink:type="simple"/></inline-formula>. Finally, the private cloud sends <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x32.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x33.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x34.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x35.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x36.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x37.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x38.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x39.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x40.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x41.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x42.png" xlink:type="simple"/></inline-formula> to the public cloud as well.</p><p>To enhance the searching efficiency, a symbol-based tree is utilized to build an index stored in private cloud (metadata repository). More precisely, divide the output of one-way function f into l parts and predefine a set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x43.png" xlink:type="simple"/></inline-formula> consisting of all the possible values in each part (an example of such tree can be shown in <xref ref-type="fig" rid="fig3">Figure 3</xref>). Initially, the index based on symbol-based tree has only a root node (denoted as 𝑛𝑜𝑑𝑒 0) which consists of ∅ (an empty set). The search process in a symbol based tree is a depth first search. The tree can be updated and searched as follows.</p><p>Update: Assume the data owner wants to outsource a file F identified by <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x44.png" xlink:type="simple"/></inline-formula> with keyword set W, the public cloud will receive <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x44.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x45.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x44.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x45.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x46.png" xlink:type="simple"/></inline-formula> where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x44.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x45.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x46.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x47.png" xlink:type="simple"/></inline-formula> are the corresponding privileges and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x44.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x45.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x46.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x47.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x48.png" xlink:type="simple"/></inline-formula> are keywords in W from the data owner and private cloud respectively. Then, for each <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x44.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x45.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x46.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x47.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x48.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x49.png" xlink:type="simple"/></inline-formula> the public cloud will add it into the trie index as the following steps.</p><p>i) Step 1: Public cloud parses <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x50.png" xlink:type="simple"/></inline-formula> as a sequence of symbols<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x50.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x51.png" xlink:type="simple"/></inline-formula>.</p><p>ii) Step 2: Public cloud starts with the root node of tree: it scans all the children of the root node and checks whether there exists some child node 1 such that the symbol contained in node 1 equals<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x52.png" xlink:type="simple"/></inline-formula>. This action is performed in a top-down manner. In general, assuming that the subsequence of symbols <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x53.png" xlink:type="simple"/></inline-formula> has been matched and the current node is<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x54.png" xlink:type="simple"/></inline-formula>, the public cloud will examine all the children of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x54.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x55.png" xlink:type="simple"/></inline-formula> and attempt to find out some node, for example <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x54.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x55.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x56.png" xlink:type="simple"/></inline-formula> such that the symbol contained in <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x54.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x55.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x56.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x57.png" xlink:type="simple"/></inline-formula> equals<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x54.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x55.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x56.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x57.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x58.png" xlink:type="simple"/></inline-formula>. If such node exists, the current node is set as <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x54.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x55.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x56.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x57.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x58.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x59.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x52.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x53.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x54.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x55.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x56.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x57.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x58.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x59.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x60.png" xlink:type="simple"/></inline-formula> is the next matching object, otherwise jump to step 3.</p><p>iii) Step 3: Assume that current node <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x61.png" xlink:type="simple"/></inline-formula> has no children to match the symbol<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x61.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x62.png" xlink:type="simple"/></inline-formula>, the public cloud will build nodes <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x61.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x62.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x63.png" xlink:type="simple"/></inline-formula> for all the rest of the symbols (i.e.<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x61.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x62.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x63.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x64.png" xlink:type="simple"/></inline-formula>) respectively and link them as a node list appended with<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x61.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x62.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x63.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x64.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x65.png" xlink:type="simple"/></inline-formula>. Finally, add another node identified by <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x61.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x62.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x63.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x64.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x65.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x66.png" xlink:type="simple"/></inline-formula> as the leaf node appended with<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x61.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x62.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x63.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x64.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x65.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x66.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x67.png" xlink:type="simple"/></inline-formula>.</p><p>Search: Assuming that the legitimate user wants to search outsourced files with keyword w and privileges<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x68.png" xlink:type="simple"/></inline-formula>, the public cloud will receive <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x68.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x69.png" xlink:type="simple"/></inline-formula> from the private cloud. For each <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x68.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x69.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x70.png" xlink:type="simple"/></inline-formula> the public cloud will perform actions similar to the three steps described above. One exception is that if matching fails (i.e. the current node has no children which can match the symbol), the search for <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x68.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x69.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x70.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x71.png" xlink:type="simple"/></inline-formula> is aborted. Otherwise, get the corresponding<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x68.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x69.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x70.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x71.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x72.png" xlink:type="simple"/></inline-formula>) through the identifier <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x68.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x69.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x70.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x71.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x72.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x73.png" xlink:type="simple"/></inline-formula> in the leaf node.</p><p>So to address Merkle tree traversal problem, our scheme uses some tools from the efficient algorithm in [<xref ref-type="bibr" rid="scirp.77874-ref22">22</xref>] to overcome the space-time issue. Furthermore, to optimize the time space constraints in the Merkle hash tree traversal process, we designed an optimized ternary search tries (TST) [<xref ref-type="bibr" rid="scirp.77874-ref20">20</xref>] which is a sorting algorithm that blends quicksort and radix sort. Thereby, it is competitive with the best known C sort codes. It is faster than the traditional hashing and other commonly used search methods as shown below (<xref ref-type="fig" rid="fig4">Figure 4</xref>):</p><p>The TST is space efficient, but increases with the number of strings (N). Therefore the traversal problem is how to calculate efficiently the authentication path for all leaves one after another starting with the first leaf up to the last leaf, for minimum amount of space-time cost. Hence, it implies to analyze an optimal distribution of singleton attribute (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x74.png" xlink:type="simple"/></inline-formula>) to enhance the efficiency of the proposed solution; that is to find the optimal number of strings or attributes (N) to populate the tree. In this work we use the Karush-Kuhn-Tucker (KKT) condition of constrained optimization problem [<xref ref-type="bibr" rid="scirp.77874-ref24">24</xref>] to solve the above mentioned issue in the section below. Practically, we design our solution using some mathematical tools</p><fig id="fig4"  position="float"><label><xref ref-type="fig" rid="fig4">Figure 4</xref></label><caption><title> String symbol table implementation cost summary from [<xref ref-type="bibr" rid="scirp.77874-ref23">23</xref>] </title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/8-7800461x75.png"/></fig><p>from the scheme in [<xref ref-type="bibr" rid="scirp.77874-ref25">25</xref>] to find the minimum number of singleton quasi-identifier that gives the optimal security level for the proposed traversal algorithm efficiency.</p><p>Let <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x76.png" xlink:type="simple"/></inline-formula> be the number of values along the different columns of the Anonymiser decomposition table to populate the distinct levels set <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x76.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x77.png" xlink:type="simple"/></inline-formula> of the Merkle tree respectively. The total number of distinct values taken by the different levels set (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x76.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x77.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x78.png" xlink:type="simple"/></inline-formula>) is N. We assume that each column set (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x76.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x77.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x78.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x79.png" xlink:type="simple"/></inline-formula>) of the decomposition table takes (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x76.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x77.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x78.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x79.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x80.png" xlink:type="simple"/></inline-formula>) different values with the probability (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x76.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x77.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x78.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x79.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x80.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x81.png" xlink:type="simple"/></inline-formula>) respectively, where<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x76.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x77.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x78.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x79.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x80.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x81.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x82.png" xlink:type="simple"/></inline-formula>.</p><p>Therefore the probability for the (i<sup>th</sup>) element to be a singleton in the universal decomposition table by selecting one of the (n) choices (entries) is<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x83.png" xlink:type="simple"/></inline-formula>.</p><p>Let the variable <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x84.png" xlink:type="simple"/></inline-formula> be the indicator representing whether (i<sup>th</sup>) element is a singleton, then its expectation is calculated as below:</p><disp-formula id="scirp.77874-formula213"><label>(3)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/8-7800461x85.png"  xlink:type="simple"/></disp-formula><p>Let<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x86.png" xlink:type="simple"/></inline-formula>, be the variable that counts the number of singleton; its expectation is given by:</p><disp-formula id="scirp.77874-formula214"><label>(4)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/8-7800461x87.png"  xlink:type="simple"/></disp-formula><p>We aim to find the smallest number of singleton to populate efficiently the Merkle tree in the metadata repository.</p><p>It implies to minimize<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x88.png" xlink:type="simple"/></inline-formula>;</p><p>Subject to<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x89.png" xlink:type="simple"/></inline-formula>, with<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x89.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x90.png" xlink:type="simple"/></inline-formula>,<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x89.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x90.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x91.png" xlink:type="simple"/></inline-formula>.</p><p>Therefore we get the optimized number of singleton by rewriting the above distribution as a constrained optimization problem [<xref ref-type="bibr" rid="scirp.77874-ref24">24</xref>] . Doing so, we find the dual solution of the primal problem which is fast and reduces the space-time costs as follows:</p><disp-formula id="scirp.77874-formula215"><label>(5)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/8-7800461x92.png"  xlink:type="simple"/></disp-formula><p>KKT condition: Primal variable:<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x93.png" xlink:type="simple"/></inline-formula>; Lagrange Multiplier: <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x93.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x94.png" xlink:type="simple"/></inline-formula></p><p>Let us considering an optimization problem of forms Minimize f(x) Subject to<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x95.png" xlink:type="simple"/></inline-formula>;</p><p>With <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x96.png" xlink:type="simple"/></inline-formula></p><disp-formula id="scirp.77874-formula216"><label>(6)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/8-7800461x97.png"  xlink:type="simple"/></disp-formula><p>Using the Lagrange multiplier and the duality theorem, the solution of the problem (P) is determined as following:</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x98.png" xlink:type="simple"/></inline-formula>,</p><p>Then <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x99.png" xlink:type="simple"/></inline-formula></p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x100.png" xlink:type="simple"/></inline-formula>is a smooth function, then its gradient equals to zero at the optimal number (x<sup>*</sup>):</p><disp-formula id="scirp.77874-formula217"><label>(7)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/8-7800461x101.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.77874-formula218"><label>(8)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/8-7800461x102.png"  xlink:type="simple"/></disp-formula><p>Then, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x103.png" xlink:type="simple"/></inline-formula>,<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x103.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x104.png" xlink:type="simple"/></inline-formula>. Therefore <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x103.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x104.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x105.png" xlink:type="simple"/></inline-formula></p><p>Case1: <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x106.png" xlink:type="simple"/></inline-formula></p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x107.png" xlink:type="simple"/></inline-formula>, then<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x107.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x108.png" xlink:type="simple"/></inline-formula>. So we have: <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x107.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x108.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x109.png" xlink:type="simple"/></inline-formula></p><p>Case 2: <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x110.png" xlink:type="simple"/></inline-formula></p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x111.png" xlink:type="simple"/></inline-formula>, then<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x111.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x112.png" xlink:type="simple"/></inline-formula>;</p><disp-formula id="scirp.77874-formula219"><graphic  xlink:href="http://html.scirp.org/file/8-7800461x113.png"  xlink:type="simple"/></disp-formula><p>Finally the optimal number of singleton quasi-identifiers for a decomposition table of (n) entries with maximum total number of distinct values (N) is<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x114.png" xlink:type="simple"/></inline-formula>. Using this optimum number (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x114.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x115.png" xlink:type="simple"/></inline-formula>) to populate the ternary search tree, we improve the performance of the Merkle tree traversal algorithm by addressing the space-time cost issue. Thereby, the overall ciphertext retrieval time at reduce phase for our optimized algorithm Op_FHE_SCHR is almost three times less than the exiting one FHE_SCHR refer to <xref ref-type="fig" rid="fig5">Figure 5</xref>.</p></sec><sec id="s4_2"><title>4.2. FHE_SCHR Efficiency and Implementation Analysis</title><p>Regardless of the advances in remote sensor network (WSN) to controls systems into cloud, there are still enormous challenges in term of security insurance over</p><fig id="fig5"  position="float"><label><xref ref-type="fig" rid="fig5">Figure 5</xref></label><caption><title> Overview performance comparison of cryptosystems</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/8-7800461x116.png"/></fig><p>outsourced data processing and storage [<xref ref-type="bibr" rid="scirp.77874-ref26">26</xref>] . Therefore, we work for experiment purposes over trained sensed dataset for cancer pattern monitoring project. So our main goal in this paper is to securely optimize the map phase (input files decomposition) and ciphertexts retrieval (reduce phase) process. Thereby, we implement an optimized scalar homomorphic based Mapreduce scheme Op_FHE_SHCR, which contains four algorithms: KeyGen (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x117.png" xlink:type="simple"/></inline-formula>), Encrypt (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x117.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x118.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x117.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x118.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x119.png" xlink:type="simple"/></inline-formula>, s.m) Decrypt(c) and Retrieval(c). Note that these four algorithms are quite similar like those in [<xref ref-type="bibr" rid="scirp.77874-ref21">21</xref>] , with modified mapping and hashing algorithm like below (Algorithm 1).</p><p>Pseudo code:</p><p>This algorithm initializes the selected feature subset (splitting the input file into subsets) denoted by<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x120.png" xlink:type="simple"/></inline-formula>, with the empty set. A candidate feature subset, denoted by<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x120.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x121.png" xlink:type="simple"/></inline-formula>, will be produced by adding a feature, denoted by<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x120.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x121.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x122.png" xlink:type="simple"/></inline-formula>, with<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x120.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x121.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x122.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x123.png" xlink:type="simple"/></inline-formula>, to the selected feature subset, and the hashing index <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x120.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x121.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x122.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x123.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x124.png" xlink:type="simple"/></inline-formula> will be computed by Algorithm 2. Then, the algorithm removes this feature and adds</p><p>another feature to generate a new candidate. That is, the new feature in the chosen candidate will be added to the selected feature subset. Thus, this algorithm iteratively adds one feature (or the fixed number of features if the floating strategy has been used) to increase the selected feature subset until the threshold is met. It should be pointed out that the main difference between the proposed algorithm and the existing ones in the literature is that our algorithm produces high correlated data subsets based on the hashing index value. Therefore the ciphertext retrieval process at the reduce stage will be more efficient in terms of speed.</p><p>The design of our OP_FHE_SCHR cryptosystem is done using the HElib- master-2015.03 library in Dev C++ IDE. We utilize the WDBC Test training dataset for cancer management project. Our security algorithm is implemented in four steps using Gentry cryptosystem [<xref ref-type="bibr" rid="scirp.77874-ref13">13</xref>] [<xref ref-type="bibr" rid="scirp.77874-ref18">18</xref>] and [<xref ref-type="bibr" rid="scirp.77874-ref19">19</xref>] .</p><p>The efficient analysis of the candidate solution is proved by its experiments results that are compared with the existing blinding fully homomorphic FHE_DFI_LM algorithm, previous FHE_SCHR, and our new optimized Op_FHE_SCHR algorithm. Recall that, the improvement on this paper is mainly on the optimization of ciphertext retrieval time and metadata dynamics and authentication path in the logical Merkle tree repository (optimized space-time cost).</p><p><xref ref-type="table" rid="table1">Table 1</xref> and <xref ref-type="fig" rid="fig5">Figure 5</xref> show the average performance of our proposed solution (Op_FHE_SCHR) in comparison to related works (FHE_DFI_LM &amp; FHE_SCHR). Recall that, the experimental requirements are to optimize the outsourced data processing at the map stage and prevent intermediate data disclosure at the reduce phase in order to reinforce data privacy on Mapreduce framework. Therefore our Op_FHE_SCHR processes almost the data at Map stage (setup phase refer to <xref ref-type="table" rid="table1">Table 1</xref> and <xref ref-type="fig" rid="fig5">Figure 5</xref>) three time less (5932 ms) than FHE_DFI_LM (13078 ms) and two time less than our previous work FHE_SCHR (11684 ms). This result is obtained by an optimized map workers selection using the optimal number<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x139.png" xlink:type="simple"/></inline-formula>, for a given decomposition table of (n) entries at the splitting step. Thereby for a given dataset N, our algorithm calculates in advance the exact optimal number of subsets (feature selection) and map workers to speed up the splitting and data allocation process at the Map stage. Furthermore, each element (feature) of a subset is selected by an efficient feature selection algorithm (refer Algorithm 1).</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Average performance Comparison</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  rowspan="2"  >ALGORITHM</th><th align="center" valign="middle"  colspan="4"  >AVERAGE PERFORMANCE</th></tr></thead><tr><td align="center" valign="middle" >Setup time (ms)</td><td align="center" valign="middle" >Encryption time (ms)</td><td align="center" valign="middle" >Ciphertext Retrieval time (ms)</td><td align="center" valign="middle" >Decryption time (ms)</td></tr><tr><td align="center" valign="middle" >FHE_SCHR</td><td align="center" valign="middle" >11,684</td><td align="center" valign="middle" >37,419</td><td align="center" valign="middle" >37,419</td><td align="center" valign="middle" >7994</td></tr><tr><td align="center" valign="middle" >FHE_DFI_LM</td><td align="center" valign="middle" >13,078</td><td align="center" valign="middle" >77,507</td><td align="center" valign="middle" >77,507</td><td align="center" valign="middle" >41,085</td></tr><tr><td align="center" valign="middle" >Op_FHE_SCHR</td><td align="center" valign="middle" >5932</td><td align="center" valign="middle" >37,120</td><td align="center" valign="middle" >12,476</td><td align="center" valign="middle" >7990</td></tr></tbody></table></table-wrap><p>Based on the result of effective experiments directed, it is unmistakably certain that the proposed optimized scheme Op_FHE_SCHR speedups the setup (input files decomposition) and ciphertext retrieval time without compromising the cryptosystem. Thereby, the graph 5 shows that the proposed alternative is more efficient regarding the ciphertext retrieval and computation cost reduction. Note that homomorphic cryptosystem is extremely expensive [<xref ref-type="bibr" rid="scirp.77874-ref15">15</xref>] . Therefore, our solution contribution is a reliable alternative to minimize the overall computation and communication costs.</p></sec><sec id="s4_3"><title>4.3. FHE_SCHR Security Analysis</title><p>Two security requirements are to be achieved, that is data confidentiality and integrity. Therefore, our security scheme is based on a hybrid encryption design. Since the file is encrypted with a hybrid encryption as<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x140.png" xlink:type="simple"/></inline-formula>, the adversary should first decrypt<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x140.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x141.png" xlink:type="simple"/></inline-formula>. However, such a session key is protected by the ABE scheme. Thus, data confidentiality can be reduced to the confidentiality security of ABE. Moreover, the keywords which are needed to be protected against the public cloud are encrypted with a one way trapdoor function. The underlying ABE scheme for this work is known to be semantically secured. This private key is under the security proof of the ABE scheme and reduced to the bilinear decisional Diffie-Hellman (BDDH) problem [<xref ref-type="bibr" rid="scirp.77874-ref27">27</xref>] . The bilinear decisional Diffie- Hellman (BDDH) problem is such that given g, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x140.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x141.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x142.png" xlink:type="simple"/></inline-formula>for unknown random values x, y, z ∈ R<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x140.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x141.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x142.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x143.png" xlink:type="simple"/></inline-formula>, and T ∈ R, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x140.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x141.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x142.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x143.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x144.png" xlink:type="simple"/></inline-formula>, prove the distinguish ability of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x140.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x141.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x142.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x143.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x144.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x145.png" xlink:type="simple"/></inline-formula> from any random number in the target group is very hard to decide if<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x140.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x141.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x142.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x143.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x144.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x145.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x146.png" xlink:type="simple"/></inline-formula>. We say that the (t, ϵ)-BDDH assumption holds in G, if no t-</p><p>time algorithm has the probability at least <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x147.png" xlink:type="simple"/></inline-formula> in solving the BDDH problem for non-negligible ϵ.</p><p>Recall that this paper is based on [<xref ref-type="bibr" rid="scirp.77874-ref17">17</xref>] , and therefore we use the same cryptosystem to fix the data privacy preserving challenge. Furthermore, to enhance the security of our proposed solution in terms of data authentication paths and dynamics, we adopt the Merkle’s hash tree to store the metadata decomposition<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x148.png" xlink:type="simple"/></inline-formula>; which is freely secure from any number theoretic conjectures [<xref ref-type="bibr" rid="scirp.77874-ref21">21</xref>] . Indeed the Merkle’s hash trees are very useful because they allow efficient and secure verification of the contents of large data structures. This security lies mainly on two properties of hash functions:</p><p>i) Pre-image resistance: that is, given a hash value (h), it is difficult to find a message m such that h = hash (m).</p><p>ii) Collision resistance: that is, finding two messages m1 ≠ m2 such that hash (m1) = hash (m2) is difficult.</p><p>This data structure is a complete binary tree with an n-bit hash value associated with each node. Each internal node value is the result of a hash of the node values of its children. Merkle trees are designed so that a leaf value h (<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x149.png" xlink:type="simple"/></inline-formula>) can be verified with respect to a publicly known root (A) value given the authentication path of the respective leaf as:</p><p><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x150.png" xlink:type="simple"/></inline-formula>; refer to the <xref ref-type="fig" rid="fig3">Figure 3</xref>. So an attacker holding a hash value <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x150.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/8-7800461x151.png" xlink:type="simple"/></inline-formula> in order to reconstruct (A); needs some additional values called Auxiliary Authentication Information (AAI) which are kept secret by the metadata repository administrator under the supervision of the Anonymiser Query system. Therefore it is very hard for the public cloud server or outside attacker to reconstruct the input files by the decomposition table (A).</p><p>To summarize the security analysis, we can say by implementing a secure front end database management agent (Anonymiser) on top of FHE_SHCR security mechanism [<xref ref-type="bibr" rid="scirp.77874-ref17">17</xref>] that the data privacy insurance has been greatly reinforced in our proposed solution (Optimized FHE_SHCR).</p></sec></sec><sec id="s5"><title>5. Conclusion</title><p>In this paper, the requirements are to optimize the outsourced data processing at the map stage and prevent intermediate data disclosure at the reduce phase in order to reinforce data privacy on Mapreduce framework. Therefore, we implement a secure Front End Database Management agent: the Anonymiser with its three components (Decomposition table, Query Processing, and Metadata Repository.) to enhance the data security mechanism of our proposed solution. The cryptosystem tool is a scalar homomorphic encryption that performs some sorts of calculations over encrypted data in more secure and optimized design. The optimized cryptosystem Op_FHE_SCHR is by the experiments results an efficient candidate for the communication and computation costs reduction. Practically, it takes as input files an optimized decomposition table (for map workers), and improves the speed and accuracy of ciphertext retrieval process (for reduce workers) on Mape Reduce environment. Furthermore, we address the metadata dynamics and time space cost constraints for the traversal of Merkle tree structure in our metadata repository by applying an optimized ternary search tries (TST) algorithm.</p></sec><sec id="s6"><title>Acknowledgements</title><p>This work has been supported by MoE-CMCC (Ministry of Education of China- China Mobile Communications Corporation) Joint Science Fund under grant MCM20130661.</p></sec><sec id="s7"><title>Cite this paper</title><p>Martin, K., Wang, W.Y. and Agyemang, B. (2017) Optimized Homomorphic Scheme on Map Reduce for Data Privacy Preserving. Journal of Information Security, 8, 257-273. https://doi.org/10.4236/jis.2017.83017</p></sec></body><back><ref-list><title>References</title><ref id="scirp.77874-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Cloud Security Alliance (2010) Top Threats to Cloud Computing Version 1.0.  
http://www.cloudsecurityalliance.org/topthreats/csathreats.v1.0.pdf</mixed-citation></ref><ref id="scirp.77874-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Puttaswamy, K.P.N., Kruegel, C. and Zhao, B.Y. (2011) Silverline: Toward Data Confidentiality in Storage-Intensive Cloud Applications. Proceedings SoCC’11 the 2nd ACM Symposium on Cloud Computing.  
https://doi.org/10.1145/2038916.2038926</mixed-citation></ref><ref id="scirp.77874-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Zhang, X., Liu, C., Surya, N., Suraj, P. and Chen, J. (2013) A Privacy Leakage Upper-Bound Constraint based Approach for Cost-effective Privacy Preserving of Intermediate Datasets in Cloud. IEEE Transactions on Parallel and Distributed Systems, 24, 1192-1202. https://doi.org/10.1109/TPDS.2012.238</mixed-citation></ref><ref id="scirp.77874-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Roy, I., Setty, S.T.V., Kilzer, A., Shmatikov, V. and Witchel, E. (2010) Airavat: Security and Privacy for MapReduce. Proceedings NSDI’10 7th USENIX Conference on Networked Systems Design and Implementation, 297-312.</mixed-citation></ref><ref id="scirp.77874-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Blass, E.-O., Pietro, R.D., Molva, R. and &amp;Ouml;nen, M. (2012) Prism-Privacy Preserving Search in MapReduce. Proceedings PETS’12 the 12th International Conference on Privacy Enhancing Technologies, 180-200.  
https://doi.org/10.1007/978-3-642-31680-7_10</mixed-citation></ref><ref id="scirp.77874-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Ko, S.Y., Jeon, K. and Morales, R. (2011) The Hybrex Model for Confidentiality and Privacy in Cloud Computing. Proceedings HotCloud’11 the 3rd USENIX Conference on Hot Topics in Cloud Computing Article 8.</mixed-citation></ref><ref id="scirp.77874-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Zhang, K., Zhou, X., Chen, Y., Wang, X. and Ruan, Y. (2011) Sedic: Privacy Aware Data Intensive Computing on Hybrid Clouds. Proceedings CCS’11 18th ACM Conference on Computer and Communications Security, 515-526.  
https://doi.org/10.1145/2046707.2046767</mixed-citation></ref><ref id="scirp.77874-ref8"><label>8</label><mixed-citation publication-type="book" xlink:type="simple">Rivest, R.L., Adleman, L. and Deaouzos, M.L. (1978) On Data Banks and Privacy Homomorphism. In: DeMillo, R.A., Ed., Foundations of Secure Computation, Academic Press, New York, 169-179.</mixed-citation></ref><ref id="scirp.77874-ref9"><label>9</label><mixed-citation publication-type="book" xlink:type="simple">Craig, G., Shai, H. and Nigel, S. (2012) Fully Homomorphic Encryption with Polylog Overhead. In: Pointcheval, D. and Johansson, T., Eds., Advances in Cryptology, Springer, Heidelberg, 465-482.</mixed-citation></ref><ref id="scirp.77874-ref10"><label>10</label><mixed-citation publication-type="book" xlink:type="simple">Zvika, B., Craig, G. and Shai, H. (2013) Packed Ciphertexts in Lwe-Based Homomorphic Encryption. In: Kurosawa, K. and Hanaoka, G., Eds., Public-Key Cryptography-Pkc 2013, Springer, Heidelberg, 1-13.</mixed-citation></ref><ref id="scirp.77874-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Gentry, C. (2009) Fully Homomorphic Encryption Using Ideal Lattices. In: 41st Annual ACM Symposium on Theory of Computing, ACM Press, New York, 169-178. https://doi.org/10.1145/1536414.1536440</mixed-citation></ref><ref id="scirp.77874-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Dijk, M.V., Gentry, C., Halevi S. and Vaikuntanathan, V. (2010) Fully Homomorphic Encryption over the Integers. In: Proceedings Advances in Cryptography-Eurocrypt, Springer-Verlag, Berlin, 24-43.</mixed-citation></ref><ref id="scirp.77874-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Gentry, C. (2010) Computing Arbitrary Functions of Encrypted Data. Communications of the ACM, 53, 97-105. https://doi.org/10.1145/1666420.1666444</mixed-citation></ref><ref id="scirp.77874-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Dean, J. and Ghemawat, S. (2008) MapReduce: Simplified Data Processing on Large Clusters. Communication of ACM, 51, 107-113.  
https://doi.org/10.1145/1327452.1327492</mixed-citation></ref><ref id="scirp.77874-ref15"><label>15</label><mixed-citation publication-type="book" xlink:type="simple">Jaydip, S. (2013) Homomorphic Encryption—Theory and Application. In: Jaydip, S., Ed., Theory and Practice of Cryptography and Network Security Protocols and Technologies, Tech. https://doi.org/10.5772/56687</mixed-citation></ref><ref id="scirp.77874-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Chen, X. and Huang, Q. (2013) The Data Protection of MapReduce Using Homomorphic Encryption. Proceedings ICSESS the 4th IEEE International Conference on Software Engineering and Service Science, Beijing, 23-25 May 2013, 419-421.</mixed-citation></ref><ref id="scirp.77874-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Martin, K., Wenyong, W. and Brighter, A. (2016) Efran (O) Efficient Scalar Homomorphic Scheme on MapReduce for Data Privacy Preserving. Proceedings CSCloud the 3rd IEEE International Conference on Cyber Security and Cloud Computing, Beijing, 25-27 June 2016, 66-74.</mixed-citation></ref><ref id="scirp.77874-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Gentry, C. and Halevi, S. (2011) Implementing Gentry’s Fully-Homomorphic Encryption Scheme. In: Proceedings Advances in Cryptography-EUROCRYPT, Springer-Verlag, Berlin, Vol. 6632, 129-148.</mixed-citation></ref><ref id="scirp.77874-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Gentry, C. (2010) Toward Basing Fully Homomorphic Encryption on Worst-Case Hardness. In: Proceedings Advances in Cryptology-CRYPTO, Springer-Verlag, Berlin, Vol. 6223, 116-137. https://doi.org/10.1007/978-3-642-14623-7_7</mixed-citation></ref><ref id="scirp.77874-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Jon, L.B. and Robert, S. (1997) Fast Algorithms for Sorting and Searching Strings. Proceedings ACM-SIAM the Eight Annual Symposium on Discrete Algorithms, New Orleans, 5-7 January 1997, 360-369.</mixed-citation></ref><ref id="scirp.77874-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Merkle, R.C. (1989) A Certified Digital Signature. Proceedings CRYPTO Advances in Cryptography, Vol. 435 of LNCS, 218-238.</mixed-citation></ref><ref id="scirp.77874-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Markus, K., Willi, M. and Carlo, U.N. (2014) A Space- and Time-Efficient Implementation of the Merkle Tree Traversal Algorithm.</mixed-citation></ref><ref id="scirp.77874-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">Robert, S. and Kevin, W. (2002) Algorithms. 4th Edition.  
http://algs4.cs.princeton.edu/home/</mixed-citation></ref><ref id="scirp.77874-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Bertsekas, D.P., Nedic, A. and Ozdaglar, E.A. (2003) Convex Analysis and Optimization. Athena Scientific, Cambridge, 560 p.</mixed-citation></ref><ref id="scirp.77874-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Yu, Y. (2010) Privacy Protection in Secure Database Service. Proceedings the Second International Conference on Networks Security, Wireless Communications and Trusted Computing, Wuhan, 218-222.</mixed-citation></ref><ref id="scirp.77874-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Huang, X. and Du, X. (2013) Efficiently Secure Data Privacy on Hybrid Cloud. Proceedings ICC IEEE International Conference on Communication, 9-13 June 2013, Budapest, 1936-1940. https://doi.org/10.1109/ICC.2013.6654806</mixed-citation></ref><ref id="scirp.77874-ref27"><label>27</label><mixed-citation publication-type="book" xlink:type="simple">Sahai, A. and Waters, B. (2005) Fuzzy Identity-Based Encryption. In: Cramer, R., Ed., Eurocrypt, Springer, Heidelberg, LNCS, Vol. 3494, 457-473.  
https://doi.org/10.1007/11426639_27</mixed-citation></ref></ref-list></back></article>