5 releases
| 0.1.4 | Feb 11, 2026 |
|---|---|
| 0.1.3 | Feb 11, 2026 |
| 0.1.2 | Feb 11, 2026 |
| 0.1.1 | Feb 10, 2026 |
| 0.1.0 | Feb 10, 2026 |
#1520 in Cryptography
26 downloads per month
Used in 11 crates
(10 directly)
28KB
454 lines
rift-core
Core types, identity, cryptography, and invites for the riftd P2P protocol.
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.
Dependencies
~7–18MB
~196K SLoC