# voided-core
Core cryptographic primitives for the Voided encryption library.
## Features
- **AES-256-GCM** - Authenticated encryption
- **ChaCha20-Poly1305** - Alternative AEAD cipher
- **Ed25519** - Digital signatures
- **ECDSA (P-256)** - Elliptic curve signatures
- **RSA** - RSA encryption/signing
- **SHA-256/512, BLAKE2** - Hashing
- **Brotli/Gzip** - Compression
- **HKDF, PBKDF2** - Key derivation
## Installation
```toml
[dependencies]
voided-core = "0.1"
```
## Usage
```rust
use voided_core::encryption::{encrypt, decrypt, EncryptionAlgorithm};
use voided_core::hash::{hash_hex, HashAlgorithm};
// Encrypt data
let key = voided_core::util::random_bytes(32);
let plaintext = b"Hello, World!";
let result = encrypt(plaintext, &key, EncryptionAlgorithm::Aes256Gcm, None).unwrap();
// Decrypt data
let decrypted = decrypt(&result.ciphertext, &key, &result.iv, EncryptionAlgorithm::Aes256Gcm, None).unwrap();
// Hash data
let hash = hash_hex(b"data", HashAlgorithm::Sha256);
```
## Feature Flags
- `backend` (default) - Full feature set for server use
- `browser` - Browser-compatible subset for WASM
- `compression` - Brotli/Gzip compression
- `signing` - Digital signature support (Ed25519, ECDSA, RSA)
## License
MIT