A Rust implementation of TLS 1.2 with support for NIST P-256 ECDHE and chacha20-poly1305.
Suruga is a Rust implementation of the TLS 1.2 protocol, enabling secure encrypted communication over TCP connections. It provides core cryptographic features like NIST P-256 ECDHE and chacha20-poly1305 to establish secure client-server sessions. The project focuses on implementing essential parts of the TLS standard in a memory-safe language.
Rust developers and systems programmers who need to integrate TLS 1.2 functionality into their applications without relying on external C libraries.
Developers choose Suruga for its pure Rust implementation, which offers memory safety and modern cryptographic support like chacha20-poly1305, making it a lightweight alternative to larger TLS libraries.
[INACTIVE] TLS 1.2 implementation in Rust
Built entirely in Rust, it leverages memory safety to reduce vulnerabilities common in C-based TLS libraries, as highlighted in its focus on security.
Implements chacha20-poly1305 for authenticated encryption and NIST P-256 ECDHE for forward secrecy, offering performance benefits in certain contexts.
The README demonstrates a straightforward Rust API for creating TLS clients with minimal code, easing integration for basic use cases.
Emphasizes core cryptographic components, avoiding bloat and making it suitable for experimental or resource-constrained projects.
The README states it 'implements some core parts,' indicating gaps in the TLS 1.2 specification that could lead to compatibility or security issues.
Limited to TLS 1.2, missing modern features like improved handshake efficiency and enhanced security protocols, which are now industry standards.
Only client-side functionality is shown, with no evident server implementation, restricting its use in full-stack or peer-to-peer applications.
Lacks detailed guides, API references, and error handling examples beyond the basic snippet, increasing the learning curve for debugging or advanced usage.
A modern TLS library in Rust
A modern TLS library in Rust
the official Rust and C implementations of the BLAKE3 cryptographic hash function
Orchestrate end-to-end encryption, cryptographic identities, mutual authentication, and authorization policies between distributed applications – at massive scale.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.