Cryptography libraries, encryption tools, and secure communication protocols for implementing data protection, hashing, digital signatures, and key management systems.
Libsodium is a portable, C-based cryptographic library that provides a collection of modern primitives for encryption, decryption, digital signatures, password hashing, and secure key exchange. It is designed to facilitate secure communication and data integrity across diverse hardware architectures and operating systems. The library distinguishes itself by utilizing constant-time primitive execution to prevent side-channel attacks and employing memory-hard algorithms to increase the difficulty of brute-force password attacks. It abstracts complex mathematical operations into simplified interfaces, reducing the risk of implementation errors while ensuring that all cryptographic keys and nonces are generated using high-entropy data harvested directly from system-level sources. The project covers a broad capability surface, including authenticated encryption, symmetric and asymmetric key management, and digital message authentication. It supports data protection through padding and key derivation, allowing for the integration of secure cryptographic functions into various application components.
A modern, portable, and easy-to-use cryptographic library featuring high-level primitives for encryption and signatures.
This project is a comprehensive cryptographic toolkit that provides a collection of standard security algorithms and protocols for implementing data encryption and network communication. It serves as a foundational library for securing software applications through a wide range of cryptographic functions. The architecture is defined by a modular provider system that allows for the dynamic loading of external cryptographic implementations without requiring modifications to the core application binary. It supports metadata-driven algorithm querying, which resolves security primitives by matching requested properties against available provider capabilities. Furthermore, the library enables the creation of isolated security contexts, allowing different application components to maintain independent configuration states and security parameters within the same process. The toolkit includes support for FIPS-validated module encapsulation, which restricts cryptographic operations to a hardened boundary to meet strict government and industry compliance standards. It also utilizes a dispatch-table abstraction to decouple high-level security requests from underlying algorithm logic. Comprehensive technical documentation is available to assist with security operations, migration, and compliance validation.
A comprehensive, industry-standard cryptographic toolkit providing essential security algorithms and protocols.
Age is a command-line utility for file encryption that utilizes hybrid cryptography to secure data for multiple recipients. It employs a combination of asymmetric key exchange and symmetric encryption to protect files, supporting access control through public keys, shared passphrases, and hardware-backed identity integration. The tool is designed for memory-efficient operation, utilizing stream-oriented processing to handle large datasets in small, sequential chunks. It features a stanza-based metadata framing system that allows for extensible file headers and supports random-access decryption, enabling users to retrieve specific portions of an encrypted file without processing the entire data stream. To facilitate reliable transmission across systems with limited character support, the utility includes an ASCII-armored data format that converts binary encrypted files into standard text. It uses checksummed character encoding for identity keys to improve human readability and reduce errors during key management.
A modern, simple command-line tool for file encryption using hybrid cryptography.
This project provides a collection of practical implementations and code references for establishing secure network communications using transport layer security protocols. It serves as a guide for developers to implement public key infrastructure and enforce encryption standards within client and server applications. The repository focuses on cryptographic certificate management, including the generation of public and private key pairs and the creation of self-signed certificates for local testing environments. It covers the configuration of secure web servers, offering methods to harden server settings by enforcing specific protocol versions and cipher suites to maintain data privacy and integrity. The implementation utilizes standard language cryptographic primitives and integrates with system-level certificate stores to verify remote server authenticity. It also provides guidance on managing elliptic curve parameters and parsing digital identity documents to support secure network interactions.
A practical collection of Go implementations and references for secure network communication and TLS.
Explore further