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§
- Phantom
Builder - Builder for establishing Phantom connections
- Transport
Config - Configuration for Phantom transport