libchat/core/double-ratchets
kaichao 94935c28fe
refactor: remove FFI interfaces from double ratchets (#84)
* chore: remove ffi from double ratchet

* chore: update doc

* chore: format
2026-04-16 23:26:19 +08:00
..

Double Ratchet

This library provides an implementation of the Double Ratchet algorithm.

Usage

let shared_secret = [42u8; 32];
let bob_dh = DhKeyPair::generate();

let mut alice = RatchetState::init_sender(shared_secret, bob_dh.public);
let mut bob = RatchetState::init_receiver(shared_secret, bob_dh);

let (ciphertext, header) = alice.encrypt_message(b"Hello Bob!");
let plaintext = bob.decrypt_message(&ciphertext, header);

Run examples,

cargo run --example double_ratchet_basic

cargo run --example storage_demo --features storage
cargo run --example storage_demo --features sqlcipher