#storage #messaging #decentralized #p2p #privacy

firecloud-crypto

Encryption and key management for FireCloud distributed storage

2 unstable releases

0.2.0 Jan 30, 2026
0.1.0 Jan 29, 2026

#2280 in Cryptography


Used in 2 crates

MIT/Apache

33KB
584 lines

firecloud-crypto

Encryption and key management for the FireCloud distributed storage system.

Overview

Provides cryptographic primitives for secure file sharing and messaging:

  • Key generation: Ed25519 identity keys, X25519 encryption keys
  • Encryption: ChaCha20-Poly1305 AEAD cipher
  • Key derivation: Argon2 password hashing
  • Key exchange: X25519 Diffie-Hellman

Usage

use firecloud_crypto::{KeyPair, encrypt_data, decrypt_data};

// Generate identity keypair
let keypair = KeyPair::generate();

// Encrypt data
let ciphertext = encrypt_data(&plaintext, &recipient_pubkey)?;

Features

  • Memory-safe key handling with zeroize
  • Modern cryptographic algorithms
  • Random key generation with rand

Security

This crate uses well-audited cryptographic libraries:

  • chacha20poly1305 for authenticated encryption
  • ed25519-dalek for signatures
  • x25519-dalek for key exchange
  • blake3 for hashing
  • argon2 for password derivation

License

Licensed under either of:

at your option.

Dependencies

~6–8.5MB
~167K SLoC