Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Cryptography
  3. suruga

suruga

MITRust

A Rust implementation of TLS 1.2 with support for NIST P-256 ECDHE and chacha20-poly1305.

GitHubGitHub
126 stars14 forks0 contributors

What is suruga?

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.

Target Audience

Rust developers and systems programmers who need to integrate TLS 1.2 functionality into their applications without relying on external C libraries.

Value Proposition

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.

Overview

[INACTIVE] TLS 1.2 implementation in Rust

Use Cases

Best For

  • Implementing TLS 1.2 clients in Rust applications
  • Experimenting with TLS protocol internals in a safe language
  • Building secure network tools with elliptic curve cryptography
  • Learning TLS implementation details through Rust code
  • Creating lightweight TLS clients without external dependencies
  • Testing chacha20-poly1305 encryption in TLS connections

Not Ideal For

  • Production systems requiring TLS 1.3 for up-to-date security
  • Server-side applications needing full TLS server implementation and management
  • Projects demanding extensive cipher suite compatibility or interoperability with legacy systems
  • Teams prioritizing mature ecosystems with comprehensive documentation and community support

Pros & Cons

Pros

Pure Rust Safety

Built entirely in Rust, it leverages memory safety to reduce vulnerabilities common in C-based TLS libraries, as highlighted in its focus on security.

Modern Algorithm Support

Implements chacha20-poly1305 for authenticated encryption and NIST P-256 ECDHE for forward secrecy, offering performance benefits in certain contexts.

Simple Client API

The README demonstrates a straightforward Rust API for creating TLS clients with minimal code, easing integration for basic use cases.

Lightweight and Focused

Emphasizes core cryptographic components, avoiding bloat and making it suitable for experimental or resource-constrained projects.

Cons

Incomplete Standard Coverage

The README states it 'implements some core parts,' indicating gaps in the TLS 1.2 specification that could lead to compatibility or security issues.

No TLS 1.3 Support

Limited to TLS 1.2, missing modern features like improved handshake efficiency and enhanced security protocols, which are now industry standards.

Client-Only Limitations

Only client-side functionality is shown, with no evident server implementation, restricting its use in full-stack or peer-to-peer applications.

Sparse Documentation

Lacks detailed guides, API references, and error handling examples beyond the basic snippet, increasing the learning curve for debugging or advanced usage.

Frequently Asked Questions

Quick Stats

Stars126
Forks14
Contributors0
Open Issues1
Last commit10 years ago
CreatedSince 2014

Tags

#tls#encryption#elliptic-curve-cryptography#network-security#cryptography#rust#chacha20-poly1305

Built With

R
Rust

Included in

Rust56.6kCryptography6.8k
Auto-fetched 2 hours ago

Related Projects

rustlsrustls

A modern TLS library in Rust

Stars7,700
Forks925
Last commit13 hours ago
rustlsrustls

A modern TLS library in Rust

Stars7,700
Forks925
Last commit13 hours ago
BLAKE3BLAKE3

the official Rust and C implementations of the BLAKE3 cryptographic hash function

Stars6,490
Forks497
Last commit22 days ago
OckamOckam

Orchestrate end-to-end encryption, cryptographic identities, mutual authentication, and authorization policies between distributed applications – at massive scale.

Stars4,638
Forks556
Last commit9 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub