One Stop answer to mobility and security D-Crypt
Thought Process What are the existing softwares available. Who are the target users ? What is the need for this software? Extra Fail Safe Features
Existing Software This is what Google has to say on existing softwares This is what Google has to hide on existing softwares
Our Objectives Platform Independence Scalable Safe Intuitive Protection of data at all costs. User Friendly
Virtual File System Scalable and platform independent. File Allocation table calculated after password authentication. Nobody knows which file is stored where. Even if one file is corrupt, only part of data is compromised. All files split into files of 128 kb in this implementation.
Autorun Depending on the operating system, one of the two auto run scripts call the main class. This class authenticates the user. It then checks for integrity of the usb. Required because all encryption keys are encrypted using password which can be changed. After integrity check, and correcting correctable flaws, the user can use the system to store files, folders in encrypted or decrypted form or to retrieve the stored files.
Password Management Password stored in random files as file attributes of a group of files. The encrypted form of password constructed during runtime. Also the previous password is stored to re-crypt all the keys of 128 bit encryption. Better than /etc/password. If a password file gets corrupted only one character is missing and the correct password can be retrieved by the rightful owner and only rightful owner so that he can use his files. Very difficult to even get the encrypted password unlike simple storing of password. All keys encrypted using password, so in password transition phases, two passwords in system as a failsafe.
Encryption Password: sha1 Files: 128 bit AES encryption Keys: RSA (public key is unique to each software implementation and is fixed when the software is first run) private key is dependent on password. Encrypted data of a usb will be very difficult to be decrypted on any other usb.
Key Generation and Management Random key is generated. Encrypted and stored in the header file. Whenever password is changed the keys are re-encrypted. The first 1024 bytes of each file contains information about the key and the next files.Rest 127 kb contains data bytes
User Interface Options to: Enter Password Change Password Separate panels for encrypted and decrypted files of the same logical filename. Encrypt files, decrypt files, Rename files, Delete files, move files inside the USB, move to hard disk.
Why D-Crypt is best Most Portable. Scalable even fat 32 has limitations on maximum size. Lots of failsafe features to ensure data remains same. Probability of unauthorized access is minimal.
Classes Used AeSimpleSHA1:calculates sha1 hash of password. Cleaner: Makes the USB as good as new. Crawler: constructs the directory structure. CryptFileDelete: Deletes logical files CryptFileReader: Copies data to hard disk. CryptFileWriter: Writes data to USB
Classes Used EDPanel: Container holding the gui. FileHash :Updates runtime directory structure FileList: List of files where data is to be written FinalWriter:Calls the CryptFileWriter FinalizePassword: Deletes the old password
Classes Used Header Reader: Reads Header file HeaderWriter: writes logical name to header Icon extractor: gui Installer: first run to set up password and populate the USB. Integrity Checker:
Contributions ShubhanshuMishra AbhishekJha HimangshuJyotiHazarika R. Vignesh VighneshAvdhani BittuSarkar Indian Institute of Technology Kharagpur