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!

Install MongoDB on windows

Install MongoDB 4.2.0 on windows

Follow the below steps to configure MongoDB on your system.

Step 1) To install MongoDB 4.2.0 on windows or on your computer, just go to MongoDB official site or you can click below link to redirect
Installing MongoDB 4.2.0 on windows

Step 2) From above link you will get to below page.

Step 1 to download/install and configure mongodb

Select the Operating system as Windows

step 2 to download/install and configure mongodb

Select the package as MSI and click to Download to start downloading.

Step 3 to download/install and configure mongodb

Step 3) Now you will get to this page. Enter your mail, name, password and check the Terms and condition box. And click on the Get started free button.

step 4 to download/install and configure mongodb

Step 4) Once completing download click on it and you will get following pop-up. Click on Next button

step 5 to download/install and configure mongodb

Step 5) Check the Licence terms agree button

step 6 end user licence agreement

Step 6) Choose the setup type as Complete

step 5 choose setup type of mongodb

Step 7) Keep the run service as network service user and click to Next button

step 6 service as network user

Step 8) The next thing you need to do is tick the Install MongoDB compass checkbox and click Next button

step 7 install mongo db compass

Step 9) Now you are ready to install. Click Install button.

step 8 ready to install mongo db

Step 10) Below kind of installing will happen.

step 9 installing/downloading mongo db

Step 11) After completing the process, you will get following pop-up. Scroll down and click on Agree button

step 10 mongoDB compass community connect

Step 12) After you agree, it will give some intro. Just continue clicking Next upto below Get started button can see.

step 11 welcome to mongodb commuity server

Step 13) You can either keep it enable or unchecked to disable. I uncheck it as I don’t want to automatic updates nor any kinfd o report. After this click Start using compass button

step 12 privacy setting mongodb

Step 14) Now you are ready to use MongoDB.

Help others by sharing the content!