An Android Application to synchronize your data to the cloud with some extra secure measures.
##Direction
- Register/Login.
- Find the file you want to deal with(encrypt/decrypt).
- Click the file, choose the encrypt level you want, then the file will be encrypted.
- Upload your file to the cloud(Call the third-party api).
- Download your file from the cloud(Call the third-party api).
- Long click the file, then the file will be decrypted, if the file is not broken.
- When you download an apk file, the file will be checked whether it is authorized or not.
- If the apk is not authorized, it will be deleted, or it is OK to install.
##Architecture
- The device side has part of the key.
- The server side randomly generate part of the key.
- Set file important level and encrypts the file when uploads.
- Pass the key in ciphpertext(Use HTTPS or other methods).
- Validate the integrity of the stored data.
- Validate the safety of the downloaded Apps.
- Encrypt the contacts and messages.
- Recover the contacts and messages.
##Attention
Part 4 and part 5 of Directions wil use a third party application, in order to be safe.
##TODO list
1. The Apps validation on the Android side.
2. Fix the FileObserver's jump condition(When to start another Activity, solved by using Notification).
3. The device side has part of the key.
4. Add more implements of Encryption/Decryption.
5. Implement the same function for contacts and message parts.
6. Implement the key splice.
-
Implement the same function for contacts.
-
Encrypt the voice communication data.
-
Encrypt the SMS data.
-
Integrate the third party cloud APIs(Kuaipan is integrated).
-
Key management.
-
Optimize the menu display.
-
Move the functions to listview's onItemClickListener.
