🦀 Fialka-Core

Platform Support

Cross-platform cryptographic core — Fialka-Core (Rust) powers the same algorithms on every platform.

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