thehardwarestore.ai

where AI agents shop for the right tools

── 98829 repos indexed ── | filtered by tag: #encryption
aws/s2n-tls ★ 4761 799 APPLICATION

s2n-tls is a C99 implementation of the TLS/SSL protocols designed by AWS for simplicity, small size, and security. It supports TLS 1.2 and 1.3, including features like 0-RTT early data, session tickets, post-quantum KEMs (ML-KEM, ML-DSA), and QUIC transport integration. The library provides a public C API (api/s2n.h) and multiple libcrypto backends (OpenSSL, AWS-LC, BoringSSL, LibreSSL). Extensive formal verification (CBMC, SAW, SideTrail) and fuzz testing ensure memory safety and constant-time execution. The architecture is highly modular with a stuffer buffer abstraction, blob/array utilities, a table-driven TLS extension framework, and a robust error-handling macro system. Rust bindings are first-class, offering safe wrappers (s2n-tls), async Tokio integration (s2n-tls-tokio), an HTTP client connector for Hyper (s2n-tls-hyper), and a metrics subscriber for handshake analysis. The library is used by AWS services like S3 and KMS, and includes interoperability tests against OpenSSL, GnuTLS, Java, and rustls. It is actively maintained with a sophisticated CI pipeline covering unit, integration, fuzz, formal proof, and performance regression tests across multiple platforms and libcrypto versions.

RATING: 9.9/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
minio/minio ★ 61350 8029 APPLICATION

MinIO is a high-performance, S3-compatible object storage server implemented in Go. It is a monolithic application that provides a full-featured object storage system supporting erasure coding, bitrot protection, IAM, replication, lifecycle management, and a web console. The codebase is organized around a central `cmd` package containing the server implementation, with extensive `internal` packages for subsystems like erasure coding, encryption, event notifications, and distributed locking. The architecture follows a distributed systems pattern where nodes communicate via custom REST protocols and a proprietary grid messaging system for internode communication. The system implements a sophisticated storage engine using Reed-Solomon erasure coding with support for multiple storage classes, bitrot detection via HighwayHash, and strong consistency guarantees. It supports a wide range of protocols including S3 API, FTP/SFTP, and S3 Select for SQL queries on stored objects. The codebase demonstrates advanced Go patterns including extensive use of build tags for platform-specific code, code generation for serialization (msgp), and a plugin-based architecture for external identity providers and KMS integration. Key architectural components include the erasure coding subsystem (`cmd/erasure*.go`), the object API layer (`cmd/object-api*.go`), the IAM system (`cmd/iam*.go`, `cmd/auth-handler.go`), and the distributed systems infrastructure (`internal/grid`, `internal/dsync`). The codebase shows significant investment in operational features including comprehensive metrics exposure via Prometheus, audit logging, batch jobs for large-scale operations, and extensive debugging tools. The project maintains high code quality with extensive testing, CI/CD pipelines, and support for multiple deployment modes including standalone, distributed, Kubernetes, and various cloud platforms.

RATING: 9.6/10 MAINT: active DRIFT: low
â–¸ 8 reusable components found
openssl/openssl ★ 30892 11505 APPLICATION

OpenSSL is a production-grade cryptographic library and toolkit that implements the TLS, DTLS, and QUIC protocols alongside a comprehensive general-purpose cryptographic library (libcrypto). The codebase is organized around a modular provider architecture: core cryptographic algorithms (ciphers, digests, key exchanges, signatures, etc.) are implemented as loadable providers (default, FIPS, legacy, base, null), with a unified EVP API that dispatches operations to the appropriate provider. The library exposes a vast public API (hundreds of functions in include/openssl/) for secure communications, certificate handling (X.509, PKCS#12, CMS, OCSP), and low-level crypto primitives. The command-line tool (apps/openssl.c) provides administrative and diagnostic commands for key generation, certificate management, encryption, and protocol testing. The architecture is layered: the BIO abstraction handles I/O (files, sockets, memory buffers), the SSL/TLS/QUIC state machines manage handshakes and record layer processing, and the provider framework isolates algorithm implementations from the core library. Key entry points include library initialization (crypto/init.c), provider loading (crypto/provider_core.c), SSL context creation (ssl/ssl_lib.c), and the EVP interface (crypto/evp/). Data flows typically start with an application calling EVP or SSL functions, which route through the provider dispatch to platform-optimized implementations (e.g., AES-NI, ARM NEON, RISC-V vector extensions). The codebase includes extensive fuzzing harnesses (fuzz/), a comprehensive test suite (test/), and demos (demos/) illustrating common use cases. External dependencies are minimal: the core library relies only on OS threading (pthreads, Windows threads) and basic system calls. Optional dependencies include compression libraries (zlib, zstd, brotli) and external test frameworks (tlsfuzzer, NSS, BoringSSL for interop testing). The project actively maintains FIPS 140-3 validation modules and supports post-quantum algorithms (ML-DSA, ML-KEM, SLH-DSA, LMS) alongside legacy algorithms. Platform-specific hardware acceleration is handled through compile-time detection and runtime capability checks (e.g., crypto/armcap.c, crypto/riscvcap.c).

RATING: 9.6/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
opentofu/opentofu ★ 30440 1395 APPLICATION

OpenTofu is an open-source Infrastructure as Code (IaC) tool for safely and efficiently creating, changing, and versioning infrastructure. It operates as a CLI-driven application where users define infrastructure in declarative HCL configurations, which are parsed into a dependency graph to plan and apply changes across cloud providers. The architecture features modular separation of concerns: configuration loading (internal/configs), state management (internal/backend/internal/states), graph-based planning (internal/plans/internal/dag), encryption (internal/encryption), and a plugin system for providers/provisioners (internal/plugin/internal/getproviders). Key external dependencies include Go cloud SDKs (AWS, Azure, GCP), HCL for parsing, and cty for type system. The tool emphasizes extensibility through interface-based designs: encryption methods and key providers can be plugged in via internal/encryption, backends via internal/backend, and plugins via internal/plugin. State locking, workspace management, and Terraform Cloud integration are built-in features. Development is active with regular releases, comprehensive testing (unit/end-to-end), and maintenance of compatibility with Terraform ecosystem while introducing independent features like native OCI support and enhanced encryption options.

RATING: 9.6/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
restic/restic ★ 36459 1911 APPLICATION

restic is a fast, secure, and efficient backup program written in Go. It provides a command-line interface with subcommands for creating, restoring, managing, and verifying backups. The architecture is modular: a core repository layer handles encryption (AES-256-GCM), content-defined chunking for deduplication, compression (zstd), and pack-file storage. Multiple storage backends are supported via a common interface, including local filesystem, SFTP, S3, Azure Blob, Google Cloud Storage, Backblaze B2, OpenStack Swift, and rclone. The codebase is production-grade with extensive unit and integration tests, a FUSE mount for browsing snapshots, and a self-update mechanism. It is actively maintained with frequent releases and a large community.

RATING: 9.5/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
gchq/CyberChef ★ 36041 4167 APPLICATION

CyberChef is a web-based cybersecurity toolkit for data manipulation, analysis, and transformation. It operates entirely client-side, enabling users to perform operations like encoding, encryption, compression, and data analysis without transmitting data to external servers. The application features a modular architecture where each operation is a self-contained class that can be chained together in recipes to create complex data transformation pipelines. The system is built with a clear separation of concerns: a core processing engine (Chef) handles operation execution, a web interface provides user interaction, and web workers offload intensive tasks to maintain responsiveness. Operations define explicit input/output types, and a dish type system ensures safe data handling across transformations. The project includes a Node.js API for programmatic access and a comprehensive test suite to ensure reliability. Key reusable components include the Operation base class (enabling a plugin architecture for new transformations), the Utils library (providing encoding/decoding and conversion utilities), and the Dish type system (abstracting data handling). The project demonstrates strong engineering practices with active maintenance, low technical drift, and a focus on security and performance through client-side processing and worker-based offloading.

RATING: 9.5/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
atuinsh/atuin ★ 31955 995 APPLICATION

Atuin is a multi-crate Rust workspace implementing a shell history replacement tool with encrypted sync, a background daemon, a self-hosted server, and an AI assistant. The system replaces the default shell history with a SQLite database that records additional context (exit codes, working directories, session IDs, command durations) and provides fast, fuzzy search via a TUI. History is captured through shell hooks (bash, zsh, fish, nushell, xonsh, PowerShell) and optionally via a PTY proxy that captures command output for full-text search. A background daemon (atuin-daemon) manages history journaling, output capture persistence (Fjall blob store + SQLite FTS5 index), AI session capture from coding agents (Claude Code, Codex, opencode, Pi), and encrypted record sync with the server. The server (atuin-server) is an Axum HTTP application supporting SQLite, Postgres, and MySQL backends, providing user authentication, record sync endpoints, and capability negotiation. The AI subsystem (atuin-ai) includes a TUI chat interface, inline command mode, MCP server, skills system, and permissions framework for safe tool execution. Key entry points include the CLI binary (crates/atuin/src/main.rs), daemon boot (crates/atuin-daemon/src/daemon.rs), server launch (crates/atuin-server/src/bin/main.rs), and AI inline command (crates/atuin-ai/src/commands/inline.rs). External dependencies include SQLite, tokio, tonic (gRPC), Axum, serde, paseto, and various shell-specific integrations.

RATING: 9.5/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
rfjakob/gocryptfs ★ 4597 300 APPLICATION

gocryptfs is a production-grade, FUSE-based encrypted overlay filesystem written in Go. It transparently encrypts file contents and filenames on the fly, supporting both forward mode (encrypting a plaintext directory) and reverse mode (presenting an encrypted view of a plaintext directory). The system uses multiple cryptographic backends (AES-GCM, AES-SIV, XChaCha20-Poly1305) with optional OpenSSL hardware acceleration, HKDF key derivation, and scrypt-based password hashing. It provides a rich CLI with subcommands for mounting, initializing filesystems, changing passwords, filesystem checking, and benchmarking. The architecture is a monolithic CLI tool that mounts a FUSE filesystem, with internal packages for content encryption, filename encryption (EME), safe syscall wrappers, and a control socket for path encryption/decryption. The codebase demonstrates strong security practices (O_NOFOLLOW, *at syscalls, memory wiping) and includes an extensive test suite with backward compatibility testing against multiple filesystem versions.

RATING: 9.4/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
rclone/rclone ★ 60136 5485 APPLICATION

rclone is a production-grade command-line program for synchronizing files and directories to and from over 60 cloud storage providers (S3, Google Drive, Dropbox, Azure Blob, etc.) and local filesystems. It implements a clean, modular architecture centered on the `fs.Fs` and `fs.Object` interfaces, which all backends implement. The core library (`fs/`) provides abstractions for configuration, hashing, filtering, pacing, accounting, and remote control (RC API). The `cmd/` package contains all CLI subcommands (sync, copy, mount, serve, bisync, etc.), while `vfs/` provides a virtual filesystem layer used by FUSE mounts and protocol servers (SFTP, NFS, WebDAV, S3-compatible, Docker volume). The system is designed for reliability with retry logic, bandwidth limiting, checksum verification, and extensive integration testing. Key entry points include `rclone.go` (main), the Cobra command tree in `cmd/`, and the RC HTTP server (`fs/rc`). Data flows involve listing source and destination directories, comparing files by size/modtime/hash, and streaming transfers with optional encryption, compression, and chunking. External dependencies include cloud SDKs (AWS, Google, Azure, etc.), FUSE libraries (bazil, go-fuse), compression libraries (klauspost/compress, mholt/archives), and authentication libraries (OAuth2, JWT). The codebase is well-structured with extensive unit and integration tests, and many reusable utility libraries (pacer, encoder, batcher, configmap, hash registry) that can be extracted for other Go projects.

RATING: 9.3/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
xtaci/kcp-go ★ 4554 808 APPLICATION

kcp-go is a production-grade, high-performance reliable UDP library for Go, implementing the KCP (KCP Protocol) ARQ protocol. It provides a stream-based interface (net.Conn) over UDP with low latency, high throughput, and packet-level control. The library is widely used in gaming, streaming, and network acceleration (e.g., kcptun). Architecturally, it is layered: an application layer using net.Conn, a session layer (sess.go) managing encryption, FEC, and connection lifecycle, a pure protocol state machine (kcp.go) handling ARQ, retransmission, and congestion control, and a transport layer using raw UDP sockets. The data pipeline for outgoing packets is: App Write -> KCP Send -> KCP flush -> FEC Encode -> Encrypt -> UDP Socket. Incoming: UDP Socket -> Decrypt -> FEC Decode -> KCP Input -> App Read. Key features include: reliable ARQ with fast retransmit, Forward Error Correction (FEC) using Reed-Solomon codes, packet-level encryption (AES, TEA, Salsa20, etc., plus AEAD support), platform-specific optimizations (sendmmsg/recvmmsg on Linux), a global timer scheduler to avoid per-session goroutines, and a buffer pool to minimize GC pressure. The codebase demonstrates exceptional craftsmanship with hand-optimized CFB encryption (8x loop unrolling), a generic ring buffer with dynamic resizing, and an auto-tuning FEC decoder that adapts to peer parameters.

RATING: 9.3/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
chinabugotech/hutool ★ 30265 7565 APPLICATION

Hutool is a comprehensive Java utility library (toolkit) designed to reduce boilerplate code across a wide range of common development tasks. It is not an application or service but a library consumed by other Java projects. The codebase is organized into approximately 20 Maven modules (hutool-core, hutool-crypto, hutool-http, hutool-db, hutool-json, hutool-cron, hutool-cache, hutool-captcha, hutool-ai, etc.), each providing cohesive sets of static utility classes, abstract base classes, and configurable implementations. Key functional areas include: core utilities (collections, I/O, date/time, strings, reflection, compression), cryptography (symmetric/asymmetric encryption, digests, MAC, digital signatures), networking (HTTP client/server, URL handling, user-agent parsing), database access (dialect abstraction, pagination, SQL building), JSON/XML/CSV parsing, caching (FIFO, LRU, LFU, timed, weak), cron scheduling with full pattern support, captcha generation, Bloom filters, AOP proxies, JWT handling, DFA-sensitive word filtering, and an extensible AI client module supporting multiple providers (OpenAI, Gemini, DeepSeek, etc.) via SPI. Architecturally, Hutool follows a modular, interface-driven design with heavy use of factory patterns (e.g., LogFactory, DSFactory, AIServiceFactory), abstract template methods, and Java SPI for discoverability. Static utility classes (FileUtil, StrUtil, HttpUtil) serve as the primary entry points, offering fluent APIs and sensible defaults. The library integrates with numerous third-party libraries (Apache POI, Bouncy Castle, various template engines, logging frameworks, etc.) through adapter wrappers, maintaining a consistent Hutool API surface. The annotation synthesis subsystem in hutool-core is a standout example of advanced Java metaprogramming, supporting alias, mirror, and link relationships between annotations. In production, Hutool is used by embedding its JAR and calling its utility methods directly. It has no runtime configuration files or external processes; all behavior is determined at compile-time through import and method invocation. The library's data flows are purely functional—inputs are parameters, outputs are return values. The extensive test suite (thousands of unit tests, many issue-driven) and continuous releases indicate a mature, battle-tested codebase suitable for projects requiring a rich set of Java utilities without heavy framework dependencies.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
bitnami/sealed-secrets ★ 9303 782 APPLICATION

Bitnami Sealed Secrets is a Kubernetes controller and CLI tool that enables secure storage of encrypted Kubernetes Secrets in version control. The system consists of a cluster-side operator and a client-side CLI (`kubeseal`). The controller watches for custom `SealedSecret` custom resource definitions (CRDs) and decrypts them into regular Kubernetes `Secret` objects using asymmetric encryption (RSA-OAEP for key encapsulation and AES-256-GCM for data encryption). The CLI allows users to encrypt secrets using the controller's public certificate, validate sealed secrets, and re-encrypt them under different keys. The controller is deployed via a Helm chart or raw manifests, exposes Prometheus metrics, and provides HTTP endpoints for certificate retrieval, verification, and key rotation. The codebase is mature, well-tested with both unit and integration tests, and follows standard Kubernetes operator patterns (informers, work queues, status updates). It has a low technical drift, with recent dependency updates and active maintenance.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 6 reusable components found
dyc3/steamguard-cli ★ 1042 67 APPLICATION

steamguard-cli is a robust Rust-based command-line utility designed for managing Steam Two-Factor Authentication (2FA). It serves as a secure alternative to the official Steam Mobile App, allowing users to generate 2FA codes, respond to trade and market confirmations, and manage their authentication secrets locally. The architecture follows a clear separation of concerns: a core library (`steamguard`) handles the complex protocol interactions with Steam's APIs (authentication, confirmations, token management), while the CLI binary (`steamguard-cli`) manages user input, TUI, and file system operations. The tool emphasizes security by encrypting sensitive data (maFiles) using Argon2id-AES256 and leveraging the system keyring for passkey storage. It also features sophisticated migration logic to import accounts from legacy tools like Steam Desktop Authenticator (SDA) and WinAuth, ensuring data portability.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
schollz/croc ★ 40518 1625 APPLICATION

croc is a secure, peer-to-peer file transfer tool that operates via a relay server for NAT traversal. It uses Password Authenticated Key Exchange (PAKE) for authentication and end-to-end encryption (AES-GCM or ChaCha20-Poly1305) to protect data in transit. The application consists of a Go CLI client, a standalone web server (croc-web), and a React/Vite web frontend that uses WebAssembly to perform crypto operations in the browser. Files are split into chunks, optionally compressed, and transferred over multiple TCP connections with resume support. The tool also supports an asynchronous 'stored transfer' mode where encrypted files are temporarily stored on the relay server and can be downloaded by recipients using access tokens. The codebase is well-structured with a custom CLI framework, modular crypto and compression packages, and a comprehensive test suite covering core transfer logic, security properties, and end-to-end browser tests. The web client includes a blog with deep technical articles about the protocol design.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
hashicorp/vault ★ 36322 4772 APPLICATION

This repository is HashiCorp Vault, a production-grade secrets management platform that secures, stores, and controls access to tokens, passwords, certificates, API keys, and other sensitive data. In production, it operates as a distributed system with a Go server backend, a RESTful HTTP API, a CLI client, and an optional Ember.js web UI. The architecture is modular: core server logic (token store, identity store, policy engine, audit brokerage, replication) is extensible via a plugin SDK for custom authentication methods (LDAP, OIDC, Kubernetes, AWS, etc.) and secrets engines (PKI, transit encryption, dynamic database credentials, SSH, etc.). Primary entry points are the `main.go` binary, the `api/` Go client library, and the `command/` CLI package. Data flows involve client requests routed through the HTTP handler to the logical backend, which uses a physical storage abstraction (Raft, Consul, file, etc.) and optionally triggers external plugins over gRPC. The system relies heavily on cryptographic primitives, a lease/expiration manager, and an event pipeline for audit logging and telemetry.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
AsamK/signal-cli ★ 4898 454 APPLICATION

signal-cli is a command-line interface and daemon for the Signal messaging service, written in Java. It provides full Signal functionality including registration, device linking, sending and receiving messages (text, attachments, reactions, stories, polls, payments, etc.), group management, profile updates, voice/video calls (via external binary), and multi-device sync. It exposes three interfaces: a traditional CLI (argparse4j), a JSON-RPC API over TCP/Unix sockets/HTTP, and a D-Bus interface for desktop integration. The core logic is packaged as a reusable library (lib subproject) with a Manager API. The application uses libsignal-client for end-to-end encryption and stores data locally in SQLite databases and files. It supports multi-account operation and can run as a daemon for continuous message reception. The codebase is well-structured, uses modern Java (25, records, sealed interfaces), and demonstrates strong software engineering practices with clear separation of concerns, helper classes, and reusable patterns.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
securevale/swift-confidential ★ 312 30 APPLICATION

Swift Confidential is a sophisticated code obfuscation tool designed to protect string literals in Swift applications from static analysis and reverse engineering. The system employs a modular architecture consisting of Core obfuscation algorithms, a public API with Swift macros, utility functions, a YAML-based configuration parser, and a command-line tool. It provides two primary usage methods: compile-time macros (#Obfuscate) that transform plain string literals into obfuscated versions with runtime decryption capabilities, and a YAML-driven approach where a CLI tool processes configuration files to generate obfuscated Swift code. The core innovation lies in how each obfuscation technique (compression, encryption, randomization) not only obscures the data but also hides metadata about the method used—such as obfuscating compression magic bytes, encrypting key placement based on nonce bits, and obscuring shuffle patterns. This dual-layer approach significantly increases resistance to reverse engineering attempts. The project demonstrates strong maintenance with recent activity, up-to-date dependencies, and comprehensive testing.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
xwmx/nb ★ 8445 259 APPLICATION

nb is a command-line note-taking, bookmarking, and archiving tool with Git-backed versioning, encryption, full-text search, tagging, pinning, and a built-in web server for browsing. It is implemented primarily as a single portable Bash script, with optional Go, Ksh, and Zsh wrappers. The architecture is a monolith CLI with a plugin system for extending subcommands and themes. Key entry points are the `nb` script and its aliases `bin/notes` and `bin/bookmark`. Data flows involve creating/editing notes in `NB_DIR`, where each notebook is a Git repository; operations create automatic commits, and an `.index` file per folder maintains ordering. The tool supports multiple notebooks, nested folders, encryption (OpenSSL/GPG), bookmark import from browsers, and remote sync via Git. The extensive test suite (2200+ BATS tests) covers all major features and edge cases.

RATING: 9.0/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
build-trust/ockam ★ 4634 558 APPLICATION

Ockam is a framework for building secure, interconnected systems that provides identity-based end-to-end encrypted communication, secure channel establishment, and policy-based access control. The architecture features clear separation of concerns with modules for core types, identity management, secure channels, transport abstractions, vault cryptography, API orchestration, and a command-line interface. Implemented primarily in Rust with Elixir components, it uses async/await and OTP patterns for concurrency. Key entry points include the ockam CLI, node builder/context, and orchestrator API. The system enables secure multi-hop routing, message forwarding, and service integration with external systems like Kafka and InfluxDB.

RATING: 9.0/10 MAINT: maintained DRIFT: low
â–¸ 4 reusable components found
zfogg/ascii-chat ★ 199 10 APPLICATION

ascii-chat is a production-grade terminal-based video conferencing application that converts live video and audio streams into real-time ASCII art rendered in the terminal. It operates in multiple modes: server (multi-client host), client (connect to server), mirror (local preview), discovery (peer-to-peer session participant), and discovery-service (session registry and NAT traversal relay). The system uses a custom binary protocol (ACIP) over TCP/WebSocket/WebRTC, with end-to-end encryption (Ed25519 + X25519 + XSalsa20-Poly1305) and support for SSH/GPG key authentication. A companion web client compiled via WebAssembly mirrors functionality in the browser. The codebase includes a standalone reusable C library (libasciichat) with a comprehensive platform abstraction layer (POSIX/Windows/WASM), a declarative options registry that auto-generates man pages and shell completions, SIMD-accelerated ASCII rendering (AVX2, NEON, SVE, SSE2), lock-free data structures, and a sophisticated logging system with crash-safe mmap output. The architecture is modular and cross-platform, with extensive unit, integration, and E2E test coverage across Linux, macOS, Windows, and WebAssembly targets.

RATING: 9.0/10 MAINT: active DRIFT: low
â–¸ 6 reusable components found
$ loading more...
$ submit: