Skip to content

Create encryption abstraction functions #34

Open
@peakwinter

Description

@peakwinter

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.

  1. A setup function that creates the user's private key and saves it to a specified destination on their hard drive.
  2. Encrypt function which loads this file and uses it to encrypt arbitrary data, returing the ciphertext
  3. 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions