Forensics Oriented Reporting Group Under Encryption
This project follows the belief of Sir Abraham Lincoln
You can fool all the people some of the time and some of the people all the time,
But you cannot fool all the people all the time.
FORGE or Forensics Oriented Reporting Group Under Encryption is a network system for secure transmission of directives among two or multiple authentic users. It uses asymmetric key cryptography to ensure an end-to-end encryption scenario.
- Can be easily adopted in any network using client-server model
- Directives are stored in eavesdrop-free encrypted format in the server
- Every user has a unique 64-byte PKCS identity to recognize users with
- Encryption uses a brute-force resistant timestamp-based keypair generation
- Directive subject and content storage in tamper-free byte-index array
- Asymmetric key cryptography - 2048-bit RSA used for directive protection
- One-way encryption strategy - 512-bit SHA used for storing passwords
- Unique signature for elements like contacts, directives and groups
- Group sharing uses double layer protection with group's own keypair
- Capable of one-to-one directive sharing using composition
- Capable of one-to-many directive sharing using broadcast and groups
- State-of-the-art session management and user access control
- Now supports RESTful API in restricted network to maintain low profile
- Connectivity to API server required only during API-bound endpoint action
- Install and upgrade virtualenv if not already done by executing
pip3 install virtualenv --user
- Clone the repository on your local drive and make it your current working directory
- Create a virtual environment by executing
virtualenv venv
- Activate the virtual environment by executing
source venv/bin/activate
- Install all dependencies for the project by executing
pip3 install -r requirements.txt
- Run the project server by executing
python3 main.py
- When done tinkering, deactivate the virtual environment by executing
deactivate
- Give stars to the repository if it was helpful
- Open up a browser and visit
<SERVER-IP-ADDRESS>:9696
(default location) - Create account, login, follow people and send protected directives
- Safely logout of your account once you are done using it
- Give stars to the repository if it was helpful
- Install and upgrade virtualenv if not already done by executing
pip3 install virtualenv --user
- Clone the repository on your local drive and make it your current working directory
- Create a virtual environment by executing
virtualenv venv
- Activate the virtual environment by executing
source venv/bin/activate
- Install all dependencies for the project by executing
pip3 install -r requirements.txt
- Run the project server by executing
python3 apim.py
- When done tinkering, deactivate the virtual environment by executing
deactivate
- Give stars to the repository if it was helpful
- Make sure that the server is reachable and note down the server's URL somewhere
- Read about the API endpoints - how to send requests and receive responses in this guide
- While developing your application, map these to your actions with HTTP requests
- Give stars to the repository if it was helpful
You can find all changes listed here
You can find all shiny stuff here
The project is currently in diverse development process. The codebase needs cleanup, optimization and documentation so one may find it hard to get their hands into it. Feel free to contact me at akashdeep.dhar@gmail.com if you wish to contribute.