Skip to content

Fix Encryption scheme#832

Merged
marcelklehr merged 2 commits intodevelopfrom
fix/crypto
Feb 14, 2021
Merged

Fix Encryption scheme#832
marcelklehr merged 2 commits intodevelopfrom
fix/crypto

Conversation

@marcelklehr
Copy link
Copy Markdown
Member

The existing encryption implementation (currently only used for securing your credentials residing in your browser storage), while not strictly broken, was built in a somewhat uneducated fashion. My intention with this PR is to change that.

Here is a list of changes:

  1. I've switched to AES in Galois/Counter Mode, which has the benefit of also authenticating the message being encrypted.
  2. The module now always uses a random initialization vector and stores it along with the ciphertext.
  3. Most importantly the module now makes use of the PBKDF2 key derivation algorithm with 250000 iterations and a salt to make it harder to brute-force the pass phrase.

The changes are transparent to the user: Upon installing and unlocking the new version floccus will automatically decrypt all data with the old implementation and re-encrypt it with the new implementation.

Additionally, this will pave the way for #224

@marcelklehr marcelklehr merged commit 6663097 into develop Feb 14, 2021
@marcelklehr marcelklehr deleted the fix/crypto branch February 14, 2021 19:22
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Mar 20, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant