1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//! Ergonomic layer for PASERK operations.
//!
//! The prelude module provides convenient re-exports of all PASERK types
//! and operations for easy importing.
//!
//! # Usage
//!
//! ```rust
//! use paserk::prelude::*;
//! ```
//!
//! # Available Types
//!
//! ## Key Types
//! - [`PaserkLocal`] - Symmetric encryption key
//! - [`PaserkPublic`] - Public verification key
//! - [`PaserkSecret`] - Secret signing key
//!
//! ## Key Identifiers
//! - [`PaserkLocalId`] - Local key identifier (lid)
//! - [`PaserkPublicId`] - Public key identifier (pid)
//! - [`PaserkSecretId`] - Secret key identifier (sid)
//!
//! ## Key Wrapping
//! - [`PaserkLocalWrap`] - PIE-wrapped symmetric key
//! - [`PaserkSecretWrap`] - PIE-wrapped secret key
//! - [`PaserkLocalPw`] - Password-wrapped symmetric key
//! - [`PaserkSecretPw`] - Password-wrapped secret key
//! - [`PaserkSeal`] - PKE-encrypted symmetric key
//!
//! ## Parameters
//! - [`Argon2Params`] - Argon2id parameters for password-based wrapping
//! - Use `Argon2Params::interactive()` for fast operations
//! - Use `Argon2Params::moderate()` for balanced security
//! - Use `Argon2Params::sensitive()` for high-security operations
//!
//! ## Builders
//!
//! Fluent builder APIs for password-based key wrapping:
//!
//! - [`LocalPwBuilder`] - Builder for symmetric key wrapping
//! - [`SecretPwBuilder`] - Builder for secret key wrapping
//!
//! ```rust
//! use paserk::prelude::*;
//!
//! let key = PaserkLocal::<K4>::from([0x42u8; 32]);
//!
//! // Use preset profiles
//! let wrapped = LocalPwBuilder::<K4>::moderate()
//! .try_wrap(&key, b"password")
//! .expect("wrap should succeed");
//!
//! // Or customize parameters
//! let wrapped = LocalPwBuilder::<K4>::new()
//! .memory_kib(128 * 1024)
//! .iterations(3)
//! .try_wrap(&key, b"password")
//! .expect("wrap should succeed");
//! ```
// Re-export builders
pub use ;
// Re-export core types for convenience
pub use crate;
pub use crate;
pub use crate;
pub use crate;
// Re-export PBKW parameters
pub use crateArgon2Params;