Syngress Publishing, 2007. — 446 p. — ISBN13: 978-1-59749-104-4.
The book begins with a chapter that introduces the subject of cryptography to the reader. The second chapter discusses how to implement large integer arithmetic as required by RSA and ECC public key algorithms The subsequent chapters discuss the implementation of symmetric ciphers, one-way hashes, message authentication codes, combined authentication and encryption modes, public key cryptography and finally portable coding practices.
In addition: LibTom Projects include libraries LibTomCrypt, LibTomMath, TomsFastMath, LibTomPoly and LibTomFloat in source code.
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.
ASN.1 Encoding
Random Number Generation
Advanced Encryption Standard
Hash Functions
Message-Authentication Code Algorithms
Encrypt and Authenticate Modes.
Large Integer Arithmetic.
Public Key Algorithms.