README.md
-
Platforms used to run the project:
-
Server side: Kali GNU/Rolling Linux 32-bit OR Ubuntu 15.04 64-bit
-
Server side code: Comipled with Java 1.8.0_111
-
Client side: Android 6.0.1 (Marshmallow)
-
Client side code: Compiled with Android SDK 25
-
-
Setup Instructions: Server setup:
-
- Navigate to Server/ folder and compile with the command: javac *.java
-
- Execute: java Main
Client side:
-
- Connect the Android phone to the Android Studio.
-
- Compile and execute the code.
-
-
Use case example:
-
- On the server terminal, register a user selecting the Register command (1) and providing a user name and a password.
-
- Login with the credentials used on step 1.
- 2.1. Copy files to the folder: Server/Files/"username"/
- 2.2. Test files can be found on the Resources/ folder.
-
- Select the Pairing command (1). The terminal will generate a random token so that the user can type it on the phone.
-
- Select the Settings option (top right corner) and enter the server's ip address.
- 4.1. On the mobile phone, select the Pair Phone option and type in the token.
-
- The terminal will send the session key and ask the user if he want to unlock the files right now. Select "yes".
-
- On the mobile phone select Unlock Phone and the two devices will begin to exchange nonces.
-
- At any time, the files can be locked by selecting the option Lock Files on the phone. To unlock, the option "Unlock files with phone" must be selected on the server, afterwards, select the Unlock files option on the Android.
-
- On the folder where the files were inserted (Step 2.1) the files can be observed being ciphered and deciphered as the program runs. (Encrypted files will have a "_enc" string on the name)
-