iG Protection is short for Image Gesture Protection which uses OpenCV and Handwave to take gesture inputs from front facing camera and use them to make a unique encryption key to be used to encrypt target data file using Blowfish symmetric key encryption Algorithm. To run the project, you need an android phone and android studio to build the app.
How to build and run the app:
-
Load the project in Android Studio.
-
Build the app.
-
Copy the app in your android phone.
-
Make sure that Installation from Unknown Sources is checked in the phone.
-
Install the app and run.
-
After opening the app, provide a combination of up to 5 gestures (left, right, up or down), which you can see being recorded in the phone.
-
Then select the file that need to be encrypted, which then gets saved in the 'gesture' folder in the root directory.
-
To decrypt the file, select the file from the Home menu of the app, provide the same gestures as provided to encrypt the file.
-
After decryption, the unlocked file is saved in 'gesture_unlock' folder in the root directory.
Handwave was originally intended to be a library that would use a phone's front facing camera to detect a gesture that happens overtop the phone. Generally done with your hand, you can wave your hand up, down, left, right, and further out then towards your phone which registers as a click. The motions are simplified to implement in your project with an interface that may be passed in via parameters. See the usage examples below.
Usage on a seperate project:
-
Download the library to your computer
-
Open the project you want to add this to
-
File -> New -> Import Module
-
Check Both -> OK -> Wait for the libraries to index
-
Right Click your app module -> Open Module Settings
-
Click the dependencies tab
-
Click the + icon and select the module option
-
Add Both the openCV module and the NewHandwave module
-
The library is now usable in your project