v0.1.0
Initial release of M-Security, a native Rust cryptographic SDK for Flutter.
Added
- AES-256-GCM authenticated encryption with 32-byte keys, 12-byte auto-generated nonces, and 16-byte authentication tags.
- ChaCha20-Poly1305 authenticated encryption optimized for mobile processors lacking dedicated AES hardware.
- Unified
CipherHandleinterface for both ciphers (create, encrypt, decrypt, generate key). Output format:nonce || ciphertext || tag. - BLAKE3 hashing with one-shot and streaming APIs via
HasherHandle. - SHA-3-256 (Keccak) hashing with one-shot and streaming APIs.
- Argon2id password hashing with Mobile (64 MiB, t=3, p=4) and Desktop (256 MiB, t=4, p=8) presets, automatic salt generation, and PHC string output.
- HKDF-SHA256 key derivation (RFC 5869) with
derive,extract, andexpandoperations. Output range: 1-8160 bytes. - Secure memory management with
ZeroizeOnDropon all key-holding structs. - Opaque
#[frb(opaque)]handles ensuring raw keys never cross the FFI boundary. - Internal nonce generation via
OsRng; callers never handle nonces. - CI pipeline with Rust linting/testing, Dart analysis, and platform builds (Android, iOS, Linux).
- Integration tests for all cryptographic operations.
- Platform support: Android (ARM64, ARM32), iOS (ARM64, Simulator), macOS (ARM64, Intel), Linux (x86_64), Windows (x86_64).