GetTextbooks.co.uk  
 Compare Prices & Save up to 90%
Search by ISBN, title, author, etc ...

Login | Sign up | Settings | My Wish List 


Cryptography for Developers

by Tom St Denis

ISBN-10: 9781597491044
ISBN-10: 1-59749-104-7
ISBN-13: 9781597491044
ISBN-13: 978-1-59749-104-4
Paperback
2006-11-27
Syngress


Find Lowest Price

Editorials


Product Description
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.

  • Reviews


    Good Software Cryptography Book
    With 'Cryptography for Developers' by Tom St Denis I am not even going to try and pretend that I am an expert in this field. Written with software developers in mind, this book is a complex look at how software cryptography algorithms are designed and developed. With 400 pages of material contained within and a solid look at the source content, this is a great book for a niche field/market. If you are interested in software cryptography or do it for a job, you will no doubt find this to be a fascinating read.

    **** RECOMMENDED

    An excellent survey recommended for any college-level computer library.
    Cryptography for Developers deserves ongoing recommendation as a basic text - the only one written for software developers - probing the foundations of cryptography. Here are details covering message authentication codes, encryption models, public key cryptography, and more that discuss and provide examples of cryptographic goals and security measures. Any software developer serious about security must have this.

    Well written, targets the saavy developer
    A lot of people who have read "Applied Cryptography" by BRuce Schneier are themselves not cryptographers or developing cryptographic software. In fact, very few people actually develop cryptographic software because it's tough to get right and most crypto libraries provide everything you need. However, for those that wish to enter the field, it can be daunting to learn. If you'd like to be one of those few, Tom St Denis' "Cryptography for Developers" may be for you.

    The book's writing is clear and focused, not surprising given that the author has written before. St Denis makes a good choice to focus on new material for this book, specifically pointing you at other books for a background in cryptography and "bignum" math (very, very large numbers, which require atypical methods to manipulate).

    If you're a C code developer, you'll get the material very well. If you're C isn't very strong, or you need the code for another language, you'll probably have some difficulty in making use of it (depending on how skilled you are with C). However, the code is clear and well annotated, so you can make pretty good sense of it pretty quickly.

    Chapter 2 starts off with a bang and covers ASN.1 encoding. This is not a very common topic, so this is one of the only places you may find this sort of thing covered well. Right away you can see what you're in for: very clear background info, good use of illustrations, well written code with lots of annotations, and very sharp focus.

    Chapter 3 covers random numbers (specifically RNGs and PRNGs). While you'll want to complement this with something like the CRC Applied Crypto chapters on random numbers, you'll get a pretty good idea of how to gather and make use of random numbers. One probem I noticed here was that notes that Yarrow and Fortuna are RNGs but later (and, I believe, correctly) states that they are PRNG algorithms. Overall, though, a good treatment of the topic and a discussion of where to use random numbers, how to test them, the limits of the tests, and what pitfalls to watch out for.

    Chapter 4 is really one of the meaty chapters and covers AES very in depth. Many of the concepts covered here are reused in other chapters, so make sure you get this one under your belt.

    Chapters 5 and 6 cover hash functions and message authentication code algorithms, respectively. Again, great treatment of a limited subset of the algorithms out there and very good discussions about the myths, truths, and appropriate uses of the algorithms. Very good, useful insights all around.

    Chapter 7 covers encryption and authentication modes, providing you with code that starts to really put it all together.

    Chapter 8 covers large integer arithmatic, but also states that it's no replacement for St Denis' other book on BigNum math. Another very useful topic covered here somewhat looks at optimizations and how to make efficient code. Again, valuable insights that you can apple to other topics.

    Chapter 9 covers public key algorithms, but sadly doesn't give much code. This is a disappointment and unexpected, given how much code is in the rest of the book. Perhaps it was a length consideration or by design, I don't know.

    I'm not a cryptographer, so I can't attest to the veracity of the code. I didn't spot any obvious errors in the code design or use, however. Finally, this book wont replace Applied Crypto (either the Schneier or the CRC tomes), you'll want to use this book in tandem with those volumes. So few algorithms are covered that you'll really want to have studied those first before you can make full use of this volume.

    Finally, one other thing that's missing is a unified set of links and references. He would have benefitted the reader had he done so, because so much material is covered and referenced.

    St Denis has produced a clear, focused volume that's well organized. If you want to go from algorithm outlines to implementations, this is the book to work with. The quality of the writing and production is higher than many other Syngress books, and that's much appreciated.


    Home | Browse | Professors | Merchants | Webmasters | Contact Us

    [ United States | Canada ]

    Copyright © 2003-2008 GetTextbooks.co.uk