This is the only guide for software developers who must learn and implement cryptography safely and cost effectively. 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. Each chapter includes in-depth discussion on memory/size/speed performance trade-offs as well as what cryptographic problems are solved with the specific topics at hand. The author is the developer of the industry standard cryptographic suite of tools called LibTom and is a regular expert speaker at industry conferences and events on this development. The book has a companion Web site with over 300-pages of text on implementing multiple precision arithmetic.