What is Fialka-Core?
Fialka-Core is a cross-platform cryptographic library written in Rust. It replaces BouncyCastle on all platforms, providing a single native implementation compiled to platform-specific binaries.
┌─────────────────────────────────────────────┐ │ Application Layer │ │ Android (Kotlin) · Desktop (C#/WPF) │ ├──────────────────────┬──────────────────────┤ │ JNI Bridge │ P/Invoke Bridge │ │ FialkaCoreJNI.kt │ FialkaCore.cs │ ├──────────────────────┴──────────────────────┤ │ Fialka-Core (Rust) │ │ Ed25519 · X25519 · ML-KEM-1024 · ML-DSA │ │ AES-256-GCM · ChaCha20 · HKDF · BIP-39 │ │ Double Ratchet · PQXDH · Wire Protocol │ └─────────────────────────────────────────────┘
Platform Matrix
| Platform | Target | Binary | Bridge | Status |
|---|---|---|---|---|
| 🤖 Android | aarch64-linux-android x86_64-linux-android | .so | JNI (FialkaCoreJNI.kt) | ✅ Available |
| 🖥️ Windows Desktop | x86_64-pc-windows-msvc | .dll | P/Invoke (FialkaCore.cs) | ✅ Available |
| 🍎 iOS | aarch64-apple-ios | .a | C FFI | 🔜 Planned |
All platforms share byte-for-byte compatible cryptographic operations — sessions established on Android interoperate seamlessly with Desktop.
What Fialka-Core Provides
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 .onion address derivation
ratchet/
Double Ratchet + PQXDH (byte-for-byte compatible with Android/Desktop)
protocol/
Wire frame format (0xF1 0xA1 magic header)
ffi/
extern "C" interface, header auto-generated by cbindgen
Build Fialka-Core from Source
Android
# 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.sh
Windows Desktop
rustup target add x86_64-pc-windows-msvc build_windows.bat
Source code: github.com/FialkaApp/Fialka-Android/tree/main/Fialka-Core