To build a file browser app that will allow user to encrypt and decrypt local files when the user is logged in.
- Login to the application using predetermined username and password
- Browse local files
- Encrypt or decrypt files using AES encryption and PBKDF2
- Implement encrypt and decrypt menu options to execute the function
- Rebuild using OAUTH2 user authentication - TBD
- Build backend using REST API service for file browsing - TBD
-
This project uses a basic document browser code provided by Apple Inc. The Document Browser View Controller has been modified to suit the project brief. More licensing details can be found in the license document.
-
The encryption/decryption features are built using RNCryptor framework.
- There are discrepancies in specification. For example, RNCryptor uses CBC encryption and not GCM. Modifications have been done to fix some of the mismatches but more parameters need to be changed. Work in progress.
- As such, using a common library like RNCryptor is not the safest way to encrypt and decrypt files. For maximum security, it is better to work on my own solution. To be done in the next stage.
- The app only supports text documents now. Modify to add more document types.
- Update library to fix discrepancies and meet spec requirements.
- Encrypted documents cannot be decrypted if the user logs in again because encryption key has been changed. Find out how to persist the key for the particular document.


