Skip to content

v0.1.0

Choose a tag to compare

@Adel2411 Adel2411 released this 06 Mar 16:24
· 227 commits to main since this release
935076e

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 CipherHandle interface 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, and expand operations. Output range: 1-8160 bytes.
  • Secure memory management with ZeroizeOnDrop on 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).