Demystifying Cryptography with OpenSSL 3.0 Discover the Best Techniques to Enhance Your Network Security with OpenSSL 3. 0

If you are a software developer, system administrator, network security engineer, or DevOps specialist, you've probably stumbled upon this toolset in the past - but how do you make the most out of it? With the help of this book, you will learn the most important features of OpenSSL, and gain in...

Full description

Bibliographic Details
Main Author: Khlebnikov, Alexei
Other Authors: Adolfsen, Jarle
Format: eBook
Language:English
Published: Birmingham Packt Publishing, Limited 2022
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
Table of Contents:
  • Chapter 3: Message Digests
  • Technical requirements
  • What are message digests and cryptographic hash functions?
  • Why are message digests needed?
  • Data integrity verification
  • Basis for HMAC
  • Digital signatures
  • Network protocols
  • Password verification
  • Content identifier
  • Blockchain and cryptocurrencies
  • Proof-of-work
  • Assessing the security of cryptographic hash functions
  • Overview of the cryptographic hash functions supported by OpenSSL
  • Reviewing the SHA-2 family of hash functions
  • Reviewing the SHA-3 family of hash functions
  • Other block cipher operation modes
  • Choosing the block cipher operation mode
  • Padding for block ciphers
  • How to generate a symmetric encryption key
  • Downloading and installing OpenSSL
  • How to encrypt and decrypt with AES on the command line
  • Initializing and uninitializing OpenSSL library
  • How to compile and link with OpenSSL
  • How to encrypt with AES programmatically
  • Implementing the encryption program
  • Running the encrypt program
  • How to decrypt with AES programmatically
  • Implementing the decrypt program
  • Running the decrypt program
  • Summary
  • Reviewing the SHA-1 and SHA-0 hash functions
  • Reviewing the MD family of hash functions
  • Reviewing the BLAKE2 family of hash functions
  • Reviewing less popular hash functions supported by OpenSSL
  • Which cryptographic hash function should you choose?
  • How to calculate a message digest on the command line
  • How to calculate the message digest programmatically
  • Implementing the digest program
  • Running the digest program
  • Summary
  • Chapter 4: MAC and HMAC
  • Technical requirements
  • What is a MAC?
  • Understanding MAC function security
  • HMAC
  • a hash-based MAC
  • Technical requirements
  • Understanding symmetric encryption
  • An overview of the symmetric ciphers supported by OpenSSL
  • Comparing block ciphers and stream ciphers
  • Understanding symmetric cipher security
  • How many bits of security is enough?
  • Reviewing the AES cipher
  • Reviewing DES and 3DES ciphers
  • Reviewing the RC4 cipher
  • Reviewing the ChaCha20 cipher
  • Reviewing other symmetric ciphers supported by OpenSSL
  • Block cipher modes of operation
  • Reviewing the Electronic Code Book mode
  • Reviewing CBC mode
  • Reviewing CTR mode
  • Reviewing GCM
  • Reviewing AES-GCM-SIV
  • Cover
  • Title page
  • Copyright and Credits
  • Dedication
  • Foreword
  • Contributors
  • Table of Contents
  • Preface
  • Part 1: Introduction
  • Chapter 1: OpenSSL and Other SSL/TLS Libraries
  • What is OpenSSL?
  • The history of OpenSSL
  • What's new in OpenSSL 3.0?
  • Comparing OpenSSL with GnuTLS
  • Comparing OpenSSL with NSS
  • Comparing OpenSSL with Botan
  • Comparing OpenSSL with lightweight TLS libraries
  • Comparing OpenSSL with LibreSSL
  • Comparing OpenSSL with BoringSSL
  • Summary
  • Part 2: Symmetric Cryptography
  • Chapter 2: Symmetric Encryption and Decryption