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
// rose-squared-sdk — Privacy-Preserving Search SDK
//
// Implements:
// • RO(SE)² (IEEE Trans. Computers, Jan 2025) — O(1) search, Forward +
// Backward Security Type-II, crash-robust trapdoor generation.
// • SWiSSSE (PoPETS 2024) — system-wide volume leakage suppression via
// padded read/write batches of constant size N_max.
//
// Crate layout:
// crypto/ — primitives, KDF (Argon2id+HKDF), AEAD (AES-256-GCM)
// client/ — KeywordState, TrapdoorEngine, UpdateEngine
// server/ — EncryptedStore trait + in-memory MockStore
// protocol/ — SearchProtocol, SWiSSSE volume padding
// vault.rs — PrivacyVault: the public API
//
// WASM notes:
// Build with: wasm-pack build --target web --features wasm
// The `wasm` feature gates wasm-bindgen glue in src/wasm/bindings.rs.
//! # Rose Squared SDK
//!
//! A privacy-preserving search SDK implementing RO(SE)² and SWiSSSE.
/// Cryptographic primitives and AEAD wrappers.
/// Client-side state management and update engines.
/// Server-side EDB abstractions and mock stores.
/// Protocol implementations for search and volume padding.
/// Error types for the SDK.
/// High-level PrivacyVault API.
// Conditionally compile the wasm module.
// Re-export the primary entry point.
pub use PrivacyVault;
pub use VaultError;
pub use VolumeConfig;
pub use ;