flutter_ever_crypto 0.1.0
flutter_ever_crypto: ^0.1.0 copied to clipboard
Flutter plugin for Ever Crypto - XChaCha20Poly1305 and Kyber1024 post-quantum cryptography
Changelog #
All notable changes to the Flutter Ever Crypto plugin will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.0 - 2024-07-05 #
Added #
- Initial release of Flutter Ever Crypto plugin
- XChaCha20Poly1305 authenticated encryption with extended nonce support
generateXChaChaKey()
- Generate 256-bit keysgenerateXChaChaNonce()
- Generate 192-bit noncesxchachaEncrypt()
- Encrypt data with optional AADxchachaDecrypt()
- Decrypt data with optional AAD
- Kyber1024 post-quantum key encapsulation mechanism
generateKyberKeyPair()
- Generate 1024-bit key pairskyberEncapsulate()
- Encapsulate shared secretskyberDecapsulate()
- Decapsulate shared secrets
- FFI bindings for Rust ever-crypto library v0.1.0
- Cross-platform support (Android, iOS, Linux, macOS, Windows)
- Comprehensive test suite with unit and integration tests
- Memory-safe operations with automatic cleanup
- Proper error handling with
EverCryptoException
- Complete example application demonstrating all features
- Hybrid encryption examples combining Kyber1024 + XChaCha20Poly1305
Technical Details #
- Built on ever-crypto Rust library (published on crates.io)
- Uses chacha20poly1305 v0.10.1 for authenticated encryption
- Uses pqcrypto-kyber v0.8.1 for post-quantum cryptography
- FFI bridge with C-compatible functions
- Automatic memory management and secure cleanup
- Support for Additional Authenticated Data (AAD)
Security Features #
- Post-quantum cryptography ready (Kyber1024)
- Authenticated encryption prevents tampering
- Extended nonce prevents reuse issues
- Secure random number generation
- Memory zeroization for sensitive data
- Type-safe API prevents misuse
Performance #
- Optimized for both software and hardware implementations
- ~7 MB/s XChaCha20Poly1305 encryption/decryption
- ~0.4ms Kyber1024 key generation
- ~0.4-0.5ms Kyber1024 encapsulation/decapsulation
Documentation #
- Comprehensive README with usage examples
- API documentation for all functions
- Security considerations and best practices
- Build instructions for all platforms
- Integration examples for real-world usage
[Unreleased] #
Planned #
- Publish to pub.dev
- CI/CD pipeline for automated testing
- Additional platform targets
- Performance optimizations
- Extended documentation