#pkcs #password #key

no-std pkcs5

Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #5: Password-Based Cryptography Specification Version 2.1 (RFC 8018)

26 releases

Uses new Rust 2024

0.8.0 Apr 24, 2026
0.8.0-rc.13 Jan 25, 2026
0.8.0-rc.9 Nov 6, 2025
0.8.0-rc.6 Jul 10, 2025
0.0.0 Jun 12, 2020

#2961 in Cryptography

Download history 432998/week @ 2026-02-23 458051/week @ 2026-03-02 507388/week @ 2026-03-09 460194/week @ 2026-03-16 482485/week @ 2026-03-23 497084/week @ 2026-03-30 511056/week @ 2026-04-06 519201/week @ 2026-04-13 503670/week @ 2026-04-20 571373/week @ 2026-04-27 586608/week @ 2026-05-04 773460/week @ 2026-05-11 761519/week @ 2026-05-18 724121/week @ 2026-05-25 789321/week @ 2026-06-01 773822/week @ 2026-06-08

3,111,794 downloads per month
Used in 817 crates (16 directly)

Apache-2.0 OR MIT

535KB
11K SLoC

RustCrypto: PKCS#5

crate Docs Build Status Apache2/MIT licensed Rust Version Project Chat

Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #5: Password-Based Cryptography Specification Version 2.1 (RFC 8018).

Documentation

About

PKCS#5 is a standard for deriving cryptographic keys from a password using a variety of supported algorithms, and then encrypting/decrypting data (e.g. PKCS#8 private keys) using that derived key.

This crate supports deriving keys from passwords using either the scrypt or pbkdf2 algorithms.

Minimum Supported Rust Version (MSRV) Policy

MSRV increases are not considered breaking changes and can happen in patch releases.

The crate MSRV accounts for all supported targets and crate feature combinations, excluding explicitly unstable features.

License

Licensed under either of:

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~0.3–1.9MB
~37K SLoC