rift-core 0.1.4

Core types, identity, cryptography, and invites for the Rift P2P protocol
Documentation

rift-core


Part of the riftd project — serverless P2P voice + text chat over UDP.

What's in this crate?

rift-core provides the foundational building blocks used by all other rift crates:

  • Identity — Ed25519 keypair generation and management
  • PeerId — Unique peer identifiers derived from public keys
  • Key Exchange — X25519 for establishing shared secrets
  • Noise Protocol — Session establishment helpers
  • Invites — Token generation and parsing for peer discovery
  • Key Derivation — HKDF-based key derivation utilities

Usage

use rift_core::{Identity, PeerId};

// Generate a new identity
let identity = Identity::generate();
let peer_id = identity.peer_id();

// Or load from disk
let identity = Identity::load_or_generate()?;

Related Crates

Crate Description
rift-protocol Wire protocol and message types
rift-mesh Mesh networking and E2EE
rift-sdk High-level SDK

Citation

If you use riftd in academic work, please cite:

de Beer, R. (2026). Predictive Rendezvous: Time–Intent–Deterministic Peer Coordination Without Infrastructure. Zenodo. https://doi.org/10.5281/zenodo.18528430

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.