Skip to content

Add impls for kdf::{Kdf, Pbkdf}#823

Merged
tarcieri merged 1 commit intomasterfrom
kdf-traits
Jan 20, 2026
Merged

Add impls for kdf::{Kdf, Pbkdf}#823
tarcieri merged 1 commit intomasterfrom
kdf-traits

Conversation

@tarcieri
Copy link
Copy Markdown
Member

For the password hash algorithms that already have a struct where we can impl traits (i.e. any with a password-hash/phc/mcf feature) adds feature-gated impls of the traits from the new kdf crate.

The Kdf trait provides a generic API, and Pbkdf is a marker trait for password-based KDFs where a password can be used as a secret input.

@tarcieri tarcieri force-pushed the kdf-traits branch 3 times, most recently from a33cccc to 6c9dc9d Compare January 20, 2026 22:55
For the password hash algorithms that already have a `struct` where we
can impl traits (i.e. any with a `password-hash`/`phc`/`mcf` feature)
adds feature-gated impls of the traits from the new `kdf` crate.

The `Kdf` trait provides a generic API, and `Pbkdf` is a marker trait
for password-based KDFs where a password can be used as a secret input.
@tarcieri tarcieri merged commit 2cfdb6f into master Jan 20, 2026
69 checks passed
@tarcieri tarcieri deleted the kdf-traits branch January 20, 2026 23:12
@tarcieri tarcieri mentioned this pull request Apr 20, 2026
tarcieri added a commit that referenced this pull request Apr 21, 2026
## Added
- Customizable `Params` for `Pbkdf2` type (#79])
- Modular Crypt Format (MCF) support (#806, #808)
- `alloc` feature (#816)
- `kdf::{Kdf, Pbkdf}` implementations (#823)

## Changed
- Bump edition to 2024; MSRV 1.85 (#563)
- Use `EagerHash` in bounds (#592)
- Use `phc` crate for PHC hash types (#761)
- Rename `simple` features to `phc` (#776)
- Have `Pbkdf2::new` take algorithm/params args (#805)
- Fallible `Params` constructors (#810)
- Bump `password-hash` dependency to v0.6 (#848)
- Bump `digest` dependency to v0.11 (#849)
- Use 210,000 iterations for PBKDF2-HMAC-SHA512 per OWASP (#857)
- Bump `hmac` dependency to v0.13 (#870)
- Bump `sha2` to v0.11 (#872)

## Removed
- `parallel` crate feature (#702)
- `std` feature (#760)
- `sha1` feature (#853)
- `Sync` bounds (#876)
@tarcieri tarcieri mentioned this pull request Apr 21, 2026
tarcieri added a commit that referenced this pull request Apr 22, 2026
## Added
- Implement `PartialEq` for `scrypt::Params` (#490)
- `Params::n` method (#544)
- `parallel` feature using `rayon` (#733, #785)
- `mcf` feature for Modular Crypt Format support (#781, #806)
- SSE2/simd128 `RoMix` data layout optimization (#622)
- Customizable `Params` for `Scrypt` type (#797)
- Implement `kdf::{Kdf, Pbkdf}` for `Scrypt` (#823)

## Changed
- Make methods of `scrypt::Params` into `const fn` (#508)
- Bump edition to 2024; MSRV 1.85 (#563)
- Split `Params::new` and `Params::new_with_output_len` (#602)
- Use the `phc` crate for `PasswordHash` and related types (#761)
- Switch from `std::error::Error` to `core::error::Error` (#767)
- Rename `simple` feature to `phc` (#776)
- Migrate from `subtle` to `ctutils` (#845)
- Bump `password-hash` dependency to v0.6 (#848)
- Bump `sha2` to v0.11 (#872)
- Bump `salsa20` dependency to v0.11 (#875)
- Bump `pbkdf2` dependency to v0.13 (#885)

## Removed
- `Display` and `FromStr` impls for `Params` (#824)
- Incorrect `N` upper-bound check from `Params::new` (#867)
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

Successfully merging this pull request may close these issues.

1 participant