This project aims at designing and implementing a secured file system for users. To authenticate a user, we need to verify the password and the symmetric key each user has. The key is stored in database by hashing the password + salt. After that, the file is able to be encrpted and decrpted using the AES, CBC mode.
Required:
- python 2.7
- pycrypto lib
- MySQL
To install pycrypto, you can simply use easy_install or pip_install to install it
You need to have a user CS8120
with password CS8120
, under it, Database CS8120
should be created.
And a table called USER
and FILE
should be created under this database, for more detailed info, you can check the schema in schema.sql
Before you can actually run the system, you should create a admin user. First, you need to prepare a folder with your device(can be USB) to save or install your keys. for example, the folder can be called /Volumes/NO\ NAME/keys, then do:
python adminCreator.py
Afther successfully creating the first admin user, you can build and run the system for all:
python main.py