Fuzzy keyword search over encrypted data

July 2020 updated
In this tutorial, we will see how to setup the project for – Fuzzy keyword search over encrypted data in cloud computing.
We will start with the meaning along with the practical example.

To learn basics of PHP you can read this short tutorial: PHP Tutorial

Live Project Demo: https://github.webencyclop.com/EKS/

1. What is fuzzy keyword search over encrypted data?

  • Fuzzy search means approximate string matching
  • For example: languaje is misspelled word which will matched actually with correct word language

Use case scenario

  • Suppose a User wants to search a keyword language
  • But User misspelled it as languaje and clicked on search button
  • Data in the database is in encrypted form.
  • Now we will try to search the encrypted data for inputted keyword languaje.
  • So in this project we have generated the process of matching misspelled keyword with encrypted data
  • We have used different algorithms like N-Grams creation, Jaccard coefficient calculation and encryption techniques.
  • So, let us see how we can understand and setup the project

2. Project flow as explained in this YouTube video

Workflow - Fuzzy keyword search over encrypted data in cloud computing project

3. Different Algorithms used in project as explained in this YouTube video

  • Encryption/Encoding techniques: Base64 encode and decode, AES-256 encryption and decryption
  • Algorithm for N-gram calculations. EKS/application/libraries/ngram.php
  • Algorithm for Jaccard Coefficient calculation. EKS/controllers/user.php (in search function)

Technologies used in project

  • PHP [must use older versions 5.2 preferably]
  • MySQL Database
  • CodeIgniter PHP MVC Framework
  • HTML and CSS

Installing and configuring project.

  • Step 1 – Install wamp server or XAMP server with older PHP version.
  • Start wamp/XAMP server
  • Turn on rewrite_module in WAMP or XAMP server.
  • Download the project file EKS.zip from GitHub click here to download
  • Extract the folder EKS to C:/wamp/www or your HTML directory. [It should be like : C:/wamp/www/EKS/*all_files*]
  • Now open http://localhost/phpmyadmin/ in browser. [You need PHPMyAdmin]
  • Click import tab and browse file eks.sql from C:/wamp/www/EKS/1Database/eks.sql and click go. Now you have imported database for project
  • Now open http://localhost/EKS/ in browser.
  • Default user account: username: [email protected] password: 1234567890
  • Default admin account: username: admin password: 1234567890
  • Explore the project !! That’s it.

The project database stores everything in encrypted form and actual file stored on server is also encrypted.

Video demonstration to explain the installation and configuration of project for the Fuzzy keyword search over encrypted data in cloud computing:

Fuzzy Keyowrd Search – Project Explaination – part 1

Fuzzy Keyowrd Search – Project Setup – part 2

You can leave the comment below if you have any problem regarding the project or feel free to mail me at [email protected] for the same. Please do not use this project as a college or university project without notifying me. 🙂

Help others by sharing the content!

5 thoughts on “Fuzzy keyword search over encrypted data”

  1. it not work show me this

    A PHP Error was encountered
    Severity: Notice

    Message: Only variable references should be returned by reference

    Filename: core/Common.php

    Line Number: 257


Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.