Skip to main content

Module api

Module api 

Source
Expand description

Phantom Universal Transport Core - Public API

Post-quantum secure transport layer with:

  • Hybrid key exchange (X25519 + Kyber768)
  • Hybrid signatures (Ed25519 + Dilithium3)
  • Multi-path transport (KCP, TCP, FakeTLS)
  • Connection migration and fallback

§Quick Start

use phantom_protocol::transport::api::*;

// Server
let server = PhantomListener::bind("0.0.0.0:8080").await?;
while let Ok(session) = server.accept().await {
    // Session established with PQC keys
    session.send(b"Hello, Phantom!").await?;
}

// Client
let session = PhantomClient::connect("server:8080").await?;
let data = session.recv().await?;

Re-exports§

pub use crate::transport::scheduler::Scheduler;
pub use crate::transport::session::CryptoState;
pub use crate::transport::session::Session;
pub use crate::transport::stream::Stream;
pub use crate::transport::types::LegType;
pub use crate::transport::types::PacketFlags;
pub use crate::transport::types::PacketHeader;
pub use crate::transport::types::SchedulerMode;
pub use crate::transport::types::SessionId;
pub use crate::transport::handshake::ClientHello;
pub use crate::transport::handshake::HandshakeClient;
pub use crate::transport::handshake::HandshakeError;
pub use crate::transport::handshake::HandshakeServer;
pub use crate::transport::handshake::ServerHello;
pub use crate::crypto::hybrid_kem::HybridCiphertext;
pub use crate::crypto::hybrid_kem::HybridKeyPackage;
pub use crate::crypto::hybrid_kem::HybridSecretKey;
pub use crate::crypto::hybrid_sign::HybridSignError;
pub use crate::crypto::hybrid_sign::HybridSignature;
pub use crate::crypto::hybrid_sign::HybridSigningKey;
pub use crate::crypto::hybrid_sign::HybridVerifyingKey;

Structs§

PhantomBuilder
Builder for establishing Phantom connections
TransportConfig
Configuration for Phantom transport