Cross-platform cryptographic core for the Fialka secure messaging system.
Replaces BouncyCastle on all platforms via a single Rust library compiled to native code:
| Platform | Target | Bridge |
|---|---|---|
| Android | aarch64-linux-android .so |
JNI (FialkaCoreJNI.kt) |
| Desktop (Windows) | x86_64-pc-windows-msvc .dll |
P/Invoke (FialkaCore.cs) |
| iOS (future) | aarch64-apple-ios .a |
C FFI |
- crypto/ — Ed25519, X25519, ML-KEM-1024, ML-DSA-44, AES-256-GCM, ChaCha20-Poly1305, HKDF
- identity/ — Seed (24 BIP-39 words) → all key pairs + Tor v3
.onionaddress - ratchet/ — Double Ratchet + PQXDH (byte-for-byte compatible with Android/Desktop)
- protocol/ — Wire frame format (
0xF1 0xA1magic header) - ffi/ —
extern "C"interface, header auto-generated bycbindgen
# Install prerequisites
cargo install cargo-ndk
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android
# Build .so for all ABIs
./build_android.shrustup target add x86_64-pc-windows-msvc
build_windows.batGPL-3.0 — see LICENSE