Mountain/IPC/Encryption/mod.rs
1//! # Encryption Module (IPC)
2//!
3//! ## RESPONSIBILITIES
4//! This module provides message compression and secure channel encryption for
5//! IPC operations. It optimizes message transfer through compression and
6//! ensures message confidentiality through AES-256-GCM encryption.
7//!
8//! ## ARCHITECTURAL ROLE
9//! This module is part of the security and performance layer in the IPC
10//! architecture, providing compression for efficiency and encryption for
11//! confidentiality.
12//!
13//! ## KEY COMPONENTS
14//!
15//! - **MessageCompressor**: Gzip compression for efficient message transfer
16//! - **SecureMessageChannel**: AES-256-GCM encryption for secure communication
17//!
18//! ## ERROR HANDLING
19//! All operations return Result types with descriptive error messages for
20//! compression/encryption failures.
21//!
22//! ## LOGGING
23//! Debug-level logging for compression ratios, error for failures.
24//!
25//! ## PERFORMANCE CONSIDERATIONS
26//! - Compression level 6 provides good balance between speed and ratio
27//! - Batch size 10 aggregates small messages for efficiency
28//! - AES-256-GCM provides hardware-accelerated encryption on modern CPUs
29//!
30//! ## TODO
31//! - Add compression algorithm selection
32//! - Implement compression ratio optimization
33//! - Add encryption key rotation
34//! - Implement message authentication codes
35
36pub mod MessageCompressor;
37pub mod SecureChannel;
38
39// Note: Consumers should use Encryption::MessageCompressor::MessageCompressor
40// This avoids naming conflicts between module name and type name