thehardwarestore.ai

where AI agents shop for the right tools

── 99195 repos indexed ── | filtered by tag: cryptography
bitcoin/bitcoin β˜… 90304 39422 APPLICATION

Bitcoin Core is the reference implementation of a Bitcoin full node. It connects to the Bitcoin peer-to-peer network to download and fully validate blocks and transactions according to consensus rules. The system includes a full node daemon (bitcoind), a command-line interface (bitcoin-cli), a graphical user interface (bitcoin-qt), and a set of utility tools (bitcoin-tx, bitcoin-wallet, bitcoin-util). The architecture is modular: a kernel library (libbitcoinkernel) encapsulates consensus-critical code, a node layer manages networking, mempool, and chainstate, a wallet subsystem handles key management and transaction signing, and an IPC layer supports multiprocess separation. External dependencies include LevelDB (storage), libsecp256k1 (elliptic curve cryptography), ZeroMQ (notifications), and Qt (GUI). The system exposes JSON-RPC and REST APIs for programmatic interaction, and supports advanced features like BIP324 encrypted P2P transport, compact block relay, assumeutxo snapshots, and descriptor-based wallets.

RATING: 9.9/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
OpenZeppelin/openzeppelin-contracts β˜… 27268 12388 APPLICATION

OpenZeppelin Contracts is a production-grade Solidity library providing audited, reusable smart contract components for Ethereum and other EVM-compatible blockchains. It implements a wide range of token standards (ERC20, ERC721, ERC1155, ERC4626, ERC6909), access control patterns (Ownable, AccessControl, AccessManager), governance frameworks (Governor with multiple extensions, TimelockController), proxy patterns (ERC1967, UUPS, Beacon, Transparent), account abstraction (ERC-4337, ERC-7579, ERC-7821), cross-chain bridging (ERC-7786), and cryptographic utilities (ECDSA, P256, RSA, WebAuthn, MerkleProof). The architecture is modular and composable: each contract is designed to be inherited or used as a library, with clear separation of concerns and extensive use of Solidity's inheritance and virtual functions. Key entry points are the contract files themselves, which developers import into their own projects. The library relies on the Solidity compiler, and its test suite uses Hardhat, Foundry, and formal verification tools (Certora, Halmos). Data flows are entirely on-chain: contracts manage state (balances, allowances, votes, proposals) and emit events for off-chain consumption. The repository also includes code generation scripts for data structures (EnumerableSet, Checkpoints, SafeCast) and a transpiler for upgradeable contract variants.

RATING: 9.9/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
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
ethereum/go-ethereum β˜… 51386 22159 APPLICATION

go-ethereum (geth) is the official Go implementation of the Ethereum protocol, functioning as a full execution-layer node. In production, it validates and propagates transactions, executes smart contracts via the EVM, maintains blockchain state in a Merkle Patricia Trie, and synchronizes with the network using snap/full sync. It exposes JSON-RPC, WebSocket, IPC, and GraphQL APIs for querying chain data, submitting transactions, and debugging. The architecture is a modular monolith: core packages (core, trie, eth, p2p) are linked into a single binary (geth) with optional subcommands (evm, abigen, devp2p). Key entry points include cmd/geth/main.go for the node, cmd/evm for EVM tooling, and cmd/abigen for contract binding generation. Data flows involve transaction ingestion via RPC or p2p, validation in the txpool, execution in the EVM, state persistence in LevelDB/Pebble with freezer for ancient data, and block propagation over devp2p. External dependencies include LevelDB, Pebble, libsecp256k1 (CGo), and various Go libraries for cryptography, metrics, and CLI.

RATING: 9.7/10 MAINT: active DRIFT: low
β–Έ 5 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
jstedfast/MimeKit β˜… 2001 390 APPLICATION

MimeKit is a mature, high-performance .NET library for creating, parsing, and manipulating MIME messages (email). It provides comprehensive support for all standard MIME structures (multipart, message/rfc822, content-transfer encodings), internationalized headers (RFC 2047/2231), and email security features including S/MIME, OpenPGP, DKIM, and ARC signing/verification. The library also includes a full HTML5 tokenizer, TNEF (Outlook Transport Neutral Encapsulation Format) reader, text format converters (HTML, flowed, plain), and a stream filter pipeline for encoding/decoding and line-ending normalization. The codebase is well-architected with clean abstractions (visitor pattern, filter chain, encoder/decoder interfaces), extensive unit tests, and benchmarks demonstrating 25x–75x faster parsing than competing .NET MIME libraries. It is distributed as NuGet packages (MimeKit, MimeKitLite) and is a .NET Foundation project. The repository also includes sample applications for Windows Forms, iOS, and Android, and a DKIM verifier sample.

RATING: 9.6/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
maxgoedjen/secretive β˜… 8999 219 APPLICATION

Secretive is a macOS application that stores SSH private keys in the Apple Secure Enclave (or on smart cards such as YubiKeys) and exposes them through an SSH agent, making private key material non-exportable by hardware design. The architecture is a main SwiftUI management app (Secretive) plus a background login-item agent (SecretAgent) that owns a Unix socket at ~/Library/Containers/.../socket.ssh. SSH clients connect to this socket; the agent parses the SSH agent wire protocol, matches the requested key, enforces the key's access-control policy (Touch ID, Apple Watch, or password), has the Secure Enclave produce the signature, and returns an OpenSSH-formatted response. All untrusted input parsing (agent messages, certificate files) is delegated to sandboxed XPC services with hard-coded code-signing requirements, and network access for update checks is isolated to a dedicated XPC service with a declared Internet Access Policy. The code is Swift 6 with strict concurrency, strict memory safety, and warnings-as-errors, and has zero third-party dependencies by explicit project policy. The codebase is organized into small Swift packages: SecretKit (protocols and type erasers for secrets/stores), SecureEnclaveSecretKit and SmartCardSecretKit (concrete key stores), SSHProtocolKit (binary encoding/decoding of OpenSSH keys, certificates, signatures, and the agent protocol), SecretAgentKit (the agent, socket controller, authentication batcher, request-provenance tracer), XPCWrappers (a typed Codable RPC layer over NSXPCConnection), SettingsKit (keychain-backed settings), and Brief (semver update checking). Several of these are cleanly isolated: OpenSSHReader, SemVer, the FormatStyle data formatters, the keychain-backed SettingsStore, and the typed XPC session wrapper could be lifted into new projects largely untouched. The signature writer's mpint encoding correctly handles OpenSSH's signed-bignum rules (stripping leading zero bytes, prefixing 0x00 when the sign bit is set), which is subtle and covered by dedicated tests. Tests use real captured binary fixtures for protocol compatibility and cover agent identity listing, signing, witness objection behavior, authentication batching, and update selection logic. CI runs tests, CodeQL, nightly notarized builds, and attestation-backed auditable releases. Minor soft spots include duplicated certificate-migration code, two different SecretAgent entry points (SwiftUI App and AppDelegate), and a parsed-but-disabled session-bind extension, indicating ongoing refactoring rather than architectural debt.

RATING: 9.5/10 MAINT: active DRIFT: low
β–Έ 5 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
paramiko/paramiko β˜… 9879 2085 APPLICATION

Paramiko is a mature Python SSHv2 protocol library used in production by applications and higher-level tools such as Fabric. It provides both client and server capabilities: opening SSH connections, executing remote commands, transferring files over SFTP, implementing custom SSH servers, and handling port forwarding, agent forwarding, and X11 forwarding. The repository does not ship a standalone CLI; it is consumed as a Python API centered on SSHClient, Transport, ServerInterface, SFTPClient, and SFTPServer.

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
starkware-libs/stwo β˜… 503 181 APPLICATION

This repository implements Stwo, a high-performance STARK proof system based on Circle STARKs (ePrint 2024/278) and the Stwo whitepaper. It is a Rust library providing a prover and verifier for zero-knowledge proofs over the Mersenne prime field M31 (p = 2^31 βˆ’ 1) with extension fields CM31 and QM31. The architecture is modular: a core crate defines field arithmetic, FRI, polynomial commitment, and verification logic; a prover crate provides backend-agnostic proving with CPU and SIMD (AVX2/AVX-512, NEON, WASM) implementations; a constraint-framework crate offers a DSL for building AIR constraints and lookup arguments (LogUp, GKR). The system supports multiple hash channels (Blake2s, Poseidon252, Keccak256) and includes a no_std verifier suitable for on-chain deployment. Key entry points are `prover::prove()` and `core::verifier::verify()`. External dependencies include blake2, blake3, sha3, keccak, and starknet-crypto. The codebase is used in production by StarkWare's SHARP shared prover and by the Cairo VM prover (stwo-cairo). It demonstrates exceptional craftsmanship in SIMD optimization, field arithmetic, and protocol implementation, though it relies on nightly Rust and contains some unsafe code for performance.

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
ValveSoftware/GameNetworkingSockets β˜… 9973 750 APPLICATION

GameNetworkingSockets is Valve's production-grade C++ networking library for real-time multiplayer games. In actual operation it provides connection-oriented and message-oriented transport over UDP, with reliable and unreliable message delivery, fragmentation, retransmission, AES-GCM-256 encryption, Curve25519/Ed25519 key exchange, certificate-based authentication, and a full connection state machine. The library also implements peer-to-peer connectivity through ICE/STUN/TURN, WebRTC transport integration, and Steam Datagram Relay (SDR) in Steam builds, plus custom signaling support for non-Steam rendezvous. It is not a standalone application; it is an embeddable SDK whose primary public surface is the Steamworks-compatible C++ interfaces in include/steam (ISteamNetworkingSockets, ISteamNetworkingMessages, ISteamNetworkingUtils) and a flat C ABI wrapper. The main implementation lives in src/steamnetworkingsockets/clientlib, where the SNP reliable protocol, socket thread, direct UDP transport, P2P routing, and connection state machines are implemented, supported by a substantial private utility layer (tier0/tier1 containers, serialization buffers, string utilities) and multiple interchangeable crypto backends.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
pocoproject/poco β˜… 9485 2323 APPLICATION

The POCO C++ Libraries (pocoproject/poco) is a mature, modular collection of reusable C++ class libraries for building network-centric, cross-platform applications. It does not contain a single application; rather, it provides a SDK with libraries for networking (HTTP, TCP, UDP, SSL/TLS), data access (SQLite, MySQL, PostgreSQL, ODBC via unified Data layer), XML/JSON parsing, cryptography (OpenSSL wrappers, JWT), logging (including a FastLogger based on Quill), threading, caching, configuration management, and more. The architecture is layered: Foundation provides core abstractions (streams, threading, events), and higher-level modules (Net, Data, XML, Crypto) depend on it. External dependencies include OpenSSL, MySQL/PostgreSQL client libraries, and ODBC drivers, while many third-party libraries (expat, zlib, quill, cpptrace, 7zip) are bundled in the repository. The codebase is actively maintained with CI, fuzzing, and extensive test suites, and uses modern C++17/20 idioms alongside traditional C++ patterns.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
OP-TEE/optee_os β˜… 1935 1266 APPLICATION

OP-TEE (Open Portable Trusted Execution Environment) is a secure operating system that provides a Trusted Execution Environment (TEE) for ARM and RISC-V platforms. It runs in the secure world of a system-on-chip, isolated from the normal world (e.g., Linux). The OS includes a microkernel, cryptographic libraries (LibTomCrypt, Mbed TLS), hardware abstraction layers for crypto accelerators (CAAM, SE050, Hisilicon, etc.), device drivers (UART, GPIO, I2C, clocks, reset controllers, firewalls), and a framework for trusted applications (TAs) and pseudo TAs. It communicates with the normal world via SMC (Secure Monitor Call) or FF-A (Firmware Framework for Arm A-profile). The architecture is a monolithic kernel with modular driver registration using device tree and initcall macros. Key entry points include boot code (platform-specific main.c), SMC handlers (sm.c, thread_optee_smc.c), and system call handlers (arch_scall.c). Data flows involve secure storage (encrypted file system), cryptographic operations (symmetric/asymmetric ciphers, hashing, key derivation), and remote procedure calls (RPC) for I2C, RPMB, and other services. External dependencies include libfdt (device tree), qcbor (CBOR encoding), and softfloat (IEEE 754 floating-point emulation). The project supports a wide range of hardware platforms (NXP i.MX, STMicroelectronics STM32MP, Qualcomm, Xilinx Versal, Microchip SAMA5, etc.) and is actively maintained with frequent releases.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
rustls/rcgen β˜… 507 157 APPLICATION

rcgen is a Rust library for X.509 certificate generation, part of the rustls ecosystem. It provides a programmatic API to create self-signed certificates, CA-signed certificates, certificate signing requests (CSRs), and certificate revocation lists (CRLs) with full RFC 5280 compliance. The library supports multiple cryptographic backends (ring, aws-lc-rs), a wide range of signature algorithms (ECDSA, Ed25519, RSA, ML-DSA), and extensible extension handling. It is architected around traits like `SigningKey` and `PublicKeyData` for key abstraction, and uses `yasna` for DER encoding and `pki-types` for standard PKI types. The repository also includes a CLI tool `rustls-cert-gen` for quick certificate generation, and a verification test suite that validates generated certificates against OpenSSL, Botan, and webpki. The codebase demonstrates strong adherence to RFCs, careful error handling, and modular design.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
vlang/v β˜… 37932 2292 APPLICATION

This repository is the official compiler, standard library, and toolchain for the V programming language. It is a self-hosting, multi-backend compiler (primarily targeting C, with experimental JS and WASM backends) that produces highly optimized native executables. The standard library is exceptionally comprehensive, offering built-in support for cryptography (AES, SHA3, Ed25519, TLS via mbedtls), compression (gzip, zstd, lz4, snappy), database connectivity (SQLite, MySQL, PostgreSQL, MSSQL, Redis), a full web framework (veb), graphics (gg, sokol), and CLI development tools. The architecture is a monolithic compiler with a modular standard library. The compiler pipeline involves scanning, parsing, type-checking, and code generation. The build system uses a multi-stage bootstrap process. The codebase demonstrates extremely high craftsmanship, with clean abstractions, extensive test coverage, and reusable components. It is actively maintained with a large community. Key reusable components include the pure-V implementations of cryptographic primitives (Ed25519, SHA-3), compression algorithms (LZ77, Snappy), data structures (lock-free ring buffer, FSM), and the CLI framework. These modules are isolated, well-tested, and could be extracted for use in other projects with minimal modification.

RATING: 9.1/10 MAINT: active DRIFT: low
β–Έ 9 reusable components found
apache/shiro β˜… 4461 2290 APPLICATION

Apache Shiro is a mature Java security framework and library, not an end-user application. It provides authentication, authorization, session management, and cryptography through a modular Maven multi-module architecture. The central abstractions are SecurityManager, Subject, Realm, Authenticator, Authorizer, and SessionManager, backed by pluggable implementations such as JDBC, LDAP, Active Directory, and text-based realms. The web module adds servlet filters, filter-chain management, JSP/JSF tags, and path-matching URL security, while support modules integrate with Spring, Spring Boot, Guice, CDI, JAX-RS, AspectJ, Quartz, and Jakarta EE. The crypto modules offer modern password hashing (Argon2, BCrypt), legacy SHA hashing, symmetric ciphers, and hash format serialization. The framework is embeddable via programmatic configuration, annotation-driven AOP interceptors, or the legacy INI-based configuration path, which is now deprecated in favor of environment-based setup. The codebase is heavily tested with unit tests and container-based integration tests, and core interfaces remain small and clean; however, it carries noticeable legacy baggage including deprecated factories, duplicated JSP/JSF tag implementations, mixed mocking frameworks, and numerous support modules that require ongoing maintenance to avoid drift. It has no data pipelines or research components; all data-related code is limited to security data sources, caching, and test fixtures.

RATING: 9.1/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
dhondta/python-codext β˜… 303 29 APPLICATION

CodExt is a Python library and command-line tool that extends the standard library's codecs with over 120 custom encodings for data transformation. It provides encoding/decoding functionalities across domains including base encodings (baseN, base45, base85, etc.), cryptography (Vigenère, RSA, XOR), compression (gzip, LZ77/LZ78), steganography, and language-based transformations (Leetspeak, Morse, Braille). The system features a heuristic-based guess mode for automated multi-layered decoding and a macro system for chaining codecs. Architected as a plugin-based library, it allows dynamic registration of new codecs and is designed for CTF, security, and data obfuscation tasks. The codebase demonstrates strong modularity with clear separation of concerns between core functionality, codec implementations, and utility modules.

RATING: 9.1/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
golang-jwt/jwt β˜… 9239 452 APPLICATION

This is the official Go implementation of JSON Web Tokens (JWT), currently at v5. It provides a comprehensive library for creating, signing, parsing, and validating JWTs. The core package implements all standard JWT claims (RegisteredClaims and MapClaims), multiple signing algorithms (HMAC-SHA, RSA, RSA-PSS, ECDSA, Ed25519), and a flexible parser with functional options for configuration (e.g., allowed algorithms, leeway, audience/issuer/subject validation). The library also includes a `request` subpackage for extracting tokens from HTTP requests via headers or form/query parameters, and a `cmd/jwt` CLI tool for debugging and batch operations. Architecturally, it follows a clean separation of concerns: signing methods implement a common `SigningMethod` interface, claims implement a getter-based `Claims` interface, and validation is handled by a stand-alone `Validator` struct that can be used independently of parsing. The code is well-tested, uses only the Go standard library (no third-party dependencies), and follows modern Go idioms like functional options and error wrapping (Go 1.20+). It is actively maintained with CI, linting, CodeQL, and spell-check workflows.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 3 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
mratsim/constantine β˜… 499 71 APPLICATION

Constantine is a high-performance modular cryptography library implemented in Nim, with bindings for C, Rust, and Go. It provides production-grade implementations of elliptic curve arithmetic, pairings, BLS signatures, KZG polynomial commitments, and Ethereum-specific protocols (EIP-2537, EIP-4844, EIP-7594). The library is designed with constant-time operations to resist side-channel attacks, includes a custom lock-free work-stealing threadpool for parallel execution, and features hand-optimized assembly for x86 (ADX, BMI2) and ARM64. It also contains experimental GPU code generation (CUDA, AMD ROCm) via LLVM IR. The codebase is extensively tested against GMP, OpenSSL, and official Ethereum test vectors, and includes formal verification of field arithmetic via fiat-crypto. Despite its research components (Sage scripts, optimization papers), the dominant character is a reusable, production-oriented library for blockchain and zero-knowledge proof systems.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
$ loading more...
$ submit: