Open
Description
Once #32 is ready, we need to start building out the logic of the application.
Functions/classes that manage encryption for user data should be created.
- A
setup
function that creates the user's private key and saves it to a specified destination on their hard drive. - Encrypt function which loads this file and uses it to encrypt arbitrary data, returing the ciphertext
- Decrypt function which loads the key and the ciphertext and returns decrypted text.
The current encryption algorithm used by sflvault appears to be ElGamal. We should start with the same algorithm to ensure that migration can be done without too much difficulty. One day, however, it would be nice to be able to hot-swap the algorithms in these functions so they can be specified externally but have the same interface (as long as they are still public key-based algorithms, of course).
Activity