High-performance and memory-safe cryptographic primitives for building secure encryption and authentication protocols in Rust.
Anoma is a distributed operating system designed to abstract the complexities of blockchain networks into a unified interface for cross-chain coordination. At its core, the platform utilizes a resource-based state machine and an intent-centric execution model, where user-defined goals are processed and settled by decentralized solvers rather than through direct, manual execution. This architecture enables the creation of applications that operate across heterogeneous distributed networks while maintaining a consistent developer and user experience. The platform distinguishes itself through a privacy-preserving framework that leverages zero-knowledge proofs to hide transaction details, sender identities, and asset amounts on public ledgers. Security is managed through hardware-backed passkeys, which derive hierarchical cryptographic keyrings in session memory to eliminate the need for persistent local storage. Furthermore, Anoma employs protocol adapters—smart contracts deployed to external chains—to act as secure gateways for cross-chain asset interoperability and shielded transaction management. The system includes a comprehensive toolkit for building decentralized applications, featuring high-performance cryptographic operations executed via WebAssembly modules. Developers can access diagnostic utilities like the Anoma Explorer to monitor protocol activity, indexed transactions, and resource logic. The infrastructure also supports private resource retrieval through discovery-key-based indexing, ensuring that encrypted data is routed securely to the appropriate user keyring. Documentation and developer resources include practical tutorials for building applications, such as guides for implementing passkey-based identity management and shielded token deposit workflows.
This project is a community-driven directory of software resources, libraries, and tools designed to support iOS application development. It serves as a centralized reference point for developers, organizing a vast ecosystem of third-party components into a searchable, structured index to facilitate discovery and project integration. The repository distinguishes itself through its collaborative curation model, which aggregates disparate utilities into a single, maintainable catalog. By leveraging a flat-file documentation structure, it provides a clear overview of the tools available for native mobile development, ranging from architecture patterns and declarative user interface frameworks to specialized hardware integration and networking utilities. The directory covers a comprehensive capability surface, including resources for data persistence, authentication, media processing, and automated testing. It also provides access to educational materials, style guides, and tooling for performance optimization and deployment, helping developers navigate the complexities of the Apple ecosystem. The project is maintained as a static documentation directory, utilizing markdown-based categorization to ensure that the index remains accessible and easy to navigate for the developer community.
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.
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.
Signal-Android is an end-to-end encrypted messaging platform designed to ensure that only the sender and recipient can access communication content. The project provides a comprehensive framework for secure, asynchronous message initiation and key agreement, allowing users to establish private channels without requiring simultaneous online presence. It relies on a state machine architecture to manage communication epochs and authentication, ensuring consistent security transitions throughout the messaging lifecycle. The platform distinguishes itself through a hybrid cryptographic approach that combines multiple mathematical protocols to defend against potential security compromises. It implements advanced ratcheting mechanisms to provide forward secrecy and automatic recovery from breaches, while incorporating quantum-resistant layers to protect against future computing threats. Furthermore, the system supports secure multi-device synchronization, enabling users to maintain consistent identity keys and session history across multiple hardware devices. Beyond its core messaging capabilities, the project includes robust mechanisms for data integrity and transmission reliability. It utilizes erasure-coded chunking to ensure that large data packets can be reconstructed over unstable network connections and employs deterministic elliptic curve signing to verify message authenticity. The system also manages session lifecycles by rotating keys and expiring inactive connections to minimize windows of vulnerability.
Excelize is a library for reading and writing spreadsheet files in the Office Open XML format. It provides a comprehensive suite of tools for programmatically creating, modifying, and analyzing workbooks, worksheets, and cell data, ensuring compatibility across various office software suites through structured XML serialization. The library distinguishes itself with a built-in formula calculation engine that evaluates complex mathematical and logical expressions directly against workbook data. It also features a memory-mapped streaming architecture, which allows for the efficient processing of massive spreadsheet files by handling data in chunks, thereby maintaining low memory usage during document manipulation. Beyond basic file operations, the project supports advanced document features including style-driven formatting, conditional rules, and the embedding of graphical elements like charts and pivot tables. It also provides security capabilities, allowing users to encrypt and decrypt protected spreadsheet files to manage sensitive information. The project is implemented in Go and is available for integration into applications requiring automated spreadsheet generation, data import and export, or complex document transformation.
mkcert is a command-line utility designed to simplify local development by generating and managing locally-trusted development certificates. It creates a unique, self-signed root certificate authority on the local machine, which serves as a trusted source for issuing development credentials. By automating the generation of these certificates, the tool enables secure encrypted connections that browsers and operating systems accept without security warnings. The utility distinguishes itself by automatically configuring local trust stores, programmatically injecting the generated root certificate into system and browser databases. It supports complex development workflows through environment-variable-based configuration, allowing users to manage multiple certificate authorities across different projects and specify custom storage paths. This infrastructure ensures consistent security across diverse environments, including support for mobile device trust and remote machine installation. Beyond standard HTTPS testing, the tool provides capabilities for generating secure email certificates and integrating with specific application runtimes. It handles the underlying cryptographic key material generation and cross-platform path resolution required to maintain trust across various operating systems and development environments.
Sprig is a comprehensive library of helper functions designed to extend the Go text template engine. It provides a wide array of custom functions that can be injected into the engine to enable complex data manipulation and logic directly within templates. The project offers specialized capabilities for cryptography, including the generation of private keys, X.509 certificates, and secure password hashes. It also includes advanced logic extensions for semantic versioning comparison, ternary evaluations, and the resolution of environment variables from the host operating system. The library covers a broad surface of general-purpose utilities, including extensive string processing for case conversion and regular expressions, mathematical operations for floating-point and integer arithmetic, and temporal tools for date and time formatting. It further provides data structure management for deeply merging dictionaries, filtering lists, and encoding or decoding JSON. The project is implemented as a function map that integrates with the standard Go template system.
This project is a command-line tool that automates the entire lifecycle of security certificates using standard domain validation protocols. It functions as a background service to manage the issuance, renewal, and installation of certificates, ensuring that encrypted web traffic remains active without requiring manual intervention. The tool distinguishes itself through extensive support for automated domain ownership verification, including the ability to issue wildcard certificates by programmatically interacting with external domain name system providers. It provides flexible validation options, such as using a temporary, ephemeral web server to handle challenges in isolated environments, which allows for certificate generation without needing an existing web server or active website. Beyond issuance, the system includes robust deployment capabilities that integrate directly with server environments. Through customizable hooks, it can automatically update server configuration files and reload services to apply new cryptographic assets immediately upon renewal. The software is built as a modular collection of POSIX-compliant scripts that leverage standard system utilities and support various cryptographic key types to meet diverse security requirements.
hashsigs-rs is a Rust cryptography library providing a hash-based signature scheme and a library for generating and verifying one-time digital signatures. It serves as a smart contract signature verifier designed to validate identity and authenticity within on-chain environments. The project implements one-time signature generation and verification to ensure that digital signatures are valid for a single message, preventing key reuse. It supports blockchain authentication workflows and cryptographic identity proofs for validating senders without relying on external servers. The library utilizes hash-chain key derivation and Merkle-tree based authentication to enable stateless signature verification. It is written in Rust and supports compilation to WebAssembly for execution in browser-based clients and smart contract environments, including Solana.
Ente is a privacy-focused platform for end-to-end encrypted storage and two-factor authentication management. It functions as a zero-knowledge identity provider, ensuring that all cryptographic operations, key derivation, and data encryption occur locally on the user's device. By maintaining this architecture, the service provider remains unable to access or decrypt any stored personal information or authentication credentials. The platform distinguishes itself through a combination of on-device intelligence and resilient data distribution. It utilizes a local machine learning engine to perform resource-intensive tasks such as semantic image searching and facial recognition directly on the user's hardware, ensuring that sensitive visual data never leaves the device. To guarantee high availability and data permanence, the system replicates encrypted information across multiple independent cloud providers and geographic regions, protecting against provider outages or regional failures. Beyond its core storage and security capabilities, the project includes sophisticated resource scheduling that monitors device telemetry to manage background processing tasks efficiently. It also provides a comprehensive authentication manager that supports secure token imports and offline operation, allowing users to maintain control over their credentials with or without cloud synchronization.
The OWASP Cheat Sheet Series is a comprehensive, community-driven repository of concise security best practices and defensive coding patterns. It serves as a centralized knowledge base for developers and security professionals, providing actionable guidance to secure applications across the entire software development lifecycle. The project covers a vast array of security domains, ranging from fundamental web application hardening and authentication protocols to specialized controls for modern infrastructure and artificial intelligence systems. What distinguishes this project is its decentralized, collaborative editorial process. By utilizing a version-controlled, markdown-based workflow, the series ensures that security guidance remains vendor-neutral, peer-reviewed, and universally accessible. This structure allows the community to rapidly evolve and maintain technical documentation, ensuring that defensive strategies keep pace with emerging threats and shifting technology stacks. The project provides extensive coverage of critical security areas, including robust input validation, access control enforcement, and supply chain risk management. It offers detailed implementation guides for securing cloud-native architectures, containerized environments, and various language-specific frameworks. Furthermore, the series addresses advanced topics such as artificial intelligence agent safety, prompt injection prevention, and zero-trust architectural principles. The documentation is maintained as an open-source repository, with content transformed into a navigable web format through automated static site generation.
Mundane is a Rust cryptography library backed by BoringSSL that is difficult to misuse, ergonomic, and performant (in that order).
This project is a cross-platform credential management suite designed to store sensitive information in encrypted local databases. It functions as a secure desktop application that provides a unified environment for organizing secrets, generating passwords, and managing multi-factor authentication tokens. By utilizing industry-standard file formats, the application ensures that stored credentials remain secure and interoperable across different operating systems. The software distinguishes itself through deep integration with hardware-backed security and system-level services. It supports physical security tokens for challenge-response authentication, requiring hardware-based verification to unlock databases. Additionally, the application features an automated bridge for browser extensions to facilitate form filling and credential retrieval, alongside a system agent integration that dynamically manages SSH keys based on the current lock state of the database. Beyond core credential storage, the project includes a modular engine for performing administrative tasks such as security audits and data migrations. It also supports secondary protection layers, allowing users to require specific key files alongside master passwords to authorize access. The development process relies on containerized build environments to ensure consistent and reproducible native binaries for Windows, macOS, and Linux.
A set of cryptographic primitives for building a multi-hop Proxy Re-encryption scheme, known as Transform Encryption.
Nanoid is a library for generating unique, fixed-length identifiers designed for distributed systems and database indexing. It produces compact, URL-safe strings by mapping random byte values to a custom character set, allowing for consistent memory allocation and predictable indexing performance across independent nodes without the need for central coordination. The library distinguishes itself by utilizing system-level, cryptographically secure entropy sources to ensure that every generated identifier is statistically unpredictable. This approach provides resistance against collision attacks, making the output suitable for sensitive security contexts such as session tokens or temporary access keys. Beyond core generation, the project includes analytical utilities that allow developers to calculate collision probabilities based on identifier length and character set size. This ensures data integrity in environments where large volumes of unique keys are required. The library is distributed as a lightweight utility package compatible with various JavaScript environments.
Vault is a centralized secrets management platform designed to secure, store, and control access to sensitive credentials such as API keys, passwords, certificates, and encryption keys. At its core, the system employs a barrier-based cryptographic sealing mechanism that requires an unseal process to decrypt internal storage, ensuring that sensitive data remains protected. It provides identity-based access control to manage granular permissions across distributed infrastructure, effectively centralizing security policies and authentication for both human and machine workloads. What distinguishes Vault is its ability to generate dynamic, short-lived credentials on-demand for databases and cloud providers, which are automatically revoked upon lease expiration to minimize security exposure. The platform also functions as an encryption-as-a-service provider, allowing applications to offload data protection, tokenization, and key management tasks to a centralized interface. Its modular architecture is supported by an extensible plugin system that uses remote procedure calls to integrate new functionality without requiring modifications to the primary codebase. Beyond core secret handling, the platform offers comprehensive certificate lifecycle automation, including the generation, storage, and rotation of security certificates to maintain encrypted communication channels. It supports high-availability deployments through a distributed consensus protocol that synchronizes state across clusters and automatically forwards requests to the active leader node. The system also integrates with hardware security modules for enhanced key protection and maintains detailed audit logs to support regulatory compliance requirements. Users interact with the platform through a command-line interface that supports API endpoint invocation, environment variable configuration, and shell autocompletion for operational tasks.
Certbot is a command-line client designed to automate the lifecycle of digital security certificates. By implementing the ACME protocol, it manages the communication between a local server and a certificate authority to verify domain ownership and issue transport layer security certificates without manual intervention. The tool distinguishes itself through a modular plugin architecture that allows it to interact directly with various web server configurations and DNS providers. This framework enables the software to perform automated domain validation, modify server settings, and configure virtual hosts to establish encrypted connections. Beyond initial issuance, the software provides automated renewal and persistent tracking of certificate lifecycles, private keys, and configuration history. It functions as a comprehensive utility for web server security hardening and the management of public key infrastructure across distributed environments.