30 open-source projects similar to nakov/practical-cryptography-for-developers-book, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Practical Cryptography For Developers Book alternative.
Crypto++ is a comprehensive C++ cryptographic library that implements a broad range of algorithms for symmetric and asymmetric encryption, hashing, and digital signatures. It is designed as a portable toolkit, usable across different operating systems without modification. The library distinguishes itself through its architecture: cryptographic parameters such as key size and mode are configured at compile time via C++ templates, eliminating runtime overhead. Algorithms are registered in a static factory for runtime lookup, while data processing follows a pipeline model of composable sources,
Tink is a multi-language cryptography library and security toolkit providing secure APIs for data encryption and digital signatures. It functions as a data encryption library and digital signature framework designed to prevent common implementation errors across different platforms and operating systems. The project serves as a cryptographic keyset manager, utilizing JSON for the storage, rotation, and serialization of keys to maintain consistency across various programming languages. It ensures identical cryptographic behavior globally by mapping language-specific libraries to a unified set
This is an educational resource that provides a comprehensive guide to blockchain and distributed ledger technologies, covering everything from fundamental concepts to practical deployment. The guide systematically explains the core architecture of blockchain systems, including consensus-based distributed ledgers, cryptographic hash chains, Merkle trees, and smart contract execution engines, while also detailing permissioned channel architectures and modular service platforms for enterprise use. The resource distinguishes itself by offering a dual-track learning path that serves both non-tech
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 inter
php-encryption is a symmetric encryption library for PHP that provides tools for authenticated encryption and key derivation to ensure data confidentiality and integrity. It functions as a cryptography toolkit that wraps complex primitives into simplified interfaces to prevent common implementation errors. The library includes a binary-safe ciphertext serializer to maintain data structure during storage and transmission, as well as a password-based key derivation tool that transforms low-entropy passwords into cryptographically strong keys through iterative processes. The project covers a br
Mbed TLS is an open-source TLS and DTLS library with a small footprint, designed for embedded systems and IoT devices. It provides a portable cryptographic library that includes symmetric ciphers, hashing, and public-key cryptography, along with a reference implementation of the PSA Cryptography API for standardized cryptographic operations across platforms. The library also offers X.509 certificate management for parsing, validating, and managing certificate chains in secure communications. The library is built around a platform abstraction layer that decouples it from OS-specific services t
Keys is a library and command-line utility designed for the generation, storage, and lifecycle management of cryptographic keys. It provides tools to create asymmetric key pairs, perform digital signature verification, and implement authenticated encryption to ensure the confidentiality and integrity of sensitive data. The project distinguishes itself by offering a secure storage abstraction that decouples application logic from underlying key storage mechanisms. By utilizing standardized cryptographic protocols, it enables consistent identity verification and data protection across diverse c
This project is a Python cryptography library that provides a collection of cryptographic primitives and high-level recipes for implementing secure encryption and authentication. It functions as a symmetric encryption toolkit and a cryptographic hash provider, offering both a low-level cryptographic interface for building custom protocols and high-level tools for securing data. The library covers a broad range of security capabilities, including symmetric data encryption, the derivation of cryptographic keys from passwords or secret values, and data integrity verification through the generati
Ring is a low-level cryptographic primitive library and security toolset designed for building portable, secure applications. It provides a collection of implementations for RSA, elliptic curve cryptography, and authenticated symmetric encryption. The project focuses on constant-time cryptography to prevent secret data from leaking through timing side-channel attacks. It utilizes a formal verification tool that generates arithmetic logic from templates, ensuring mathematical correctness and eliminating manual implementation errors. The library includes capabilities for producing cryptographi
CryptoSwift is a cryptography library implemented entirely in the Swift programming language. It provides a collection of standard cryptographic algorithms for encryption, decryption, and hashing without relying on native C libraries or system frameworks. The library supports symmetric and asymmetric encryption, including RSA key generation and signature management. It features authenticated encryption schemes and the ability to generate cryptographic digests for data integrity verification. The toolset covers message authentication codes, secure key derivation from passwords, and data paddi
Cryptomator is a client-side cloud encryption tool and cross-platform vault manager. It provides a transparent encryption layer that encrypts files and folder structures locally before they are uploaded to a cloud storage provider. The software creates virtual encrypted drives that mount encrypted vaults, allowing users to interact with their data as if it were on a physical disk. It supports the management of multiple independent encrypted containers, each protected by a unique password. The project covers data privacy through directory structure obfuscation and filename encryption to hide
This project is a command-line tool for managing public key infrastructure and digital identities. It provides a comprehensive suite for X.509 certificate lifecycle management, including the generation, signing, renewal, and revocation of certificates and signing requests. The tool distinguishes itself through specialized security capabilities such as binding cryptographic credentials to TPMs and HSMs for hardware-backed identity attestation. It also provides dedicated support for machine identity security, using short-lived SSH certificates and mTLS to secure non-human workloads. Broad capa
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 ser
GmSSL is an open-source cryptographic library that implements the Chinese national cryptographic standards SM2, SM3, SM4, SM9, and ZUC as a unified algorithm suite. It provides a comprehensive set of cryptographic primitives including symmetric and asymmetric encryption, digital signatures, hashing, and key exchange, all built around these national standards for government and enterprise security applications. The library distinguishes itself through several integration capabilities. It includes an OpenSSL compatibility layer that maps GmSSL functions to OpenSSL API calls, enabling drop-in re
Ockam is a zero-trust networking framework designed to secure data transit between distributed applications using an identity-based network overlay. It provides the primitives necessary to establish mutually authenticated and end-to-end encrypted connections, removing the reliance on traditional network-layer security. The project is distinguished by its use of attribute-based access control and verifiable credentials to manage trust at scale. It implements cryptographic identity rotation to maintain identity continuity and integrates with hardware-backed key management systems to secure priv
This project is a blockchain node software implementation that maintains a decentralized ledger using the Ouroboros proof-of-stake consensus protocol. It provides a complete environment for operating a distributed record, including a cryptocurrency wallet backend and a peer-to-peer network layer. The system is distinguished by its use of a UTXO-based ledger model and a diffusion-based state synchronization layer for node communication. It integrates a Public Key Infrastructure with TLS-authenticated communication to secure inter-node traffic and employs hierarchical deterministic key derivati
This project is an algorithm courseware repository and academic resource portal. It serves as a digital archive for algorithm textbooks, providing access to complete manuscripts, individual chapters, and educational materials focused on computer science fundamentals and algorithm design. The repository includes a dedicated errata tracking system to record publication errors and corrections. This system allows for the monitoring of updates made to the academic texts since their official release to ensure the accuracy of the information. The platform distributes a variety of supplemental cours
This project is a cryptography educational book and digital textbook that provides an introductory guide to cryptographic fundamentals, including block ciphers, hash functions, and public key encryption. It also serves as a cryptography lab manual for simulating security attacks, such as forging cookies and recovering passwords, to identify system vulnerabilities. The project utilizes a technical document rendering system to transform raw instructional text and source files into a professionally formatted digital book. This allows the content to be exported into multiple formats, specifically
This project is a computational statistics textbook and Bayesian data analysis course. It serves as a guide for performing statistical inference and quantifying uncertainty through a probabilistic programming workflow using Python. The resource employs a computation-first pedagogy, teaching Bayesian methods and parameter estimation through executable code and simulations instead of formal mathematical notation. It provides a practical approach to implementing Markov Chain Monte Carlo sampling to estimate posterior distributions. The content covers building probabilistic models, integrating e
This project is a digital collection of academic material on deep learning provided as a machine learning educational resource. It delivers the complete textbook and individual chapters in portable document format for offline study and research. The repository includes electronic publication versions of the textbooks optimized for digital reading devices and e-book readers. It functions as a segmented document repository, providing the text both as a full volume and split into individual chapters to allow for targeted reading.
This project is a computational linguistics course and academic repository providing a structured curriculum for learning natural language processing. It consists of educational materials, lecture slides, and a programming curriculum designed to teach the intersection of linguistic fundamentals and statistical data-driven processing. The repository integrates theoretical study with practical application through a combination of university-level lecture modules, curated textbook materials, and a collection of academic research papers. It emphasizes hands-on learning via linguistic data annotat
This project is a comprehensive JavaScript programming tutorial and frontend web development curriculum. It serves as a structured educational resource for learning the JavaScript language, ranging from basic syntax to advanced asynchronous patterns and modern programming techniques. The resource functions as a frontend engineering textbook and CSS layout guide, providing detailed instructional material on building responsive user interfaces. It covers the design of custom web components and the application of styles and positioning to create effective frontend interfaces. The curriculum enc
This project is an educational resource focused on machine learning mathematics education. It provides a curriculum for the mathematical foundations required to understand and implement machine learning algorithms, covering linear algebra, calculus, probability, and optimization. The resource includes structured mathematics modules and a foundation curriculum paired with practice exercises, instructor manuals, and solution guides. It offers technical textbook supplementation through downloadable PDF materials and supplementary learning content such as video lectures and presentation slides.
This repository is a collection of foundational machine learning models and predictive analysis tools designed for the study of statistical learning methods. It serves as an educational resource that demonstrates the mathematical principles of classic algorithms through direct, first-principles implementation. The project distinguishes itself by constructing models from the ground up, relying on fundamental linear algebra and calculus operations rather than high-level abstraction frameworks. Each algorithm is organized into modular, standalone scripts that mirror the sequence of mathematical
This project is a command-line utility designed for secure, content-addressable data archiving. It functions as an encrypted backup tool that stores data as deduplicated chunks, ensuring that every piece of information is identified by a cryptographic hash to maintain integrity across all backups. By applying strong encryption and message authentication codes to both data and metadata, the software prevents unauthorized access and detects potential tampering. The tool distinguishes itself through a backend-agnostic storage abstraction that allows users to maintain repositories across diverse
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 tha
This is a Ruby implementation library for encoding, decoding, and verifying JSON Web Tokens according to the RFC 7519 standard. It provides the primary tools for token signing and encoding, integrity verification, and the extraction of payloads and headers. The project includes a comprehensive JSON Web Key manager for importing, exporting, and resolving key sets. This system facilitates the generation of key thumbprints and the resolution of specific verification keys based on token identifiers. The library covers a wide range of security validation mechanisms, including the verification of
BLAKE3 is a high-performance implementation of the BLAKE3 cryptographic hash algorithm used for calculating secure data digests and fingerprints. It functions as a parallel cryptographic hash tool that distributes workloads across multiple processor threads to process large datasets rapidly. The project provides specialized tools for keyed hashing and the generation of message authentication codes. It also includes functionality for cryptographic key derivation, allowing the creation of unique secret sub-keys from a master key and context strings. The implementation supports data integrity v
This project is an OpenPGP cryptography library designed for encrypting, decrypting, and signing messages according to the OpenPGP standard for secure communication. It functions as an asymmetric encryption toolkit for securing data and managing digital identities through cryptographic operations. The library provides a cryptographic key manager to create and handle the public and private key pairs required for identity operations. It includes a digital signature implementation to ensure message authenticity and data integrity. The system covers a broad range of capabilities, including asymm
sjcl is a JavaScript cryptography library providing a collection of primitives for encryption, hashing, and encoding within a web browser. It functions as an AES symmetric encryption tool, a cryptographic hashing library, and a Base32 data encoder. The project provides implementations for the Advanced Encryption Standard to secure data through symmetric key encryption and decryption. It also enables the generation of fixed-length data fingerprints to verify information integrity and authenticity. The library covers a broader range of security capabilities, including client-side data hashing,