|
Cryptography for Developers
Developers tasked with security problems are often not
cryptographers themselves. They are bright people who, with
careful guidance, can implement secure cryptosystems. This
book will guide developers in their journey towards solving
cryptographic problems. If you have ever asked yourself
"just how do I setup AES?"
then this text is for you.
ASN.1 Encoding
The chapter on ASN.1 encoding delivers a treatment of the
Abstract Syntax Notation One (ASN.1) encoding rules for data
elements such as strings, binary strings, integers, dates
and times, and sets and sequences.
Random Number Generation
This chapter discusses the design and construction of
standard random number generators (RNGs) such as those
specified by NIST.
Advanced Encryption Standard
This chapter discusses the AES block cipher design,
implementation trade-offs, side channel hazards, and modes
of use. It concentrates on the key design elements important
to implementers and how to exploit them in various trade-off
conditions.
Hash Functions
This chapter discusses collision resistance, provides
examples of exploits, and concludes with known incorrect
usage patterns.
Message Authentication Code Algorithms
This chapter discusses the HMAC and CMAC Message
Authentication Code (MAC) algorithms, which are constructed
from hash and cipher functions.
Encrypt and Authenticate Modes
This chapter discusses the IEEE and NIST encrypt and
authenticate modes GCM and CCM. Both modes introduce new
concepts to cryptographic functions. Focus is given to the
concept of replay attacks, and initialization techniques are
explored in depth.
Large Integer Arithmetic
This chapter discusses the techniques behind manipulating
large integers such as those used in public key algorithms.
Public Key Algorithms
This chapter introduces public key cryptography, including
the RSA algorithm and its related PKCS #1 padding schemes.
It also introduces new math in the form of various elliptic
curve point multipliers.
Introduction; ASN.1 Encodings; Random Numbers; Large Integer Arithmetic; Symmetric Key Ciphers; One-Way Hashes; Message Authentication Codes; Encrypted Authentication Modes; Public-Key Cryptography
|