Skip to content

⚠️ 🚧 a WIP experiment in optimizing PBKDF2 ⚠️ 🚧

License

Notifications You must be signed in to change notification settings

ericlagergren/pbkdf2

Repository files navigation

pbkdf2

An optimized PBKDF2 implementation is particularly advantageous for a defender because an attacker will always have a more powerful setup.

This is an experiment in optimizing PBKDF2.

Every GOOS/GOARCH has the same base optimizations. GOARCH=arm64 has its own assembly core.

TODO: talk about optimizations.

=== RUN   Test100ms
    pbkdf2_test.go:120: std:  720311/100ms
    pbkdf2_test.go:121: asm: 1874573/100ms (2.60x)
[...]
BenchmarkHMACSHA256
BenchmarkHMACSHA256-8      	    5451	    219651 ns/op
BenchmarkHMACSHA256_Go
BenchmarkHMACSHA256_Go-8   	      84	  13853241 ns/op

Security

Disclosure

This project uses full disclosure. If you find a security bug in an implementation, please e-mail me or create a GitHub issue.

Disclaimer

You should only use cryptography libraries that have been reviewed by cryptographers or cryptography engineers. While I am a cryptography engineer, I'm not your cryptography engineer, and I have not had this project reviewed by any other cryptographers.

About

⚠️ 🚧 a WIP experiment in optimizing PBKDF2 ⚠️ 🚧

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages