corevpn-crypto

Crates.iocorevpn-crypto
lib.rscorevpn-crypto
version0.1.0
created_at2026-01-02 17:02:12.748739+00
updated_at2026-01-02 17:02:12.748739+00
descriptionCryptographic primitives for CoreVPN - secure key exchange, encryption, and certificate handling
homepagehttps://pegasusheavy.github.io/corevpn/
repositoryhttps://github.com/pegasusheavy/corevpn
max_upload_size
id2018883
size114,341
Joseph R. Quinn (quinnjr)

documentation

README

corevpn-crypto

Crates.io Documentation License

Cryptographic primitives for CoreVPN - secure key exchange, encryption, and certificate handling.

Features

  • Key Exchange: X25519 Diffie-Hellman for perfect forward secrecy
  • Encryption: ChaCha20-Poly1305 and AES-256-GCM AEAD ciphers
  • Signatures: Ed25519 digital signatures
  • Certificates: X.509 certificate generation and validation
  • Key Derivation: HKDF-based key derivation
  • HMAC Authentication: OpenVPN-compatible tls-auth
  • Secure Memory: Zeroization of sensitive data

Usage

use corevpn_crypto::{CipherSuite, KeyMaterial, CertificateAuthority};

// Generate a Certificate Authority
let ca = CertificateAuthority::generate("My VPN CA", 3650)?;

// Generate server certificate
let (server_cert, server_key) = ca.generate_server_cert("vpn.example.com", 365)?;

// Generate client certificate
let (client_cert, client_key) = ca.generate_client_cert("user@example.com", 90)?;

// Create cipher suite for data channel
let cipher = CipherSuite::new_chacha20_poly1305(&key_material)?;
let encrypted = cipher.encrypt(&plaintext)?;

Security

This crate uses only audited, pure-Rust cryptographic implementations:

  • x25519-dalek / ed25519-dalek for Curve25519 operations
  • chacha20poly1305 / aes-gcm for AEAD encryption
  • ring for additional cryptographic primitives
  • zeroize for secure memory handling

License

Licensed under either of:

at your option.

Commit count: 0

cargo fmt