Practical Cryptography for Developers
Book Details
| Author | Svetlin Nakov |
| Published | 2018 |
| Edition | 1st |
| Paperback | 236 pages |
| Language | English |
| ISBN-13 | 9786190008705 |
| ISBN-10 | 6190008704 |
| License | MIT |
Book Description
A modern practical book about cryptography for developers with code examples, covering core concepts like: hashes (like SHA-3 and BLAKE2), MAC codes (like HMAC and GMAC), key derivation functions (like Scrypt, Argon2), key agreement protocols (like DHKE, ECDH), symmetric ciphers (like AES and ChaCha20, cipher block modes, authenticated encryption, AEAD, AES-GCM, ChaCha20-Poly1305), asymmetric ciphers and public-key cryptosystems (RSA, ECC, ECIES), elliptic curve cryptography (ECC, secp256k1, curve25519), digital signatures (ECDSA and EdDSA), secure random numbers (PRNG, CSRNG) and quantum-safe cryptography, along with crypto libraries and developer tools, with a lots of code examples in Python and other languages.
This book is designed for developers who write code daily, for software engineers who build software systems, web applications, mobile apps, and other software. It may also be useful for DevOps engineers working with cryptographic algorithms and automation scripts, for system administrators seeking a better practical understanding of cryptography, for information security engineers who regularly encounter cryptography and need to know which ciphers and algorithms are secure or vulnerable - including potential attacks - and for experienced QA engineers involved in security testing and code reviews related to cryptography, among other IT professionals.
The book focuses on the application of cryptographic algorithms and libraries, rather than on the design of ciphers, signature schemes, or cryptosystems. Readers will learn how cryptosystems operate - with minimal mathematical complexity - and how to apply them in their daily work. While not entirely free of mathematics, the book keeps the complexity accessible for the average developer, explaining intricate concepts in a clear and simplified manner. It is written by developers for developers, not by academics or mathematicians, and emphasizes coding intelligently by understanding core concepts and using modern cryptographic algorithms and techniques correctly, as practiced in the software industry.
The author assumes that most developers work with high-level programming languages such as JavaScript, Python, C#, Java, or PHP. For this reason, most code examples are provided in Python, which can be easily adapted to other languages.
If you enjoyed the book and would like to support the author, you can purchase a printed copy (hardcover or paperback) from official retailers.
Download and Read Links
Share this Book
[localhost]# find . -name "*Similar_Books*"
A Graduate Course in Applied Cryptography
Cryptography is an indispensable tool used to protect information in computing systems. It is used everywhere and by billions of people worldwide on a daily basis. It is used to protect data at rest and data in motion. Cryptographic systems are an integral part of standard protocols, most notably the Transport Layer Security (TLS) protocol, making
Web Accessibility for Developers
Web Accessibility for Developers is a technical resource aimed primarily at programmers. Learn how to develop accessible interactivity on the Web and gain expertise using WAI-ARIA, a W3C specification that enables optimal use of assistive technologies, like screen readers, when navigating the Web. By the time you complete this book, you should be a
Modernizing Enterprise Java
While containers, microservices, and distributed systems dominate discussions in the tech world, the majority of applications in use today still run monolithic architectures that follow traditional development processes. This practical book helps developers examine long-established Java-based models and demonstrates how to bring these monolithic ap
OpenShift for Developers, 2nd Edition
Ready to build cloud native applications? Get a hands-on introduction to daily life as a developer crafting code on OpenShift, the open source container application platform from Red Hat. Creating and packaging your apps for deployment on modern distributed systems can be daunting. Too often, adding infrastructure value can complicate development.
Android on x86
Android on x86: an Introduction to Optimizing for Intel Architecture serves two main purposes. First, it makes the case for adapting your applications onto Intel’s x86 architecture, including discussions of the business potential, the changing landscape of the Android marketplace, and the unique challenges and opportunities that arise from x86 de
Azure Web Apps for Developers
Azure Web Apps is a fully managed platform that you can use to build mission-critical web applications that are highly available, secure, and scalable to global proportions. Combined with first-class tooling from Visual Studio and the Microsoft Azure Tools, the Azure Web Apps service is the fastest way to get your web application to production. Azu