-
Notifications
You must be signed in to change notification settings - Fork 24
[PM-26537] Update argon2 to support parallelism via rayon #480
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
Conversation
|
Great job! No new security vulnerabilities introduced in this pull request |
Codecov Reportโ
All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #480 +/- ##
==========================================
- Coverage 78.36% 78.34% -0.03%
==========================================
Files 291 291
Lines 29343 29343
==========================================
- Hits 22994 22988 -6
- Misses 6349 6355 +6 โ View full report in Codecov by Sentry. ๐ New features to boost your workflow:
|
7dc2454 to
604011f
Compare
|
dani-garcia
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! thankfully turned out to not need a lot of changes this time.
Out of curiosity, did you check what speed up we get with a benchmark?
|
@dani-garcia When testing locally on x86_64 I got a speedup linear to the parallelism (i.e for p=4 I got a 75% reduction in derivation time). This is the benchmarks of the original PR: RustCrypto/password-hashes#547 (comment) I did not test on actual android / ios builds, but for our default KDF settings it should also result in a 75% reduction. |
โฆ argon2 to support parallelism via rayon (bitwarden/sdk-internal#480)




๐๏ธ Tracking
https://bitwarden.atlassian.net/browse/PM-26537
๐ Objective
Updates argon2 and enables the parallelism feature. This is implemented via rayon and should work out of the box on non-wasm builds.
โฐ Reminders before review
team
๐ฆฎ Reviewer guidelines
:+1:) or similar for great changes:memo:) or โน๏ธ (:information_source:) for notes or general info:question:) for questions:thinking:) or ๐ญ (:thought_balloon:) for more open inquiry that's not quite a confirmedissue and could potentially benefit from discussion
:art:) for suggestions / improvements:x:) or:warning:) for more significant problems or concerns needing attention:seedling:) or โป๏ธ (:recycle:) for future improvements or indications of technical debt:pick:) for minor or nitpick changes