PuffOpenSource / Puff-Android

Password Manager for Android Using Blowfish Encryption
MIT License
151 stars 43 forks source link

Notes on weak crypto #20

Open codingchili opened 5 years ago

codingchili commented 5 years ago

Some notes on chosen algorithms and parameters

I'm using SCrypt with 65k iterations and it takes 1-3 seconds to authenticate from fastest to slowest device. I recommend that you try and tune PBKDF2 on some devices.

If you store the salt of the master password, you don't need to store the hash of it. Then you can use the derived key as the encryption key. If you want to add fingerprint encryption later - you can store the masters hash encrypted with a key from the TEE that is protected by the users fingerprint. This is much faster than applying the KDF on the master but requires a fingerprint sensor.

Take a look at my project if you want, it's written in Kotlin.

SpongeBobSun commented 5 years ago

Thanks for the advice. Will try to fix this and add finger print support on the next release - not sure when due to I'm working on other things...