Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use sqlcipher or at least, not blowfish and a proper KDF #159

Open
anarcat opened this issue Sep 7, 2017 · 0 comments
Open

use sqlcipher or at least, not blowfish and a proper KDF #159

anarcat opened this issue Sep 7, 2017 · 0 comments

Comments

@anarcat
Copy link
Member

anarcat commented Sep 7, 2017

because the selfspy database can become quite large, it may trigger one of Blowfish's vulnerabilities, that is birthday attacks with large datasets. The GnuPG FAQ indeed recommends to avoid using blowfish for files larger than 4GiB.

There's a database extension called sqlcipher that does exactly what we need: it uses AES-128 with a proper KDF (key derivation function or more precisely PBKDF2). There are also Python bindings for the database.

even if you do not use sqlcipher, you should phase out using blowfish and switch to a more modern encryption algorithm like AES. likewise, the key derivation function (which is currently MD5) should be switched to Argon, scrypt or PBKDF2 - but why roll your own when something's already there to do the right thing for you? :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant