FUNKEYZZ Fuzzy keyword search over encrypted data

    23 Votes

As Cloud Computing becomes prevalent, more and more sensitive information are being centralized into the cloud, such as emails, personal health records, government documents, etc. By storing their data into the cloud, the data owners can be relieved from the burden of data storage and maintenance so as to enjoy the on-demand high quality data storage service. However, the fact that data owners and cloud server are not in the same trusted domain may put the outsourced data at risk, as the cloud server may no longer be fully trusted. It follows that sensitive data usually should be encrypted prior to outsourcing for data privacy and combating unsolicited accesses. 

However, data encryption makes effective data utilization a very challenging task given that there could be a large amount of outsourced data files. Moreover, in Cloud Computing, data owners may share their outsourced data with a large number of users. The individual users might want to only retrieve certain specific data files they are interested in during a given session. One of the most popular ways is to selectively retrieve files through keyword-based search instead of retrieving all the encrypted files back which is completely impractical in cloud computing scenarios. Such keyword-based search technique allows users to selectively retrieve files of interest and has been widely applied in plain text search scenarios, such as Google search. Unfortunately, data encryption restricts user’s ability to perform keyword search and thus makes the traditional plain text search methods unsuitable for Cloud Computing. Besides this, data encryption also demands the protection of keyword privacy since keywords usually contain important information related to the data files. Although encryption of keywords can protect keyword privacy, it further renders the traditional plain text search techniques useless in this scenario.

To securely search over encrypted data, searchable encryption techniques have been developed in recent years. Searchable encryption schemes usually build up an index for each keyword of interest and associate the index with the files that contain the keyword. By integrating the trapdoors of keywords within the index information, effective keyword search can be realized while both file content and keyword privacy are well-preserved. Although allowing for performing searches securely and effectively, the existing searchable encryption techniques do not suit for cloud computing scenario since they support only exact keyword search. That is, there is no tolerance of minor typos and format inconsistencies. It is quite common that users’ searching input might not exactly match those preset keywords due to the possible typos, such as Illinois and Ilinois, representation inconsistencies, such as PO BOX and P.O. Box, and/or her lack of exact knowledge about the data. The naive way to support fuzzy keyword search is through simple spell check mechanisms. However, this approach does not completely solve the problem and sometimes can be ineffective due to the following reasons: on the one hand, it requires additional interaction of user to determine the correct word from the candidates generated by the spell check algorithm, which unnecessarily costs user’s extra computation effort; on the other hand, in case that user accidentally types some other valid keywords by mistake (for example, search for “hat” by carelessly typing “cat”), the spell check algorithm would not even work at all, as it can never differentiate between two actual valid words. Thus, the drawbacks of existing schemes signify the important need for new techniques that support searching flexibility, tolerating both minor typos and format inconsistencies.

FUNKEYZZ, our project focus on enabling effective yet privacy preserving fuzzy keyword search in Cloud Computing. Here we formalize the problem of effective fuzzy keyword search over encrypted cloud data while maintaining keyword privacy. Fuzzy keyword search greatly enhances system usability by returning the matching files when users’ searching inputs exactly match the predefined keywords or the closest possible matching files based on keyword similarity semantics, when exact match fails. More specifically, we use edit distance to quantify keywords similarity and develop a novel technique, i.e., a Wildcard-based technique, for the construction of fuzzy keyword sets. This technique eliminates the need for enumerating all the fuzzy keywords and the resulted size of the fuzzy keyword sets is significantly reduced. Based on the constructed fuzzy keyword sets, we propose an efficient fuzzy keyword search scheme. Our proposed solution is secure and privacy-preserving, while correctly realizing the goal of fuzzy keyword search.


Feasibility study is a test of a system proposal according to its workability, impact on the organization, ability to meet user needs and effective needs of resources. The input to the feasibility study is an outline description of the proposed system and how it will be used within an organization. Three key considerations are involved in this feasibility analysis: economic, operational, technical. Before entering in to the procedure of designing the project, we are obliged to study about the feasibility of using FUNKEYZZ. To perform the feasibility study we first analyze the problem that occur while implementing a project completely and look for better alternative solutions. Its potential benefits for the user is also be identified.

Economic Feasibility

The purpose of an economic feasibility study (EFS) is to demonstrate the net benefit of a proposed project for accepting or disbursing electronic funds/benefits, taking into consideration the benefits and costs to the agency, other state agencies, and the general public as a whole. Economic analysis is the most frequently used method for evaluating the effectiveness of the candidate system. More commonly known as cost/benefit analysis, the procedure is to determine the benefits and savings that benefits outweigh costs, and then the decision is made to design and implement the system. The software and hardware requirements for the development of Funkeyzz were met without much funds.   

Operational Feasibility

 Operational feasibility is a measure of how well a proposed system solves the problems, and takes advantage of the opportunities identified during scope definition and how it satisfies the requirements identified in the requirements analysis phase of system development. Funkeyzz greatly enhances system usability by returning the matching files when users searching inputs does not match the predefined keywords.

Technical Feasibility 

 Technical analysis center on the existing computer system (Hardware, Software etc) and to what extend it can support the proposed addition. This involves financial considerations to accommodate technical enhancement. If the budget is a serious constraint, then the project is judged not feasible. Funkeyzz is developed in JAVA which is platform independent and hence it could be implemented in any system that satisfies basic technical requirements.

Please go through the attached project report for System Study, Design and Analysis


Download this file (FUNKEYZZ Fuzzy keyword search over encrypted data in cloud computing.pdf)FUNKEYZZ Fuzzy keyword search over encrypted data in cloud computing[Project Report]761 Kb

Related Articles

Travel Planner using Genetic Algorithm
Data Recovery and Undeletion using RecoverE2
Routino Router Algorithm
Data Leakage Detection
Scene Animation System Project
Data Structures and Algorithms Visualization Tool
Paint Program in C
Solving 0-1 Knapsack Problem using Genetic Algorithm
Software Watermarking Project
Android Gesture Recognition
Internet working between OSI and TCP/IP Network Managements with Security Features Requirements
Web Image Searching Engine Using SIFT Algorithm
Remote Wireless Sensor Networks for Water Quality Monitoring Requirements
Ranking Spatial Data by Quality Preferences
Scalable Learning Of Collective Behaviour
Computational Metaphor Extraction And Interpretation
Designing a domain independent Rules Engine For Business Intelligence
Graph Colouring Algorithm
Gesture Based Computing

Popular Videos

How to speak to people

How to speak so that people want to listen.

Got a tip or Question?
Let us know