Practical Cryptography for Developers


Practical Cryptography for Developers
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

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

OpenShift for Developers, 2nd Edition

Openshift

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 Intel

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

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

Programming Persistent Memory

C / C++ JavaScript

Beginning and experienced programmers will use this comprehensive guide to persistent memory programming. You will understand how persistent memory brings together several new software/hardware requirements, and offers great promise for better performance and faster application startup times - a huge leap forward in byte-addressable capacity compar